Skip to content

Commit abdc7c8

Browse files
committed
feat(platform-namespace-core): add validation for clusterSecretStore provider and refactor name generation
Signed-off-by: Arthur Le Roux <[email protected]>
1 parent db06283 commit abdc7c8

File tree

4 files changed

+17
-25
lines changed

4 files changed

+17
-25
lines changed

charts/platform-namespace-core/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v2
22
name: platform-namespace-core
33
description: A Helm chart that defines core Kubernetes platform namespaced resources
44
type: application
5-
version: 0.3.1
5+
version: 0.3.2
66
appVersion: "0.1.0"
77
icon: https://avatars.githubusercontent.com/u/9391624?s=200&v=4
88
home: https://github.com/wiremind/wiremind-helm-charts/tree/main/charts/platform-namespace-core

charts/platform-namespace-core/templates/_helpers.tpl

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,19 @@ Validate the platform-namespace-core chart.
8787
ClusterSecretStore name definition.
8888
*/}}
8989
{{- define "platform-namespace-core.cluster-secret-store.name" -}}
90+
{{- $providerName := index (keys .Values.clusterSecretStore.provider) 0 -}}
9091
{{- if eq .Values.namespace.labels.project "platform" -}}
91-
{{- printf "%s-platform-%s" .Values.clusterSecretStore.provider.name .Release.Name -}}
92+
{{- printf "%s-platform-%s" $providerName .Release.Name -}}
9293
{{- else -}}
93-
{{- printf "%s-%s" .Values.clusterSecretStore.provider.name .Release.Name -}}
94+
{{- printf "%s-%s" $providerName .Release.Name -}}
9495
{{- end -}}
9596
{{- end -}}
97+
98+
# templates/_helpers.tpl
99+
{{- define "platform-namespace-core.cluster-secret-store.validate" -}}
100+
{{- $prov := .Values.clusterSecretStore.provider -}}
101+
{{- $count := len (keys $prov) -}}
102+
{{- if ne $count 1 -}}
103+
{{- fail (printf "clusterSecretStore.provider must contain exactly one provider, but found %d keys" $count) -}}
104+
{{- end -}}
105+
{{- end -}}

charts/platform-namespace-core/templates/external-secrets/clustersecretstore.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{{- if .Values.clusterSecretStore.enabled -}}
2+
{{ include "platform-namespace-core.cluster-secret-store.validate" $ }}
23

34
apiVersion: external-secrets.io/v1
45
kind: ClusterSecretStore
@@ -8,7 +9,7 @@ metadata:
89
{{- include "platform-namespace-core.labels" $ | nindent 4 }}
910
spec:
1011
provider:
11-
{{- tpl (toYaml .Values.clusterSecretStore.provider) . | nindent 4 }}
12+
{{ tpl (toYaml .Values.clusterSecretStore.provider) $ | nindent 4 }}
1213
conditions:
1314
{{- if eq $.Values.namespace.labels.project "platform" }}
1415
- namespaces:

charts/platform-namespace-core/values.yaml

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,8 @@ certManager:
1010

1111
clusterSecretStore:
1212
enabled: false
13-
provider:
14-
# Example configuration for AWS Provider
15-
# Full documentation for all providers: https://external-secrets.io/latest/provider
16-
aws:
17-
service: SecretsManager
18-
role: iam-role
19-
region: eu-central-1
20-
auth:
21-
secretRef:
22-
accessKeyIDSecretRef:
23-
namespace: external-secrets
24-
name: awssm-secret
25-
key: access-key
26-
secretAccessKeySecretRef:
27-
namespace: external-secrets
28-
name: awssm-secret
29-
key: secret-access-key
30-
jwt:
31-
serviceAccountRef:
32-
name: my-serviceaccount
33-
namespace: sa-namespace
13+
# Full documentation for all providers: https://external-secrets.io/latest/provider
14+
provider: {}
3415

3516
gitlabRunnersConfig:
3617
enabled: false

0 commit comments

Comments
 (0)