Skip to content

feat: Add flux-converter #1035

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 25 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
1b2da79
feat: Add flux-converter :)
sbernauer May 14, 2025
4aee8a2
fix: Only emit conversion code for k8s CRDs
sbernauer May 15, 2025
e5bf325
test: Update test assertions
sbernauer May 15, 2025
077fff4
chore: Use snafu for ParseResourceVersionError
sbernauer May 15, 2025
0383874
snafufication
sbernauer May 15, 2025
c52ec12
Convert errors to correct respondes
sbernauer May 15, 2025
c57e8c0
test: Add some tests
sbernauer May 15, 2025
cf859db
test: Improve tests
sbernauer May 15, 2025
cd4e973
fix typo
sbernauer May 15, 2025
aab3fff
chore: Remove uneeded files
sbernauer May 15, 2025
0660983
test: Fix tests
sbernauer May 15, 2025
cfcdd99
feat: Add some tracing
sbernauer May 16, 2025
40dee54
Merge remote-tracking branch 'origin/main' into feat/flux-converter
sbernauer May 16, 2025
65d8016
typos
sbernauer May 16, 2025
7b13023
feat(stackable-versioned): Add ApplyResource trait
NickLarsenNZ May 16, 2025
8fd3c3f
wip(stackable-versioned): impl ApplyResource for CustomResourceDefini…
NickLarsenNZ May 16, 2025
4093782
fix: Remove Serilaize bound
sbernauer May 16, 2025
1b1f611
Put in some further clarifications
sbernauer May 16, 2025
fe62581
fix clippy lint
sbernauer May 16, 2025
9ed1c79
Use ecdsa instead of rsa for webhooks
sbernauer May 16, 2025
f25eae4
Adopt conversion webhook to handle multiple kinds
sbernauer May 19, 2025
d40a048
Update tests
sbernauer May 19, 2025
8c9ce4f
fix: Parse entrire apiVersion and return entire objects again
sbernauer May 21, 2025
cc5595a
Merge branch 'main' into feat/flux-converter
sbernauer May 21, 2025
7834536
Improve Cargo.toml
sbernauer May 21, 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
232 changes: 36 additions & 196 deletions Cargo.lock

Large diffs are not rendered by default.

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

axum = "0.8.1"
axum = { version = "0.8.1", features = ["http2"] }
chrono = { version = "0.4.38", default-features = false }
clap = { version = "4.5.17", features = ["derive", "cargo", "env"] }
const_format = "0.2.33"
Expand All @@ -33,6 +33,7 @@ itertools = "0.14.0"
json-patch = "4.0.0"
k8s-openapi = { version = "0.25.0", default-features = false, features = ["schemars", "v1_33"] }
# 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
# Use ring instead of aws-lc-rs, as this currently fails to build in "make run-dev"
kube = { version = "1.0.0", default-features = false, features = ["client", "jsonpatch", "runtime", "derive", "rustls-tls", "ring"] }
opentelemetry = "0.29.1"
opentelemetry_sdk = { version = "0.29.0", features = ["rt-tokio"] }
Expand Down Expand Up @@ -64,7 +65,8 @@ syn = "2.0.77"
tempfile = "3.12.0"
time = { version = "0.3.36" }
tokio = { version = "1.40.0", features = ["macros", "rt-multi-thread", "fs"] }
tokio-rustls = "0.26.0"
# Use ring instead of aws-lc-rs, as this currently fails to build in "make run-dev"
tokio-rustls = { version = "0.26.0", default-features = false, features = ["ring", "logging", "tls12"] }
tokio-test = "0.4.4"
tower = { version = "0.5.1", features = ["util"] }
tower-http = { version = "0.6.1", features = ["trace"] }
Expand All @@ -87,3 +89,7 @@ rsa.opt-level = 3
[profile.dev.package]
insta.opt-level = 3
similar.opt-level = 3

[patch.crates-io]
# https://github.com/kube-rs/kube/pull/1759 will be in 1.1.0
kube = { git = 'https://github.com/kube-rs/kube.git', rev = "d1ad7ce1aad0d8c527ede404047778885c552034" }
2 changes: 1 addition & 1 deletion crates/stackable-operator/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ versioned = []

[dependencies]
stackable-telemetry = { path = "../stackable-telemetry", features = ["clap"] }
stackable-versioned = { path = "../stackable-versioned", features = ["k8s"] }
stackable-versioned = { path = "../stackable-versioned", features = ["k8s", "flux-converter"] }
stackable-operator-derive = { path = "../stackable-operator-derive" }
stackable-shared = { path = "../stackable-shared" }

Expand Down
4 changes: 3 additions & 1 deletion crates/stackable-versioned-macros/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ normal = ["k8s-openapi", "kube"]
proc-macro = true

[features]
full = ["k8s"]
full = ["k8s", "flux-converter"]
k8s = ["dep:kube", "dep:k8s-openapi"]
flux-converter = ["k8s"]

[dependencies]
k8s-version = { path = "../k8s-version", features = ["darling"] }
Expand Down Expand Up @@ -54,4 +55,5 @@ serde.workspace = true
serde_json.workspace = true
serde_yaml.workspace = true
snafu.workspace = true
tracing.workspace = true
trybuild.workspace = true

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

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

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

Loading
Loading