Skip to content

Commit 32155ac

Browse files
committed
Use standard k8s+helm labels
1 parent d29acab commit 32155ac

File tree

2 files changed

+63
-57
lines changed

2 files changed

+63
-57
lines changed

templates/_helpers.tpl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ Usage: "{{ include "stackstorm-ha.labels" (list $ "st2servicename") }}"
1414
{{- $name := index . 1 }}
1515
{{ include "stackstorm-ha.selectorLabels" . }}
1616
{{- if list "st2web" "ingress" | has $name }}
17-
tier: frontend
17+
app.kubernetes.io/component: frontend
1818
{{- else if eq $name "st2tests" }}
19-
tier: tests
19+
app.kubernetes.io/component: tests
2020
{{- else }}
21-
tier: backend
21+
app.kubernetes.io/component: backend
2222
{{- end }}
23-
vendor: stackstorm
24-
chart: {{ $root.Chart.Name }}-{{ $root.Chart.Version }}
25-
heritage: {{ $root.Release.Service }}
23+
app.kubernetes.io/part-of: stackstorm
24+
helm.sh/chart: {{ $root.Chart.Name }}-{{ $root.Chart.Version }}
25+
app.kubernetes.io/managed-by: {{ $root.Release.Service }}
2626
{{- end -}}
2727

