Skip to content

Commit 3771f73

Browse files
authored
fix: Bump stackable-operator for delayed controller functionality (#708)
* fix: Bump stackable-operator for delayed controller functionality * chore: Update changelog * chore: Use delayed controller * chore: Make druid_controller wait for SupersetCluster too
1 parent 4e5dc98 commit 3771f73

File tree

7 files changed

+80
-54
lines changed

7 files changed

+80
-54
lines changed

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,26 @@
1111

1212
### Changed
1313

14-
- Bump stackable-operator to 0.106.2, snafu to 0.9, strum to 0.28 ([#706]).
14+
- Bump stackable-operator to 0.108.0, snafu to 0.9, strum to 0.28 ([#706], [#708]).
1515
- Gracefully shutdown all concurrent tasks by forwarding the SIGTERM signal ([#699]).
1616
- Bump testing-tools to `0.3.0-stackable0.0.0-dev` ([#691]).
1717

1818
### Removed
1919

2020
- Remove support for Superset 4.0.2 and 4.1.2 ([#695]).
2121

22+
### Fixed
23+
24+
- Fix "404 page not found" error for the initial object list ([#708]).
25+
2226
[#680]: https://github.com/stackabletech/superset-operator/pull/680
2327
[#691]: https://github.com/stackabletech/superset-operator/pull/691
2428
[#693]: https://github.com/stackabletech/superset-operator/pull/693
2529
[#695]: https://github.com/stackabletech/superset-operator/pull/695
2630
[#699]: https://github.com/stackabletech/superset-operator/pull/699
2731
[#702]: https://github.com/stackabletech/superset-operator/pull/702
2832
[#706]: https://github.com/stackabletech/superset-operator/pull/706
33+
[#708]: https://github.com/stackabletech/superset-operator/pull/708
2934

3035
## [25.11.0] - 2025-11-07
3136

Cargo.lock

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

Cargo.nix

Lines changed: 27 additions & 28 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/superset-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.106.2", features = ["telemetry", "versioned", "webhook"] }
14+
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.108.0", features = ["webhook"] }
1515

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

crate-hashes.json

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

deploy/helm/superset-operator/templates/roles.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@ rules:
9797
{{- if .Values.maintenance.customResourceDefinitions.maintain }}
9898
- create
9999
- patch
100+
# Required for startup condition
101+
- list
102+
- watch
100103
{{- end }}
101104
- apiGroups:
102105
- events.k8s.io

rust/operator-binary/src/main.rs

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use stackable_operator::{
1717
core::v1::{ConfigMap, Service},
1818
},
1919
kube::{
20-
ResourceExt,
20+
CustomResourceExt as _, ResourceExt,
2121
core::DeserializeGuard,
2222
runtime::{
2323
Controller,
@@ -29,7 +29,7 @@ use stackable_operator::{
2929
logging::controller::report_controller_reconciled,
3030
shared::yaml::SerializeOptions,
3131
telemetry::Tracing,
32-
utils::signal::SignalWatcher,
32+
utils::signal::{self, SignalWatcher},
3333
};
3434

3535
use crate::{
@@ -292,10 +292,29 @@ async fn main() -> anyhow::Result<()> {
292292
)
293293
.map(anyhow::Ok);
294294

295+
let delayed_druid_connection_controller = async {
296+
signal::crd_established(
297+
&client,
298+
druidconnection::v1alpha1::DruidConnection::crd_name(),
299+
None,
300+
)
301+
.await?;
302+
// The druid_controller also watches SupersetCluster
303+
signal::crd_established(&client, v1alpha1::SupersetCluster::crd_name(), None)
304+
.await?;
305+
druid_connection_controller.await
306+
};
307+
308+
let delayed_superset_controller = async {
309+
signal::crd_established(&client, v1alpha1::SupersetCluster::crd_name(), None)
310+
.await?;
311+
superset_controller.await
312+
};
313+
295314
// kube-runtime's Controller will tokio::spawn each reconciliation, so this only concerns the internal watch machinery
296315
futures::try_join!(
297-
druid_connection_controller,
298-
superset_controller,
316+
delayed_druid_connection_controller,
317+
delayed_superset_controller,
299318
webhook_server,
300319
eos_checker
301320
)?;

0 commit comments

Comments
 (0)