Skip to content

Commit d7fb533

Browse files
committed
helm charts for external-secrets manifest
1 parent 646b7b8 commit d7fb533

9 files changed

Lines changed: 105 additions & 39 deletions

File tree

helm/external-secrets/templates/_helpers.tpl

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ Expand the name of the chart.
55
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
66
{{- end }}
77

8+
{{/*
9+
Create a default fully qualified app name.
10+
*/}}
11+
{{- define "external-secrets.fullname" -}}
12+
{{- if .Values.fullnameOverride }}
13+
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
14+
{{- else }}
15+
{{- $name := default .Chart.Name .Values.nameOverride }}
16+
{{- if contains $name .Release.Name }}
17+
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
18+
{{- else }}
19+
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
20+
{{- end }}
21+
{{- end }}
22+
{{- end }}
23+
824
{{/*
925
Create chart name and version as used by the chart label.
1026
*/}}
@@ -30,4 +46,21 @@ Selector labels
3046
{{- define "external-secrets.selectorLabels" -}}
3147
app.kubernetes.io/name: {{ include "external-secrets.name" . }}
3248
app.kubernetes.io/instance: {{ .Release.Name }}
49+
{{- end }}
50+
51+
{{/*
52+
Namespace labels
53+
*/}}
54+
{{- define "external-secrets.namespaceLabels" -}}
55+
app.kubernetes.io/name: {{ . }}
56+
app.kubernetes.io/instance: {{ $.Release.Name }}
57+
app.kubernetes.io/managed-by: {{ $.Release.Service }}
58+
{{- end }}
59+
60+
{{/*
61+
Namespace annotations
62+
*/}}
63+
{{- define "external-secrets.namespaceAnnotations" -}}
64+
meta.helm.sh/release-name: {{ $.Release.Name }}
65+
meta.helm.sh/release-namespace: {{ $.Release.Namespace }}
3366
{{- end }}

helm/external-secrets/templates/clusterrole.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ metadata:
44
name: {{ .Values.rbac.clusterRole.name }}
55
labels:
66
{{- include "external-secrets.labels" . | nindent 4 }}
7+
app.kubernetes.io/component: rbac
8+
annotations:
9+
meta.helm.sh/release-name: {{ .Release.Name }}
10+
meta.helm.sh/release-namespace: {{ .Release.Namespace }}
711
rules:
812
- apiGroups: [""]
913
resources: ["secrets", "namespaces", "events"]
@@ -12,7 +16,7 @@ rules:
1216
resources: ["secretstores", "clustersecretstores", "externalsecrets", "clusterexternalsecrets", "pushsecrets"]
1317
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
1418
- apiGroups: ["external-secrets.io"]
15-
resources: ["externalsecrets/status", "clusterexternalsecrets/status"]
19+
resources: ["externalsecrets/status", "clusterexternalsecrets/status", "secretstores/status", "clustersecretstores/status"]
1620
verbs: ["get", "list", "watch", "update", "patch"]
1721
- apiGroups: [""]
1822
resources: ["services"]

helm/external-secrets/templates/clusterrolebinding.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ metadata:
44
name: {{ .Values.rbac.clusterRoleBinding.name }}
55
labels:
66
{{- include "external-secrets.labels" . | nindent 4 }}
7+
app.kubernetes.io/component: rbac
8+
annotations:
9+
meta.helm.sh/release-name: {{ .Release.Name }}
10+
meta.helm.sh/release-namespace: {{ .Release.Namespace }}
711
roleRef:
812
apiGroup: rbac.authorization.k8s.io
913
kind: ClusterRole
Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
1-
{{- range $name, $config := .Values.clusterSecretStores }}
1+
{{- range .Values.clusterSecretStores }}
2+
---
23
apiVersion: external-secrets.io/v1beta1
34
kind: ClusterSecretStore
45
metadata:
5-
name: {{ $name }}
6+
name: {{ .name }}
67
labels:
78
{{- include "external-secrets.labels" $ | nindent 4 }}
9+
app.kubernetes.io/component: secret-store
10+
annotations:
11+
meta.helm.sh/release-name: {{ $.Release.Name }}
12+
meta.helm.sh/release-namespace: {{ $.Release.Namespace }}
813
spec:
914
provider:
1015
vault:
11-
server: "{{ $.Values.vault.server }}"
12-
path: "{{ $.Values.vault.path }}"
13-
version: "{{ $.Values.vault.version }}"
16+
server: {{ $.Values.vault.server | quote }}
17+
path: {{ $.Values.vault.path | quote }}
18+
version: {{ $.Values.vault.version | quote }}
1419
auth:
1520
tokenSecretRef:
16-
name: "{{ $.Values.tokenSecret.name }}"
17-
key: "{{ $.Values.tokenSecret.key }}"
18-
namespace: "{{ $.Values.namespaces.operator }}"
19-
---
21+
name: {{ $.Values.vaultToken.secretName }}
22+
key: {{ $.Values.vaultToken.secretKey }}
23+
namespace: {{ $.Values.namespaces.operator }}
2024
{{- end }}

