Skip to content

Commit 578e7a4

Browse files
committed
Use fullnameOverride to fix duplicate deployments and services
Signed-off-by: Maël Valais <mael@vls.dev>
1 parent 489a57b commit 578e7a4

File tree

6 files changed

+23
-8
lines changed

6 files changed

+23
-8
lines changed

chart/jetstack-secure-gcm/charts/cert-manager/templates/deployment.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ metadata:
44
name: {{ template "cert-manager.fullname" . }}
55
namespace: {{ .Release.Namespace | quote }}
66
labels:
7-
app: {{ template "cert-manager.name" . }}
87
app.kubernetes.io/name: {{ template "cert-manager.name" . }}
98
app.kubernetes.io/instance: {{ .Release.Name }}
109
app.kubernetes.io/managed-by: {{ .Release.Service }}
@@ -28,7 +27,6 @@ spec:
2827
template:
2928
metadata:
3029
labels:
31-
app: {{ template "cert-manager.name" . }}
3230
app.kubernetes.io/name: {{ template "cert-manager.name" . }}
3331
app.kubernetes.io/instance: {{ .Release.Name }}
3432
app.kubernetes.io/component: "controller"

chart/jetstack-secure-gcm/charts/google-cas-issuer/templates/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: apps/v1
22
kind: Deployment
33
metadata:
4-
name: {{ include "google-cas-issuer.fullname" . }}-controller
4+
name: {{ include "google-cas-issuer.fullname" . }}
55
namespace: {{ .Release.Namespace | quote }}
66
labels:
77
{{- include "google-cas-issuer.labels" . | nindent 4 }}

chart/jetstack-secure-gcm/charts/preflight/templates/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: apps/v1
22
kind: Deployment
33
metadata:
4-
name: {{ include "preflight.fullname" . }}-agent
4+
name: {{ include "preflight.fullname" . }}
55
namespace: {{ .Release.Namespace | quote }}
66
labels:
77
{{- include "preflight.labels" . | nindent 4 }}

chart/jetstack-secure-gcm/templates/application.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,19 @@ spec:
3737
# app.kubernetes.io/name: "{{ .Chart.Name }}" # Will be "jetstack-secure-gcm" due to the name override
3838
# app.kubernetes.io/instance: "{{ .Release.Name }}" # Example: "jetstack-secure-for-cert-mana-2"
3939
#
40-
# Note that we had to set nameOverride for all the subcharts so that
41-
# the app.kubernetes.io/name is correctly set on the cert-manager.
42-
# In values.yaml [2], we have set:
40+
# Note that we had to set nameOverride and fullnameOverrode for all
41+
# the subcharts so that the app.kubernetes.io/name the same across all
42+
# objects. In values.yaml [2], we have set:
4343
#
4444
# cert-manager:
4545
# nameOverride: jetstack-secure-gcm
46+
# fullnameOverride: jetstack-secure-gcm
4647
# google-cas-issuer:
4748
# nameOverride: jetstack-secure-gcm
49+
# fullnameOverride: google-cas-issuer
4850
# preflight:
4951
# nameOverride: jetstack-secure-gcm
52+
# fullnameOverride: preflight
5053
#
5154
# [1]: https://sigs.k8s.io/application/docs/api.md
5255
# [2] ./chart/jetstack-secure-gcm/values.yaml

chart/jetstack-secure-gcm/values.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
cert-manager:
88
nameOverride: jetstack-secure-gcm
9+
fullnameOverride: cert-manager
910
installCRDs: true
1011
global:
1112
rbac:
@@ -46,6 +47,7 @@ cert-manager:
4647

4748
google-cas-issuer:
4849
nameOverride: jetstack-secure-gcm
50+
fullnameOverride: google-cas-issuer
4951
installCRDs: true
5052
serviceAccount:
5153
create: false # see note (1)
@@ -55,6 +57,7 @@ google-cas-issuer:
5557

5658
preflight:
5759
nameOverride: jetstack-secure-gcm
60+
fullnameOverride: preflight
5861
serviceAccount:
5962
# name: foo
6063
create: false # see note (1)

docs/TESTING-DEPLOYER.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,16 +190,27 @@ spec:
190190
app.kubernetes.io/instance: {{ .Release.Name }} # Example: "jetstack-secure-for-cert-mana-2"
191191
```
192192

193-
First, we set the name override for all our charts:
193+
Then, we use the `nameOverride` and `fullnameOverride`:
194+
1. `nameOverride` makes sure that all the objects across all subcharts have
195+
the following label:
196+
```yaml
197+
app.kubernetes.io/name: "jetstack-secure-gcm"
198+
```
199+
2. `fullnameOverride` makes sure that the object names actually make sense;
200+
if we did not use this, we would end up with duplicate names in
201+
deployments and services.
194202

195203
```yaml
196204
# https://github.com/jetstack/jetstack-secure-gcm/blob/main/chart/jetstack-secure-gcm/values.yaml
197205
cert-manager:
198206
nameOverride: jetstack-secure-gcm
207+
fullnameOverride: jetstack-secure-gcm
199208
google-cas-issuer:
200209
nameOverride: jetstack-secure-gcm
210+
fullnameOverride: google-cas-issuer
201211
preflight:
202212
nameOverride: jetstack-secure-gcm
213+
fullnameOverride: preflight
203214
```
204215

205216
Then we make sure all the objects are set with the labels:

0 commit comments

Comments
 (0)