diff --git a/apps/nextcloud/collabora.tf b/apps/nextcloud/collabora.tf index a271256..d7e1ea6 100644 --- a/apps/nextcloud/collabora.tf +++ b/apps/nextcloud/collabora.tf @@ -57,19 +57,12 @@ resource "kubectl_manifest" "collabora_deploy" { env: - name: aliasgroup1 value: "https://${local.dns-name}" - - name: username - value: vynil - name: DONT_GEN_SSL_CERT value: "true" - name: extra_params value: | --o:ssl.enable=false --o:ssl.termination=true - - name: password - valueFrom: - secretKeyRef: - name: ${var.component} - key: collabora-password ports: - name: http containerPort: 9980 @@ -79,6 +72,7 @@ resource "kubectl_manifest" "collabora_deploy" { capabilities: add: - MKNOD + - SYS_ADMIN EOF } diff --git a/apps/nextcloud/configs.tf b/apps/nextcloud/configs.tf index 409cd28..b3e0ff1 100644 --- a/apps/nextcloud/configs.tf +++ b/apps/nextcloud/configs.tf @@ -31,7 +31,7 @@ locals { var.apps.collabora?[ "run_as ./occ app:install richdocuments ||:", "run_as ./occ app:enable richdocuments ||:", - "run_as ./occ config:app:set richdocuments wopi_url --value=\"http://$${INSTANCE}-collabora/\"", + "run_as ./occ config:app:set richdocuments wopi_url --value=\"https://collabora.${local.dns-name}/\"", "run_as ./occ config:app:set richdocuments federation_use_trusted_domains --value=yes", "run_as ./occ richdocuments:activate-config ||:", ]:["run_as ./occ app:disable richdocuments ||:"], diff --git a/apps/nextcloud/index.yaml b/apps/nextcloud/index.yaml index f34198e..b403b1f 100644 --- a/apps/nextcloud/index.yaml +++ b/apps/nextcloud/index.yaml @@ -6,41 +6,61 @@ metadata: name: nextcloud description: null options: - postgres: + domain: + default: your-company + examples: + - your-company + type: string + apps: default: - replicas: 1 - storage: 5Gi - version: '14' + calendar: false + collabora: false + contacts: false + deck: false + groupfolders: true + notes: false + onlyoffice: false + spreed: false + tasks: false examples: - - replicas: 1 - storage: 5Gi - version: '14' + - calendar: false + collabora: false + contacts: false + deck: false + groupfolders: true + notes: false + onlyoffice: false + spreed: false + tasks: false properties: - replicas: - default: 1 - type: integer - storage: - default: 5Gi - type: string - version: - default: '14' - type: string + calendar: + default: false + type: boolean + collabora: + default: false + type: boolean + contacts: + default: false + type: boolean + deck: + default: false + type: boolean + groupfolders: + default: true + type: boolean + notes: + default: false + type: boolean + onlyoffice: + default: false + type: boolean + spreed: + default: false + type: boolean + tasks: + default: false + type: boolean type: object - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string - ingress-class: - default: traefik - examples: - - traefik - type: string - domain-name: - default: your_company.com - examples: - - your_company.com - type: string redis: default: exporter: @@ -74,10 +94,99 @@ options: default: 2Gi type: string type: object - domain: - default: your-company + storage: + default: + accessMode: ReadWriteOnce + size: 10Gi examples: - - your-company + - accessMode: ReadWriteOnce + size: 10Gi + properties: + accessMode: + default: ReadWriteOnce + enum: + - ReadWriteOnce + - ReadOnlyMany + - ReadWriteMany + type: string + size: + default: 10Gi + 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 + ingress-class: + default: traefik + examples: + - traefik + type: string + postgres: + default: + replicas: 1 + storage: 5Gi + version: '14' + examples: + - replicas: 1 + storage: 5Gi + version: '14' + properties: + replicas: + default: 1 + type: integer + storage: + default: 5Gi + type: string + version: + default: '14' + type: string + type: object + openid-name: + default: vynil + examples: + - vynil + type: string + domain-name: + default: your_company.com + examples: + - your_company.com + type: string + sub-domain: + default: files + examples: + - files + type: string + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod type: string images: default: @@ -242,115 +351,6 @@ options: type: string type: object type: object - storage: - default: - accessMode: ReadWriteOnce - size: 10Gi - examples: - - accessMode: ReadWriteOnce - size: 10Gi - properties: - accessMode: - default: ReadWriteOnce - enum: - - ReadWriteOnce - - ReadOnlyMany - - ReadWriteMany - type: string - size: - default: 10Gi - 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 - openid-name: - default: vynil - examples: - - vynil - type: string - apps: - default: - calendar: false - collabora: false - contacts: false - deck: false - groupfolders: true - notes: false - onlyoffice: false - spreed: false - tasks: false - examples: - - calendar: false - collabora: false - contacts: false - deck: false - groupfolders: true - notes: false - onlyoffice: false - spreed: false - tasks: false - properties: - calendar: - default: false - type: boolean - collabora: - default: false - type: boolean - contacts: - default: false - type: boolean - deck: - default: false - type: boolean - groupfolders: - default: true - type: boolean - notes: - default: false - type: boolean - onlyoffice: - default: false - type: boolean - spreed: - default: false - type: boolean - tasks: - default: false - type: boolean - type: object - sub-domain: - default: files - examples: - - files - type: string dependencies: [] providers: kubernetes: true