2828
{{/*
@@ -32,8 +32,8 @@ Usage: "{{ include "stackstorm-ha.selectorLabels" (list $ "st2servicename") }}"
3232
{{- define "stackstorm-ha.selectorLabels" -}}
3333
{{- $root := index . 0 }}
3434
{{- $name := index . 1 }}
35-
app: {{ $name }}
36-
release: {{ $root.Release.Name }}
35+
app.kubernetes.io/name: {{ $name }}
36+
app.kubernetes.io/instance: {{ $root.Release.Name }}
3737
{{- end -}}
3838

3939
{{/*

tests/unit/labels_test.yaml

Lines changed: 55 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -49,51 +49,54 @@ tests:
4949
# st2client, st2chatops
5050

5151
# each of these should be the same, but there is no test for that:
52-
# metdata.labels.app
53-
# spec.selector.matchLabels.app
54-
# spec.template.metadata.labels.app
52+
# metdata.labels.[app.kubernetes.io/name]
53+
# spec.selector.matchLabels.[app.kubernetes.io/name]
54+
# spec.template.metadata.labels.[app.kubernetes.io/name]
5555
# So, we use isNotNull instead.
5656
# see: https://github.com/quintush/helm-unittest/issues/122
57-
- isNotNull: { path: metadata.labels.app }
58-
- isNotNull: { path: spec.selector.matchLabels.app }
59-
- isNotNull: { path: spec.template.metadata.labels.app }
57+
- isNotNull:
58+
path: metadata.labels.[app.kubernetes.io/name]
59+
- isNotNull:
60+
path: spec.selector.matchLabels.[app.kubernetes.io/name]
61+
- isNotNull:
62+
path: spec.template.metadata.labels.[app.kubernetes.io/name]
6063

6164
- equal:
62-
path: metadata.labels.release
65+
path: metadata.labels.[app.kubernetes.io/instance]
6366
value: some-release-name
6467
- equal:
65-
path: spec.selector.matchLabels.release
68+
path: spec.selector.matchLabels.[app.kubernetes.io/instance]
6669
value: some-release-name
6770
- equal:
68-
path: spec.template.metadata.labels.release
71+
path: spec.template.metadata.labels.[app.kubernetes.io/instance]
6972
value: some-release-name
7073

7174
- matchRegex:
72-
path: metadata.labels.tier
75+
path: metadata.labels.[app.kubernetes.io/component]
7376
pattern: ^(backend|frontend)$
7477
- matchRegex:
75-
path: spec.template.metadata.labels.tier
78+
path: spec.template.metadata.labels.[app.kubernetes.io/component]
7679
pattern: ^(backend|frontend)$
7780

7881
- equal:
79-
path: metadata.labels.vendor
82+
path: metadata.labels.[app.kubernetes.io/part-of]
8083
value: stackstorm
8184
- equal:
82-
path: spec.template.metadata.labels.vendor
85+
path: spec.template.metadata.labels.[app.kubernetes.io/part-of]
8386
value: stackstorm
8487

8588
- equal:
86-
path: metadata.labels.chart
89+
path: metadata.labels.[helm.sh/chart]
8790
value: stackstorm-ha-1.0.999
8891
- equal:
89-
path: spec.template.metadata.labels.chart
92+
path: spec.template.metadata.labels.[helm.sh/chart]
9093
value: stackstorm-ha-1.0.999
9194

9295
- equal:
93-
path: metadata.labels.heritage
96+
path: metadata.labels.[app.kubernetes.io/managed-by]
9497
value: Helm
9598
- equal:
96-
path: spec.template.metadata.labels.heritage
99+
path: spec.template.metadata.labels.[app.kubernetes.io/managed-by]
97100
value: Helm
98101

99102
- it: Jobs+Pods have requried labels
@@ -120,44 +123,46 @@ tests:
120123
# unlike deployments, jobs should not have selector.matchLabels
121124

122125
# like deployments each of these should be the same:
123-
# metdata.labels.app
124-
# spec.template.metadata.labels.app
125-
- isNotNull: { path: metadata.labels.app }
126-
- isNotNull: { path: spec.template.metadata.labels.app }
126+
# metdata.labels.[app.kubernetes.io/name]
127+
# spec.template.metadata.labels.[app.kubernetes.io/name]
128+
- isNotNull:
129+
path: metadata.labels.[app.kubernetes.io/name]
130+
- isNotNull:
131+
path: spec.template.metadata.labels.[app.kubernetes.io/name]
127132

128133
- equal:
129-
path: metadata.labels.release
134+
path: metadata.labels.[app.kubernetes.io/instance]
130135
value: some-release-name
131136
- equal:
132-
path: spec.template.metadata.labels.release
137+
path: spec.template.metadata.labels.[app.kubernetes.io/instance]
133138
value: some-release-name
134139

135140
- matchRegex:
136-
path: metadata.labels.tier
141+
path: metadata.labels.[app.kubernetes.io/component]
137142
pattern: ^(backend|frontend)$
138143
- matchRegex:
139-
path: spec.template.metadata.labels.tier
144+
path: spec.template.metadata.labels.[app.kubernetes.io/component]
140145
pattern: ^(backend|frontend)$
141146

142147
- equal:
143-
path: metadata.labels.vendor
148+
path: metadata.labels.[app.kubernetes.io/part-of]
144149
value: stackstorm
145150
- equal:
146-
path: spec.template.metadata.labels.vendor
151+
path: spec.template.metadata.labels.[app.kubernetes.io/part-of]
147152
value: stackstorm
148153

149154
- equal:
150-
path: metadata.labels.chart
155+
path: metadata.labels.[helm.sh/chart]
151156
value: stackstorm-ha-1.0.999
152157
- equal:
153-
path: spec.template.metadata.labels.chart
158+
path: spec.template.metadata.labels.[helm.sh/chart]
154159
value: stackstorm-ha-1.0.999
155160

156161
- equal:
157-
path: metadata.labels.heritage
162+
path: metadata.labels.[app.kubernetes.io/managed-by]
158163
value: Helm
159164
- equal:
160-
path: spec.template.metadata.labels.heritage
165+
path: spec.template.metadata.labels.[app.kubernetes.io/managed-by]
161166
value: Helm
162167

163168
- it: Services have required labels
@@ -170,21 +175,22 @@ tests:
170175
count: 5
171176
# st2auth, st2api, st2stream, st2web, st2chatops
172177

173-
- isNotNull: { path: metadata.labels.app }
178+
- isNotNull:
179+
path: metadata.labels.[app.kubernetes.io/name]
174180
- equal:
175-
path: metadata.labels.release
181+
path: metadata.labels.[app.kubernetes.io/instance]
176182
value: some-release-name
177183
- matchRegex:
178-
path: metadata.labels.tier
184+
path: metadata.labels.[app.kubernetes.io/component]
179185
pattern: ^(backend|frontend)$
180186
- equal:
181-
path: metadata.labels.vendor
187+
path: metadata.labels.[app.kubernetes.io/part-of]
182188
value: stackstorm
183189
- equal:
184-
path: metadata.labels.chart
190+
path: metadata.labels.[helm.sh/chart]
185191
value: stackstorm-ha-1.0.999
186192
- equal:
187-
path: metadata.labels.heritage
193+
path: metadata.labels.[app.kubernetes.io/managed-by]
188194
value: Helm
189195

190196
- it: ServiceAccount has required labels
@@ -196,22 +202,22 @@ tests:
196202
- hasDocuments:
197203
count: 1
198204
- equal:
199-
path: metadata.labels.app
205+
path: metadata.labels.[app.kubernetes.io/name]
200206
value: stackstorm-ha
201207
- equal:
202-
path: metadata.labels.release
208+
path: metadata.labels.[app.kubernetes.io/instance]
203209
value: some-release-name
204210
- equal:
205-
path: metadata.labels.tier
211+
path: metadata.labels.[app.kubernetes.io/component]
206212
value: backend
207213
- equal:
208-
path: metadata.labels.vendor
214+
path: metadata.labels.[app.kubernetes.io/part-of]
209215
value: stackstorm
210216
- equal:
211-
path: metadata.labels.chart
217+
path: metadata.labels.[helm.sh/chart]
212218
value: stackstorm-ha-1.0.999
213219
- equal:
214-
path: metadata.labels.heritage
220+
path: metadata.labels.[app.kubernetes.io/managed-by]
215221
value: Helm
216222

217223
- it: ServiceAccount accepts custom labels
@@ -244,22 +250,22 @@ tests:
244250
- hasDocuments:
245251
count: 1
246252
- equal:
247-
path: metadata.labels.app
253+
path: metadata.labels.[app.kubernetes.io/name]
248254
value: ingress
249255
- equal:
250-
path: metadata.labels.release
256+
path: metadata.labels.[app.kubernetes.io/instance]
251257
value: some-release-name
252258
- equal:
253-
path: metadata.labels.tier
259+
path: metadata.labels.[app.kubernetes.io/component]
254260
value: frontend
255261
- equal:
256-
path: metadata.labels.vendor
262+
path: metadata.labels.[app.kubernetes.io/part-of]
257263
value: stackstorm
258264
- equal:
259-
path: metadata.labels.chart
265+
path: metadata.labels.[helm.sh/chart]
260266
value: stackstorm-ha-1.0.999
261267
- equal:
262-
path: metadata.labels.heritage
268+
path: metadata.labels.[app.kubernetes.io/managed-by]
263269
value: Helm
264270

265271
- it: ConfigMaps and Secrets have required labels

0 commit comments

Comments
 (0)