Compare commits

...

1 Commits

Author SHA1 Message Date
Axel Lender
2e61a69906 feat(helmfile): Add external secrets template support for Nextcloud
Signed-off-by: Axel Lender <lender@b1-systems.de>
2025-07-08 13:02:06 +02:00
3 changed files with 112 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
{{/* {{/*
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH SPDX-FileCopyrightText: 2024-2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS" SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
SPDX-License-Identifier: Apache-2.0 SPDX-License-Identifier: Apache-2.0
*/}} */}}
@@ -28,8 +28,14 @@ configuration:
enabled: true enabled: true
username: username:
value: "nextcloud" value: "nextcloud"
secret:
name: {{ .Values.externalSecrets.nextcloud.adminUsername.name | quote }}
key: {{ .Values.externalSecrets.nextcloud.adminUsername.key | quote }}
password: password:
value: {{ .Values.secrets.nextcloud.adminPassword | quote }} value: {{ .Values.secrets.nextcloud.adminPassword | quote }}
secret:
name: {{ .Values.externalSecrets.nextcloud.adminPassword.name | quote }}
key: {{ .Values.externalSecrets.nextcloud.adminPassword.key | quote }}
antivirus: antivirus:
{{- if .Values.antivirus.icap.host }} {{- if .Values.antivirus.icap.host }}
@@ -49,8 +55,14 @@ configuration:
enabled: true enabled: true
username: username:
value: {{ .Values.cache.nextcloud.username }} value: {{ .Values.cache.nextcloud.username }}
secret:
name: {{ .Values.externalSecrets.cache.nextcloudUsername.name | quote }}
key: {{ .Values.externalSecrets.cache.nextcloudUsername.key | quote }}
password: password:
value: {{ .Values.cache.nextcloud.password | default .Values.secrets.redis.password | quote }} value: {{ .Values.cache.nextcloud.password | default .Values.secrets.redis.password | quote }}
secret:
name: {{ .Values.externalSecrets.cache.nextcloudPassword.name | quote }}
key: {{ .Values.externalSecrets.cache.nextcloudPassword.key | quote }}
host: {{ .Values.cache.nextcloud.host | quote }} host: {{ .Values.cache.nextcloud.host | quote }}
port: {{ .Values.cache.nextcloud.port | quote }} port: {{ .Values.cache.nextcloud.port | quote }}
tls: {{ .Values.cache.nextcloud.tls }} tls: {{ .Values.cache.nextcloud.tls }}
@@ -94,8 +106,14 @@ configuration:
password: password:
{{- if or (eq .Values.databases.nextcloud.type "mariadb") (eq .Values.databases.nextcloud.type "mysql") }} {{- if or (eq .Values.databases.nextcloud.type "mariadb") (eq .Values.databases.nextcloud.type "mysql") }}
value: {{ .Values.databases.nextcloud.password | default .Values.secrets.mariadb.nextcloudUser | quote }} value: {{ .Values.databases.nextcloud.password | default .Values.secrets.mariadb.nextcloudUser | quote }}
secret:
name: {{ .Values.externalSecrets.mariadb.nextcloudUser.name | quote }}
key: {{ .Values.externalSecrets.mariadb.nextcloudUser.key | quote }}
{{- else if or (eq .Values.databases.nextcloud.type "postgresql") (eq .Values.databases.nextcloud.type "psql") }} {{- else if or (eq .Values.databases.nextcloud.type "postgresql") (eq .Values.databases.nextcloud.type "psql") }}
value: {{ .Values.databases.nextcloud.password | default .Values.secrets.postgresql.nextcloudUser | quote }} value: {{ .Values.databases.nextcloud.password | default .Values.secrets.postgresql.nextcloudUser | quote }}
secret:
name: {{ .Values.externalSecrets.postgresql.nextcloudUser.name | quote }}
key: {{ .Values.externalSecrets.postgresql.nextcloudUser.key | quote }}
{{- else }} {{- else }}
value: {{ .Values.databases.nextcloud.password | quote }} value: {{ .Values.databases.nextcloud.password | quote }}
{{- end }} {{- end }}
@@ -104,14 +122,23 @@ configuration:
host: {{ .Values.ldap.host | quote }} host: {{ .Values.ldap.host | quote }}
password: password:
value: {{ .Values.secrets.nubus.ldapSearch.nextcloud | quote }} value: {{ .Values.secrets.nubus.ldapSearch.nextcloud | quote }}
secret:
name: {{ .Values.externalSecrets.nubus.ldapSearch.nextcloud.name | quote }}
key: {{ .Values.externalSecrets.nubus.ldapSearch.nextcloud.key | quote }}
adminGroupName: "managed-by-attribute-FileshareAdmin" adminGroupName: "managed-by-attribute-FileshareAdmin"
objectstore: objectstore:
auth: auth:
accessKey: accessKey:
value: {{ .Values.objectstores.nextcloud.username | quote }} value: {{ .Values.objectstores.nextcloud.username | quote }}
secret:
name: {{ .Values.externalSecrets.objectstores.nextcloudAccessKey.name | quote }}
key: {{ .Values.externalSecrets.objectstores.nextcloudAccessKey.key | quote }}
secretKey: secretKey:
value: {{ .Values.objectstores.nextcloud.secretKey | default .Values.secrets.minio.nextcloudUser | quote }} value: {{ .Values.objectstores.nextcloud.secretKey | default .Values.secrets.minio.nextcloudUser | quote }}
secret:
name: {{ .Values.externalSecrets.objectstores.nextcloudSecretKey.name | quote }}
key: {{ .Values.externalSecrets.objectstores.nextcloudSecretKey.key | quote }}
bucket: {{ .Values.objectstores.nextcloud.bucket | quote }} bucket: {{ .Values.objectstores.nextcloud.bucket | quote }}
host: {{ .Values.objectstores.nextcloud.endpoint | quote }} host: {{ .Values.objectstores.nextcloud.endpoint | quote }}
region: {{ .Values.objectstores.nextcloud.region | quote }} region: {{ .Values.objectstores.nextcloud.region | quote }}
@@ -125,6 +152,9 @@ configuration:
value: "opendesk-nextcloud" value: "opendesk-nextcloud"
password: password:
value: {{ .Values.secrets.keycloak.clientSecret.ncoidc | quote }} value: {{ .Values.secrets.keycloak.clientSecret.ncoidc | quote }}
secret:
name: {{ .Values.externalSecrets.keycloak.clientSecretNcoidc.name | quote }}
key: {{ .Values.externalSecrets.keycloak.clientSecretNcoidc.key | quote }}
opendeskIntegration: opendeskIntegration:
centralNavigation: centralNavigation:
@@ -132,6 +162,9 @@ configuration:
value: "opendesk_username" value: "opendesk_username"
password: password:
value: {{ .Values.secrets.centralnavigation.apiKey | quote }} value: {{ .Values.secrets.centralnavigation.apiKey | quote }}
secret:
name: {{ .Values.externalSecrets.centralnavigation.apiKey.name | quote }}
key: {{ .Values.externalSecrets.centralnavigation.apiKey.key | quote }}
oxAppSuite: oxAppSuite:
enabled: {{ .Values.apps.oxAppSuite.enabled }} enabled: {{ .Values.apps.oxAppSuite.enabled }}
@@ -156,6 +189,9 @@ configuration:
value: {{ printf "%s@%s" "opendesk-system" ( .Values.global.mailDomain | default .Values.global.domain ) }} value: {{ printf "%s@%s" "opendesk-system" ( .Values.global.mailDomain | default .Values.global.domain ) }}
password: password:
value: {{ .Values.secrets.postfix.opendeskSystemPassword | quote }} value: {{ .Values.secrets.postfix.opendeskSystemPassword | quote }}
secret:
name: {{ .Values.externalSecrets.postfix.opendeskSystemPassword.name | quote }}
key: {{ .Values.externalSecrets.postfix.opendeskSystemPassword.key | quote }}
host: {{ printf "%s.%s.svc.%s" "postfix" (.Values.apps.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }} host: {{ printf "%s.%s.svc.%s" "postfix" (.Values.apps.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
port: 587 port: 587
fromAddress: {{ .Values.smtp.localpartNoReply | quote }} fromAddress: {{ .Values.smtp.localpartNoReply | quote }}
@@ -172,6 +208,9 @@ configuration:
serverinfo: serverinfo:
token: token:
value: {{ .Values.secrets.nextcloud.metricsToken | quote }} value: {{ .Values.secrets.nextcloud.metricsToken | quote }}
secret:
name: {{ .Values.externalSecrets.nextcloud.metricsToken.name | quote }}
key: {{ .Values.externalSecrets.nextcloud.metricsToken.key | quote }}
containerSecurityContext: containerSecurityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false

View File

@@ -1,5 +1,5 @@
{{/* {{/*
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH SPDX-FileCopyrightText: 2024-2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS" SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
SPDX-License-Identifier: Apache-2.0 SPDX-License-Identifier: Apache-2.0
*/}} */}}
@@ -21,6 +21,9 @@ exporter:
server: "http://opendesk-nextcloud-aio" server: "http://opendesk-nextcloud-aio"
token: token:
value: {{ .Values.secrets.nextcloud.metricsToken | quote }} value: {{ .Values.secrets.nextcloud.metricsToken | quote }}
secret:
name: {{ .Values.externalSecrets.nextcloud.metricsToken.name | quote }}
key: {{ .Values.externalSecrets.nextcloud.metricsToken.key | quote }}
containerSecurityContext: containerSecurityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
@@ -73,8 +76,14 @@ aio:
enabled: true enabled: true
username: username:
value: {{ .Values.cache.nextcloud.username }} value: {{ .Values.cache.nextcloud.username }}
secret:
name: {{ .Values.externalSecrets.cache.nextcloudUsername.name | quote }}
key: {{ .Values.externalSecrets.cache.nextcloudUsername.key | quote }}
password: password:
value: {{ .Values.cache.nextcloud.password | default .Values.secrets.redis.password | quote }} value: {{ .Values.cache.nextcloud.password | default .Values.secrets.redis.password | quote }}
secret:
name: {{ .Values.externalSecrets.cache.nextcloudPassword.name | quote }}
key: {{ .Values.externalSecrets.cache.nextcloudPassword.key | quote }}
host: {{ .Values.cache.nextcloud.host | quote }} host: {{ .Values.cache.nextcloud.host | quote }}
port: {{ .Values.cache.nextcloud.port | quote }} port: {{ .Values.cache.nextcloud.port | quote }}
tls: {{ .Values.cache.nextcloud.tls }} tls: {{ .Values.cache.nextcloud.tls }}
@@ -95,8 +104,14 @@ aio:
password: password:
{{- if or (eq .Values.databases.nextcloud.type "mariadb") (eq .Values.databases.nextcloud.type "mysql") }} {{- if or (eq .Values.databases.nextcloud.type "mariadb") (eq .Values.databases.nextcloud.type "mysql") }}
value: {{ .Values.databases.nextcloud.password | default .Values.secrets.mariadb.nextcloudUser | quote }} value: {{ .Values.databases.nextcloud.password | default .Values.secrets.mariadb.nextcloudUser | quote }}
secret:
name: {{ .Values.externalSecrets.mariadb.nextcloudUser.name | quote }}
key: {{ .Values.externalSecrets.mariadb.nextcloudUser.key | quote }}
{{- else if or (eq .Values.databases.nextcloud.type "postgresql") (eq .Values.databases.nextcloud.type "psql") }} {{- else if or (eq .Values.databases.nextcloud.type "postgresql") (eq .Values.databases.nextcloud.type "psql") }}
value: {{ .Values.databases.nextcloud.password | default .Values.secrets.postgresql.nextcloudUser | quote }} value: {{ .Values.databases.nextcloud.password | default .Values.secrets.postgresql.nextcloudUser | quote }}
secret:
name: {{ .Values.externalSecrets.postgresql.nextcloudUser.name | quote }}
key: {{ .Values.externalSecrets.postgresql.nextcloudUser.key | quote }}
{{- else }} {{- else }}
value: {{ .Values.databases.nextcloud.password | quote }} value: {{ .Values.databases.nextcloud.password | quote }}
{{- end }} {{- end }}

View File

@@ -0,0 +1,56 @@
{{/*
SPDX-FileCopyrightText: 2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
SPDX-License-Identifier: Apache-2.0
*/}}
---
externalSecrets:
cache:
nextcloudUsername:
name: ~
key: ~
nextcloudPassword:
name: ~
key: ~
centralnavigation:
apiKey:
name: ~
key: ~
keycloak:
clientSecretNcoidc:
name: ~
key: ~
mariadb:
nextcloudUser:
name: ~
key: ~
nextcloud:
adminPassword:
name: ~
key: ~
adminUsername:
name: ~
key: ~
metricsToken:
name: ~
key: ~
nubus:
ldapSearch:
nextcloud:
name: ~
key: ~
objectstores:
nextcloudAccessKey:
name: ~
key: ~
nextcloudSecretKey:
name: ~
key: ~
postfix:
opendeskSystemPassword:
name: ~
key: ~
postgresql:
nextcloudUser:
name: ~
key: ~
...