feat(helmfile): Add external secrets template support for Nextcloud

Signed-off-by: Axel Lender <lender@b1-systems.de>
This commit is contained in:
Axel Lender
2025-06-02 10:18:33 +02:00
parent 2f1edf63c1
commit 2e61a69906
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-License-Identifier: Apache-2.0
*/}}
@@ -28,8 +28,14 @@ configuration:
enabled: true
username:
value: "nextcloud"
secret:
name: {{ .Values.externalSecrets.nextcloud.adminUsername.name | quote }}
key: {{ .Values.externalSecrets.nextcloud.adminUsername.key | quote }}
password:
value: {{ .Values.secrets.nextcloud.adminPassword | quote }}
secret:
name: {{ .Values.externalSecrets.nextcloud.adminPassword.name | quote }}
key: {{ .Values.externalSecrets.nextcloud.adminPassword.key | quote }}
antivirus:
{{- if .Values.antivirus.icap.host }}
@@ -49,8 +55,14 @@ configuration:
enabled: true
username:
value: {{ .Values.cache.nextcloud.username }}
secret:
name: {{ .Values.externalSecrets.cache.nextcloudUsername.name | quote }}
key: {{ .Values.externalSecrets.cache.nextcloudUsername.key | quote }}
password:
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 }}
port: {{ .Values.cache.nextcloud.port | quote }}
tls: {{ .Values.cache.nextcloud.tls }}
@@ -94,8 +106,14 @@ configuration:
password:
{{- 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 }}
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") }}
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 }}
value: {{ .Values.databases.nextcloud.password | quote }}
{{- end }}
@@ -104,14 +122,23 @@ configuration:
host: {{ .Values.ldap.host | quote }}
password:
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"
objectstore:
auth:
accessKey:
value: {{ .Values.objectstores.nextcloud.username | quote }}
secret:
name: {{ .Values.externalSecrets.objectstores.nextcloudAccessKey.name | quote }}
key: {{ .Values.externalSecrets.objectstores.nextcloudAccessKey.key | quote }}
secretKey:
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 }}
host: {{ .Values.objectstores.nextcloud.endpoint | quote }}
region: {{ .Values.objectstores.nextcloud.region | quote }}
@@ -125,6 +152,9 @@ configuration:
value: "opendesk-nextcloud"
password:
value: {{ .Values.secrets.keycloak.clientSecret.ncoidc | quote }}
secret:
name: {{ .Values.externalSecrets.keycloak.clientSecretNcoidc.name | quote }}
key: {{ .Values.externalSecrets.keycloak.clientSecretNcoidc.key | quote }}
opendeskIntegration:
centralNavigation:
@@ -132,6 +162,9 @@ configuration:
value: "opendesk_username"
password:
value: {{ .Values.secrets.centralnavigation.apiKey | quote }}
secret:
name: {{ .Values.externalSecrets.centralnavigation.apiKey.name | quote }}
key: {{ .Values.externalSecrets.centralnavigation.apiKey.key | quote }}
oxAppSuite:
enabled: {{ .Values.apps.oxAppSuite.enabled }}
@@ -156,6 +189,9 @@ configuration:
value: {{ printf "%s@%s" "opendesk-system" ( .Values.global.mailDomain | default .Values.global.domain ) }}
password:
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 }}
port: 587
fromAddress: {{ .Values.smtp.localpartNoReply | quote }}
@@ -172,6 +208,9 @@ configuration:
serverinfo:
token:
value: {{ .Values.secrets.nextcloud.metricsToken | quote }}
secret:
name: {{ .Values.externalSecrets.nextcloud.metricsToken.name | quote }}
key: {{ .Values.externalSecrets.nextcloud.metricsToken.key | quote }}
containerSecurityContext:
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-License-Identifier: Apache-2.0
*/}}
@@ -21,6 +21,9 @@ exporter:
server: "http://opendesk-nextcloud-aio"
token:
value: {{ .Values.secrets.nextcloud.metricsToken | quote }}
secret:
name: {{ .Values.externalSecrets.nextcloud.metricsToken.name | quote }}
key: {{ .Values.externalSecrets.nextcloud.metricsToken.key | quote }}
containerSecurityContext:
allowPrivilegeEscalation: false
capabilities:
@@ -73,8 +76,14 @@ aio:
enabled: true
username:
value: {{ .Values.cache.nextcloud.username }}
secret:
name: {{ .Values.externalSecrets.cache.nextcloudUsername.name | quote }}
key: {{ .Values.externalSecrets.cache.nextcloudUsername.key | quote }}
password:
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 }}
port: {{ .Values.cache.nextcloud.port | quote }}
tls: {{ .Values.cache.nextcloud.tls }}
@@ -95,8 +104,14 @@ aio:
password:
{{- 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 }}
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") }}
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 }}
value: {{ .Values.databases.nextcloud.password | quote }}
{{- 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: ~
...