Skip to content

Commit b57cad8

Browse files
authored
feat: Enable restart controller (#785)
* feat: Enable restart controller * changelog
1 parent b3d470c commit b57cad8

File tree

8 files changed

+64
-41
lines changed

8 files changed

+64
-41
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ All notable changes to this project will be documented in this file.
88

99
- Support objectOverrides using `.spec.objectOverrides`.
1010
See [objectOverrides concepts page](https://docs.stackable.tech/home/nightly/concepts/overrides/#object-overrides) for details ([#782]).
11+
- Enable the [restart-controller](https://docs.stackable.tech/home/nightly/commons-operator/restarter/), so that the Pods are automatically restarted on config changes ([#785]).
1112

1213
[#782]: https://github.com/stackabletech/druid-operator/pull/782
14+
[#785]: https://github.com/stackabletech/druid-operator/pull/785
1315

1416
### Changed
1517

Cargo.lock

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.nix

Lines changed: 15 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ repository = "https://github.com/stackabletech/druid-operator"
1111

1212
[workspace.dependencies]
1313
product-config = { git = "https://github.com/stackabletech/product-config.git", tag = "0.8.0" }
14-
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.101.2", features = ["telemetry", "versioned"] }
14+
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.104.0", features = ["telemetry", "versioned"] }
1515

1616
anyhow = "1.0"
1717
built = { version = "0.8", features = ["chrono", "git2"] }

crate-hashes.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deploy/helm/druid-operator/crds/crds.yaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ spec:
297297
default: {}
298298
description: |-
299299
In the `podOverrides` property you can define a
300-
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
300+
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podtemplatespec-v1-core)
301301
to override any property that can be set on a Kubernetes Pod.
302302
Read the
303303
[Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides)
@@ -609,7 +609,7 @@ spec:
609609
default: {}
610610
description: |-
611611
In the `podOverrides` property you can define a
612-
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
612+
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podtemplatespec-v1-core)
613613
to override any property that can be set on a Kubernetes Pod.
614614
Read the
615615
[Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides)
@@ -1463,7 +1463,7 @@ spec:
14631463
default: {}
14641464
description: |-
14651465
In the `podOverrides` property you can define a
1466-
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
1466+
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podtemplatespec-v1-core)
14671467
to override any property that can be set on a Kubernetes Pod.
14681468
Read the
14691469
[Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides)
@@ -1775,7 +1775,7 @@ spec:
17751775
default: {}
17761776
description: |-
17771777
In the `podOverrides` property you can define a
1778-
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
1778+
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podtemplatespec-v1-core)
17791779
to override any property that can be set on a Kubernetes Pod.
17801780
Read the
17811781
[Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides)
@@ -2106,7 +2106,7 @@ spec:
21062106
default: {}
21072107
description: |-
21082108
In the `podOverrides` property you can define a
2109-
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
2109+
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podtemplatespec-v1-core)
21102110
to override any property that can be set on a Kubernetes Pod.
21112111
Read the
21122112
[Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides)
@@ -2458,7 +2458,7 @@ spec:
24582458
default: {}
24592459
description: |-
24602460
In the `podOverrides` property you can define a
2461-
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
2461+
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podtemplatespec-v1-core)
24622462
to override any property that can be set on a Kubernetes Pod.
24632463
Read the
24642464
[Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides)
@@ -2801,7 +2801,7 @@ spec:
28012801
default: {}
28022802
description: |-
28032803
In the `podOverrides` property you can define a
2804-
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
2804+
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podtemplatespec-v1-core)
28052805
to override any property that can be set on a Kubernetes Pod.
28062806
Read the
28072807
[Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides)
@@ -3109,7 +3109,7 @@ spec:
31093109
default: {}
31103110
description: |-
31113111
In the `podOverrides` property you can define a
3112-
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
3112+
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podtemplatespec-v1-core)
31133113
to override any property that can be set on a Kubernetes Pod.
31143114
Read the
31153115
[Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides)
@@ -3410,7 +3410,7 @@ spec:
34103410
default: {}
34113411
description: |-
34123412
In the `podOverrides` property you can define a
3413-
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
3413+
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podtemplatespec-v1-core)
34143414
to override any property that can be set on a Kubernetes Pod.
34153415
Read the
34163416
[Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides)
@@ -3722,7 +3722,7 @@ spec:
37223722
default: {}
37233723
description: |-
37243724
In the `podOverrides` property you can define a
3725-
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
3725+
[PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podtemplatespec-v1-core)
37263726
to override any property that can be set on a Kubernetes Pod.
37273727
Read the
37283728
[Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides)

rust/operator-binary/src/druid_controller.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ use stackable_operator::{
3131
rbac::build_rbac_resources,
3232
tls_verification::TlsClientDetailsError,
3333
},
34+
constants::RESTART_CONTROLLER_ENABLED_LABEL,
3435
crd::s3,
3536
k8s_openapi::{
3637
DeepMerge,
@@ -614,6 +615,10 @@ pub async fn reconcile_druid(
614615
.with_context(|_| ApplyRoleGroupConfigSnafu {
615616
rolegroup: rolegroup.clone(),
616617
})?;
618+
619+
// Note: The StatefulSet needs to be applied after all ConfigMaps and Secrets it mounts
620+
// to prevent unnecessary Pod restarts.
621+
// See https://github.com/stackabletech/commons-operator/issues/111 for details.
617622
ss_cond_builder.add(
618623
cluster_resources
619624
.add(client, rg_statefulset)
@@ -1203,6 +1208,7 @@ fn build_rolegroup_statefulset(
12031208
&rolegroup_ref.role_group,
12041209
))
12051210
.context(MetadataBuildSnafu)?
1211+
.with_label(RESTART_CONTROLLER_ENABLED_LABEL.to_owned())
12061212
.build(),
12071213
spec: Some(StatefulSetSpec {
12081214
pod_management_policy: Some("Parallel".to_string()),

0 commit comments

Comments
 (0)