From b5a6f0f69f942d6197d7a84ddd6907d17f5e34bb Mon Sep 17 00:00:00 2001 From: Techassi Date: Mon, 18 Nov 2024 16:15:51 +0100 Subject: [PATCH 1/6] Update CHANGELOG.md from release 24.11.0 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6681cc57..300c02dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +## [24.11.0] - 2024-11-18 + ### Added - The operator can now run on Kubernetes clusters using a non-default cluster domain. From f34f3cc240b7abb20fbe2f96f53c128b79a6dfae Mon Sep 17 00:00:00 2001 From: Stacky McStackface <95074132+stackable-bot@users.noreply.github.com> Date: Mon, 18 Nov 2024 22:45:56 +0100 Subject: [PATCH 2/6] chore: Generated commit to update templated files since the last template run up to stackabletech/operator-templating@fd40109c1bd66c79fa74bf67a5b5bff1e3a96ce8 (#652) Reference-to: stackabletech/operator-templating@fd40109 (Add make render-doc command) --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 5b3e6be9..11dfbe18 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,9 @@ SHELL=/usr/bin/env bash -euo pipefail render-readme: scripts/render_readme.sh +render-docs: + scripts/docs_templating.sh + ## Docker related targets docker-build: docker build --force-rm --build-arg VERSION=${VERSION} -t "${DOCKER_REPO}/${ORGANIZATION}/${OPERATOR_NAME}:${VERSION}-${ARCH}" -f docker/Dockerfile . From 3b284f43900bd4ff39792996127e8630f256465c Mon Sep 17 00:00:00 2001 From: Nick <10092581+NickLarsenNZ@users.noreply.github.com> Date: Wed, 20 Nov 2024 20:15:26 +1300 Subject: [PATCH 3/6] chore(getting_started): replace templating instructions with make (#653) --- .../examples/getting_started/getting_started.sh | 14 +------------- .../examples/getting_started/getting_started.sh.j2 | 14 +------------- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/docs/modules/druid/examples/getting_started/getting_started.sh b/docs/modules/druid/examples/getting_started/getting_started.sh index b3954374..34ec4da5 100755 --- a/docs/modules/druid/examples/getting_started/getting_started.sh +++ b/docs/modules/druid/examples/getting_started/getting_started.sh @@ -2,19 +2,7 @@ set -euo pipefail # DO NOT EDIT THE SCRIPT -# Instead, update the j2 template, and regenerate it for dev: -# cat < Date: Mon, 25 Nov 2024 11:34:41 +0100 Subject: [PATCH 4/6] fix: Construction of OIDC endpoint when rootPath has a trailing slash (#656) * let operator-rs generate oidc discovery url * add changelog entry * bump operator-rs to 0.82.0 and patch version to rev without SA changes * add unit test for oidc config * amend changelog entry * rename errors --- CHANGELOG.md | 2 + Cargo.lock | 564 +++++++++++++----- Cargo.toml | 6 +- .../src/authentication/ldap.rs | 4 +- .../operator-binary/src/authentication/mod.rs | 6 +- .../src/authentication/oidc.rs | 89 ++- .../oidc/35_authentication-class.yaml.j2 | 2 +- 7 files changed, 501 insertions(+), 172 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 300c02dc..f7506830 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ All notable changes to this project will be documented in this file. - BREAKING: The fields `connection` and `host` on `S3Connection` as well as `bucketName` on `S3Bucket`are now mandatory ([#632]). - Failing to parse one `DruidCluster`/`AuthenticationClass` should no longer cause the whole operator to stop functioning ([#638]). +- Fix OIDC endpoint construction in case the `rootPath` does have a trailing slash ([#656]). ### Removed @@ -37,6 +38,7 @@ All notable changes to this project will be documented in this file. [#632]: https://github.com/stackabletech/druid-operator/pull/632 [#637]: https://github.com/stackabletech/druid-operator/pull/637 [#638]: https://github.com/stackabletech/druid-operator/pull/638 +[#656]: https://github.com/stackabletech/druid-operator/pull/656 ## [24.7.0] - 2024-07-24 diff --git a/Cargo.lock b/Cargo.lock index 494a86cc..f081149d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -41,9 +41,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" [[package]] name = "android-tzdata" @@ -62,9 +62,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -77,43 +77,43 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" [[package]] name = "async-broadcast" @@ -146,7 +146,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -157,7 +157,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -270,9 +270,9 @@ checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" [[package]] name = "cc" -version = "1.1.31" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47" dependencies = [ "jobserver", "libc", @@ -300,9 +300,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.20" +version = "4.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f" dependencies = [ "clap_builder", "clap_derive", @@ -310,9 +310,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec" dependencies = [ "anstream", "anstyle", @@ -329,20 +329,20 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "concurrent-queue" @@ -383,6 +383,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -391,9 +401,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -444,7 +454,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -455,7 +465,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -466,7 +476,7 @@ checksum = "bc2323e10c92e1cf4d86e11538512e6dc03ceb586842970b6332af3d4046a046" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -499,6 +509,17 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.89", +] + [[package]] name = "doc-comment" version = "0.3.3" @@ -534,7 +555,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -545,9 +566,9 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] @@ -578,7 +599,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -615,7 +636,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2" dependencies = [ "bit-set", - "regex-automata 0.4.8", + "regex-automata 0.4.9", "regex-syntax 0.8.5", ] @@ -720,7 +741,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -818,9 +839,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] name = "headers" @@ -915,9 +936,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" dependencies = [ "bytes", "futures-channel", @@ -964,7 +985,7 @@ dependencies = [ "hyper-util", "log", "rustls", - "rustls-native-certs 0.8.0", + "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", "tokio-rustls", @@ -973,9 +994,9 @@ dependencies = [ [[package]] name = "hyper-timeout" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ "hyper", "hyper-util", @@ -986,9 +1007,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", @@ -1026,6 +1047,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.89", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -1034,12 +1173,23 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", ] [[package]] @@ -1049,7 +1199,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.2", ] [[package]] @@ -1081,9 +1231,9 @@ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "540654e97a3f4470a492cd30ff187bc95d89557a903a2bbf112e2fae98104ef2" [[package]] name = "java-properties" @@ -1245,7 +1395,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -1284,9 +1434,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.161" +version = "0.2.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" [[package]] name = "libgit2-sys" @@ -1312,6 +1462,12 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + [[package]] name = "lock_api" version = "0.4.12" @@ -1443,7 +1599,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -1514,7 +1670,7 @@ dependencies = [ "lazy_static", "once_cell", "opentelemetry", - "ordered-float 4.4.0", + "ordered-float 4.5.0", "percent-encoding", "rand", "thiserror", @@ -1533,9 +1689,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "4.4.0" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e7ccb95e240b7c9506a3d544f10d935e142cc90b0a1d56954fb44d89ad6b97" +checksum = "c65ee1f9701bf938026630b455d5315f490640234259037edb259798b3bcf85e" dependencies = [ "num-traits", ] @@ -1622,7 +1778,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -1638,29 +1794,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -1700,9 +1856,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -1773,13 +1929,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.8", + "regex-automata 0.4.9", "regex-syntax 0.8.5", ] @@ -1794,9 +1950,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -1862,7 +2018,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.82", + "syn 2.0.89", "unicode-ident", ] @@ -1883,9 +2039,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.15" +version = "0.23.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993" +checksum = "9c9cc1d47e243d655ace55ed38201c19ae02c148ae56412ab8750e8f0166ab7f" dependencies = [ "log", "once_cell", @@ -1906,20 +2062,19 @@ dependencies = [ "rustls-pemfile", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 2.11.1", ] [[package]] name = "rustls-native-certs" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcaf18a4f2be7326cd874a5fa579fae794320a0f388d365dca7e480e55f83f8a" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" dependencies = [ "openssl-probe", - "rustls-pemfile", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 3.0.1", ] [[package]] @@ -1962,9 +2117,9 @@ checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "schannel" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ "windows-sys 0.59.0", ] @@ -1991,7 +2146,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -2016,7 +2171,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", - "core-foundation", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1415a607e92bec364ea2cf9264646dcce0f91e6d65281bd6f2819cca3bf39c8" +dependencies = [ + "bitflags 2.6.0", + "core-foundation 0.10.0", "core-foundation-sys", "libc", "security-framework-sys", @@ -2024,9 +2192,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.0" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" +checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" dependencies = [ "core-foundation-sys", "libc", @@ -2040,9 +2208,9 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.213" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ "serde_derive", ] @@ -2059,13 +2227,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.213" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -2076,14 +2244,14 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", "memchr", @@ -2204,7 +2372,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -2223,6 +2391,12 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "stackable-druid-crd" version = "0.0.0-dev" @@ -2269,8 +2443,8 @@ dependencies = [ [[package]] name = "stackable-operator" -version = "0.80.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#6fbe32300b60f95e0baa2ab0ff2daf961b06531c" +version = "0.81.0" +source = "git+https://github.com/stackabletech//operator-rs.git?rev=de15662cb45ffe7fefb807162dbaa0b377a3bb5f#de15662cb45ffe7fefb807162dbaa0b377a3bb5f" dependencies = [ "chrono", "clap", @@ -2308,18 +2482,18 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#6fbe32300b60f95e0baa2ab0ff2daf961b06531c" +source = "git+https://github.com/stackabletech//operator-rs.git?rev=de15662cb45ffe7fefb807162dbaa0b377a3bb5f#de15662cb45ffe7fefb807162dbaa0b377a3bb5f" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] name = "stackable-shared" version = "0.0.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#6fbe32300b60f95e0baa2ab0ff2daf961b06531c" +source = "git+https://github.com/stackabletech//operator-rs.git?rev=de15662cb45ffe7fefb807162dbaa0b377a3bb5f#de15662cb45ffe7fefb807162dbaa0b377a3bb5f" dependencies = [ "kube", "semver", @@ -2353,7 +2527,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -2375,9 +2549,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.82" +version = "2.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" +checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" dependencies = [ "proc-macro2", "quote", @@ -2390,24 +2564,35 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.89", +] + [[package]] name = "thiserror" -version = "1.0.65" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.65" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -2474,25 +2659,20 @@ dependencies = [ ] [[package]] -name = "tinyvec" -version = "1.8.0" +name = "tinystr" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ - "tinyvec_macros", + "displaydoc", + "zerovec", ] -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - [[package]] name = "tokio" -version = "1.41.0" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", @@ -2514,7 +2694,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -2589,9 +2769,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437150ab6bbc8c5f0f519e3d5ed4aa883a83dd4cdd3d1b21f9482936046cb97" +checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" dependencies = [ "base64 0.22.1", "bitflags 2.6.0", @@ -2649,7 +2829,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", ] [[package]] @@ -2740,26 +2920,11 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-xid" @@ -2781,9 +2946,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -2791,6 +2956,18 @@ dependencies = [ "serde", ] +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -2852,7 +3029,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", "wasm-bindgen-shared", ] @@ -2874,7 +3051,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3017,11 +3194,47 @@ dependencies = [ "memchr", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "xml-rs" -version = "0.8.22" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" +checksum = "af310deaae937e48a26602b730250b4949e125f468f11e6990be3e5304ddd96f" + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.89", + "synstructure", +] [[package]] name = "zerocopy" @@ -3041,7 +3254,28 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.89", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.89", + "synstructure", ] [[package]] @@ -3049,3 +3283,25 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.89", +] diff --git a/Cargo.toml b/Cargo.toml index ce25b447..c79163e5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,10 +25,10 @@ serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yaml = "0.9" snafu = "0.8" -stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.80.0" } +stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.82.0" } strum = { version = "0.26", features = ["derive"] } tokio = { version = "1.40", features = ["full"] } tracing = "0.1" -# [patch."https://github.com/stackabletech/operator-rs.git"] -# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } +[patch."https://github.com/stackabletech/operator-rs.git"] +stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", rev = "de15662cb45ffe7fefb807162dbaa0b377a3bb5f" } diff --git a/rust/operator-binary/src/authentication/ldap.rs b/rust/operator-binary/src/authentication/ldap.rs index eb963d0b..ac8e37d9 100644 --- a/rust/operator-binary/src/authentication/ldap.rs +++ b/rust/operator-binary/src/authentication/ldap.rs @@ -11,7 +11,7 @@ use stackable_druid_crd::security::{ }; use crate::authentication::{ - AddLdapVolumesSnafu, CreateLdapEndpointUrlSnafu, Error, MissingLdapBindCredentialsSnafu, + AddLdapVolumesSnafu, ConstructLdapEndpointUrlSnafu, Error, MissingLdapBindCredentialsSnafu, }; fn add_authenticator_config( @@ -35,7 +35,7 @@ fn add_authenticator_config( Some( provider .endpoint_url() - .context(CreateLdapEndpointUrlSnafu)? + .context(ConstructLdapEndpointUrlSnafu)? .into(), ), ); diff --git a/rust/operator-binary/src/authentication/mod.rs b/rust/operator-binary/src/authentication/mod.rs index ad48dc79..75c67d07 100644 --- a/rust/operator-binary/src/authentication/mod.rs +++ b/rust/operator-binary/src/authentication/mod.rs @@ -30,12 +30,12 @@ type Result = std::result::Result; #[derive(Snafu, Debug)] pub enum Error { #[snafu(display("failed to create LDAP endpoint url."))] - CreateLdapEndpointUrl { + ConstructLdapEndpointUrl { source: stackable_operator::commons::authentication::ldap::Error, }, - #[snafu(display("failed to create LDAP endpoint url."))] - CreateOidcEndpointUrl { + #[snafu(display("failed to create the OIDC well-known url."))] + ConstructOidcWellKnownUrl { source: stackable_operator::commons::authentication::oidc::Error, }, diff --git a/rust/operator-binary/src/authentication/oidc.rs b/rust/operator-binary/src/authentication/oidc.rs index 70cc8acd..8fb65270 100644 --- a/rust/operator-binary/src/authentication/oidc.rs +++ b/rust/operator-binary/src/authentication/oidc.rs @@ -6,14 +6,12 @@ use stackable_druid_crd::{ }; use stackable_operator::{ builder::pod::{container::ContainerBuilder, PodBuilder}, - commons::authentication::oidc::{ - AuthenticationProvider, ClientAuthenticationOptions, DEFAULT_OIDC_WELLKNOWN_PATH, - }, + commons::authentication::oidc::{AuthenticationProvider, ClientAuthenticationOptions}, k8s_openapi::api::core::v1::EnvVar, }; use crate::{ - authentication::{AddOidcVolumesSnafu, CreateOidcEndpointUrlSnafu, Error}, + authentication::{AddOidcVolumesSnafu, ConstructOidcWellKnownUrlSnafu, Error}, internal_secret::env_var_from_secret, }; @@ -23,9 +21,9 @@ fn add_authenticator_config( oidc: &ClientAuthenticationOptions, config: &mut BTreeMap>, ) -> Result<(), Error> { - let endpoint_url = &provider - .endpoint_url() - .context(CreateOidcEndpointUrlSnafu)?; + let well_known_url = &provider + .well_known_config_url() + .context(ConstructOidcWellKnownUrlSnafu)?; let (oidc_client_id_env, oidc_client_secret_env) = AuthenticationProvider::client_credentials_env_names(&oidc.client_credentials_secret_ref); @@ -55,7 +53,7 @@ fn add_authenticator_config( ); config.insert( "druid.auth.pac4j.oidc.discoveryURI".to_string(), - Some(format!("{endpoint_url}/{DEFAULT_OIDC_WELLKNOWN_PATH}").to_string()), + Some(well_known_url.to_string()), ); config.insert( "druid.auth.pac4j.oidc.oidcClaim".to_string(), @@ -158,4 +156,77 @@ pub fn add_volumes_and_mounts( } #[cfg(test)] -mod test {} +mod tests { + use rstest::rstest; + use stackable_operator::commons::tls_verification::{Tls, TlsClientDetails}; + + use super::*; + + #[rstest] + #[case("/realms/sdp")] + #[case("/realms/sdp/")] + #[case("/realms/sdp/////")] + fn test_add_authenticator_config(#[case] root_path: String) { + use stackable_operator::commons::{ + authentication::oidc, + tls_verification::{CaCert, TlsServerVerification, TlsVerification}, + }; + + let mut properties = BTreeMap::new(); + let provider = oidc::AuthenticationProvider::new( + "keycloak.mycorp.org".to_owned().try_into().unwrap(), + Some(443), + root_path, + TlsClientDetails { + tls: Some(Tls { + verification: TlsVerification::Server(TlsServerVerification { + ca_cert: CaCert::WebPki {}, + }), + }), + }, + "preferred_username".to_owned(), + vec!["openid".to_owned()], + None, + ); + let oidc = ClientAuthenticationOptions { + client_credentials_secret_ref: "nifi-keycloak-client".to_owned(), + extra_scopes: vec![], + product_specific_fields: (), + }; + + add_authenticator_config(&provider, &oidc, &mut properties) + .expect("OIDC config adding failed"); + + assert_eq!( + properties.get("druid.auth.authenticator.Oidc.type"), + Some(&Some("pac4j".to_owned())) + ); + assert_eq!( + properties.get("druid.auth.pac4j.oidc.oidcClaim"), + Some(&Some("preferred_username".to_owned())) + ); + assert_eq!( + properties.get("druid.auth.pac4j.oidc.scope"), + Some(&Some("openid".to_owned())) + ); + assert_eq!( + properties.get("druid.auth.authenticator.Oidc.authorizerName"), + Some(&Some("OidcAuthorizer".to_owned())) + ); + assert_eq!( + properties.get("druid.auth.authenticatorChain"), + Some(&Some("[\"DruidSystemAuthenticator\", \"Oidc\"]".to_owned())) + ); + assert_eq!( + properties.get("druid.auth.pac4j.oidc.discoveryURI"), + Some(&Some( + "https://keycloak.mycorp.org/realms/sdp/.well-known/openid-configuration" + .to_owned() + )) + ); + + assert!(properties.contains_key("druid.auth.pac4j.oidc.clientID")); + assert!(properties.contains_key("druid.auth.pac4j.oidc.clientSecret")); + assert!(properties.contains_key("druid.auth.pac4j.cookiePassphrase")); + } +} diff --git a/tests/templates/kuttl/oidc/35_authentication-class.yaml.j2 b/tests/templates/kuttl/oidc/35_authentication-class.yaml.j2 index 99511f72..41a14ab5 100644 --- a/tests/templates/kuttl/oidc/35_authentication-class.yaml.j2 +++ b/tests/templates/kuttl/oidc/35_authentication-class.yaml.j2 @@ -7,7 +7,7 @@ spec: provider: oidc: hostname: keycloak.$NAMESPACE.svc.cluster.local - rootPath: /realms/test + rootPath: /realms/test/ principalClaim: preferred_username scopes: - openid From acaef469b9efeb4cb8f431595838ad437580f765 Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Mon, 25 Nov 2024 15:17:19 +0100 Subject: [PATCH 5/6] Patch op-rs version to use one that fixes SUP-148. (#657) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * let operator-rs generate oidc discovery url * add changelog entry * Patch op-rs version to use one that fixes SUP-148. Some minor changes needed to remove dependency on now private fn in op-rs. * ran rustfmt * Update changelog * Update changelog * Run pre-commit * Fix imports --------- Co-authored-by: Benedikt Labrenz Co-authored-by: Sönke Liebau --- CHANGELOG.md | 4 + Cargo.lock | 8 +- Cargo.nix | 1257 ++++++++++++++--- Cargo.toml | 4 +- crate-hashes.json | 6 +- rust/operator-binary/src/druid_controller.rs | 13 +- .../kuttl/overrides/00-assert.yaml.j2 | 2 +- .../kuttl/overrides/00-install-zk.yaml.j2 | 2 +- 8 files changed, 1049 insertions(+), 247 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7506830..b967225e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,9 @@ All notable changes to this project will be documented in this file. - BREAKING: The fields `connection` and `host` on `S3Connection` as well as `bucketName` on `S3Bucket`are now mandatory ([#632]). - Failing to parse one `DruidCluster`/`AuthenticationClass` should no longer cause the whole operator to stop functioning ([#638]). - Fix OIDC endpoint construction in case the `rootPath` does have a trailing slash ([#656]). +- BREAKING: Use distinct ServiceAccounts for the Stacklets, so that multiple Stacklets can be + deployed in one namespace. Existing Stacklets will use the newly created ServiceAccounts after + restart ([#657]). ### Removed @@ -39,6 +42,7 @@ All notable changes to this project will be documented in this file. [#637]: https://github.com/stackabletech/druid-operator/pull/637 [#638]: https://github.com/stackabletech/druid-operator/pull/638 [#656]: https://github.com/stackabletech/druid-operator/pull/656 +[#657]: https://github.com/stackabletech/druid-operator/pull/657 ## [24.7.0] - 2024-07-24 diff --git a/Cargo.lock b/Cargo.lock index f081149d..5014a2c7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2443,8 +2443,8 @@ dependencies = [ [[package]] name = "stackable-operator" -version = "0.81.0" -source = "git+https://github.com/stackabletech//operator-rs.git?rev=de15662cb45ffe7fefb807162dbaa0b377a3bb5f#de15662cb45ffe7fefb807162dbaa0b377a3bb5f" +version = "0.82.0" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#415bbd031bd52e9c0c5392060235030e9930b46b" dependencies = [ "chrono", "clap", @@ -2482,7 +2482,7 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech//operator-rs.git?rev=de15662cb45ffe7fefb807162dbaa0b377a3bb5f#de15662cb45ffe7fefb807162dbaa0b377a3bb5f" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#415bbd031bd52e9c0c5392060235030e9930b46b" dependencies = [ "darling", "proc-macro2", @@ -2493,7 +2493,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.0.1" -source = "git+https://github.com/stackabletech//operator-rs.git?rev=de15662cb45ffe7fefb807162dbaa0b377a3bb5f#de15662cb45ffe7fefb807162dbaa0b377a3bb5f" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#415bbd031bd52e9c0c5392060235030e9930b46b" dependencies = [ "kube", "semver", diff --git a/Cargo.nix b/Cargo.nix index 72a0d09f..5e3f89ad 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -205,9 +205,9 @@ rec { }; "allocator-api2" = rec { crateName = "allocator-api2"; - version = "0.2.18"; + version = "0.2.20"; edition = "2018"; - sha256 = "0kr6lfnxvnj164j1x38g97qjlhb7akppqzvgfs0697140ixbav2w"; + sha256 = "1n9ryymwk9k7a5fqvbc7kfy6xn03q9drsq5w22g8n8pjfwf2v1j5"; libName = "allocator_api2"; authors = [ "Zakarum " @@ -248,9 +248,9 @@ rec { }; "anstream" = rec { crateName = "anstream"; - version = "0.6.15"; + version = "0.6.18"; edition = "2021"; - sha256 = "09nm4qj34kiwgzczdvj14x7hgsb235g4sqsay3xsz7zqn4d5rqb4"; + sha256 = "16sjk4x3ns2c3ya1x28a44kh6p47c7vhk27251i015hik1lm7k4a"; dependencies = [ { name = "anstyle"; @@ -293,9 +293,9 @@ rec { }; "anstyle" = rec { crateName = "anstyle"; - version = "1.0.8"; + version = "1.0.10"; edition = "2021"; - sha256 = "1cfmkza63xpn1kkz844mgjwm9miaiz4jkyczmwxzivcsypk1vv0v"; + sha256 = "1yai2vppmd7zlvlrp9grwll60knrmscalf8l2qpfz8b7y5lkpk2m"; features = { "default" = [ "std" ]; }; @@ -303,9 +303,9 @@ rec { }; "anstyle-parse" = rec { crateName = "anstyle-parse"; - version = "0.2.5"; + version = "0.2.6"; edition = "2021"; - sha256 = "1jy12rvgbldflnb2x7mcww9dcffw1mx22nyv6p3n7d62h0gdwizb"; + sha256 = "1acqayy22fwzsrvr6n0lz6a4zvjjcvgr5sm941m7m0b2fr81cb9v"; libName = "anstyle_parse"; dependencies = [ { @@ -323,14 +323,14 @@ rec { }; "anstyle-query" = rec { crateName = "anstyle-query"; - version = "1.1.1"; + version = "1.1.2"; edition = "2021"; - sha256 = "0aj22iy4pzk6mz745sfrm1ym14r0y892jhcrbs8nkj7nqx9gqdkd"; + sha256 = "036nm3lkyk43xbps1yql3583fp4hg3b1600is7mcyxs1gzrpm53r"; libName = "anstyle_query"; dependencies = [ { name = "windows-sys"; - packageId = "windows-sys 0.52.0"; + packageId = "windows-sys 0.59.0"; target = { target, features }: (target."windows" or false); features = [ "Win32_System_Console" "Win32_Foundation" ]; } @@ -339,9 +339,9 @@ rec { }; "anstyle-wincon" = rec { crateName = "anstyle-wincon"; - version = "3.0.4"; + version = "3.0.6"; edition = "2021"; - sha256 = "1y2pkvsrdxbcwircahb4wimans2pzmwwxad7ikdhj5lpdqdlxxsv"; + sha256 = "099ir0w3lbpsp1nxdzbf4anq98ww8ykyc9pd1g03xgkj1v7dn291"; libName = "anstyle_wincon"; dependencies = [ { @@ -350,7 +350,7 @@ rec { } { name = "windows-sys"; - packageId = "windows-sys 0.52.0"; + packageId = "windows-sys 0.59.0"; target = { target, features }: (target."windows" or false); features = [ "Win32_System_Console" "Win32_Foundation" ]; } @@ -359,9 +359,9 @@ rec { }; "anyhow" = rec { crateName = "anyhow"; - version = "1.0.91"; + version = "1.0.93"; edition = "2018"; - sha256 = "1j2hg3d0lk2pihfsknxrncmijhz07fspkzd5c0vxhzyp7s7i0hn0"; + sha256 = "0xapv1bck3pvwqk06xn4b8nk5c88cja19f1qc9ih42mhl05w35ac"; authors = [ "David Tolnay " ]; @@ -448,7 +448,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" "visit-mut" ]; } ]; @@ -475,7 +475,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; usesDefaultFeatures = false; features = [ "full" "parsing" "printing" "proc-macro" "visit-mut" ]; } @@ -775,9 +775,9 @@ rec { }; "cc" = rec { crateName = "cc"; - version = "1.1.31"; + version = "1.2.1"; edition = "2018"; - sha256 = "0vscf59yxf665s4fv9yn3l39gfw99mgp6wnbc76cyv80ahmrdry2"; + sha256 = "0izavwg0w3ahhp8jhajy97adv53r6ggv11g6czyz6pjx43rfk7gx"; authors = [ "Alex Crichton " ]; @@ -883,10 +883,10 @@ rec { }; "clap" = rec { crateName = "clap"; - version = "4.5.20"; + version = "4.5.21"; edition = "2021"; crateBin = []; - sha256 = "1s37v23gcxkjy4800qgnkxkpliz68vslpr5sgn1xar56hmnkfzxr"; + sha256 = "0kv0n5jbpfpl9xyags5lpyq5cccbx6g36s98lpgi8xbwbag4nfzv"; dependencies = [ { name = "clap_builder"; @@ -924,9 +924,9 @@ rec { }; "clap_builder" = rec { crateName = "clap_builder"; - version = "4.5.20"; + version = "4.5.21"; edition = "2021"; - sha256 = "0m6w10l2f65h3ch0d53lql6p26xxrh20ffipra9ysjsfsjmq1g0r"; + sha256 = "1v10zx5v43yk7f4wwr0wxxlr1mx0k8c70lxa6aymwyyccym9aymi"; dependencies = [ { name = "anstream"; @@ -982,7 +982,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" ]; } ]; @@ -994,16 +994,16 @@ rec { }; "clap_lex" = rec { crateName = "clap_lex"; - version = "0.7.2"; + version = "0.7.3"; edition = "2021"; - sha256 = "15zcrc2fa6ycdzaihxghf48180bnvzsivhf0fmah24bnnaf76qhl"; + sha256 = "19yq37my1a5ndx0wlsj6ww03q0yqw2p9h4z0jml0vf978a0lrf5g"; }; "colorchoice" = rec { crateName = "colorchoice"; - version = "1.0.2"; + version = "1.0.3"; edition = "2021"; - sha256 = "1h18ph538y8yjmbpaf8li98l0ifms2xmh3rax9666c5qfjfi3zfk"; + sha256 = "1439m3r3jy3xqck8aa13q658visn71ki76qa93cy55wkmalwlqsv"; }; "concurrent-queue" = rec { @@ -1094,7 +1094,37 @@ rec { }; resolvedDefaultFeatures = [ "default" ]; }; - "core-foundation" = rec { + "core-foundation 0.10.0" = rec { + crateName = "core-foundation"; + version = "0.10.0"; + edition = "2018"; + sha256 = "0qscay14s2rwkg8nd8ljhiaf149hj8sfy95d70zssy64r3jp2lmm"; + libName = "core_foundation"; + authors = [ + "The Servo Project Developers" + ]; + dependencies = [ + { + name = "core-foundation-sys"; + packageId = "core-foundation-sys"; + usesDefaultFeatures = false; + } + { + name = "libc"; + packageId = "libc"; + } + ]; + features = { + "default" = [ "link" ]; + "link" = [ "core-foundation-sys/link" ]; + "mac_os_10_7_support" = [ "core-foundation-sys/mac_os_10_7_support" ]; + "mac_os_10_8_features" = [ "core-foundation-sys/mac_os_10_8_features" ]; + "uuid" = [ "dep:uuid" ]; + "with-uuid" = [ "uuid" ]; + }; + resolvedDefaultFeatures = [ "default" "link" ]; + }; + "core-foundation 0.9.4" = rec { crateName = "core-foundation"; version = "0.9.4"; edition = "2018"; @@ -1142,9 +1172,9 @@ rec { }; "cpufeatures" = rec { crateName = "cpufeatures"; - version = "0.2.14"; + version = "0.2.16"; edition = "2018"; - sha256 = "1q3qd9qkw94vs7n5i0y3zz2cqgzcxvdgyb54ryngwmjhfbgrg1k0"; + sha256 = "1hy466fkhxjbb16i7na95wz8yr14d0kd578pwzj5lbkz14jh5f0n"; authors = [ "RustCrypto Developers" ]; @@ -1286,7 +1316,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" "extra-traits" ]; } ]; @@ -1316,7 +1346,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; } ]; @@ -1342,7 +1372,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" "visit-mut" ]; } ]; @@ -1436,6 +1466,33 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "block-buffer" "core-api" "default" "std" ]; }; + "displaydoc" = rec { + crateName = "displaydoc"; + version = "0.2.5"; + edition = "2021"; + sha256 = "1q0alair462j21iiqwrr21iabkfnb13d6x5w95lkdg21q2xrqdlp"; + procMacro = true; + authors = [ + "Jane Lusby " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.89"; + } + ]; + features = { + "default" = [ "std" ]; + }; + }; "doc-comment" = rec { crateName = "doc-comment"; version = "0.3.3"; @@ -1522,13 +1579,13 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; } ]; devDependencies = [ { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" ]; } ]; @@ -1554,9 +1611,9 @@ rec { }; "encoding_rs" = rec { crateName = "encoding_rs"; - version = "0.8.34"; + version = "0.8.35"; edition = "2018"; - sha256 = "0nagpi1rjqdpvakymwmnlxzq908ncg868lml5b70n08bm82fjpdl"; + sha256 = "1wv64xdrr9v37rqqdjsyb8l8wzlcbab80ryxhrszvnj59wy0y0vm"; authors = [ "Henri Sivonen " ]; @@ -1630,7 +1687,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; } ]; features = { @@ -1725,7 +1782,7 @@ rec { } { name = "regex-automata"; - packageId = "regex-automata 0.4.8"; + packageId = "regex-automata 0.4.9"; usesDefaultFeatures = false; features = [ "alloc" "syntax" "meta" "nfa" "dfa" "hybrid" ]; } @@ -2002,7 +2059,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" ]; } ]; @@ -2312,18 +2369,17 @@ rec { }; resolvedDefaultFeatures = [ "ahash" "allocator-api2" "default" "inline-more" ]; }; - "hashbrown 0.15.0" = rec { + "hashbrown 0.15.2" = rec { crateName = "hashbrown"; - version = "0.15.0"; + version = "0.15.2"; edition = "2021"; - sha256 = "1yx4xq091s7i6mw6bn77k8cp4jrpcac149xr32rg8szqsj27y20y"; + sha256 = "12dj0yfn59p3kh3679ac0w1fagvzf4z2zp87a13gbbqbzw0185dz"; authors = [ "Amanieu d'Antras " ]; features = { "alloc" = [ "dep:alloc" ]; "allocator-api2" = [ "dep:allocator-api2" ]; - "borsh" = [ "dep:borsh" ]; "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; "default" = [ "default-hasher" "inline-more" "allocator-api2" "equivalent" "raw-entry" ]; @@ -2548,9 +2604,9 @@ rec { }; "hyper" = rec { crateName = "hyper"; - version = "1.5.0"; + version = "1.5.1"; edition = "2021"; - sha256 = "16pspkgizcnsr1qcpqvm5l45nfwk7244q9av56cqqwm40slg1gxv"; + sha256 = "07s87id0566m2p5dc5q6nqmxz5r8drqd81b7w4q44djgxwkqi0cp"; authors = [ "Sean McArthur " ]; @@ -2630,7 +2686,7 @@ rec { ]; features = { "client" = [ "dep:want" "dep:pin-project-lite" "dep:smallvec" ]; - "ffi" = [ "dep:libc" "dep:http-body-util" "futures-util?/alloc" ]; + "ffi" = [ "dep:http-body-util" "futures-util?/alloc" ]; "full" = [ "client" "http1" "http2" "server" ]; "http1" = [ "dep:futures-channel" "dep:futures-util" "dep:httparse" "dep:itoa" ]; "http2" = [ "dep:futures-channel" "dep:futures-util" "dep:h2" ]; @@ -2776,7 +2832,7 @@ rec { } { name = "rustls-native-certs"; - packageId = "rustls-native-certs 0.8.0"; + packageId = "rustls-native-certs 0.8.1"; optional = true; } { @@ -2837,9 +2893,9 @@ rec { }; "hyper-timeout" = rec { crateName = "hyper-timeout"; - version = "0.5.1"; + version = "0.5.2"; edition = "2018"; - sha256 = "14rpyv9zz0ncadn9qgmnjz0hiqk3nav7hglkk1a6yfy8wmhsj0rj"; + sha256 = "1c431l5ckr698248yd6bnsmizjy2m1da02cbpmsnmkpvpxkdb41b"; libName = "hyper_timeout"; authors = [ "Herman J. Radtke III " @@ -2873,6 +2929,11 @@ rec { packageId = "hyper"; features = [ "http1" ]; } + { + name = "hyper-util"; + packageId = "hyper-util"; + features = [ "client-legacy" "http1" "server" "server-graceful" ]; + } { name = "tokio"; packageId = "tokio"; @@ -2883,9 +2944,9 @@ rec { }; "hyper-util" = rec { crateName = "hyper-util"; - version = "0.1.9"; + version = "0.1.10"; edition = "2021"; - sha256 = "12yhradh0bpwa9jjyyq6shrrcx9fxbdkrq06xj7ccfhqkyq6waa1"; + sha256 = "1d1iwrkysjhq63pg54zk3vfby1j7zmxzm9zzyfr4lwvp0szcybfz"; libName = "hyper_util"; authors = [ "Sean McArthur " @@ -3039,6 +3100,412 @@ rec { } ]; + }; + "icu_collections" = rec { + crateName = "icu_collections"; + version = "1.5.0"; + edition = "2021"; + sha256 = "09j5kskirl59mvqc8kabhy7005yyy7dp88jw9f6f3gkf419a8byv"; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "displaydoc"; + packageId = "displaydoc"; + usesDefaultFeatures = false; + } + { + name = "yoke"; + packageId = "yoke"; + usesDefaultFeatures = false; + features = [ "derive" ]; + } + { + name = "zerofrom"; + packageId = "zerofrom"; + usesDefaultFeatures = false; + features = [ "derive" ]; + } + { + name = "zerovec"; + packageId = "zerovec"; + usesDefaultFeatures = false; + features = [ "derive" "yoke" ]; + } + ]; + features = { + "databake" = [ "dep:databake" "zerovec/databake" ]; + "serde" = [ "dep:serde" "zerovec/serde" ]; + }; + }; + "icu_locid" = rec { + crateName = "icu_locid"; + version = "1.5.0"; + edition = "2021"; + sha256 = "0dznvd1c5b02iilqm044q4hvar0sqibq1z46prqwjzwif61vpb0k"; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "displaydoc"; + packageId = "displaydoc"; + usesDefaultFeatures = false; + } + { + name = "litemap"; + packageId = "litemap"; + usesDefaultFeatures = false; + features = [ "alloc" ]; + } + { + name = "tinystr"; + packageId = "tinystr"; + usesDefaultFeatures = false; + features = [ "alloc" ]; + } + { + name = "writeable"; + packageId = "writeable"; + usesDefaultFeatures = false; + } + { + name = "zerovec"; + packageId = "zerovec"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "bench" = [ "serde" ]; + "databake" = [ "dep:databake" ]; + "serde" = [ "dep:serde" "tinystr/serde" ]; + "zerovec" = [ "dep:zerovec" ]; + }; + resolvedDefaultFeatures = [ "zerovec" ]; + }; + "icu_locid_transform" = rec { + crateName = "icu_locid_transform"; + version = "1.5.0"; + edition = "2021"; + sha256 = "0kmmi1kmj9yph6mdgkc7v3wz6995v7ly3n80vbg0zr78bp1iml81"; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "displaydoc"; + packageId = "displaydoc"; + usesDefaultFeatures = false; + } + { + name = "icu_locid"; + packageId = "icu_locid"; + usesDefaultFeatures = false; + features = [ "zerovec" ]; + } + { + name = "icu_locid_transform_data"; + packageId = "icu_locid_transform_data"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "icu_provider"; + packageId = "icu_provider"; + usesDefaultFeatures = false; + features = [ "macros" ]; + } + { + name = "tinystr"; + packageId = "tinystr"; + usesDefaultFeatures = false; + features = [ "alloc" "zerovec" ]; + } + { + name = "zerovec"; + packageId = "zerovec"; + usesDefaultFeatures = false; + features = [ "yoke" ]; + } + ]; + features = { + "bench" = [ "serde" ]; + "compiled_data" = [ "dep:icu_locid_transform_data" ]; + "datagen" = [ "serde" "dep:databake" "zerovec/databake" "icu_locid/databake" "tinystr/databake" ]; + "default" = [ "compiled_data" ]; + "serde" = [ "dep:serde" "icu_locid/serde" "tinystr/serde" "zerovec/serde" "icu_provider/serde" ]; + }; + resolvedDefaultFeatures = [ "compiled_data" ]; + }; + "icu_locid_transform_data" = rec { + crateName = "icu_locid_transform_data"; + version = "1.5.0"; + edition = "2021"; + sha256 = "0vkgjixm0wzp2n3v5mw4j89ly05bg3lx96jpdggbwlpqi0rzzj7x"; + authors = [ + "The ICU4X Project Developers" + ]; + + }; + "icu_normalizer" = rec { + crateName = "icu_normalizer"; + version = "1.5.0"; + edition = "2021"; + sha256 = "0kx8qryp8ma8fw1vijbgbnf7zz9f2j4d14rw36fmjs7cl86kxkhr"; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "displaydoc"; + packageId = "displaydoc"; + usesDefaultFeatures = false; + } + { + name = "icu_collections"; + packageId = "icu_collections"; + usesDefaultFeatures = false; + } + { + name = "icu_normalizer_data"; + packageId = "icu_normalizer_data"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "icu_properties"; + packageId = "icu_properties"; + usesDefaultFeatures = false; + } + { + name = "icu_provider"; + packageId = "icu_provider"; + usesDefaultFeatures = false; + features = [ "macros" ]; + } + { + name = "smallvec"; + packageId = "smallvec"; + usesDefaultFeatures = false; + } + { + name = "utf16_iter"; + packageId = "utf16_iter"; + usesDefaultFeatures = false; + } + { + name = "utf8_iter"; + packageId = "utf8_iter"; + usesDefaultFeatures = false; + } + { + name = "write16"; + packageId = "write16"; + usesDefaultFeatures = false; + features = [ "alloc" ]; + } + { + name = "zerovec"; + packageId = "zerovec"; + usesDefaultFeatures = false; + } + ]; + devDependencies = [ + { + name = "write16"; + packageId = "write16"; + usesDefaultFeatures = false; + features = [ "arrayvec" ]; + } + ]; + features = { + "compiled_data" = [ "dep:icu_normalizer_data" "icu_properties/compiled_data" ]; + "datagen" = [ "serde" "dep:databake" "icu_collections/databake" "zerovec/databake" "icu_properties/datagen" ]; + "default" = [ "compiled_data" ]; + "serde" = [ "dep:serde" "icu_collections/serde" "zerovec/serde" "icu_properties/serde" ]; + "std" = [ "icu_collections/std" "icu_properties/std" "icu_provider/std" ]; + }; + resolvedDefaultFeatures = [ "compiled_data" "default" ]; + }; + "icu_normalizer_data" = rec { + crateName = "icu_normalizer_data"; + version = "1.5.0"; + edition = "2021"; + sha256 = "05lmk0zf0q7nzjnj5kbmsigj3qgr0rwicnn5pqi9n7krmbvzpjpq"; + authors = [ + "The ICU4X Project Developers" + ]; + + }; + "icu_properties" = rec { + crateName = "icu_properties"; + version = "1.5.1"; + edition = "2021"; + sha256 = "1xgf584rx10xc1p7zjr78k0n4zn3g23rrg6v2ln31ingcq3h5mlk"; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "displaydoc"; + packageId = "displaydoc"; + usesDefaultFeatures = false; + } + { + name = "icu_collections"; + packageId = "icu_collections"; + usesDefaultFeatures = false; + } + { + name = "icu_locid_transform"; + packageId = "icu_locid_transform"; + optional = true; + usesDefaultFeatures = false; + features = [ "compiled_data" ]; + } + { + name = "icu_properties_data"; + packageId = "icu_properties_data"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "icu_provider"; + packageId = "icu_provider"; + usesDefaultFeatures = false; + features = [ "macros" ]; + } + { + name = "tinystr"; + packageId = "tinystr"; + usesDefaultFeatures = false; + features = [ "alloc" "zerovec" ]; + } + { + name = "zerovec"; + packageId = "zerovec"; + usesDefaultFeatures = false; + features = [ "derive" ]; + } + ]; + features = { + "bidi" = [ "dep:unicode-bidi" ]; + "compiled_data" = [ "dep:icu_properties_data" "dep:icu_locid_transform" ]; + "datagen" = [ "serde" "dep:databake" "zerovec/databake" "icu_collections/databake" "tinystr/databake" ]; + "default" = [ "compiled_data" ]; + "serde" = [ "dep:serde" "tinystr/serde" "zerovec/serde" "icu_collections/serde" "icu_provider/serde" ]; + "std" = [ "icu_collections/std" "icu_provider/std" ]; + }; + resolvedDefaultFeatures = [ "compiled_data" "default" ]; + }; + "icu_properties_data" = rec { + crateName = "icu_properties_data"; + version = "1.5.0"; + edition = "2021"; + sha256 = "0scms7pd5a7yxx9hfl167f5qdf44as6r3bd8myhlngnxqgxyza37"; + authors = [ + "The ICU4X Project Developers" + ]; + + }; + "icu_provider" = rec { + crateName = "icu_provider"; + version = "1.5.0"; + edition = "2021"; + sha256 = "1nb8vvgw8dv2inqklvk05fs0qxzkw8xrg2n9vgid6y7gm3423m3f"; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "displaydoc"; + packageId = "displaydoc"; + usesDefaultFeatures = false; + } + { + name = "icu_locid"; + packageId = "icu_locid"; + usesDefaultFeatures = false; + } + { + name = "icu_provider_macros"; + packageId = "icu_provider_macros"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "stable_deref_trait"; + packageId = "stable_deref_trait"; + usesDefaultFeatures = false; + } + { + name = "tinystr"; + packageId = "tinystr"; + usesDefaultFeatures = false; + } + { + name = "writeable"; + packageId = "writeable"; + usesDefaultFeatures = false; + } + { + name = "yoke"; + packageId = "yoke"; + usesDefaultFeatures = false; + features = [ "alloc" "derive" ]; + } + { + name = "zerofrom"; + packageId = "zerofrom"; + usesDefaultFeatures = false; + features = [ "alloc" "derive" ]; + } + { + name = "zerovec"; + packageId = "zerovec"; + usesDefaultFeatures = false; + features = [ "derive" ]; + } + ]; + features = { + "datagen" = [ "serde" "dep:erased-serde" "dep:databake" "std" "sync" ]; + "deserialize_bincode_1" = [ "serde" "dep:bincode" "std" ]; + "deserialize_json" = [ "serde" "dep:serde_json" ]; + "deserialize_postcard_1" = [ "serde" "dep:postcard" ]; + "log_error_context" = [ "logging" ]; + "logging" = [ "dep:log" ]; + "macros" = [ "dep:icu_provider_macros" ]; + "serde" = [ "dep:serde" "yoke/serde" ]; + "std" = [ "icu_locid/std" ]; + }; + resolvedDefaultFeatures = [ "macros" ]; + }; + "icu_provider_macros" = rec { + crateName = "icu_provider_macros"; + version = "1.5.0"; + edition = "2021"; + sha256 = "1mjs0w7fcm2lcqmbakhninzrjwqs485lkps4hz0cv3k36y9rxj0y"; + procMacro = true; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.89"; + } + ]; + }; "ident_case" = rec { crateName = "ident_case"; @@ -3052,30 +3519,56 @@ rec { }; "idna" = rec { crateName = "idna"; - version = "0.5.0"; + version = "1.0.3"; edition = "2018"; - sha256 = "1xhjrcjqq0l5bpzvdgylvpkgk94panxgsirzhjnnqfdgc4a9nkb3"; + sha256 = "0zlajvm2k3wy0ay8plr07w22hxkkmrxkffa6ah57ac6nci984vv8"; authors = [ "The rust-url developers" ]; dependencies = [ { - name = "unicode-bidi"; - packageId = "unicode-bidi"; - usesDefaultFeatures = false; - features = [ "hardcoded-data" ]; + name = "idna_adapter"; + packageId = "idna_adapter"; } { - name = "unicode-normalization"; - packageId = "unicode-normalization"; - usesDefaultFeatures = false; + name = "smallvec"; + packageId = "smallvec"; + features = [ "const_generics" ]; + } + { + name = "utf8_iter"; + packageId = "utf8_iter"; } ]; features = { - "default" = [ "std" ]; - "std" = [ "alloc" "unicode-bidi/std" "unicode-normalization/std" ]; + "compiled_data" = [ "idna_adapter/compiled_data" ]; + "default" = [ "std" "compiled_data" ]; + "std" = [ "alloc" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "std" ]; + resolvedDefaultFeatures = [ "alloc" "compiled_data" "std" ]; + }; + "idna_adapter" = rec { + crateName = "idna_adapter"; + version = "1.2.0"; + edition = "2021"; + sha256 = "0wggnkiivaj5lw0g0384ql2d7zk4ppkn3b1ry4n0ncjpr7qivjns"; + authors = [ + "The rust-url developers" + ]; + dependencies = [ + { + name = "icu_normalizer"; + packageId = "icu_normalizer"; + } + { + name = "icu_properties"; + packageId = "icu_properties"; + } + ]; + features = { + "compiled_data" = [ "icu_normalizer/compiled_data" "icu_properties/compiled_data" ]; + }; + resolvedDefaultFeatures = [ "compiled_data" ]; }; "indexmap" = rec { crateName = "indexmap"; @@ -3090,7 +3583,7 @@ rec { } { name = "hashbrown"; - packageId = "hashbrown 0.15.0"; + packageId = "hashbrown 0.15.2"; usesDefaultFeatures = false; } ]; @@ -3166,9 +3659,9 @@ rec { }; "itoa" = rec { crateName = "itoa"; - version = "1.0.11"; + version = "1.0.13"; edition = "2018"; - sha256 = "0nv9cqjwzr3q58qz84dcz63ggc54yhf1yqar1m858m1kfd4g3wa9"; + sha256 = "1wjf22cawbrf26zjnflhg9aqjpf9gccgyc6djaj70i1zgblm81jl"; authors = [ "David Tolnay " ]; @@ -3829,7 +4322,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "extra-traits" ]; } ]; @@ -3973,9 +4466,9 @@ rec { }; "libc" = rec { crateName = "libc"; - version = "0.2.161"; + version = "0.2.164"; edition = "2015"; - sha256 = "1lc5s3zd0491x9zxrv2kvclai1my1spz950pkkyry4vwh318k54f"; + sha256 = "0gy1yzvc6x760r9zfkhl1f7p91zz559nxspvwfrajpf7p03gwfs3"; authors = [ "The Rust Project Developers" ]; @@ -4073,6 +4566,24 @@ rec { }; resolvedDefaultFeatures = [ "libc" ]; }; + "litemap" = rec { + crateName = "litemap"; + version = "0.7.4"; + edition = "2021"; + sha256 = "012ili3vppd4952sh6y3qwcd0jkd0bq2qpr9h7cppc8sj11k7saf"; + authors = [ + "The ICU4X Project Developers" + ]; + features = { + "bench" = [ "serde" ]; + "databake" = [ "dep:databake" ]; + "default" = [ "alloc" ]; + "serde" = [ "dep:serde" ]; + "testing" = [ "alloc" ]; + "yoke" = [ "dep:yoke" ]; + }; + resolvedDefaultFeatures = [ "alloc" ]; + }; "lock_api" = rec { crateName = "lock_api"; version = "0.4.12"; @@ -4442,7 +4953,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" ]; } ]; @@ -4687,7 +5198,7 @@ rec { } { name = "ordered-float"; - packageId = "ordered-float 4.4.0"; + packageId = "ordered-float 4.5.0"; } { name = "percent-encoding"; @@ -4775,11 +5286,11 @@ rec { }; resolvedDefaultFeatures = [ "default" "std" ]; }; - "ordered-float 4.4.0" = rec { + "ordered-float 4.5.0" = rec { crateName = "ordered-float"; - version = "4.4.0"; + version = "4.5.0"; edition = "2021"; - sha256 = "15vbmn4lvd2gjmb1s2hbr4n18plk1pql9md30sapq2r4bswwrrw3"; + sha256 = "0ppqpjrri5r5vdz06na24d00cjaz67ambd1hcq13iy8vf3wy2pn6"; libName = "ordered_float"; authors = [ "Jonathan Reem " @@ -5039,7 +5550,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; } ]; features = { @@ -5082,9 +5593,9 @@ rec { }; "pin-project" = rec { crateName = "pin-project"; - version = "1.1.6"; + version = "1.1.7"; edition = "2021"; - sha256 = "1v4924b870bss0x5ahww9a164d4dbny90vzkmljfbqfxc6hj7wds"; + sha256 = "15cvflrzsgp1zbl5gv37al2r62nl8lc37xkfwf70ql3fji7gcmxy"; libName = "pin_project"; dependencies = [ { @@ -5096,9 +5607,9 @@ rec { }; "pin-project-internal" = rec { crateName = "pin-project-internal"; - version = "1.1.6"; + version = "1.1.7"; edition = "2021"; - sha256 = "1y2pjavbcq40njylbnw3929i8nnrcdzrhgalzgqk57ya2n2jsl54"; + sha256 = "133mxf5vmvnvw4idw2y2lb5bxsza2xlyfl6psjy7mz3l12nmy3rw"; procMacro = true; libName = "pin_project_internal"; dependencies = [ @@ -5112,7 +5623,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; usesDefaultFeatures = false; features = [ "parsing" "printing" "clone-impls" "proc-macro" "full" "visit-mut" ]; } @@ -5121,9 +5632,9 @@ rec { }; "pin-project-lite" = rec { crateName = "pin-project-lite"; - version = "0.2.14"; + version = "0.2.15"; edition = "2018"; - sha256 = "00nx3f04agwjlsmd3mc5rx5haibj2v8q9b52b0kwn63wcv4nz9mx"; + sha256 = "1zz4xif3iknfrpmvqmh0pcc9mx4cxm28jywqydir3pimcla1wnli"; libName = "pin_project_lite"; }; @@ -5203,9 +5714,9 @@ rec { }; "proc-macro2" = rec { crateName = "proc-macro2"; - version = "1.0.89"; + version = "1.0.92"; edition = "2021"; - sha256 = "0vlq56v41dsj69pnk7lil7fxvbfid50jnzdn3xnr31g05mkb0fgi"; + sha256 = "1c1vjy5wg8iy7kxsxda564qf4ljp0asysmbn2i7caj177x5m9lrp"; libName = "proc_macro2"; authors = [ "David Tolnay " @@ -5420,9 +5931,9 @@ rec { }; "regex" = rec { crateName = "regex"; - version = "1.11.0"; + version = "1.11.1"; edition = "2021"; - sha256 = "1n5imk7yxam409ik5nagsjpwqvbg3f0g0mznd5drf549x1g0w81q"; + sha256 = "148i41mzbx8bmq32hsj1q4karkzzx5m60qza6gdw4pdc9qdyyi5m"; authors = [ "The Rust Project Developers" "Andrew Gallant " @@ -5442,7 +5953,7 @@ rec { } { name = "regex-automata"; - packageId = "regex-automata 0.4.8"; + packageId = "regex-automata 0.4.9"; usesDefaultFeatures = false; features = [ "alloc" "syntax" "meta" "nfa-pikevm" ]; } @@ -5501,11 +6012,11 @@ rec { }; resolvedDefaultFeatures = [ "default" "regex-syntax" "std" ]; }; - "regex-automata 0.4.8" = rec { + "regex-automata 0.4.9" = rec { crateName = "regex-automata"; - version = "0.4.8"; + version = "0.4.9"; edition = "2021"; - sha256 = "18wd530ndrmygi6xnz3sp345qi0hy2kdbsa89182nwbl6br5i1rn"; + sha256 = "02092l8zfh3vkmk47yjc8d631zhhcd49ck2zr133prvd3z38v7l0"; libName = "regex_automata"; authors = [ "The Rust Project Developers" @@ -5752,7 +6263,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" "parsing" "extra-traits" "visit" "visit-mut" ]; } { @@ -5802,9 +6313,9 @@ rec { }; "rustls" = rec { crateName = "rustls"; - version = "0.23.15"; + version = "0.23.18"; edition = "2021"; - sha256 = "14vr5pfdvzfcqrmjzh1834a1nyi3kzv7j8s22gb77s64mkbl9fsz"; + sha256 = "0zxbcq0qy3kmp0m42mmf930h5bhr3hh3ivamrrd6ag94gvac374w"; dependencies = [ { name = "log"; @@ -5896,17 +6407,17 @@ rec { } { name = "security-framework"; - packageId = "security-framework"; + packageId = "security-framework 2.11.1"; target = { target, features }: ("macos" == target."os" or null); } ]; }; - "rustls-native-certs 0.8.0" = rec { + "rustls-native-certs 0.8.1" = rec { crateName = "rustls-native-certs"; - version = "0.8.0"; + version = "0.8.1"; edition = "2021"; - sha256 = "12izz1ahwj3yr9fkd39q1w535577z9wsapsahz6jcwxyyaj1ibzw"; + sha256 = "1ls7laa3748mkn23fmi3g4mlwk131lx6chq2lyc8v2mmabfz5kvz"; libName = "rustls_native_certs"; dependencies = [ { @@ -5914,14 +6425,11 @@ rec { packageId = "openssl-probe"; target = { target, features }: ((target."unix" or false) && (!("macos" == target."os" or null))); } - { - name = "rustls-pemfile"; - packageId = "rustls-pemfile"; - } { name = "rustls-pki-types"; packageId = "rustls-pki-types"; rename = "pki-types"; + features = [ "std" ]; } { name = "schannel"; @@ -5930,7 +6438,7 @@ rec { } { name = "security-framework"; - packageId = "security-framework"; + packageId = "security-framework 3.0.1"; target = { target, features }: ("macos" == target."os" or null); } ]; @@ -6028,9 +6536,9 @@ rec { }; "schannel" = rec { crateName = "schannel"; - version = "0.1.26"; + version = "0.1.27"; edition = "2018"; - sha256 = "1hfip5mdwqcfnmrnkrq9d8zwy6bssmf6rfm2441nk83ghbjpn8h1"; + sha256 = "0gbbhy28v72kd5iina0z2vcdl3vz63mk5idvkzn5r52z6jmfna8z"; authors = [ "Steven Fackler " "Steffen Butzer " @@ -6141,7 +6649,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "extra-traits" ]; } ]; @@ -6179,11 +6687,58 @@ rec { "serde" = [ "dep:serde" ]; }; }; - "security-framework" = rec { + "security-framework 2.11.1" = rec { crateName = "security-framework"; version = "2.11.1"; edition = "2021"; - sha256 = "00ldclwx78dm61v7wkach9lcx76awlrv0fdgjdwch4dmy12j4yw9"; + sha256 = "00ldclwx78dm61v7wkach9lcx76awlrv0fdgjdwch4dmy12j4yw9"; + libName = "security_framework"; + authors = [ + "Steven Fackler " + "Kornel " + ]; + dependencies = [ + { + name = "bitflags"; + packageId = "bitflags 2.6.0"; + } + { + name = "core-foundation"; + packageId = "core-foundation 0.9.4"; + } + { + name = "core-foundation-sys"; + packageId = "core-foundation-sys"; + } + { + name = "libc"; + packageId = "libc"; + } + { + name = "security-framework-sys"; + packageId = "security-framework-sys"; + usesDefaultFeatures = false; + } + ]; + features = { + "OSX_10_10" = [ "OSX_10_9" "security-framework-sys/OSX_10_10" ]; + "OSX_10_11" = [ "OSX_10_10" "security-framework-sys/OSX_10_11" ]; + "OSX_10_12" = [ "OSX_10_11" "security-framework-sys/OSX_10_12" ]; + "OSX_10_13" = [ "OSX_10_12" "security-framework-sys/OSX_10_13" "alpn" "session-tickets" "serial-number-bigint" ]; + "OSX_10_14" = [ "OSX_10_13" "security-framework-sys/OSX_10_14" ]; + "OSX_10_15" = [ "OSX_10_14" "security-framework-sys/OSX_10_15" ]; + "OSX_10_9" = [ "security-framework-sys/OSX_10_9" ]; + "default" = [ "OSX_10_12" ]; + "log" = [ "dep:log" ]; + "serial-number-bigint" = [ "dep:num-bigint" ]; + }; + resolvedDefaultFeatures = [ "OSX_10_10" "OSX_10_11" "OSX_10_12" "OSX_10_9" "default" ]; + }; + "security-framework 3.0.1" = rec { + crateName = "security-framework"; + version = "3.0.1"; + edition = "2021"; + sha256 = "1j1rpyiwq698dyyq2lnnws8hzknw8r32dy9cx9jc7gljgrh5lhg1"; libName = "security_framework"; authors = [ "Steven Fackler " @@ -6196,7 +6751,7 @@ rec { } { name = "core-foundation"; - packageId = "core-foundation"; + packageId = "core-foundation 0.10.0"; } { name = "core-foundation-sys"; @@ -6213,24 +6768,20 @@ rec { } ]; features = { - "OSX_10_10" = [ "OSX_10_9" "security-framework-sys/OSX_10_10" ]; - "OSX_10_11" = [ "OSX_10_10" "security-framework-sys/OSX_10_11" ]; - "OSX_10_12" = [ "OSX_10_11" "security-framework-sys/OSX_10_12" ]; - "OSX_10_13" = [ "OSX_10_12" "security-framework-sys/OSX_10_13" "alpn" "session-tickets" "serial-number-bigint" ]; + "OSX_10_12" = [ "security-framework-sys/OSX_10_12" ]; + "OSX_10_13" = [ "OSX_10_12" "security-framework-sys/OSX_10_13" "alpn" "session-tickets" ]; "OSX_10_14" = [ "OSX_10_13" "security-framework-sys/OSX_10_14" ]; "OSX_10_15" = [ "OSX_10_14" "security-framework-sys/OSX_10_15" ]; - "OSX_10_9" = [ "security-framework-sys/OSX_10_9" ]; "default" = [ "OSX_10_12" ]; "log" = [ "dep:log" ]; - "serial-number-bigint" = [ "dep:num-bigint" ]; }; - resolvedDefaultFeatures = [ "OSX_10_10" "OSX_10_11" "OSX_10_12" "OSX_10_9" "default" ]; + resolvedDefaultFeatures = [ "OSX_10_12" "default" ]; }; "security-framework-sys" = rec { crateName = "security-framework-sys"; - version = "2.12.0"; + version = "2.12.1"; edition = "2021"; - sha256 = "1dml0lp9lrvvi01s011lyss5kzzsmakaamdwsxr0431jd4l2jjpa"; + sha256 = "18pafp0bn41bcbm66qrhb3pg4c8dddvc28jdr51mb2y57lqcffgs"; libName = "security_framework_sys"; authors = [ "Steven Fackler " @@ -6273,9 +6824,9 @@ rec { }; "serde" = rec { crateName = "serde"; - version = "1.0.213"; + version = "1.0.215"; edition = "2018"; - sha256 = "1hcv1q7ziy27c2awc0lnhigjj6rli1863fr0szw6sip2ylzqk9ry"; + sha256 = "13xqkw93cw9rnbkm0zy1apnilzq7l2xf1qw8m1nkga8i1fnw24v5"; authors = [ "Erick Tryzelaar " "David Tolnay " @@ -6328,9 +6879,9 @@ rec { }; "serde_derive" = rec { crateName = "serde_derive"; - version = "1.0.213"; + version = "1.0.215"; edition = "2015"; - sha256 = "198g92m9c8whvwrnrbxppwdm3pvbq7ddd35agkl5h2y514hav1by"; + sha256 = "1h2nswy0rmzblil38h12wxsgni1ik63rk22wy19g48v9hrpqc7md"; procMacro = true; authors = [ "Erick Tryzelaar " @@ -6351,7 +6902,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; usesDefaultFeatures = false; features = [ "clone-impls" "derive" "parsing" "printing" "proc-macro" ]; } @@ -6383,7 +6934,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; usesDefaultFeatures = false; features = [ "clone-impls" "derive" "parsing" "printing" ]; } @@ -6392,9 +6943,9 @@ rec { }; "serde_json" = rec { crateName = "serde_json"; - version = "1.0.132"; + version = "1.0.133"; edition = "2021"; - sha256 = "00yv8vyn1qiplziswm1vwam4a0xs1rfr162q75njc85kyjpvy9np"; + sha256 = "0xz3bswa527wln3fy0qb7y081nx3cp5yy1ggjhi6n5mrfcjfpz67"; authors = [ "Erick Tryzelaar " "David Tolnay " @@ -6755,7 +7306,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" ]; } ]; @@ -6814,6 +7365,20 @@ rec { }; resolvedDefaultFeatures = [ "once" ]; }; + "stable_deref_trait" = rec { + crateName = "stable_deref_trait"; + version = "1.2.0"; + edition = "2015"; + sha256 = "1lxjr8q2n534b2lhkxd6l6wcddzjvnksi58zv11f9y0jjmr15wd8"; + authors = [ + "Robert Grosse " + ]; + features = { + "default" = [ "std" ]; + "std" = [ "alloc" ]; + }; + resolvedDefaultFeatures = [ "alloc" ]; + }; "stackable-druid-crd" = rec { crateName = "stackable-druid-crd"; version = "0.0.0-dev"; @@ -6990,13 +7555,13 @@ rec { }; "stackable-operator" = rec { crateName = "stackable-operator"; - version = "0.80.0"; + version = "0.82.0"; edition = "2021"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "6fbe32300b60f95e0baa2ab0ff2daf961b06531c"; - sha256 = "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3"; + rev = "415bbd031bd52e9c0c5392060235030e9930b46b"; + sha256 = "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy"; }; libName = "stackable_operator"; authors = [ @@ -7153,8 +7718,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "6fbe32300b60f95e0baa2ab0ff2daf961b06531c"; - sha256 = "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3"; + rev = "415bbd031bd52e9c0c5392060235030e9930b46b"; + sha256 = "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy"; }; procMacro = true; libName = "stackable_operator_derive"; @@ -7176,7 +7741,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; } ]; @@ -7188,8 +7753,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "6fbe32300b60f95e0baa2ab0ff2daf961b06531c"; - sha256 = "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3"; + rev = "415bbd031bd52e9c0c5392060235030e9930b46b"; + sha256 = "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy"; }; libName = "stackable_shared"; authors = [ @@ -7290,7 +7855,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "parsing" "extra-traits" ]; } ]; @@ -7343,11 +7908,11 @@ rec { }; resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "quote" "visit" ]; }; - "syn 2.0.82" = rec { + "syn 2.0.89" = rec { crateName = "syn"; - version = "2.0.82"; + version = "2.0.89"; edition = "2021"; - sha256 = "08g0bgizm4j2gwl05r3yjm3gxvx8a9dvkvd84fa03z4aga1hym43"; + sha256 = "0kicx48gndpxkkqnpv89f1slrzzbyldhr8nyhk6pmj61y6169m24"; authors = [ "David Tolnay " ]; @@ -7374,7 +7939,7 @@ rec { "proc-macro" = [ "proc-macro2/proc-macro" "quote?/proc-macro" ]; "test" = [ "syn-test-suite/all-features" ]; }; - resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "visit" "visit-mut" ]; + resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "fold" "full" "parsing" "printing" "proc-macro" "visit" "visit-mut" ]; }; "sync_wrapper" = rec { crateName = "sync_wrapper"; @@ -7389,11 +7954,43 @@ rec { "futures-core" = [ "dep:futures-core" ]; }; }; + "synstructure" = rec { + crateName = "synstructure"; + version = "0.13.1"; + edition = "2018"; + sha256 = "0wc9f002ia2zqcbj0q2id5x6n7g1zjqba7qkg2mr0qvvmdk7dby8"; + authors = [ + "Nika Layzell " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + usesDefaultFeatures = false; + } + { + name = "quote"; + packageId = "quote"; + usesDefaultFeatures = false; + } + { + name = "syn"; + packageId = "syn 2.0.89"; + usesDefaultFeatures = false; + features = [ "derive" "parsing" "printing" "clone-impls" "visit" "extra-traits" ]; + } + ]; + features = { + "default" = [ "proc-macro" ]; + "proc-macro" = [ "proc-macro2/proc-macro" "syn/proc-macro" "quote/proc-macro" ]; + }; + resolvedDefaultFeatures = [ "default" "proc-macro" ]; + }; "thiserror" = rec { crateName = "thiserror"; - version = "1.0.65"; + version = "1.0.69"; edition = "2021"; - sha256 = "1mdkawq9l9p02zvq7y4py739rjk9wk2ha27mbsb3i6sdb7csn4ax"; + sha256 = "0lizjay08agcr5hs9yfzzj6axs53a2rgx070a1dsi3jpkcrzbamn"; authors = [ "David Tolnay " ]; @@ -7407,9 +8004,9 @@ rec { }; "thiserror-impl" = rec { crateName = "thiserror-impl"; - version = "1.0.65"; + version = "1.0.69"; edition = "2021"; - sha256 = "00l6gyrx6qlm1d7if3dcfl2sl0mg8k21caknkpk7glnb481pfwdf"; + sha256 = "1h84fmn2nai41cxbhk6pqf46bxqq1b344v8yz089w1chzi76rvjg"; procMacro = true; libName = "thiserror_impl"; authors = [ @@ -7426,7 +8023,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; } ]; @@ -7627,47 +8224,40 @@ rec { }; resolvedDefaultFeatures = [ "formatting" "parsing" ]; }; - "tinyvec" = rec { - crateName = "tinyvec"; - version = "1.8.0"; - edition = "2018"; - sha256 = "0f5rf6a2wzyv6w4jmfga9iw7rp9fp5gf4d604xgjsf3d9wgqhpj4"; + "tinystr" = rec { + crateName = "tinystr"; + version = "0.7.6"; + edition = "2021"; + sha256 = "0bxqaw7z8r2kzngxlzlgvld1r6jbnwyylyvyjbv1q71rvgaga5wi"; authors = [ - "Lokathor " + "The ICU4X Project Developers" ]; dependencies = [ { - name = "tinyvec_macros"; - packageId = "tinyvec_macros"; + name = "displaydoc"; + packageId = "displaydoc"; + usesDefaultFeatures = false; + } + { + name = "zerovec"; + packageId = "zerovec"; optional = true; + usesDefaultFeatures = false; } ]; features = { - "alloc" = [ "tinyvec_macros" ]; - "arbitrary" = [ "dep:arbitrary" ]; - "real_blackbox" = [ "criterion/real_blackbox" ]; - "rustc_1_57" = [ "rustc_1_55" ]; + "databake" = [ "dep:databake" ]; + "default" = [ "alloc" ]; "serde" = [ "dep:serde" ]; - "std" = [ "alloc" ]; - "tinyvec_macros" = [ "dep:tinyvec_macros" ]; + "zerovec" = [ "dep:zerovec" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "tinyvec_macros" ]; - }; - "tinyvec_macros" = rec { - crateName = "tinyvec_macros"; - version = "0.1.1"; - edition = "2018"; - sha256 = "081gag86208sc3y6sdkshgw3vysm5d34p431dzw0bshz66ncng0z"; - authors = [ - "Soveu " - ]; - + resolvedDefaultFeatures = [ "alloc" "zerovec" ]; }; "tokio" = rec { crateName = "tokio"; - version = "1.41.0"; + version = "1.41.1"; edition = "2021"; - sha256 = "1fwb4nm630hmy9cyl2ar6wxqckgvsakwhg1rhjza4is3a09k8pql"; + sha256 = "0csdvrlpz2b0amrsinkq809nkdkvi6ndc94jr8wjk9d6wyzbbkr2"; authors = [ "Tokio Contributors " ]; @@ -7788,7 +8378,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" ]; } ]; @@ -8095,9 +8685,9 @@ rec { }; "tower-http" = rec { crateName = "tower-http"; - version = "0.6.1"; + version = "0.6.2"; edition = "2018"; - sha256 = "15yb8rh970ll3yrd3lydshysi0x89bnxbqqrypqcbj5vnq51adw4"; + sha256 = "15wnvhl6cpir9125s73bqjzjsvfb0fmndmsimnl2ddnlhfvs6gs0"; libName = "tower_http"; authors = [ "Tower Maintainers " @@ -8328,7 +8918,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; usesDefaultFeatures = false; features = [ "full" "parsing" "printing" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ]; } @@ -8691,59 +9281,17 @@ rec { }; resolvedDefaultFeatures = [ "std" ]; }; - "unicode-bidi" = rec { - crateName = "unicode-bidi"; - version = "0.3.17"; - edition = "2018"; - sha256 = "14vqdsnrm3y5anj6h5zz5s32w88crraycblb88d9k23k9ns7vcas"; - libName = "unicode_bidi"; - authors = [ - "The Servo Project Developers" - ]; - features = { - "default" = [ "std" "hardcoded-data" ]; - "flame" = [ "dep:flame" ]; - "flame_it" = [ "flame" "flamer" ]; - "flamer" = [ "dep:flamer" ]; - "serde" = [ "dep:serde" ]; - "smallvec" = [ "dep:smallvec" ]; - "with_serde" = [ "serde" ]; - }; - resolvedDefaultFeatures = [ "hardcoded-data" "std" ]; - }; "unicode-ident" = rec { crateName = "unicode-ident"; - version = "1.0.13"; + version = "1.0.14"; edition = "2018"; - sha256 = "1zm1xylzsdfvm2a5ib9li3g5pp7qnkv4amhspydvgbmd9k6mc6z9"; + sha256 = "10ywa1pg0glgkr4l3dppjxizr9r2b7im0ycbfa0137l69z5fdfdd"; libName = "unicode_ident"; authors = [ "David Tolnay " ]; }; - "unicode-normalization" = rec { - crateName = "unicode-normalization"; - version = "0.1.24"; - edition = "2018"; - sha256 = "0mnrk809z3ix1wspcqy97ld5wxdb31f3xz6nsvg5qcv289ycjcsh"; - libName = "unicode_normalization"; - authors = [ - "kwantam " - "Manish Goregaokar " - ]; - dependencies = [ - { - name = "tinyvec"; - packageId = "tinyvec"; - features = [ "alloc" ]; - } - ]; - features = { - "default" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "std" ]; - }; "unicode-xid" = rec { crateName = "unicode-xid"; version = "0.2.6"; @@ -8783,9 +9331,9 @@ rec { }; "url" = rec { crateName = "url"; - version = "2.5.2"; + version = "2.5.4"; edition = "2018"; - sha256 = "0v2dx50mx7xzl9454cl5qmpjnhkbahmn59gd3apyipbgyyylsy12"; + sha256 = "0q6sgznyy2n4l5lm16zahkisvc9nip9aa5q1pps7656xra3bdy1j"; authors = [ "The rust-url developers" ]; @@ -8793,14 +9341,20 @@ rec { { name = "form_urlencoded"; packageId = "form_urlencoded"; + usesDefaultFeatures = false; + features = [ "alloc" ]; } { name = "idna"; packageId = "idna"; + usesDefaultFeatures = false; + features = [ "alloc" "compiled_data" ]; } { name = "percent-encoding"; packageId = "percent-encoding"; + usesDefaultFeatures = false; + features = [ "alloc" ]; } { name = "serde"; @@ -8817,9 +9371,31 @@ rec { } ]; features = { + "default" = [ "std" ]; "serde" = [ "dep:serde" ]; + "std" = [ "idna/std" "percent-encoding/std" "form_urlencoded/std" ]; }; - resolvedDefaultFeatures = [ "default" "serde" ]; + resolvedDefaultFeatures = [ "default" "serde" "std" ]; + }; + "utf16_iter" = rec { + crateName = "utf16_iter"; + version = "1.0.5"; + edition = "2021"; + sha256 = "0ik2krdr73hfgsdzw0218fn35fa09dg2hvbi1xp3bmdfrp9js8y8"; + authors = [ + "Henri Sivonen " + ]; + + }; + "utf8_iter" = rec { + crateName = "utf8_iter"; + version = "1.0.4"; + edition = "2021"; + sha256 = "1gmna9flnj8dbyd8ba17zigrp9c4c3zclngf5lnb5yvz1ri41hdn"; + authors = [ + "Henri Sivonen " + ]; + }; "utf8parse" = rec { crateName = "utf8parse"; @@ -8967,7 +9543,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "full" ]; } { @@ -9026,7 +9602,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; features = [ "visit" "visit-mut" "full" ]; } { @@ -9650,7 +10226,7 @@ rec { "Win32_Web" = [ "Win32" ]; "Win32_Web_InternetExplorer" = [ "Win32_Web" ]; }; - resolvedDefaultFeatures = [ "Win32" "Win32_Foundation" "Win32_Security" "Win32_Security_Authentication" "Win32_Security_Authentication_Identity" "Win32_Security_Credentials" "Win32_Security_Cryptography" "Win32_System" "Win32_System_LibraryLoader" "Win32_System_Memory" "Win32_System_SystemInformation" "default" ]; + resolvedDefaultFeatures = [ "Win32" "Win32_Foundation" "Win32_Security" "Win32_Security_Authentication" "Win32_Security_Authentication_Identity" "Win32_Security_Credentials" "Win32_Security_Cryptography" "Win32_System" "Win32_System_Console" "Win32_System_LibraryLoader" "Win32_System_Memory" "Win32_System_SystemInformation" "default" ]; }; "windows-targets" = rec { crateName = "windows-targets"; @@ -9807,17 +10383,120 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "default" "std" ]; }; + "write16" = rec { + crateName = "write16"; + version = "1.0.0"; + edition = "2021"; + sha256 = "0dnryvrrbrnl7vvf5vb1zkmwldhjkf2n5znliviam7bm4900z2fi"; + features = { + "arrayvec" = [ "dep:arrayvec" ]; + "smallvec" = [ "dep:smallvec" ]; + }; + resolvedDefaultFeatures = [ "alloc" ]; + }; + "writeable" = rec { + crateName = "writeable"; + version = "0.5.5"; + edition = "2021"; + sha256 = "0lawr6y0bwqfyayf3z8zmqlhpnzhdx0ahs54isacbhyjwa7g778y"; + authors = [ + "The ICU4X Project Developers" + ]; + features = { + "either" = [ "dep:either" ]; + }; + }; "xml-rs" = rec { crateName = "xml-rs"; - version = "0.8.22"; + version = "0.8.23"; edition = "2021"; crateBin = []; - sha256 = "09pg779vjh0xp3ph10j4wy1ihz8pzvxm1qf1jqw0jnmsghpjwkmg"; + sha256 = "0vyrvl256gmyj1lixwb8yhjy2ja91cjk1dq2csi4hzlkmvm0scdg"; libName = "xml"; authors = [ "Vladimir Matveev " ]; + }; + "yoke" = rec { + crateName = "yoke"; + version = "0.7.5"; + edition = "2021"; + sha256 = "0h3znzrdmll0a7sglzf9ji0p5iqml11wrj1dypaf6ad6kbpnl3hj"; + authors = [ + "Manish Goregaokar " + ]; + dependencies = [ + { + name = "serde"; + packageId = "serde"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "stable_deref_trait"; + packageId = "stable_deref_trait"; + usesDefaultFeatures = false; + } + { + name = "yoke-derive"; + packageId = "yoke-derive"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "zerofrom"; + packageId = "zerofrom"; + optional = true; + usesDefaultFeatures = false; + } + ]; + devDependencies = [ + { + name = "serde"; + packageId = "serde"; + usesDefaultFeatures = false; + } + ]; + features = { + "alloc" = [ "stable_deref_trait/alloc" "serde?/alloc" "zerofrom/alloc" ]; + "default" = [ "alloc" "zerofrom" ]; + "derive" = [ "dep:yoke-derive" "zerofrom/derive" ]; + "serde" = [ "dep:serde" ]; + "zerofrom" = [ "dep:zerofrom" ]; + }; + resolvedDefaultFeatures = [ "alloc" "default" "derive" "zerofrom" ]; + }; + "yoke-derive" = rec { + crateName = "yoke-derive"; + version = "0.7.5"; + edition = "2021"; + sha256 = "0m4i4a7gy826bfvnqa9wy6sp90qf0as3wps3wb0smjaamn68g013"; + procMacro = true; + libName = "yoke_derive"; + authors = [ + "Manish Goregaokar " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.89"; + features = [ "fold" ]; + } + { + name = "synstructure"; + packageId = "synstructure"; + } + ]; + }; "zerocopy" = rec { crateName = "zerocopy"; @@ -9882,7 +10561,60 @@ rec { } { name = "syn"; - packageId = "syn 2.0.82"; + packageId = "syn 2.0.89"; + } + ]; + + }; + "zerofrom" = rec { + crateName = "zerofrom"; + version = "0.1.5"; + edition = "2021"; + sha256 = "0bnd8vjcllzrvr3wvn8x14k2hkrpyy1fm3crkn2y3plmr44fxwyg"; + authors = [ + "Manish Goregaokar " + ]; + dependencies = [ + { + name = "zerofrom-derive"; + packageId = "zerofrom-derive"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "default" = [ "alloc" ]; + "derive" = [ "dep:zerofrom-derive" ]; + }; + resolvedDefaultFeatures = [ "alloc" "derive" ]; + }; + "zerofrom-derive" = rec { + crateName = "zerofrom-derive"; + version = "0.1.5"; + edition = "2021"; + sha256 = "022q55phhb44qbrcfbc48k0b741fl8gnazw3hpmmndbx5ycfspjr"; + procMacro = true; + libName = "zerofrom_derive"; + authors = [ + "Manish Goregaokar " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.89"; + features = [ "fold" ]; + } + { + name = "synstructure"; + packageId = "synstructure"; } ]; @@ -9904,6 +10636,69 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "default" ]; }; + "zerovec" = rec { + crateName = "zerovec"; + version = "0.10.4"; + edition = "2021"; + sha256 = "0yghix7n3fjfdppwghknzvx9v8cf826h2qal5nqvy8yzg4yqjaxa"; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "yoke"; + packageId = "yoke"; + optional = true; + } + { + name = "zerofrom"; + packageId = "zerofrom"; + usesDefaultFeatures = false; + } + { + name = "zerovec-derive"; + packageId = "zerovec-derive"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "bench" = [ "serde" "databake" ]; + "databake" = [ "dep:databake" ]; + "derive" = [ "dep:zerovec-derive" ]; + "hashmap" = [ "dep:twox-hash" ]; + "serde" = [ "dep:serde" ]; + "yoke" = [ "dep:yoke" ]; + }; + resolvedDefaultFeatures = [ "derive" "yoke" ]; + }; + "zerovec-derive" = rec { + crateName = "zerovec-derive"; + version = "0.10.3"; + edition = "2021"; + sha256 = "1ik322dys6wnap5d3gcsn09azmssq466xryn5czfm13mn7gsdbvf"; + procMacro = true; + libName = "zerovec_derive"; + authors = [ + "Manish Goregaokar " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.89"; + features = [ "extra-traits" ]; + } + ]; + + }; }; # diff --git a/Cargo.toml b/Cargo.toml index c79163e5..a66977b4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,5 +30,5 @@ strum = { version = "0.26", features = ["derive"] } tokio = { version = "1.40", features = ["full"] } tracing = "0.1" -[patch."https://github.com/stackabletech/operator-rs.git"] -stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", rev = "de15662cb45ffe7fefb807162dbaa0b377a3bb5f" } +# [patch."https://github.com/stackabletech/operator-rs.git"] +# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } diff --git a/crate-hashes.json b/crate-hashes.json index 562fb18b..0ca37e6e 100644 --- a/crate-hashes.json +++ b/crate-hashes.json @@ -1,6 +1,6 @@ { - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#stackable-operator-derive@0.3.1": "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#stackable-operator@0.80.0": "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#stackable-shared@0.0.1": "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#stackable-operator-derive@0.3.1": "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#stackable-operator@0.82.0": "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#stackable-shared@0.0.1": "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy", "git+https://github.com/stackabletech/product-config.git?tag=0.7.0#product-config@0.7.0": "0gjsm80g6r75pm3824dcyiz4ysq1ka4c1if6k1mjm9cnd5ym0gny" } \ No newline at end of file diff --git a/rust/operator-binary/src/druid_controller.rs b/rust/operator-binary/src/druid_controller.rs index a9c5310a..dad2e8f3 100644 --- a/rust/operator-binary/src/druid_controller.rs +++ b/rust/operator-binary/src/druid_controller.rs @@ -35,14 +35,14 @@ use stackable_operator::{ commons::{ opa::OpaApiVersion, product_image_selection::ResolvedProductImage, - rbac::{build_rbac_resources, service_account_name}, + rbac::build_rbac_resources, s3::{S3AccessStyle, S3ConnectionSpec, S3Error}, tls_verification::TlsClientDetailsError, }, k8s_openapi::{ api::{ apps::v1::{StatefulSet, StatefulSetSpec}, - core::v1::{ConfigMap, EnvVar, Service, ServiceSpec}, + core::v1::{ConfigMap, EnvVar, Service, ServiceAccount, ServiceSpec}, }, apimachinery::pkg::apis::meta::v1::LabelSelector, DeepMerge, @@ -50,7 +50,7 @@ use stackable_operator::{ kube::{ core::{error_boundary, DeserializeGuard}, runtime::{controller::Action, reflector::ObjectRef}, - Resource, + Resource, ResourceExt, }, kvp::{KeyValuePairError, Label, LabelError, LabelValueError, Labels}, logging::controller::ReconcilerError, @@ -488,7 +488,8 @@ pub async fn reconcile_druid( ) .context(BuildRbacResourcesSnafu)?; cluster_resources - .add(client, rbac_sa) + // We clone rbac_sa because we need to reuse it below + .add(client, rbac_sa.clone()) .await .context(ApplyServiceAccountSnafu)?; cluster_resources @@ -559,6 +560,7 @@ pub async fn reconcile_druid( s3_conn.as_ref(), &druid_tls_security, &druid_auth_config, + &rbac_sa, )?; cluster_resources .add(client, rg_service) @@ -916,6 +918,7 @@ fn build_rolegroup_statefulset( s3_conn: Option<&S3ConnectionSpec>, druid_tls_security: &DruidTlsSecurity, druid_auth_config: &Option, + service_account: &ServiceAccount, ) -> Result { // prepare container builder let prepare_container_name = Container::Prepare.to_string(); @@ -1119,7 +1122,7 @@ fn build_rolegroup_statefulset( .add_init_container(cb_prepare.build()) .add_container(cb_druid.build()) .metadata(metadata) - .service_account_name(service_account_name(APP_NAME)) + .service_account_name(service_account.name_any()) .security_context( PodSecurityContextBuilder::new() .run_as_user(DRUID_UID) diff --git a/tests/templates/kuttl/overrides/00-assert.yaml.j2 b/tests/templates/kuttl/overrides/00-assert.yaml.j2 index b5613191..ee3402e9 100644 --- a/tests/templates/kuttl/overrides/00-assert.yaml.j2 +++ b/tests/templates/kuttl/overrides/00-assert.yaml.j2 @@ -3,4 +3,4 @@ kind: StatefulSet metadata: name: druid-zk-server-default status: - availableReplicas: 1 \ No newline at end of file + availableReplicas: 1 diff --git a/tests/templates/kuttl/overrides/00-install-zk.yaml.j2 b/tests/templates/kuttl/overrides/00-install-zk.yaml.j2 index 9fa0be75..880c2942 100644 --- a/tests/templates/kuttl/overrides/00-install-zk.yaml.j2 +++ b/tests/templates/kuttl/overrides/00-install-zk.yaml.j2 @@ -25,4 +25,4 @@ metadata: name: hdfs-znode spec: clusterRef: - name: druid-zk \ No newline at end of file + name: druid-zk From df18864c170d2fe213de39e6dd9f3257c9646fb9 Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Tue, 26 Nov 2024 10:57:53 +0100 Subject: [PATCH 6/6] Update changelog --- CHANGELOG.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b967225e..5cb6f283 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Fixed + +- Fix OIDC endpoint construction in case the `rootPath` does have a trailing slash ([#656]). +- BREAKING: Use distinct ServiceAccounts for the Stacklets, so that multiple Stacklets can be + deployed in one namespace. Existing Stacklets will use the newly created ServiceAccounts after + restart ([#657]). + +[#656]: https://github.com/stackabletech/druid-operator/pull/656 +[#657]: https://github.com/stackabletech/druid-operator/pull/657 + ## [24.11.0] - 2024-11-18 ### Added @@ -24,10 +34,6 @@ All notable changes to this project will be documented in this file. - BREAKING: The fields `connection` and `host` on `S3Connection` as well as `bucketName` on `S3Bucket`are now mandatory ([#632]). - Failing to parse one `DruidCluster`/`AuthenticationClass` should no longer cause the whole operator to stop functioning ([#638]). -- Fix OIDC endpoint construction in case the `rootPath` does have a trailing slash ([#656]). -- BREAKING: Use distinct ServiceAccounts for the Stacklets, so that multiple Stacklets can be - deployed in one namespace. Existing Stacklets will use the newly created ServiceAccounts after - restart ([#657]). ### Removed @@ -41,8 +47,6 @@ All notable changes to this project will be documented in this file. [#632]: https://github.com/stackabletech/druid-operator/pull/632 [#637]: https://github.com/stackabletech/druid-operator/pull/637 [#638]: https://github.com/stackabletech/druid-operator/pull/638 -[#656]: https://github.com/stackabletech/druid-operator/pull/656 -[#657]: https://github.com/stackabletech/druid-operator/pull/657 ## [24.7.0] - 2024-07-24