Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
91fd3cb
feat!: Add support for mutating webhooks
sbernauer Nov 14, 2025
886efcc
Add state to the mutating webhook
sbernauer Nov 17, 2025
f48447c
Improve docs
sbernauer Nov 18, 2025
caa81fc
Add some docs
sbernauer Nov 18, 2025
587f296
refactor: Rename traits and structs
sbernauer Nov 19, 2025
8b518a0
Add some docs
sbernauer Nov 19, 2025
ef0d166
More docs
sbernauer Nov 19, 2025
16045e4
Apply suggestions from code review
sbernauer Nov 20, 2025
25c1e80
Update crates/stackable-webhook/src/lib.rs
sbernauer Nov 20, 2025
516f94d
formatiing
sbernauer Nov 20, 2025
ade4a1b
Rename operator to webhook
sbernauer Nov 20, 2025
7120310
Tkae the WebhookServerOptions by reference
sbernauer Nov 20, 2025
a070857
Remove leftover code
sbernauer Nov 20, 2025
85b73d3
Update crates/stackable-webhook/src/servers/mutating_webhook.rs
sbernauer Nov 20, 2025
6fc8a97
Move tracing layer to after routes
sbernauer Nov 20, 2025
2721d72
Improve tracing
sbernauer Nov 20, 2025
3ff8b2a
Rename servers mdodule to webhooks
sbernauer Nov 20, 2025
92f14b3
Add some docs
sbernauer Nov 20, 2025
6ca52f2
Add some docs
sbernauer Nov 20, 2025
2974ba0
changelog
sbernauer Nov 20, 2025
af9d446
changelog
sbernauer Nov 20, 2025
da6b1dc
Update crates/stackable-webhook/src/lib.rs
sbernauer Nov 20, 2025
00629de
Update crates/stackable-webhook/src/lib.rs
sbernauer Nov 20, 2025
9c20067
fix doc tests
sbernauer Nov 20, 2025
d79e432
Improve shutdown message
sbernauer Nov 20, 2025
dbba557
Add validating webhook as well
sbernauer Nov 26, 2025
abea52c
Merge branch 'main' into feat/mutating-webhook
sbernauer Nov 27, 2025
bea8241
refactor: Avoid Box
sbernauer Nov 27, 2025
713716a
refactor: Move out into get_webhook_client_config
sbernauer Nov 27, 2025
f030b1c
Revert "refactor: Avoid Box"
sbernauer Nov 27, 2025
aedb264
Remove unneeded loop
sbernauer Dec 17, 2025
9494797
Move new Self{} into variable
sbernauer Dec 17, 2025
3a70a42
Only clone the handler
sbernauer Dec 17, 2025
67864fa
calculated -> determined
sbernauer Dec 17, 2025
552e86c
Clarify only operator touch MWCs
sbernauer Dec 17, 2025
85481e8
Add Webhhok::ignore_certificate_rotation trait function
sbernauer Dec 17, 2025
1c4e2ad
docs: Add some field level docs
sbernauer Dec 17, 2025
f025524
Remove validating webhook for now
sbernauer Dec 19, 2025
fe28485
trace::debug route registration
sbernauer Dec 19, 2025
0a2014c
Add some docs for conversion webhook
sbernauer Dec 19, 2025
790bd0a
Remove unneeded #[allow(unreachable_code)]
sbernauer Dec 19, 2025
054fe29
Address review feedback in offline session
sbernauer Dec 19, 2025
f43ea9b
clippy
sbernauer Dec 19, 2025
ec5a33a
More tracing fields
sbernauer Dec 19, 2025
69603ca
Rename to create_webhook_client_config
sbernauer Dec 19, 2025
1b257d3
docs docs docs
sbernauer Dec 19, 2025
cacab52
Move _resource down
sbernauer Dec 19, 2025
aa4f9ec
Return early if no webhooks are registered
Techassi Dec 22, 2025
8a2d261
Merge branch 'main' into feat/mutating-webhook
sbernauer Dec 22, 2025
815aa41
Fix kube dependency in Cargo.toml
sbernauer Dec 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ repository = "https://github.com/stackabletech/operator-rs"
[workspace.dependencies]
product-config = { git = "https://github.com/stackabletech/product-config.git", tag = "0.8.0" }

arc-swap = "1.7"
arc-swap = "1.7.0"
async-trait = "0.1.89"
axum = { version = "0.8.1", features = ["http2"] }
chrono = { version = "0.4.38", default-features = false }
clap = { version = "4.5.17", features = ["derive", "cargo", "env"] }
Expand All @@ -38,7 +39,7 @@ k8s-openapi = { version = "0.26.0", default-features = false, features = ["schem
# We use rustls instead of openssl for easier portability, e.g. so that we can build stackablectl without the need to vendor (build from source) openssl
# We use ring instead of aws-lc-rs, as this currently fails to build in "make run-dev"
# We pin the kube version, as we use a patch for 2.0.1
kube = { git = "https://github.com/stackabletech/kube-rs", branch = "2.0.1-fix-schema-hoisting", version = "=2.0.1", default-features = false, features = ["client", "jsonpatch", "runtime", "derive", "rustls-tls", "ring"] }
kube = { git = "https://github.com/stackabletech/kube-rs", branch = "2.0.1-fix-schema-hoisting", version = "=2.0.1", default-features = false, features = ["client", "jsonpatch", "runtime", "derive", "admission", "rustls-tls", "ring"] }
opentelemetry = "0.31.0"
opentelemetry_sdk = { version = "0.31.0", features = ["rt-tokio"] }
opentelemetry-appender-tracing = "0.31.0"
Expand Down
11 changes: 11 additions & 0 deletions crates/stackable-webhook/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@ All notable changes to this project will be documented in this file.

## [Unreleased]

### Added

- Add support for mutating webhooks ([#1119]).

### Changed

- BREAKING: Refactor the entire `WebhookServer` mechanism, so multiple webhooks can run in parallel.
Put individual webhooks (currently `ConversionWebhook` and `MutatingWebhook`) behind the `Webhook` trait ([#1119]).

[#1119]: https://github.com/stackabletech/operator-rs/pull/1119

## [0.7.1] - 2025-10-31

### Fixed
Expand Down
2 changes: 2 additions & 0 deletions crates/stackable-webhook/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ stackable-shared = { path = "../stackable-shared" }
stackable-telemetry = { path = "../stackable-telemetry" }

arc-swap.workspace = true
async-trait.workspace = true
axum.workspace = true
futures-util.workspace = true
hyper-util.workspace = true
Expand All @@ -21,6 +22,7 @@ kube.workspace = true
opentelemetry.workspace = true
opentelemetry-semantic-conventions.workspace = true
rand.workspace = true
serde.workspace = true
serde_json.workspace = true
snafu.workspace = true
tokio-rustls.workspace = true
Expand Down
Loading
Loading