Skip to content

Commit 8ab32e7

Browse files
authored
fix: Bump stackable-operator for delayed controller functionality (#801)
* chore: Bump stackable-operator to 0.107.1 * fix: Delay controller startup to avoid 404 in initial list * chore: Add changelog entry * chore: Bump stackable-operator to 0.108.0
1 parent 92b4bab commit 8ab32e7

9 files changed

Lines changed: 70 additions & 61 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,15 @@ All notable changes to this project will be documented in this file.
1717

1818
### Changed
1919

20-
- Bump stackable-operator to 0.106.2, and strum to 0.28 ([#794]).
20+
- Bump stackable-operator to 0.108.0, and strum to 0.28 ([#794], [#801]).
2121
- Gracefully shutdown all concurrent tasks by forwarding the SIGTERM signal ([#788]).
2222
- Bump testing-tools to `0.3.0-stackable0.0.0-dev` ([#780]).
2323
- Increase default CPU request/limit to 300m/1200m for the router role ([#786]).
2424

25+
### Fixed
26+
27+
- Fix "404 page not found" error for the initial object list ([#801]).
28+
2529
### Removed
2630

2731
- Remove Druid 33.0.0 ([#786]).
@@ -31,6 +35,7 @@ All notable changes to this project will be documented in this file.
3135
[#788]: https://github.com/stackabletech/druid-operator/pull/788
3236
[#790]: https://github.com/stackabletech/druid-operator/pull/790
3337
[#794]: https://github.com/stackabletech/druid-operator/pull/794
38+
[#801]: https://github.com/stackabletech/druid-operator/pull/801
3439

3540
## [25.11.0] - 2025-11-07
3641

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/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.106.2", features = ["telemetry", "versioned", "webhook"] }
14+
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.108.0", features = ["crds", "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/druid-operator/templates/roles.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ rules:
9696
{{- if .Values.maintenance.customResourceDefinitions.maintain }}
9797
- create
9898
- patch
99+
# Required for startup condition
100+
- list
101+
- watch
99102
{{- end }}
100103
- apiGroups:
101104
- listeners.stackable.tech

rust/operator-binary/src/crd/mod.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,10 +1093,13 @@ pub struct DatabaseConnectionSpec {
10931093
pub credentials_secret: Option<String>,
10941094
}
10951095

1096-
#[derive(Clone, Debug, Deserialize, Eq, JsonSchema, PartialEq, Serialize, Display, EnumString)]
1096+
#[derive(
1097+
Clone, Debug, Default, Deserialize, Eq, JsonSchema, PartialEq, Serialize, Display, EnumString,
1098+
)]
10971099
pub enum DbType {
10981100
#[serde(rename = "derby")]
10991101
#[strum(serialize = "derby")]
1102+
#[default]
11001103
Derby,
11011104

11021105
#[serde(rename = "mysql")]
@@ -1108,12 +1111,6 @@ pub enum DbType {
11081111
Postgresql,
11091112
}
11101113

1111-
impl Default for DbType {
1112-
fn default() -> Self {
1113-
Self::Derby
1114-
}
1115-
}
1116-
11171114
#[derive(Clone, Debug, Deserialize, JsonSchema, PartialEq, Eq, Serialize, Display)]
11181115
#[serde(rename_all = "camelCase")]
11191116
pub enum DeepStorageSpec {

rust/operator-binary/src/extensions.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ mod tests {
119119
oidc: oidc::v1alpha1::ClientAuthenticationOptions {
120120
client_credentials_secret_ref: "".to_string(),
121121
extra_scopes: vec![],
122-
product_specific_fields: ()
122+
product_specific_fields: (),
123123
}
124124
}]
125125
})

rust/operator-binary/src/main.rs

Lines changed: 8 additions & 3 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, 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::{
@@ -187,7 +187,12 @@ async fn main() -> anyhow::Result<()> {
187187
)
188188
.map(anyhow::Ok);
189189

190-
futures::try_join!(druid_controller, eos_checker, webhook_server)?;
190+
let delayed_druid_controller = async {
191+
signal::crd_established(&client, v1alpha1::DruidCluster::crd_name(), None).await?;
192+
druid_controller.await
193+
};
194+
195+
futures::try_join!(delayed_druid_controller, eos_checker, webhook_server)?;
191196
}
192197
}
193198

0 commit comments

Comments
 (0)