Skip to content

Commit 8908fa0

Browse files
committed
external-secrets manifest for k8s deployment
1 parent 7480a0f commit 8908fa0

1 file changed

Lines changed: 114 additions & 12 deletions

File tree

k8s/external-secrets.yaml

Lines changed: 114 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,58 @@
1-
# Namespaces
1+
# Namespaces with Helm labels
22
apiVersion: v1
33
kind: Namespace
44
metadata:
55
name: external-secrets
6+
labels:
7+
app.kubernetes.io/name: external-secrets
8+
app.kubernetes.io/instance: external-secrets
9+
app.kubernetes.io/managed-by: Helm
10+
annotations:
11+
meta.helm.sh/release-name: external-secrets
12+
meta.helm.sh/release-namespace: external-secrets
613
---
714
apiVersion: v1
815
kind: Namespace
916
metadata:
1017
name: student-api
18+
labels:
19+
app.kubernetes.io/name: student-api
20+
app.kubernetes.io/instance: student-api
21+
app.kubernetes.io/managed-by: Helm
22+
annotations:
23+
meta.helm.sh/release-name: external-secrets
24+
meta.helm.sh/release-namespace: external-secrets
1125
---
1226

13-
# ServiceAccount for ESO
27+
# ServiceAccount for ESO with Helm labels
1428
apiVersion: v1
1529
kind: ServiceAccount
1630
metadata:
1731
name: external-secrets
1832
namespace: external-secrets
33+
labels:
34+
app.kubernetes.io/name: external-secrets
35+
app.kubernetes.io/instance: external-secrets
36+
app.kubernetes.io/component: service-account
37+
app.kubernetes.io/managed-by: Helm
38+
annotations:
39+
meta.helm.sh/release-name: external-secrets
40+
meta.helm.sh/release-namespace: external-secrets
1941
---
2042

21-
# ClusterRole for ESO - UPDATED WITH MISSING PERMISSIONS
43+
# ClusterRole for ESO with Helm labels - FIXED RBAC
2244
apiVersion: rbac.authorization.k8s.io/v1
2345
kind: ClusterRole
2446
metadata:
2547
name: external-secrets-cluster-role
48+
labels:
49+
app.kubernetes.io/name: external-secrets
50+
app.kubernetes.io/instance: external-secrets
51+
app.kubernetes.io/component: rbac
52+
app.kubernetes.io/managed-by: Helm
53+
annotations:
54+
meta.helm.sh/release-name: external-secrets
55+
meta.helm.sh/release-namespace: external-secrets
2656
rules:
2757
- apiGroups: [""]
2858
resources: ["secrets", "namespaces", "events"]
@@ -31,18 +61,26 @@ rules:
3161
resources: ["secretstores", "clustersecretstores", "externalsecrets", "clusterexternalsecrets", "pushsecrets"]
3262
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
3363
- apiGroups: ["external-secrets.io"]
34-
resources: ["externalsecrets/status", "clusterexternalsecrets/status"]
64+
resources: ["externalsecrets/status", "clusterexternalsecrets/status", "secretstores/status", "clustersecretstores/status"]
3565
verbs: ["get", "list", "watch", "update", "patch"]
3666
- apiGroups: [""]
3767
resources: ["services"]
3868
verbs: ["get", "list"]
3969
---
4070

41-
# ClusterRoleBinding for ESO
71+
# ClusterRoleBinding for ESO with Helm labels
4272
apiVersion: rbac.authorization.k8s.io/v1
4373
kind: ClusterRoleBinding
4474
metadata:
4575
name: external-secrets-cluster-role-binding
76+
labels:
77+
app.kubernetes.io/name: external-secrets
78+
app.kubernetes.io/instance: external-secrets
79+
app.kubernetes.io/component: rbac
80+
app.kubernetes.io/managed-by: Helm
81+
annotations:
82+
meta.helm.sh/release-name: external-secrets
83+
meta.helm.sh/release-namespace: external-secrets
4684
roleRef:
4785
apiGroup: rbac.authorization.k8s.io
4886
kind: ClusterRole
@@ -53,23 +91,39 @@ subjects:
5391
namespace: external-secrets
5492
---
5593

56-
# Vault token secret (in external-secrets namespace)
94+
# Vault token secret with Helm labels - FIXED envsubst syntax
5795
apiVersion: v1
5896
kind: Secret
5997
metadata:
6098
name: vault-token
6199
namespace: external-secrets
100+
labels:
101+
app.kubernetes.io/name: external-secrets
102+
app.kubernetes.io/instance: external-secrets
103+
app.kubernetes.io/component: secret
104+
app.kubernetes.io/managed-by: Helm
105+
annotations:
106+
meta.helm.sh/release-name: external-secrets
107+
meta.helm.sh/release-namespace: external-secrets
62108
type: Opaque
63109
stringData:
64110
token: ${VAULT_TOKEN}
65111
---
66112

67-
# ESO deployment
113+
# ESO deployment with Helm labels
68114
apiVersion: apps/v1
69115
kind: Deployment
70116
metadata:
71117
name: external-secrets-operator
72118
namespace: external-secrets
119+
labels:
120+
app.kubernetes.io/name: external-secrets
121+
app.kubernetes.io/instance: external-secrets
122+
app.kubernetes.io/component: operator
123+
app.kubernetes.io/managed-by: Helm
124+
annotations:
125+
meta.helm.sh/release-name: external-secrets
126+
meta.helm.sh/release-namespace: external-secrets
73127
spec:
74128
replicas: 1
75129
selector:
@@ -79,19 +133,35 @@ spec:
79133
metadata:
80134
labels:
81135
app: external-secrets
136+
app.kubernetes.io/name: external-secrets
137+
app.kubernetes.io/instance: external-secrets
82138
spec:
83139
serviceAccountName: external-secrets
84140
containers:
85141
- name: external-secrets-operator
86142
image: ghcr.io/external-secrets/external-secrets:v0.9.9
87143
imagePullPolicy: IfNotPresent
144+
env:
145+
- name: VAULT_TOKEN
146+
valueFrom:
147+
secretKeyRef:
148+
name: vault-token
149+
key: token
88150
---
89151

90-
# ClusterSecretStore pointing to Vault
152+
# ClusterSecretStore pointing to Vault with Helm labels
91153
apiVersion: external-secrets.io/v1beta1
92154
kind: ClusterSecretStore
93155
metadata:
94156
name: vault-backend
157+
labels:
158+
app.kubernetes.io/name: external-secrets
159+
app.kubernetes.io/instance: external-secrets
160+
app.kubernetes.io/component: secret-store
161+
app.kubernetes.io/managed-by: Helm
162+
annotations:
163+
meta.helm.sh/release-name: external-secrets
164+
meta.helm.sh/release-namespace: external-secrets
95165
spec:
96166
provider:
97167
vault:
@@ -104,11 +174,19 @@ spec:
104174
key: "token"
105175
namespace: "external-secrets"
106176
---
107-
# ClusterSecretStore for Vault in observability namespace
177+
# ClusterSecretStore for Vault in observability namespace with Helm labels
108178
apiVersion: external-secrets.io/v1beta1
109179
kind: ClusterSecretStore
110180
metadata:
111181
name: vault-backend-monitoring
182+
labels:
183+
app.kubernetes.io/name: external-secrets
184+
app.kubernetes.io/instance: external-secrets
185+
app.kubernetes.io/component: secret-store
186+
app.kubernetes.io/managed-by: Helm
187+
annotations:
188+
meta.helm.sh/release-name: external-secrets
189+
meta.helm.sh/release-namespace: external-secrets
112190
spec:
113191
provider:
114192
vault:
@@ -122,12 +200,20 @@ spec:
122200
namespace: "external-secrets"
123201
---
124202

125-
# ExternalSecret for Student db in student-api namespace
203+
# ExternalSecret for Student db in student-api namespace with Helm labels
126204
apiVersion: external-secrets.io/v1beta1
127205
kind: ExternalSecret
128206
metadata:
129207
name: studentdb-secrets
130208
namespace: student-api
209+
labels:
210+
app.kubernetes.io/name: external-secrets
211+
app.kubernetes.io/instance: external-secrets
212+
app.kubernetes.io/component: external-secret
213+
app.kubernetes.io/managed-by: Helm
214+
annotations:
215+
meta.helm.sh/release-name: external-secrets
216+
meta.helm.sh/release-namespace: external-secrets
131217
spec:
132218
refreshInterval: "1h"
133219
secretStoreRef:
@@ -146,12 +232,20 @@ spec:
146232
key: "studentdb"
147233
property: "POSTGRES_PASSWORD"
148234
---
149-
# ExternalSecret for Postgres Exporter in Observability namespace
235+
# ExternalSecret for Postgres Exporter in Observability namespace with Helm labels
150236
apiVersion: external-secrets.io/v1beta1
151237
kind: ExternalSecret
152238
metadata:
153239
name: postgres-exporter-secret
154240
namespace: observability
241+
labels:
242+
app.kubernetes.io/name: external-secrets
243+
app.kubernetes.io/instance: external-secrets
244+
app.kubernetes.io/component: external-secret
245+
app.kubernetes.io/managed-by: Helm
246+
annotations:
247+
meta.helm.sh/release-name: external-secrets
248+
meta.helm.sh/release-namespace: external-secrets
155249
spec:
156250
refreshInterval: "1h"
157251
secretStoreRef:
@@ -174,12 +268,20 @@ spec:
174268
property: connection-uri
175269

176270
---
177-
# ExternalSecret for Grafana Admin in Observability namespace
271+
# ExternalSecret for Grafana Admin in Observability namespace with Helm labels
178272
apiVersion: external-secrets.io/v1beta1
179273
kind: ExternalSecret
180274
metadata:
181275
name: grafana-secret
182276
namespace: observability
277+
labels:
278+
app.kubernetes.io/name: external-secrets
279+
app.kubernetes.io/instance: external-secrets
280+
app.kubernetes.io/component: external-secret
281+
app.kubernetes.io/managed-by: Helm
282+
annotations:
283+
meta.helm.sh/release-name: external-secrets
284+
meta.helm.sh/release-namespace: external-secrets
183285
spec:
184286
refreshInterval: "1h"
185287
secretStoreRef:

0 commit comments

Comments
 (0)