helm/external-secrets/templates/deployment.yaml

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,33 @@ metadata:
55
namespace: {{ .Values.namespaces.operator }}
66
labels:
77
{{- include "external-secrets.labels" . | nindent 4 }}
8-
{{- toYaml .Values.operator.labels | nindent 4 }}
8+
app.kubernetes.io/component: operator
9+
annotations:
10+
meta.helm.sh/release-name: {{ .Release.Name }}
11+
meta.helm.sh/release-namespace: {{ .Release.Namespace }}
912
spec:
1013
replicas: {{ .Values.operator.replicaCount }}
1114
selector:
1215
matchLabels:
13-
{{- toYaml .Values.operator.labels | nindent 6 }}
16+
app: external-secrets
1417
template:
1518
metadata:
1619
labels:
17-
{{- toYaml .Values.operator.labels | nindent 8 }}
20+
app: external-secrets
21+
{{- include "external-secrets.selectorLabels" . | nindent 8 }}
1822
spec:
1923
serviceAccountName: {{ .Values.serviceAccount.name }}
2024
containers:
21-
- name: {{ .Values.operator.name }}
22-
image: {{ .Values.operator.image }}
25+
- name: external-secrets-operator
26+
image: "{{ .Values.operator.image }}:{{ .Values.operator.tag }}"
2327
imagePullPolicy: {{ .Values.operator.imagePullPolicy }}
24-
{{- if .Values.operator.resources }}
28+
env:
29+
- name: VAULT_TOKEN
30+
valueFrom:
31+
secretKeyRef:
32+
name: {{ .Values.vaultToken.secretName }}
33+
key: {{ .Values.vaultToken.secretKey }}
34+
{{- with .Values.operator.resources }}
2535
resources:
26-
{{- toYaml .Values.operator.resources | nindent 12 }}
36+
{{- toYaml . | nindent 12 }}
2737
{{- end }}

helm/external-secrets/templates/externalsecret.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
{{- range .Values.externalSecrets }}
2+
---
23
apiVersion: external-secrets.io/v1beta1
34
kind: ExternalSecret
45
metadata:
56
name: {{ .name }}
67
namespace: {{ .namespace }}
78
labels:
89
{{- include "external-secrets.labels" $ | nindent 4 }}
10+
app.kubernetes.io/component: external-secret
11+
annotations:
12+
meta.helm.sh/release-name: {{ $.Release.Name }}
13+
meta.helm.sh/release-namespace: {{ $.Release.Namespace }}
914
spec:
1015
refreshInterval: {{ .refreshInterval }}
1116
secretStoreRef:
@@ -23,5 +28,4 @@ spec:
2328
key: {{ .vaultKey | quote }}
2429
property: {{ .vaultProperty | quote }}
2530
{{- end }}
26-
---
2731
{{- end }}
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1+
{{- if .Values.vaultToken.value }}
12
apiVersion: v1
23
kind: Secret
34
metadata:
4-
name: {{ .Values.tokenSecret.name }}
5+
name: {{ .Values.vaultToken.secretName }}
56
namespace: {{ .Values.namespaces.operator }}
67
labels:
78
{{- include "external-secrets.labels" . | nindent 4 }}
9+
app.kubernetes.io/component: secret
10+
annotations:
11+
meta.helm.sh/release-name: {{ .Release.Name }}
12+
meta.helm.sh/release-namespace: {{ .Release.Namespace }}
813
type: Opaque
914
stringData:
10-
{{ .Values.tokenSecret.key }}: {{ .Values.vault.token | default "" }}
15+
{{ .Values.vaultToken.secretKey }}: {{ .Values.vaultToken.value | quote }}
16+
{{- end }}

helm/external-secrets/templates/serviceaccount.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,8 @@ metadata:
44
name: {{ .Values.serviceAccount.name }}
55
namespace: {{ .Values.namespaces.operator }}
66
labels:
7-
{{- include "external-secrets.labels" . | nindent 4 }}
7+
{{- include "external-secrets.labels" . | nindent 4 }}
8+
app.kubernetes.io/component: service-account
9+
annotations:
10+
meta.helm.sh/release-name: {{ .Release.Name }}
11+
meta.helm.sh/release-namespace: {{ .Release.Namespace }}

helm/external-secrets/values.yaml

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# Global configuration
2+
global:
3+
releaseName: external-secrets
4+
releaseNamespace: external-secrets
5+
16
# Namespace configuration
27
namespaces:
38
operator: external-secrets
@@ -7,19 +12,11 @@ namespaces:
712
# Operator configuration
813
operator:
914
name: external-secrets-operator
10-
image: ghcr.io/external-secrets/external-secrets:v0.9.9
15+
image: ghcr.io/external-secrets/external-secrets
16+
tag: "v0.9.9"
1117
imagePullPolicy: IfNotPresent
1218
replicaCount: 1
13-
labels:
14-
app: external-secrets
15-
# Configurable resources - can be overridden or set to null to disable
16-
resources:
17-
requests:
18-
memory: "64Mi"
19-
cpu: "50m"
20-
limits:
21-
memory: "128Mi"
22-
cpu: "100m"
19+
resources: {}
2320

2421
# Service Account configuration
2522
serviceAccount:
@@ -37,18 +34,18 @@ vault:
3734
server: "http://vault-service.vault.svc.cluster.local:8200"
3835
path: "secret"
3936
version: "v2"
40-
# This will be set during deployment
41-
token: ""
4237

4338
# Token secret configuration
44-
tokenSecret:
45-
name: vault-token
46-
key: token
39+
vaultToken:
40+
secretName: vault-token
41+
secretKey: token
42+
# Set this during deployment: --set vaultToken.value="your-token-here"
43+
value: ""
4744

4845
# ClusterSecretStore configuration
4946
clusterSecretStores:
50-
vault-backend: {}
51-
vault-backend-monitoring: {}
47+
- name: vault-backend
48+
- name: vault-backend-monitoring
5249

5350
# ExternalSecret configuration
5451
externalSecrets:

0 commit comments

Comments
 (0)