Skip to content

Commit 20920ab

Browse files
feat: default leader election disabled and derive the lease name from the release and preset names (#5939)
1 parent a338543 commit 20920ab

File tree

10 files changed

+41
-17
lines changed

10 files changed

+41
-17
lines changed

deploy/helm/elastic-agent/examples/eck/rendered/manifest.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ stringData:
7676
scope: cluster
7777
kubernetes_leaderelection:
7878
enabled: true
79+
leader_lease: example-clusterwide
7980
inputs:
8081
- data_stream:
8182
namespace: default
@@ -127,6 +128,7 @@ stringData:
127128
enabled: false
128129
kubernetes_leaderelection:
129130
enabled: false
131+
leader_lease: example-ksmsharded
130132
inputs:
131133
- data_stream:
132134
namespace: default
@@ -417,6 +419,7 @@ stringData:
417419
scope: node
418420
kubernetes_leaderelection:
419421
enabled: false
422+
leader_lease: example-pernode
420423
inputs:
421424
- data_stream:
422425
namespace: default

deploy/helm/elastic-agent/examples/fleet-managed/rendered/manifest.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ stringData:
3232
providers:
3333
kubernetes_leaderelection:
3434
enabled: false
35+
leader_lease: example-nginx
3536
---
3637
# Source: elastic-agent/templates/agent/cluster-role.yaml
3738
apiVersion: rbac.authorization.k8s.io/v1
@@ -181,7 +182,7 @@ spec:
181182
labels:
182183
name: agent-nginx-example
183184
annotations:
184-
checksum/config: ce25762427c9b6e207de5327b69be314f9d077db8138b7b241fd40f7b8a80aca
185+
checksum/config: 975ed05540e0d099fe1b28b15d6403aacee676d0776a69fb75eb8624e19ad2de
185186
spec:
186187
automountServiceAccountToken: true
187188
containers:

deploy/helm/elastic-agent/examples/kubernetes-default/rendered/manifest.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ stringData:
9494
scope: cluster
9595
kubernetes_leaderelection:
9696
enabled: true
97+
leader_lease: example-clusterwide
9798
---
9899
# Source: elastic-agent/templates/agent/k8s/secret.yaml
99100
apiVersion: v1
@@ -388,6 +389,7 @@ stringData:
388389
enabled: false
389390
kubernetes_leaderelection:
390391
enabled: false
392+
leader_lease: example-ksmsharded
391393
---
392394
# Source: elastic-agent/templates/agent/k8s/secret.yaml
393395
apiVersion: v1
@@ -571,6 +573,7 @@ stringData:
571573
scope: node
572574
kubernetes_leaderelection:
573575
enabled: false
576+
leader_lease: example-pernode
574577
---
575578
# Source: elastic-agent/templates/agent/cluster-role.yaml
576579
apiVersion: rbac.authorization.k8s.io/v1
@@ -1089,7 +1092,7 @@ spec:
10891092
labels:
10901093
name: agent-pernode-example
10911094
annotations:
1092-
checksum/config: d361521be4fd034ea920a15f80ef519e05c00d801973175e3f165ea714931b52
1095+
checksum/config: 233affcd72143e637a130b5f099c30e194d90042eb00a26512f51c844c65a821
10931096
spec:
10941097
automountServiceAccountToken: true
10951098
containers:
@@ -1209,7 +1212,7 @@ spec:
12091212
labels:
12101213
name: agent-clusterwide-example
12111214
annotations:
1212-
checksum/config: 14177955837470abb34597058889ea1f1d34ded25b5271b0dbbfb0bc8f3161c9
1215+
checksum/config: 97e62ed0d731dea2ecadf31b0a7b4160db1b8a253589b7324f3a381af2519591
12131216
spec:
12141217
automountServiceAccountToken: true
12151218
containers:
@@ -1291,7 +1294,7 @@ spec:
12911294
labels:
12921295
name: agent-ksmsharded-example
12931296
annotations:
1294-
checksum/config: 58c52f37c9e2582e270e0c3b5c0150252db79a8a1be4e9b287da943a7c9e3bdf
1297+
checksum/config: 3b64edf7317419b11b0aef4cd10cad04037b7bc0b6866da25871b47b41c04490
12951298
spec:
12961299
automountServiceAccountToken: true
12971300
containers:

deploy/helm/elastic-agent/examples/kubernetes-hints-autodiscover/rendered/manifest.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ stringData:
9494
scope: cluster
9595
kubernetes_leaderelection:
9696
enabled: true
97+
leader_lease: example-clusterwide
9798
---
9899
# Source: elastic-agent/templates/agent/k8s/secret.yaml
99100
apiVersion: v1
@@ -388,6 +389,7 @@ stringData:
388389
enabled: false
389390
kubernetes_leaderelection:
390391
enabled: false
392+
leader_lease: example-ksmsharded
391393
---
392394
# Source: elastic-agent/templates/agent/k8s/secret.yaml
393395
apiVersion: v1
@@ -573,6 +575,7 @@ stringData:
573575
scope: node
574576
kubernetes_leaderelection:
575577
enabled: false
578+
leader_lease: example-pernode
576579
---
577580
# Source: elastic-agent/templates/agent/cluster-role.yaml
578581
apiVersion: rbac.authorization.k8s.io/v1
@@ -1091,7 +1094,7 @@ spec:
10911094
labels:
10921095
name: agent-pernode-example
10931096
annotations:
1094-
checksum/config: c9823ca6e0ab0a28164ee0111de74d3225480f5c5e81057159d3276ad3208f46
1097+
checksum/config: 0df24cb5f7362916ba8cb10621b123918f22f52a7ce9f0b0514c5983de6d06f3
10951098
spec:
10961099
automountServiceAccountToken: true
10971100
containers:
@@ -1236,7 +1239,7 @@ spec:
12361239
labels:
12371240
name: agent-clusterwide-example
12381241
annotations:
1239-
checksum/config: 14177955837470abb34597058889ea1f1d34ded25b5271b0dbbfb0bc8f3161c9
1242+
checksum/config: 97e62ed0d731dea2ecadf31b0a7b4160db1b8a253589b7324f3a381af2519591
12401243
spec:
12411244
automountServiceAccountToken: true
12421245
containers:
@@ -1318,7 +1321,7 @@ spec:
13181321
labels:
13191322
name: agent-ksmsharded-example
13201323
annotations:
1321-
checksum/config: 58c52f37c9e2582e270e0c3b5c0150252db79a8a1be4e9b287da943a7c9e3bdf
1324+
checksum/config: 3b64edf7317419b11b0aef4cd10cad04037b7bc0b6866da25871b47b41c04490
13221325
spec:
13231326
automountServiceAccountToken: true
13241327
containers:

deploy/helm/elastic-agent/examples/kubernetes-only-logs/rendered/manifest.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ stringData:
104104
scope: node
105105
kubernetes_leaderelection:
106106
enabled: false
107+
leader_lease: example-pernode
107108
---
108109
# Source: elastic-agent/templates/agent/cluster-role.yaml
109110
apiVersion: rbac.authorization.k8s.io/v1
@@ -227,7 +228,7 @@ spec:
227228
labels:
228229
name: agent-pernode-example
229230
annotations:
230-
checksum/config: 10cb3f4c3996f9ccaee8461e274a694fbbb03df6437e46d293cc515296b00cc0
231+
checksum/config: 0840dcdf026f64cefb7aa69f420bc923d7e2d7d6e9a239e107fd2684e309d8ae
231232
spec:
232233
automountServiceAccountToken: true
233234
containers:

deploy/helm/elastic-agent/examples/multiple-integrations/rendered/manifest.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ stringData:
120120
scope: cluster
121121
kubernetes_leaderelection:
122122
enabled: true
123+
leader_lease: example-clusterwide
123124
---
124125
# Source: elastic-agent/templates/agent/k8s/secret.yaml
125126
apiVersion: v1
@@ -414,6 +415,7 @@ stringData:
414415
enabled: false
415416
kubernetes_leaderelection:
416417
enabled: false
418+
leader_lease: example-ksmsharded
417419
---
418420
# Source: elastic-agent/templates/agent/k8s/secret.yaml
419421
apiVersion: v1
@@ -599,6 +601,7 @@ stringData:
599601
scope: node
600602
kubernetes_leaderelection:
601603
enabled: false
604+
leader_lease: example-pernode
602605
---
603606
# Source: elastic-agent/templates/agent/cluster-role.yaml
604607
apiVersion: rbac.authorization.k8s.io/v1
@@ -1117,7 +1120,7 @@ spec:
11171120
labels:
11181121
name: agent-pernode-example
11191122
annotations:
1120-
checksum/config: c9823ca6e0ab0a28164ee0111de74d3225480f5c5e81057159d3276ad3208f46
1123+
checksum/config: 0df24cb5f7362916ba8cb10621b123918f22f52a7ce9f0b0514c5983de6d06f3
11211124
spec:
11221125
automountServiceAccountToken: true
11231126
containers:
@@ -1252,7 +1255,7 @@ spec:
12521255
labels:
12531256
name: agent-clusterwide-example
12541257
annotations:
1255-
checksum/config: 7cd88cef1c964a3660d069d4525c2efc0eed06607e0011c2af83a37648fcaacc
1258+
checksum/config: 4425148664b320184754e6ab2438144cdda5ec331ba76501a4264ddcab801623
12561259
spec:
12571260
automountServiceAccountToken: true
12581261
containers:
@@ -1324,7 +1327,7 @@ spec:
13241327
labels:
13251328
name: agent-ksmsharded-example
13261329
annotations:
1327-
checksum/config: 58c52f37c9e2582e270e0c3b5c0150252db79a8a1be4e9b287da943a7c9e3bdf
1330+
checksum/config: 3b64edf7317419b11b0aef4cd10cad04037b7bc0b6866da25871b47b41c04490
13281331
spec:
13291332
automountServiceAccountToken: true
13301333
containers:

deploy/helm/elastic-agent/examples/nginx-custom-integration/rendered/manifest.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ stringData:
6666
providers:
6767
kubernetes_leaderelection:
6868
enabled: false
69+
leader_lease: example-nginx
6970
---
7071
# Source: elastic-agent/templates/agent/cluster-role.yaml
7172
apiVersion: rbac.authorization.k8s.io/v1
@@ -215,7 +216,7 @@ spec:
215216
labels:
216217
name: agent-nginx-example
217218
annotations:
218-
checksum/config: 627f26ad8791a17274403b380c484441f4b4667f49d72057b17921707be49b0c
219+
checksum/config: 99eaac30ab163ab5f4cedbdbf3e6936d34c2b0e2c22dee59947487bab88fcc26
219220
spec:
220221
automountServiceAccountToken: true
221222
containers:

deploy/helm/elastic-agent/examples/system-custom-auth-paths/rendered/manifest.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ stringData:
176176
scope: node
177177
kubernetes_leaderelection:
178178
enabled: false
179+
leader_lease: example-pernode
179180
---
180181
# Source: elastic-agent/templates/agent/cluster-role.yaml
181182
apiVersion: rbac.authorization.k8s.io/v1
@@ -299,7 +300,7 @@ spec:
299300
labels:
300301
name: agent-pernode-example
301302
annotations:
302-
checksum/config: 2c282d47af61943389605343bda01a73669627e940b9c563e4a678dfcbaa0c73
303+
checksum/config: 535875b1a8f244fc529158f3467dec1983ca2ef19d365518da249fd46e22d0ef
303304
spec:
304305
automountServiceAccountToken: true
305306
containers:

deploy/helm/elastic-agent/templates/agent/_helpers.tpl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,18 @@ Validate and initialise the defined agent presets
9797
{{- end -}}
9898
{{- end -}}
9999
{{- end -}}
100+
{{/* by default we disable leader election but we also set the name of the leader lease in case it is explicitly enabled */}}
101+
{{- if empty ($presetVal).providers -}}
102+
{{- $_ := set $presetVal "providers" dict -}}
103+
{{- end -}}
104+
{{- $presetProviders := get $presetVal "providers" -}}
105+
{{- if empty ($presetProviders).kubernetes_leaderelection -}}
106+
{{- $_ := set $presetProviders "kubernetes_leaderelection" dict -}}
107+
{{- end -}}
108+
{{- $presetLeaderLeaseName := (printf "%s-%s" $.Release.Name $presetName) | lower -}}
109+
{{- $defaultLeaderElection := dict "enabled" false "leader_lease" $presetLeaderLeaseName -}}
110+
{{- $presetLeaderElection := mergeOverwrite dict $defaultLeaderElection ($presetProviders).kubernetes_leaderelection -}}
111+
{{- $_ := set $presetProviders "kubernetes_leaderelection" $presetLeaderElection -}}
100112
{{- end -}}
101113
{{- end -}}
102114

deploy/helm/elastic-agent/values.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -450,8 +450,6 @@ agent:
450450
logs: true
451451
metrics: true
452452
providers:
453-
kubernetes_leaderelection:
454-
enabled: false
455453
kubernetes:
456454
node: ${NODE_NAME}
457455
scope: node
@@ -481,7 +479,5 @@ agent:
481479
logs: true
482480
metrics: true
483481
providers:
484-
kubernetes_leaderelection:
485-
enabled: false
486482
kubernetes:
487483
enabled: false

0 commit comments

Comments
 (0)