diff --git a/apps/nextcloud/collabora.tf b/apps/nextcloud/collabora.tf index b0e39c8..a8a75f6 100644 --- a/apps/nextcloud/collabora.tf +++ b/apps/nextcloud/collabora.tf @@ -67,9 +67,28 @@ resource "kubectl_manifest" "collabora_deploy" { - name: http containerPort: 9980 protocol: TCP + livenessProbe: + httpGet: + path: / + port: http + scheme: HTTP + initialDelaySeconds: 120 + periodSeconds: 10 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 5 + readinessProbe: + httpGet: + path: / + port: http + scheme: HTTP + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 2 + successThreshold: 1 + failureThreshold: 3 securityContext: allowPrivilegeEscalation: true - privileged: true capabilities: add: - MKNOD diff --git a/apps/nextcloud/configs.tf b/apps/nextcloud/configs.tf index b1fb6dd..61ae235 100644 --- a/apps/nextcloud/configs.tf +++ b/apps/nextcloud/configs.tf @@ -30,6 +30,14 @@ locals { var.apps.groupfolders?["run_as ./occ app:install groupfolders ||:"]:[], var.apps.notes?["run_as ./occ app:install notes ||:"]:[], var.apps.tasks?["run_as ./occ app:install tasks ||:"]:[], + var.apps.audioplayer?["run_as ./occ app:install audioplayer ||:"]:[], + var.apps.bpm?["run_as ./occ app:install files_bpm ||:"]:[], + var.apps.mindmap?["run_as ./occ app:install files_mindmap ||:"]:[], + var.apps.music?["run_as ./occ app:install music ||:"]:[], + var.apps.bookmarks?["run_as ./occ app:install bookmarks ||:"]:[], + var.apps.texteditor?["run_as ./occ app:install files_texteditor ||:"]:[], + var.apps.passman?["run_as ./occ app:install passman ||:"]:[], + var.apps.tables?["run_as ./occ app:install tables ||:"]:[], var.apps.collabora?[ "run_as ./occ app:install richdocuments ||:", "run_as ./occ app:enable richdocuments ||:", @@ -40,10 +48,10 @@ locals { var.apps.onlyoffice?[ "run_as ./occ app:install onlyoffice ||:", "run_as ./occ app:enable onlyoffice ||:", - "run_as ./occ --no-warnings config:system:set onlyoffice DocumentServerUrl --value=\"https://onlyoffice.${local.dns-name}/ds-vpath/\"", - "run_as ./occ --no-warnings config:system:set onlyoffice DocumentServerInternalUrl --value=\"http://${var.instance}-onlyoffice/\"", - "run_as ./occ --no-warnings config:system:set onlyoffice StorageUrl --value=\"http://nextcloud/\"", - "run_as ./occ --no-warnings config:system:set onlyoffice jwt_secret --value=\"$${ONLYOFFICE_JWT_SECRET}\"", + "run_as ./occ --no-warnings config:app:set onlyoffice DocumentServerUrl --value=\"https://onlyoffice.${local.dns-name}/\"", + "run_as ./occ --no-warnings config:app:set onlyoffice DocumentServerInternalUrl --value=\"http://${var.instance}-onlyoffice/\"", + "run_as ./occ --no-warnings config:app:set onlyoffice StorageUrl --value=\"http://nextcloud/\"", + "run_as ./occ --no-warnings config:app:set onlyoffice jwt_secret --value=\"$${ONLYOFFICE_JWT_SECRET}\"", ]:["run_as ./occ app:disable onlyoffice ||:"], var.apps.spreed?["run_as ./occ app:install spreed ||:"]:[]) data-config-init = { diff --git a/apps/nextcloud/index.yaml b/apps/nextcloud/index.yaml index 88692af..e55dcf0 100644 --- a/apps/nextcloud/index.yaml +++ b/apps/nextcloud/index.yaml @@ -25,11 +25,6 @@ options: default: 10Gi type: string type: object - domain: - default: your-company - examples: - - your-company - type: string postgres: default: replicas: 1 @@ -50,96 +45,53 @@ options: default: '14' type: string type: object - hpa: - default: - avg-cpu: 50 - max-replicas: 5 - min-replicas: 1 - examples: - - avg-cpu: 50 - max-replicas: 5 - min-replicas: 1 - properties: - avg-cpu: - default: 50 - type: integer - max-replicas: - default: 5 - type: integer - min-replicas: - default: 1 - type: integer - type: object - admin: - default: - name: nextcloud_admin - examples: - - name: nextcloud_admin - properties: - name: - default: nextcloud_admin - type: string - type: object - redis: - default: - exporter: - enabled: true - image: quay.io/opstree/redis-exporter:v1.44.0 - image: quay.io/opstree/redis:v7.0.5 - storage: 2Gi - examples: - - exporter: - enabled: true - image: quay.io/opstree/redis-exporter:v1.44.0 - image: quay.io/opstree/redis:v7.0.5 - storage: 2Gi - properties: - exporter: - default: - enabled: true - image: quay.io/opstree/redis-exporter:v1.44.0 - properties: - enabled: - default: true - type: boolean - image: - default: quay.io/opstree/redis-exporter:v1.44.0 - type: string - type: object - image: - default: quay.io/opstree/redis:v7.0.5 - type: string - storage: - default: 2Gi - type: string - type: object - ingress-class: - default: traefik - examples: - - traefik - type: string apps: default: + audioplayer: false + bookmarks: false + bpm: false calendar: false collabora: false contacts: false deck: false groupfolders: true + mindmap: false + music: false notes: false onlyoffice: false + passman: false spreed: false + tables: false tasks: false + texteditor: true examples: - - calendar: false + - audioplayer: false + bookmarks: false + bpm: false + calendar: false collabora: false contacts: false deck: false groupfolders: true + mindmap: false + music: false notes: false onlyoffice: false + passman: false spreed: false + tables: false tasks: false + texteditor: true properties: + audioplayer: + default: false + type: boolean + bookmarks: + default: false + type: boolean + bpm: + default: false + type: boolean calendar: default: false type: boolean @@ -155,19 +107,39 @@ options: groupfolders: default: true type: boolean + mindmap: + default: false + type: boolean + music: + default: false + type: boolean notes: default: false type: boolean onlyoffice: default: false type: boolean + passman: + default: false + type: boolean spreed: default: false type: boolean + tables: + default: false + type: boolean tasks: default: false type: boolean + texteditor: + default: true + type: boolean type: object + domain: + default: your-company + examples: + - your-company + type: string images: default: collabora: @@ -331,25 +303,93 @@ options: type: string type: object type: object - sub-domain: - default: files + issuer: + default: letsencrypt-prod examples: - - files - type: string - domain-name: - default: your_company.com - examples: - - your_company.com + - letsencrypt-prod type: string openid-name: default: vynil examples: - vynil type: string - issuer: - default: letsencrypt-prod + ingress-class: + default: traefik examples: - - letsencrypt-prod + - traefik + type: string + redis: + default: + exporter: + enabled: true + image: quay.io/opstree/redis-exporter:v1.44.0 + image: quay.io/opstree/redis:v7.0.5 + storage: 2Gi + examples: + - exporter: + enabled: true + image: quay.io/opstree/redis-exporter:v1.44.0 + image: quay.io/opstree/redis:v7.0.5 + storage: 2Gi + properties: + exporter: + default: + enabled: true + image: quay.io/opstree/redis-exporter:v1.44.0 + properties: + enabled: + default: true + type: boolean + image: + default: quay.io/opstree/redis-exporter:v1.44.0 + type: string + type: object + image: + default: quay.io/opstree/redis:v7.0.5 + type: string + storage: + default: 2Gi + type: string + type: object + hpa: + default: + avg-cpu: 50 + max-replicas: 5 + min-replicas: 1 + examples: + - avg-cpu: 50 + max-replicas: 5 + min-replicas: 1 + properties: + avg-cpu: + default: 50 + type: integer + max-replicas: + default: 5 + type: integer + min-replicas: + default: 1 + type: integer + type: object + admin: + default: + name: nextcloud_admin + examples: + - name: nextcloud_admin + properties: + name: + default: nextcloud_admin + type: string + type: object + domain-name: + default: your_company.com + examples: + - your_company.com + type: string + sub-domain: + default: files + examples: + - files type: string dependencies: [] providers: