Skip to content

Commit 20bc328

Browse files
committed
add app.kubernetes.io/version label
1 parent 32155ac commit 20bc328

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

templates/_helpers.tpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ Usage: "{{ include "stackstorm-ha.labels" (list $ "st2servicename") }}"
1212
{{- define "stackstorm-ha.labels" -}}
1313
{{- $root := index . 0 }}
1414
{{- $name := index . 1 }}
15+
{{- $valuesKey := regexReplaceAll "-.*" $name "" }}
16+
{{- $appVersion := dig $valuesKey "image" "tag" ($root.Values.image.tag) ($root.Values|merge (dict)) }}
1517
{{ include "stackstorm-ha.selectorLabels" . }}
1618
{{- if list "st2web" "ingress" | has $name }}
1719
app.kubernetes.io/component: frontend
@@ -21,6 +23,7 @@ app.kubernetes.io/component: tests
2123
app.kubernetes.io/component: backend
2224
{{- end }}
2325
app.kubernetes.io/part-of: stackstorm
26+
app.kubernetes.io/version: {{ tpl $appVersion $root | quote }}
2427
helm.sh/chart: {{ $root.Chart.Name }}-{{ $root.Chart.Version }}
2528
app.kubernetes.io/managed-by: {{ $root.Release.Service }}
2629
{{- end -}}

tests/unit/labels_test.yaml

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,14 @@ templates:
2727

2828
release:
2929
name: some-release-name
30-
chart:
30+
chart: &chart # workaround for bug where top-level appVersion does not take affect
3131
version: 1.0.999
32+
appVersion: &appVersion "3.999"
3233

3334
tests:
3435
- it: Deployments+Pods have requried labels
3536
template: deployments.yaml
37+
chart: *chart
3638
set:
3739
st2: { packs: { sensors: [] } } # ensure only 1 sensor
3840
st2chatops:
@@ -85,6 +87,13 @@ tests:
8587
path: spec.template.metadata.labels.[app.kubernetes.io/part-of]
8688
value: stackstorm
8789

90+
- equal:
91+
path: metadata.labels.[app.kubernetes.io/version]
92+
value: *appVersion
93+
- equal:
94+
path: spec.template.metadata.labels.[app.kubernetes.io/version]
95+
value: *appVersion
96+
8897
- equal:
8998
path: metadata.labels.[helm.sh/chart]
9099
value: stackstorm-ha-1.0.999
@@ -101,6 +110,7 @@ tests:
101110

102111
- it: Jobs+Pods have requried labels
103112
template: jobs.yaml
113+
chart: *chart
104114
set:
105115
st2:
106116
rbac:
@@ -151,6 +161,13 @@ tests:
151161
path: spec.template.metadata.labels.[app.kubernetes.io/part-of]
152162
value: stackstorm
153163

164+
- equal:
165+
path: metadata.labels.[app.kubernetes.io/version]
166+
value: *appVersion
167+
- equal:
168+
path: spec.template.metadata.labels.[app.kubernetes.io/version]
169+
value: *appVersion
170+
154171
- equal:
155172
path: metadata.labels.[helm.sh/chart]
156173
value: stackstorm-ha-1.0.999
@@ -167,6 +184,7 @@ tests:
167184

168185
- it: Services have required labels
169186
template: services.yaml
187+
chart: *chart
170188
set:
171189
st2chatops:
172190
enabled: true
@@ -186,6 +204,9 @@ tests:
186204
- equal:
187205
path: metadata.labels.[app.kubernetes.io/part-of]
188206
value: stackstorm
207+
- equal:
208+
path: metadata.labels.[app.kubernetes.io/version]
209+
value: *appVersion
189210
- equal:
190211
path: metadata.labels.[helm.sh/chart]
191212
value: stackstorm-ha-1.0.999
@@ -195,6 +216,7 @@ tests:
195216

196217
- it: ServiceAccount has required labels
197218
template: service-account.yaml
219+
chart: *chart
198220
set:
199221
serviceAccount:
200222
create: true
@@ -213,6 +235,9 @@ tests:
213235
- equal:
214236
path: metadata.labels.[app.kubernetes.io/part-of]
215237
value: stackstorm
238+
- equal:
239+
path: metadata.labels.[app.kubernetes.io/version]
240+
value: *appVersion
216241
- equal:
217242
path: metadata.labels.[helm.sh/chart]
218243
value: stackstorm-ha-1.0.999
@@ -240,6 +265,7 @@ tests:
240265

241266
- it: st2web Ingress has required labels
242267
template: ingress.yaml
268+
chart: *chart
243269
set:
244270
st2web:
245271
service:
@@ -261,6 +287,9 @@ tests:
261287
- equal:
262288
path: metadata.labels.[app.kubernetes.io/part-of]
263289
value: stackstorm
290+
- equal:
291+
path: metadata.labels.[app.kubernetes.io/version]
292+
value: *appVersion
264293
- equal:
265294
path: metadata.labels.[helm.sh/chart]
266295
value: stackstorm-ha-1.0.999

0 commit comments

Comments
 (0)