Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/maven/fixes/7.0' into maven/rele…
Browse files Browse the repository at this point in the history
…ase/7.0
  • Loading branch information
metaventis-build committed Apr 26, 2023
2 parents b3b20da + 57145d1 commit d50aa6a
Show file tree
Hide file tree
Showing 9 changed files with 228 additions and 1 deletion.
7 changes: 7 additions & 0 deletions deploy/docker/helm/src/main/chart/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: v2

name: edu-sharing-services-connector
description: Helm chart for edu-sharing connector app
type: application
version: 0.1.0
appVersion: 0.1.0
28 changes: 28 additions & 0 deletions deploy/docker/helm/src/main/chart/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Usage:
Install via
```bash
helm upgrade --install connector . --set baseUrl=example.repo.org --set storageClassName=storage-class --set clusterIssuer=letsencrypt --set passwordDB=example
```

View logs of Container `edu-sharing-connector-0` and check for an output like

```
Connector is ready. Please register it at your repository (Admin Tools -> Remote-Systems) with the following url:
```

Go to the admin tools of your repository and register the app.

In order to activate H5P as an editor, configure it in the repository.
Go to Admin Tools -> Global System Config -> Cluster-Override and add
```
connectorList{
connectors:[
{
id:"H5P", icon:"edit", showNew: true, onlyDesktop: true, hasViewMode: false,
filetypes:[
{mimetype: "application/zip",filetype: "h5p", ccressourcetype: "h5p", createable: true,editable: true}
]
}
]
}
```
23 changes: 23 additions & 0 deletions deploy/docker/helm/src/main/chart/templates/ingress.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
annotations:
metadata:
name: edu-sharing-connector-ingress
annotations:
cert-manager.io/cluster-issuer: {{ .Values.clusterIssuer }}
spec:
tls:
- hosts:
- connector.services.{{ .Values.baseUrl }}
secretName: edu-sharing-connector-tls
rules:
- host: connector.services.{{ .Values.baseUrl }}
http:
paths:
- backend:
service:
name: edu-sharing-connector
port:
number: 80
path: /
pathType: Prefix
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: edu-sharing-services-connector-data
annotations:
"helm.sh/resource-policy": keep
spec:
storageClassName: {{ .Values.storageClassName }}
accessModes:
- ReadWriteMany
resources:
requests:
storage: "30Gi"
25 changes: 25 additions & 0 deletions deploy/docker/helm/src/main/chart/templates/service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
kind: Service
apiVersion: v1
metadata:
name: edu-sharing-connector
spec:
selector:
app: edu-sharing-connector
ports:
- port: 80
name: http-api
targetPort: api

---

kind: Service
apiVersion: v1
metadata:
name: edu-sharing-connector-db
spec:
selector:
app: edu-sharing-connector-db
ports:
- port: 3306
name: tcp-db
targetPort: db
126 changes: 126 additions & 0 deletions deploy/docker/helm/src/main/chart/templates/statefulset.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: edu-sharing-connector
spec:
selector:
matchLabels:
app: edu-sharing-connector
replicas: 1
serviceName: edu-sharing-connector
template:
metadata:
labels:
app: edu-sharing-connector
spec:
containers:
- name: edu-sharing-connector
image: docker.edu-sharing.com/community/edu_sharing-community-services-edu-connector-service:{{ .Values.version }}
imagePullPolicy: Always
env:
- name: HOST_EXTERNAL
value: "connector.services.{{ .Values.baseUrl }}"
- name: PROT_EXTERNAL
value: "https"
- name: PORT_EXTERNAL
value: "443"
- name: DATABASE_HOST
value: edu-sharing-connector-db
- name: DATABASE_PORT
value: "3306"
- name: DATABASE_USER
value: "connector"
- name: DATABASE_NAME
value: "connector"
- name: DATABASE_PASSWORD
value: {{ required "A valid .Values.passwordDB is required!" .Values.passwordDB }}
- name: ONLYOFFICE_DOCUMENT_SERVER
value: {{ .Values.onlyofficeDocumentServer | default "" }}
livenessProbe:
httpGet:
path: /metadata
port: api
periodSeconds: 10
timeoutSeconds: 10
readinessProbe:
httpGet:
path: /metadata
port: api
failureThreshold: 3
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 10
resources:
limits:
cpu: "4000m"
memory: "4Gi"
requests:
cpu: "500m"
memory: "4Gi"
ports:
- containerPort: 80
name: api
volumeMounts:
- name: data
mountPath: /var/data
volumes:
- name: data
persistentVolumeClaim:
claimName: edu-sharing-services-connector-data

---

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: edu-sharing-connector-db
spec:
selector:
matchLabels:
app: edu-sharing-connector-db
replicas: 1
serviceName: edu-sharing-connector-db
template:
metadata:
labels:
app: edu-sharing-connector-db
spec:
containers:
- name: edu-sharing-connector-db
image: mysql:8.0.31-debian
env:
- name: MYSQL_DATABASE
value: connector
- name: MYSQL_USER
value: connector
- name: MYSQL_ROOT_HOST
value: "%"
- name: MYSQL_PASSWORD
value: {{ .Values.passwordDB }}
- name: MYSQL_ROOT_PASSWORD
value: {{ .Values.passwordDB }}
resources:
limits:
cpu: "2000m"
memory: "2Gi"
requests:
cpu: "1000m"
memory: "2Gi"
volumeMounts:
- name: data
mountPath: /var/lib/mysql
ports:
- containerPort: 3306
name: db

volumeClaimTemplates:
- metadata:
name: data
spec:
storageClassName: {{ .Values.storageClassName }}
accessModes:
- ReadWriteOnce
resources:
requests:
storage: "16Gi"
4 changes: 4 additions & 0 deletions deploy/docker/helm/src/main/chart/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
baseUrl:
storageClassName:
clusterIssuer: letsencrypt
version: maven-fixes-7.0-SNAPSHOT
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ services:
DATABASE_USER: connector
DATABASE_PASSWORD: connector
volumes:
- services-edu-connector-data:/var/www/html/data
- services-edu-connector-data:/var/data
depends_on:
- services-edu-connector-database
networks:
Expand Down
1 change: 1 addition & 0 deletions service/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ RUN set -eux \
&& apt-get install -yqq wait-for-it libzip-dev curl xmlstarlet jq nano \
&& a2enmod rewrite \
&& ln -s $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini \
&& sed -i 's/max_execution_time = 30/max_execution_time = 120/g' $PHP_INI_DIR/php.ini \
&& docker-php-ext-install pdo pdo_mysql zip \
&& apt-get clean \
&& rm -r /var/lib/apt/lists/*
Expand Down

0 comments on commit d50aa6a

Please sign in to comment.