Skip to content

Commit 81ef788

Browse files
feat!(stackable-operator): Add EoS checker (#1096)
* refactor!(stackable-operator): Split/move CLI args/options * refactor!(stackable-operator): Gate KubernetesClusterInfoOptions' clap integration * feat(stackable-shared): Support Duration to std Duration conversion * feat(stackable-operator): Add EoS checker * docs: Remove outdated and long winded doc comments * test: Fix various doc tests * feat(stackable-operator): Default EoS interval based on debug/release build * docs(stackable-operator): Add more detail on how to run EoS checker * feat(stackable-operator): Add instrumentation to EoS checker * chore(stackable-operator): Add changelog entry * chore: Apply suggestion Co-authored-by: Nick <[email protected]> * chore: Apply formatting to previous code suggestion * ci(fix): Install Rust toolchain for cargo-deny --------- Co-authored-by: Nick <[email protected]>
1 parent b018f1d commit 81ef788

File tree

14 files changed

+522
-452
lines changed

14 files changed

+522
-452
lines changed

.github/workflows/build.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ jobs:
6060
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
6161
with:
6262
persist-credentials: false
63+
- uses: dtolnay/rust-toolchain@master
64+
with:
65+
toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
6366
- uses: EmbarkStudios/cargo-deny-action@30f817c6f72275c6d54dc744fbca09ebc958599f # v2.0.12
6467
with:
6568
command: check ${{ matrix.checks }}

crates/stackable-operator/CHANGELOG.md

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

99
### Added
1010

11+
- Add end-of-support checker ([#1096]).
12+
- The EoS checker can be constructed using `EndOfSupportChecker::new()`.
13+
- Add new `MaintenanceOptions` and `EndOfSupportOptions` structs.
14+
- Add new CLI arguments and env vars:
15+
- `EOS_CHECK_MODE` (`--eos-check-mode`) to set the EoS check mode. Currently, only "offline" is supported.
16+
- `EOS_INTERVAL` (`--eos-interval`) to set the interval in which the operator checks if it is EoS.
1117
- Extend `ObjectMetaBuilder` with `finalizers` ([#1094]).
1218

1319
### Changed
1420

21+
- BREAKING: `ProductOperatorRun` was renamed to `RunArguments` ([#1096]).
22+
- BREAKING: The `disable_crd_maintenance` field was moved from `RunArguments` into `MaintenanceOptions`.
23+
The CLI interface is unchanged ([#1096]).
24+
- BREAKING: Integration of `KubernetesClusterInfoOptions` with `clap` is now gated behind the `clap` feature flag.
25+
This is only breaking if default features for `stackable-operator` are disabled ([#1096]).
1526
- BREAKING: Upgrade to `schemars` 1.0, `kube` 2.0 and `k8s-openapi` 0.26 (using Kubernetes 1.34) ([#1091]).
1627

1728
### Fixed
@@ -21,6 +32,7 @@ All notable changes to this project will be documented in this file.
2132
[#1091]: https://github.com/stackabletech/operator-rs/pull/1091
2233
[#1094]: https://github.com/stackabletech/operator-rs/pull/1094
2334
[#1095]: https://github.com/stackabletech/operator-rs/pull/1095
35+
[#1096]: https://github.com/stackabletech/operator-rs/pull/1096
2436

2537
## [0.97.0] - 2025-09-09
2638

crates/stackable-operator/Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ edition.workspace = true
88
repository.workspace = true
99

1010
[features]
11-
full = ["certs", "telemetry", "versioned", "time", "webhook"]
12-
default = ["telemetry", "versioned"]
11+
full = ["certs", "telemetry", "versioned", "time", "webhook", "clap"]
12+
default = ["telemetry", "versioned", "clap"]
1313

14+
clap = []
1415
certs = ["dep:stackable-certs"]
1516
telemetry = ["dep:stackable-telemetry"]
1617
time = ["stackable-shared/time"]

0 commit comments

Comments
 (0)