From 768fc015a7ba4f77c67b364af5516acf232320eb Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Thu, 27 Feb 2025 12:27:15 +0100 Subject: [PATCH 1/7] Add fields to CRD --- deploy/helm/druid-operator/crds/crds.yaml | 262 +++++++++++++++++- .../druid/pages/usage-guide/extensions.adoc | 2 +- ...ironment-overrides.adoc => overrides.adoc} | 8 + docs/modules/druid/partials/nav.adoc | 2 +- rust/operator-binary/src/crd/mod.rs | 43 ++- 5 files changed, 292 insertions(+), 25 deletions(-) rename docs/modules/druid/pages/usage-guide/{configuration-and-environment-overrides.adoc => overrides.adoc} (92%) diff --git a/deploy/helm/druid-operator/crds/crds.yaml b/deploy/helm/druid-operator/crds/crds.yaml index b9f36ee7..e08b349b 100644 --- a/deploy/helm/druid-operator/crds/crds.yaml +++ b/deploy/helm/druid-operator/crds/crds.yaml @@ -212,6 +212,32 @@ spec: default: {} description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object podOverrides: default: {} description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. @@ -434,6 +460,32 @@ spec: default: {} description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object podOverrides: default: {} description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. @@ -454,7 +506,7 @@ spec: properties: additionalExtensions: default: [] - description: Additional extensions to load in Druid. The operator will automatically load all extensions needed based on the cluster configuration, but for extra functionality which the operator cannot anticipate, it can sometimes be necessary to load additional extensions. Add configuration for additional extensions using [configuration override for Druid](https://docs.stackable.tech/home/stable/druid/usage-guide/configuration-and-environment-overrides). + description: Additional extensions to load in Druid. The operator will automatically load all extensions needed based on the cluster configuration, but for extra functionality which the operator cannot anticipate, it can sometimes be necessary to load additional extensions. Add configuration for additional extensions using [configuration override for Druid](https://docs.stackable.tech/home/stable/druid/usage-guide/overrides). items: type: string type: array @@ -1060,6 +1112,32 @@ spec: default: {} description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object podOverrides: default: {} description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. @@ -1282,6 +1360,32 @@ spec: default: {} description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object podOverrides: default: {} description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. @@ -1515,6 +1619,32 @@ spec: default: {} description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object podOverrides: default: {} description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. @@ -1768,6 +1898,32 @@ spec: default: {} description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object podOverrides: default: {} description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. @@ -2018,6 +2174,32 @@ spec: default: {} description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object podOverrides: default: {} description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. @@ -2240,6 +2422,32 @@ spec: default: {} description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object podOverrides: default: {} description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. @@ -2442,6 +2650,32 @@ spec: default: {} description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object podOverrides: default: {} description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. @@ -2664,6 +2898,32 @@ spec: default: {} description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object podOverrides: default: {} description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. diff --git a/docs/modules/druid/pages/usage-guide/extensions.adoc b/docs/modules/druid/pages/usage-guide/extensions.adoc index e3ac68bd..02abe28f 100644 --- a/docs/modules/druid/pages/usage-guide/extensions.adoc +++ b/docs/modules/druid/pages/usage-guide/extensions.adoc @@ -40,4 +40,4 @@ spec: {druid-core-extensions}[Core extensions] are already bundled with Druid but adding community extensions requires {druid-community-extensions}[some extra steps]. -Some extensions may require additional configuration which can be added using xref:usage-guide/configuration-and-environment-overrides.adoc[configuration and environment overrides]. +Some extensions may require additional configuration which can be added using xref:usage-guide/overrides.adoc[configuration and environment overrides]. diff --git a/docs/modules/druid/pages/usage-guide/configuration-and-environment-overrides.adoc b/docs/modules/druid/pages/usage-guide/overrides.adoc similarity index 92% rename from docs/modules/druid/pages/usage-guide/configuration-and-environment-overrides.adoc rename to docs/modules/druid/pages/usage-guide/overrides.adoc index 483b797a..4a16ebac 100644 --- a/docs/modules/druid/pages/usage-guide/configuration-and-environment-overrides.adoc +++ b/docs/modules/druid/pages/usage-guide/overrides.adoc @@ -123,3 +123,11 @@ routers: The Druid operator also supports Pod overrides, allowing you to override any property that you can set on a Kubernetes Pod. Read the xref:concepts:overrides.adoc#pod-overrides[Pod overrides documentation] to learn more about this feature. + + +== JVM argument overrides + +Stackable operators automatically determine the set of needed JVM arguments, such as memory settings or trust- and keystores. +Using JVM argument overrides you can configure the JVM arguments xref:concepts:overrides.adoc#jvm-argument-overrides[according to the concepts page]. + +TODO more docs specific to Druid. diff --git a/docs/modules/druid/partials/nav.adoc b/docs/modules/druid/partials/nav.adoc index 97a47519..53926b92 100644 --- a/docs/modules/druid/partials/nav.adoc +++ b/docs/modules/druid/partials/nav.adoc @@ -11,7 +11,7 @@ ** xref:druid:usage-guide/logging.adoc[] ** xref:druid:usage-guide/monitoring.adoc[] ** xref:druid:usage-guide/extensions.adoc[] -** xref:druid:usage-guide/configuration-and-environment-overrides.adoc[] +** xref:druid:usage-guide/overrides.adoc[] ** xref:druid:usage-guide/operations/index.adoc[] *** xref:druid:usage-guide/operations/cluster-operations.adoc[] *** xref:druid:usage-guide/operations/pod-placement.adoc[] diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index 474966a5..c278cfbb 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -30,9 +30,7 @@ use stackable_operator::{ framework::{create_vector_shutdown_file_command, remove_vector_shutdown_file_command}, spec::Logging, }, - role_utils::{ - CommonConfiguration, GenericProductSpecificCommonConfig, GenericRoleConfig, Role, RoleGroup, - }, + role_utils::{CommonConfiguration, GenericRoleConfig, JavaCommonConfig, Role, RoleGroup}, schemars::{self, JsonSchema}, status::condition::{ClusterCondition, HasStatusCondition}, time::Duration, @@ -208,19 +206,19 @@ pub mod versioned { pub image: ProductImage, // no doc - docs provided by the struct. - pub brokers: Role, + pub brokers: Role, // no doc - docs provided by the struct. - pub coordinators: Role, + pub coordinators: Role, // no doc - docs provided by the struct. - pub historicals: Role, + pub historicals: Role, // no doc - docs provided by the struct. - pub middle_managers: Role, + pub middle_managers: Role, // no doc - docs provided by the struct. - pub routers: Role, + pub routers: Role, // no doc - docs provided by the struct. #[serde(default)] @@ -234,7 +232,7 @@ pub mod versioned { /// The operator will automatically load all extensions needed based on the cluster /// configuration, but for extra functionality which the operator cannot anticipate, it can /// sometimes be necessary to load additional extensions. - /// Add configuration for additional extensions using [configuration override for Druid](https://docs.stackable.tech/home/stable/druid/usage-guide/configuration-and-environment-overrides). + /// Add configuration for additional extensions using [configuration override for Druid](https://docs.stackable.tech/home/stable/druid/usage-guide/overrides). #[serde(default)] pub additional_extensions: HashSet, @@ -397,7 +395,11 @@ impl v1alpha1::DruidCluster { String, ( Vec, - Role>, + Role< + impl Configuration, + GenericRoleConfig, + JavaCommonConfig, + >, ), > { let config_files = vec![ @@ -581,9 +583,9 @@ impl v1alpha1::DruidCluster { /// Merges and validates the role groups of the given role with the given default configuration fn merged_role( - role: &Role, + role: &Role, default_config: &T::Fragment, - ) -> Result>, Error> + ) -> Result>, Error> where T: FromFragment, T::Fragment: Clone + Merge, @@ -604,10 +606,10 @@ impl v1alpha1::DruidCluster { /// Merges and validates the given role group with the given role and default configurations fn merged_rolegroup( - rolegroup: &RoleGroup, + rolegroup: &RoleGroup, role_config: &T::Fragment, default_config: &T::Fragment, - ) -> Result, Error> + ) -> Result, Error> where T: FromFragment, T::Fragment: Clone + Merge, @@ -773,18 +775,15 @@ pub struct CommonRoleGroupConfig { /// configuration is not applied. pub struct MergedConfig { /// Merged configuration of the broker role - pub brokers: HashMap>, + pub brokers: HashMap>, /// Merged configuration of the coordinator role - pub coordinators: - HashMap>, + pub coordinators: HashMap>, /// Merged configuration of the historical role - pub historicals: - HashMap>, + pub historicals: HashMap>, /// Merged configuration of the middle manager role - pub middle_managers: - HashMap>, + pub middle_managers: HashMap>, /// Merged configuration of the router role - pub routers: HashMap>, + pub routers: HashMap>, } impl MergedConfig { From c00f2a861b560d3f99247c938547d6d4f72d56a2 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Thu, 27 Feb 2025 12:29:01 +0100 Subject: [PATCH 2/7] changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 816be139..16c96613 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to this project will be documented in this file.  config property `requestedSecretLifetime`. This helps reducing frequent Pod restarts ([#660]). - Run a `containerdebug` process in the background of each "druid" container to collect debugging information ([#667]). - Aggregate emitted Kubernetes events on the CustomResources ([#677]). +- Support configuring JVM arguments ([#693]). ### Changed @@ -19,6 +20,7 @@ All notable changes to this project will be documented in this file. [#667]: https://github.com/stackabletech/druid-operator/pull/667 [#676]: https://github.com/stackabletech/druid-operator/pull/676 [#677]: https://github.com/stackabletech/druid-operator/pull/677 +[#693]: https://github.com/stackabletech/druid-operator/pull/693 ## [24.11.1] - 2025-01-09 From 20c880c8358e7d949f103860609bdd05c3fa9800 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Thu, 27 Feb 2025 15:33:18 +0100 Subject: [PATCH 3/7] WIP --- .../druid/pages/usage-guide/overrides.adoc | 2 - rust/operator-binary/Cargo.toml | 2 +- rust/operator-binary/src/config.rs | 61 ---- rust/operator-binary/src/config/jvm.rs | 307 ++++++++++++++++++ rust/operator-binary/src/config/mod.rs | 1 + rust/operator-binary/src/crd/affinity.rs | 2 +- rust/operator-binary/src/crd/mod.rs | 19 +- rust/operator-binary/src/crd/resource.rs | 4 +- rust/operator-binary/src/druid_controller.rs | 23 +- 9 files changed, 342 insertions(+), 79 deletions(-) delete mode 100644 rust/operator-binary/src/config.rs create mode 100644 rust/operator-binary/src/config/jvm.rs create mode 100644 rust/operator-binary/src/config/mod.rs diff --git a/docs/modules/druid/pages/usage-guide/overrides.adoc b/docs/modules/druid/pages/usage-guide/overrides.adoc index 4a16ebac..16edddf0 100644 --- a/docs/modules/druid/pages/usage-guide/overrides.adoc +++ b/docs/modules/druid/pages/usage-guide/overrides.adoc @@ -129,5 +129,3 @@ Read the xref:concepts:overrides.adoc#pod-overrides[Pod overrides documentation] Stackable operators automatically determine the set of needed JVM arguments, such as memory settings or trust- and keystores. Using JVM argument overrides you can configure the JVM arguments xref:concepts:overrides.adoc#jvm-argument-overrides[according to the concepts page]. - -TODO more docs specific to Druid. diff --git a/rust/operator-binary/Cargo.toml b/rust/operator-binary/Cargo.toml index 8e93b968..7c763635 100644 --- a/rust/operator-binary/Cargo.toml +++ b/rust/operator-binary/Cargo.toml @@ -22,8 +22,8 @@ indoc.workspace = true openssl.workspace = true pin-project.workspace = true semver.workspace = true -serde.workspace = true serde_json.workspace = true +serde.workspace = true snafu.workspace = true strum.workspace = true tokio.workspace = true diff --git a/rust/operator-binary/src/config.rs b/rust/operator-binary/src/config.rs deleted file mode 100644 index 8f3af715..00000000 --- a/rust/operator-binary/src/config.rs +++ /dev/null @@ -1,61 +0,0 @@ -use indoc::formatdoc; -use snafu::{ResultExt, Snafu}; -use stackable_operator::memory::MemoryQuantity; - -use crate::crd::{ - DruidRole, JVM_SECURITY_PROPERTIES_FILE, LOG4J2_CONFIG, RW_CONFIG_DIRECTORY, - STACKABLE_TRUST_STORE, STACKABLE_TRUST_STORE_PASSWORD, -}; - -#[derive(Snafu, Debug)] -pub enum Error { - #[snafu(display( - "failed to format memory quantity '{value:?}' for Java. try increasing the memory limit" - ))] - FormatMemoryStringForJava { - value: MemoryQuantity, - source: stackable_operator::memory::Error, - }, -} - -pub fn get_jvm_config( - role: &DruidRole, - heap: MemoryQuantity, - direct_memory: Option, -) -> Result { - let heap_str = heap - .format_for_java() - .with_context(|_| FormatMemoryStringForJavaSnafu { value: heap })?; - let direct_memory_str = if let Some(m) = direct_memory { - Some( - m.format_for_java() - .with_context(|_| FormatMemoryStringForJavaSnafu { value: m })?, - ) - } else { - None - }; - let mut config = formatdoc! {" - -server - -Duser.timezone=UTC - -Dfile.encoding=UTF-8 - -Djava.io.tmpdir=/tmp - -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager - -Dlog4j.configurationFile={RW_CONFIG_DIRECTORY}/{LOG4J2_CONFIG} - -XX:+UseG1GC - -XX:+ExitOnOutOfMemoryError - -Djavax.net.ssl.trustStore={STACKABLE_TRUST_STORE} - -Djavax.net.ssl.trustStorePassword={STACKABLE_TRUST_STORE_PASSWORD} - -Djavax.net.ssl.trustStoreType=pkcs12 - -Xms{heap_str} - -Xmx{heap_str} - -Djava.security.properties={RW_CONFIG_DIRECTORY}/{JVM_SECURITY_PROPERTIES_FILE}"}; - - if let Some(direct_memory) = direct_memory_str { - config += &format!("\n-XX:MaxDirectMemorySize={direct_memory}"); - } - - if role == &DruidRole::Coordinator { - config += "\n-Dderby.stream.error.file=/stackable/var/druid/derby.log"; - } - Ok(config) -} diff --git a/rust/operator-binary/src/config/jvm.rs b/rust/operator-binary/src/config/jvm.rs new file mode 100644 index 00000000..55bb924c --- /dev/null +++ b/rust/operator-binary/src/config/jvm.rs @@ -0,0 +1,307 @@ +use snafu::{ResultExt, Snafu}; +use stackable_operator::role_utils::{ + GenericRoleConfig, JavaCommonConfig, JvmArgumentOverrides, Role, +}; +use stackable_operator::{memory::MemoryQuantity, role_utils}; + +use crate::crd::DruidRole; +use crate::crd::{ + JVM_SECURITY_PROPERTIES_FILE, LOG4J2_CONFIG, RW_CONFIG_DIRECTORY, STACKABLE_TRUST_STORE, + STACKABLE_TRUST_STORE_PASSWORD, +}; + +#[derive(Snafu, Debug)] +pub enum Error { + #[snafu(display("failed to format memory quantity {value:?} for Java"))] + FormatMemoryStringForJava { + value: MemoryQuantity, + source: stackable_operator::memory::Error, + }, + + #[snafu(display("failed to merge jvm argument overrides"))] + MergeJvmArgumentOverrides { source: role_utils::Error }, +} + +/// Please note that this function is slightly different than all other operators, because memory +/// management is far more advanced in this operator. +pub fn construct_jvm_args( + druid_role: &DruidRole, + role: &Role, + role_group: &str, + heap: MemoryQuantity, + direct_memory: Option, +) -> Result { + let heap_str = heap + .format_for_java() + .with_context(|_| FormatMemoryStringForJavaSnafu { value: heap })?; + let direct_memory_str = if let Some(m) = direct_memory { + Some( + m.format_for_java() + .with_context(|_| FormatMemoryStringForJavaSnafu { value: m })?, + ) + } else { + None + }; + + let mut jvm_args = vec![ + "-server".to_owned(), + format!("-Xmx{heap_str}"), + format!("-Xms{heap_str}"), + ]; + if let Some(direct_memory) = direct_memory_str { + jvm_args.push(format!("-XX:MaxDirectMemorySize={direct_memory}")); + } + jvm_args.extend([ + "-XX:+ExitOnOutOfMemoryError".to_owned(), + "-XX:+UseG1GC".to_owned(), + format!("-Djava.security.properties={RW_CONFIG_DIRECTORY}/{JVM_SECURITY_PROPERTIES_FILE}"), + "-Duser.timezone=UTC".to_owned(), + "-Dfile.encoding=UTF-8".to_owned(), + "-Djava.io.tmpdir=/tmp".to_owned(), + "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager".to_owned(), + format!("-Dlog4j.configurationFile={RW_CONFIG_DIRECTORY}/{LOG4J2_CONFIG}"), + format!("-Djavax.net.ssl.trustStore={STACKABLE_TRUST_STORE}"), + format!("-Djavax.net.ssl.trustStorePassword={STACKABLE_TRUST_STORE_PASSWORD}"), + "-Djavax.net.ssl.trustStoreType=pkcs12".to_owned(), + ]); + if druid_role == &DruidRole::Coordinator { + jvm_args.push("-Dderby.stream.error.file=/stackable/var/druid/derby.log".to_owned()); + } + + let operator_generated = JvmArgumentOverrides::new_with_only_additions(jvm_args); + let merged_jvm_argument_overrides = role + .get_merged_jvm_argument_overrides(role_group, &operator_generated) + .context(MergeJvmArgumentOverridesSnafu)?; + + Ok(merged_jvm_argument_overrides + .effective_jvm_config_after_merging() + .join("\n")) +} + +#[cfg(test)] +mod tests { + use indoc::indoc; + + use crate::crd::v1alpha1::DruidCluster; + + use super::*; + + #[test] + fn test_construct_jvm_arguments_defaults() { + let input = r#" + apiVersion: druid.stackable.tech/v1alpha1 + kind: DruidCluster + metadata: + name: simple-druid + spec: + image: + productVersion: 30.0.0 + clusterConfig: + deepStorage: + hdfs: + configMapName: simple-hdfs + directory: /druid + metadataStorageDatabase: + dbType: postgresql + connString: jdbc:postgresql://druid-postgresql/druid + host: druid-postgresql + port: 5432 + credentialsSecret: mySecret + zookeeperConfigMapName: simple-druid-znode + brokers: + roleGroups: + default: + replicas: 1 + coordinators: + roleGroups: + default: + replicas: 1 + historicals: + roleGroups: + default: + replicas: 1 + middleManagers: + roleGroups: + default: + replicas: 1 + routers: + roleGroups: + default: + replicas: 1 + "#; + + let coordinator_jvm_config = construct_jvm_config_for_test(input, &DruidRole::Coordinator); + let historical_jvm_config = construct_jvm_config_for_test(input, &DruidRole::Historical); + + assert_eq!( + coordinator_jvm_config, + indoc! {" + -server + -Xmx212m + -Xms212m + -XX:+ExitOnOutOfMemoryError + -XX:+UseG1GC + -Djava.security.properties=/stackable/rwconfig/security.properties + -Duser.timezone=UTC + -Dfile.encoding=UTF-8 + -Djava.io.tmpdir=/tmp + -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager + -Dlog4j.configurationFile=/stackable/rwconfig/log4j2.properties + -Djavax.net.ssl.trustStore=/stackable/truststore.p12 + -Djavax.net.ssl.trustStorePassword=changeit + -Djavax.net.ssl.trustStoreType=pkcs12 + -Dderby.stream.error.file=/stackable/var/druid/derby.log"} + ); + assert_eq!( + historical_jvm_config, + indoc! {" + -server + -Xmx900m + -Xms900m + -XX:MaxDirectMemorySize=300m + -XX:+ExitOnOutOfMemoryError + -XX:+UseG1GC + -Djava.security.properties=/stackable/rwconfig/security.properties + -Duser.timezone=UTC + -Dfile.encoding=UTF-8 + -Djava.io.tmpdir=/tmp + -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager + -Dlog4j.configurationFile=/stackable/rwconfig/log4j2.properties + -Djavax.net.ssl.trustStore=/stackable/truststore.p12 + -Djavax.net.ssl.trustStorePassword=changeit + -Djavax.net.ssl.trustStoreType=pkcs12"} + ); + } + + #[test] + fn test_construct_jvm_argument_overrides() { + let input = r#" + apiVersion: druid.stackable.tech/v1alpha1 + kind: DruidCluster + metadata: + name: simple-druid + spec: + image: + productVersion: 30.0.0 + clusterConfig: + deepStorage: + hdfs: + configMapName: simple-hdfs + directory: /druid + metadataStorageDatabase: + dbType: postgresql + connString: jdbc:postgresql://druid-postgresql/druid + host: druid-postgresql + port: 5432 + credentialsSecret: mySecret + zookeeperConfigMapName: simple-druid-znode + brokers: + roleGroups: + default: + replicas: 1 + coordinators: + config: + resources: + memory: + limit: 42Gi + jvmArgumentOverrides: + add: + - -Dhttps.proxyHost=proxy.my.corp + - -Dhttps.proxyPort=8080 + - -Djava.net.preferIPv4Stack=true + roleGroups: + default: + replicas: 1 + jvmArgumentOverrides: + # We need more memory! + removeRegex: + - -Xmx.* + - -Dhttps.proxyPort=.* + add: + - -Xmx40000m + - -Dhttps.proxyPort=1234 + historicals: + config: + resources: + memory: + limit: 13Gi + jvmArgumentOverrides: + add: + - -Dfoo=bar + roleGroups: + default: + replicas: 1 + middleManagers: + roleGroups: + default: + replicas: 1 + routers: + roleGroups: + default: + replicas: 1 + "#; + + let coordinator_jvm_config = construct_jvm_config_for_test(input, &DruidRole::Coordinator); + let historical_jvm_config = construct_jvm_config_for_test(input, &DruidRole::Historical); + + assert_eq!( + coordinator_jvm_config, + indoc! {" + -server + -Xms42708m + -XX:+ExitOnOutOfMemoryError + -XX:+UseG1GC + -Djava.security.properties=/stackable/rwconfig/security.properties + -Duser.timezone=UTC + -Dfile.encoding=UTF-8 + -Djava.io.tmpdir=/tmp + -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager + -Dlog4j.configurationFile=/stackable/rwconfig/log4j2.properties + -Djavax.net.ssl.trustStore=/stackable/truststore.p12 + -Djavax.net.ssl.trustStorePassword=changeit + -Djavax.net.ssl.trustStoreType=pkcs12 + -Dderby.stream.error.file=/stackable/var/druid/derby.log + -Dhttps.proxyHost=proxy.my.corp + -Djava.net.preferIPv4Stack=true + -Xmx40000m + -Dhttps.proxyPort=1234"} + ); + assert_eq!( + historical_jvm_config, + indoc! {" + -server + -Xmx9759m + -Xms9759m + -XX:MaxDirectMemorySize=3253m + -XX:+ExitOnOutOfMemoryError + -XX:+UseG1GC + -Djava.security.properties=/stackable/rwconfig/security.properties + -Duser.timezone=UTC + -Dfile.encoding=UTF-8 + -Djava.io.tmpdir=/tmp + -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager + -Dlog4j.configurationFile=/stackable/rwconfig/log4j2.properties + -Djavax.net.ssl.trustStore=/stackable/truststore.p12 + -Djavax.net.ssl.trustStorePassword=changeit + -Djavax.net.ssl.trustStoreType=pkcs12 + -Dfoo=bar"} + ); + } + + fn construct_jvm_config_for_test(druid_cluster: &str, druid_role: &DruidRole) -> String { + let deserializer = serde_yaml::Deserializer::from_str(druid_cluster); + let druid: DruidCluster = + serde_yaml::with::singleton_map_recursive::deserialize(deserializer).unwrap(); + + let role = druid.get_role(druid_role); + let merged_config = druid.merged_config().unwrap(); + let (heap, direct) = merged_config + .common_config(druid_role, "default") + .unwrap() + .resources + .get_memory_sizes(druid_role) + .unwrap(); + + construct_jvm_args(druid_role, &role, "default", heap, direct).unwrap() + } +} diff --git a/rust/operator-binary/src/config/mod.rs b/rust/operator-binary/src/config/mod.rs new file mode 100644 index 00000000..271c6d99 --- /dev/null +++ b/rust/operator-binary/src/config/mod.rs @@ -0,0 +1 @@ +pub mod jvm; diff --git a/rust/operator-binary/src/crd/affinity.rs b/rust/operator-binary/src/crd/affinity.rs index cfbc254d..d312a128 100644 --- a/rust/operator-binary/src/crd/affinity.rs +++ b/rust/operator-binary/src/crd/affinity.rs @@ -146,7 +146,7 @@ mod tests { let merged_config = druid .merged_config() .unwrap() - .common_config(role.clone(), "default") + .common_config(&role, "default") .unwrap(); let mut expected_affinities = vec![]; diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index c278cfbb..ddb38f24 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -664,6 +664,23 @@ impl v1alpha1::DruidCluster { fragment::validate(rolegroup_config).context(FragmentValidationFailureSnafu) } + pub fn get_role( + &self, + druid_role: &DruidRole, + ) -> Role< + impl Configuration, + GenericRoleConfig, + JavaCommonConfig, + > { + match druid_role { + DruidRole::Coordinator => self.spec.coordinators.clone().erase(), + DruidRole::Broker => self.spec.brokers.clone().erase(), + DruidRole::Historical => self.spec.historicals.clone().erase(), + DruidRole::MiddleManager => self.spec.middle_managers.clone().erase(), + DruidRole::Router => self.spec.routers.clone().erase(), + } + } + pub fn pod_overrides_for_role(&self, role: &DruidRole) -> &PodTemplateSpec { match role { DruidRole::Broker => &self.spec.brokers.config.pod_overrides, @@ -790,7 +807,7 @@ impl MergedConfig { /// Returns the common configuration for the given role and rolegroup name pub fn common_config( &self, - role: DruidRole, + role: &DruidRole, rolegroup_name: &str, ) -> Result { match role { diff --git a/rust/operator-binary/src/crd/resource.rs b/rust/operator-binary/src/crd/resource.rs index a8454a3a..fc4fde67 100644 --- a/rust/operator-binary/src/crd/resource.rs +++ b/rust/operator-binary/src/crd/resource.rs @@ -488,7 +488,7 @@ mod test { // ---------- default role group let config = cluster.merged_config().unwrap(); let res = config - .common_config(DruidRole::Historical, "default") + .common_config(&DruidRole::Historical, "default") .unwrap() .resources; let mut got = BTreeMap::new(); @@ -502,7 +502,7 @@ mod test { // ---------- secondary role group let res = config - .common_config(DruidRole::Historical, "secondary") + .common_config(&DruidRole::Historical, "secondary") .unwrap() .resources; let mut got = BTreeMap::new(); diff --git a/rust/operator-binary/src/druid_controller.rs b/rust/operator-binary/src/druid_controller.rs index 0bd8628f..947e5574 100644 --- a/rust/operator-binary/src/druid_controller.rs +++ b/rust/operator-binary/src/druid_controller.rs @@ -67,7 +67,7 @@ use strum::{EnumDiscriminants, IntoStaticStr}; use crate::{ authentication::DruidAuthenticationConfig, - config::get_jvm_config, + config::jvm::construct_jvm_args, crd::{ authentication::AuthenticationClassesResolved, authorization::DruidAuthorization, build_recommended_labels, build_string_list, security::DruidTlsSecurity, v1alpha1, @@ -254,7 +254,7 @@ pub enum Error { }, #[snafu(display("failed to get JVM config"))] - GetJvmConfig { source: crate::config::Error }, + GetJvmConfig { source: crate::config::jvm::Error }, #[snafu(display("failed to derive Druid memory settings from resources"))] DeriveMemorySettings { source: crate::crd::resource::Error }, @@ -524,7 +524,7 @@ pub async fn reconcile_druid( }; let merged_rolegroup_config = merged_config - .common_config(druid_role.clone(), rolegroup_name) + .common_config(&druid_role, rolegroup_name) .context(FailedToResolveConfigSnafu)?; let rg_service = build_rolegroup_services( @@ -689,7 +689,8 @@ fn build_rolegroup_config_map( druid_tls_security: &DruidTlsSecurity, druid_auth_config: &Option, ) -> Result { - let role = DruidRole::from_str(&rolegroup.role).unwrap(); + let druid_role = DruidRole::from_str(&rolegroup.role).unwrap(); + let role = druid.get_role(&druid_role); let mut cm_conf_data = BTreeMap::new(); // filename -> filecontent for (property_name_kind, config) in rolegroup_config { @@ -757,12 +758,12 @@ fn build_rolegroup_config_map( ); // add tls encryption / auth properties - druid_tls_security.add_tls_config_properties(&mut conf, &role); + druid_tls_security.add_tls_config_properties(&mut conf, &druid_role); if let Some(auth_config) = druid_auth_config { conf.extend( auth_config - .generate_runtime_properties_config(&role) + .generate_runtime_properties_config(&druid_role) .context(GenerateAuthenticationRuntimeSettingsSnafu)?, ); }; @@ -782,11 +783,11 @@ fn build_rolegroup_config_map( PropertyNameKind::File(file_name) if file_name == JVM_CONFIG => { let (heap, direct) = merged_rolegroup_config .resources - .get_memory_sizes(&role) + .get_memory_sizes(&druid_role) .context(DeriveMemorySettingsSnafu)?; - let jvm_config = get_jvm_config(&role, heap, direct).context(GetJvmConfigSnafu)?; - // TODO the user can set overrides in the config, but currently they have no effect - // if this is changed in the future, make sure to respect overrides! + let jvm_config = + construct_jvm_args(&druid_role, &role, &rolegroup.role_group, heap, direct) + .context(GetJvmConfigSnafu)?; cm_conf_data.insert(JVM_CONFIG.to_string(), jvm_config); } @@ -1424,7 +1425,7 @@ mod test { }; let merged_rolegroup_config = config - .common_config(DruidRole::Historical, rolegroup_name) + .common_config(&DruidRole::Historical, rolegroup_name) .context(InvalidConfigurationSnafu)?; let auth_settings: Option = None; From d3d7f376a0c9bb0bbff5161e119f2aaf211a5b8c Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Thu, 27 Feb 2025 15:44:48 +0100 Subject: [PATCH 4/7] cargo fmt --- rust/operator-binary/src/config/jvm.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/rust/operator-binary/src/config/jvm.rs b/rust/operator-binary/src/config/jvm.rs index 55bb924c..ce64fb3a 100644 --- a/rust/operator-binary/src/config/jvm.rs +++ b/rust/operator-binary/src/config/jvm.rs @@ -1,13 +1,13 @@ use snafu::{ResultExt, Snafu}; -use stackable_operator::role_utils::{ - GenericRoleConfig, JavaCommonConfig, JvmArgumentOverrides, Role, +use stackable_operator::{ + memory::MemoryQuantity, + role_utils, + role_utils::{GenericRoleConfig, JavaCommonConfig, JvmArgumentOverrides, Role}, }; -use stackable_operator::{memory::MemoryQuantity, role_utils}; -use crate::crd::DruidRole; use crate::crd::{ - JVM_SECURITY_PROPERTIES_FILE, LOG4J2_CONFIG, RW_CONFIG_DIRECTORY, STACKABLE_TRUST_STORE, - STACKABLE_TRUST_STORE_PASSWORD, + DruidRole, JVM_SECURITY_PROPERTIES_FILE, LOG4J2_CONFIG, RW_CONFIG_DIRECTORY, + STACKABLE_TRUST_STORE, STACKABLE_TRUST_STORE_PASSWORD, }; #[derive(Snafu, Debug)] @@ -82,9 +82,8 @@ pub fn construct_jvm_args( mod tests { use indoc::indoc; - use crate::crd::v1alpha1::DruidCluster; - use super::*; + use crate::crd::v1alpha1::DruidCluster; #[test] fn test_construct_jvm_arguments_defaults() { From abe300a894ca2080817b9891532897d9e1c86cce Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Thu, 27 Feb 2025 17:38:15 +0100 Subject: [PATCH 5/7] Update test --- rust/operator-binary/src/config/jvm.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust/operator-binary/src/config/jvm.rs b/rust/operator-binary/src/config/jvm.rs index ce64fb3a..c9824e70 100644 --- a/rust/operator-binary/src/config/jvm.rs +++ b/rust/operator-binary/src/config/jvm.rs @@ -136,8 +136,8 @@ mod tests { coordinator_jvm_config, indoc! {" -server - -Xmx212m - -Xms212m + -Xmx468m + -Xms468m -XX:+ExitOnOutOfMemoryError -XX:+UseG1GC -Djava.security.properties=/stackable/rwconfig/security.properties From f0bc78e1a6fba9865ffd10b7a208f80c24213a35 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Thu, 27 Feb 2025 17:52:19 +0100 Subject: [PATCH 6/7] updates --- Cargo.lock | 269 ++++++++++++++++++++++++++--------------------------- 1 file changed, 134 insertions(+), 135 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cd91eb95..9b8934c4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -112,9 +112,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.95" +version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" +checksum = "6b964d184e89d9b6b67dd2715bc8e74cf3107fb2b529990c90cf517326150bf4" [[package]] name = "async-broadcast" @@ -147,18 +147,18 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "async-trait" -version = "0.1.85" +version = "0.1.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056" +checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -243,9 +243,9 @@ dependencies = [ [[package]] name = "built" -version = "0.7.5" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c360505aed52b7ec96a3636c3f039d99103c37d1d9b4f7a8c743d3ea9ffcd03b" +checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b" dependencies = [ "chrono", "git2", @@ -253,9 +253,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byteorder" @@ -265,15 +265,15 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "cc" -version = "1.2.10" +version = "1.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229" +checksum = "c736e259eea577f443d5c86c304f9f4ae0295c43f3ba05c21f1d66b5f06001af" dependencies = [ "jobserver", "libc", @@ -288,22 +288,22 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.39" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" +checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-targets", + "windows-link", ] [[package]] name = "clap" -version = "4.5.27" +version = "4.5.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796" +checksum = "027bb0d98429ae334a8698531da7077bdf906419543a35a55c2cb1b66437d767" dependencies = [ "clap_builder", "clap_derive", @@ -311,9 +311,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.27" +version = "4.5.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" +checksum = "5589e0cba072e0f3d23791efac0fd8627b49c829c196a492e88168e6a669d863" dependencies = [ "anstream", "anstyle", @@ -323,14 +323,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -411,9 +411,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -464,7 +464,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -475,7 +475,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -486,7 +486,7 @@ checksum = "297806318ef30ad066b15792a8372858020ae3ca2e414ee6c2133b1eb9e9e945" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -516,7 +516,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -541,9 +541,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" +checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35" [[package]] name = "educe" @@ -554,14 +554,14 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "either" -version = "1.13.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "b7914353092ddf589ad78f25c5c1c21b7f80b0ff8621e7c814c3485b5306da9d" [[package]] name = "encoding_rs" @@ -598,14 +598,14 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "event-listener" @@ -746,7 +746,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -815,9 +815,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "git2" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" +checksum = "3fda788993cc341f69012feba8bf45c0ba4f3291fcc08e214b4d5a7332d88aff" dependencies = [ "bitflags 2.8.0", "libc", @@ -945,9 +945,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "httpdate" @@ -957,9 +957,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -1183,7 +1183,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1554,7 +1554,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1567,7 +1567,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1635,15 +1635,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.169" +version = "0.2.170" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" [[package]] name = "libgit2-sys" -version = "0.17.0+1.8.1" +version = "0.18.0+1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" +checksum = "e1a117465e7e1597e8febea8bb0c410f1c7fb93b1e1cddf34363f8390367ffec" dependencies = [ "cc", "libc", @@ -1665,9 +1665,9 @@ dependencies = [ [[package]] name = "litemap" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" [[package]] name = "lock_api" @@ -1681,9 +1681,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.25" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" +checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" [[package]] name = "matchers" @@ -1708,9 +1708,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" +checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" dependencies = [ "adler2", ] @@ -1772,15 +1772,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "openssl" -version = "0.10.70" +version = "0.10.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" +checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" dependencies = [ "bitflags 2.8.0", "cfg-if", @@ -1799,7 +1799,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1810,9 +1810,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.105" +version = "0.9.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" +checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd" dependencies = [ "cc", "libc", @@ -1933,9 +1933,9 @@ dependencies = [ [[package]] name = "pem" -version = "3.0.4" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" dependencies = [ "base64 0.22.1", "serde", @@ -1978,7 +1978,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1994,22 +1994,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916" +checksum = "dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" +checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2120,9 +2120,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +checksum = "82b568323e98e49e2a0899dcee453dd679fae22d69adf9b11dd508d1549b7e2f" dependencies = [ "bitflags 2.8.0", ] @@ -2179,15 +2179,14 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "ring" -version = "0.17.8" +version = "0.17.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "da5349ae27d3887ca812fb375b45a4fbb36d8d12d2df394968cd86e35683fe73" dependencies = [ "cc", "cfg-if", "getrandom", "libc", - "spin", "untrusted", "windows-sys 0.52.0", ] @@ -2218,7 +2217,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.96", + "syn 2.0.98", "unicode-ident", ] @@ -2239,9 +2238,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" dependencies = [ "log", "once_cell", @@ -2288,9 +2287,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" [[package]] name = "rustls-webpki" @@ -2311,9 +2310,9 @@ checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "schannel" @@ -2326,9 +2325,9 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.21" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" dependencies = [ "dyn-clone", "schemars_derive", @@ -2339,14 +2338,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.21" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2408,9 +2407,9 @@ checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" -version = "1.0.217" +version = "1.0.218" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60" dependencies = [ "serde_derive", ] @@ -2427,13 +2426,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.217" +version = "1.0.218" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2444,14 +2443,14 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "serde_json" -version = "1.0.137" +version = "1.0.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b" +checksum = "44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6" dependencies = [ "itoa", "memchr", @@ -2529,9 +2528,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" [[package]] name = "snafu" @@ -2572,7 +2571,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2585,12 +2584,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "spin" -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" @@ -2670,7 +2663,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2706,7 +2699,7 @@ dependencies = [ "kube 0.96.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2734,7 +2727,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2756,9 +2749,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -2779,7 +2772,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2808,7 +2801,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2819,7 +2812,7 @@ checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2921,7 +2914,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2967,9 +2960,9 @@ checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" [[package]] name = "toml_edit" -version = "0.22.22" +version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ "indexmap", "toml_datetime", @@ -3055,7 +3048,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3136,9 +3129,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "ucd-trie" @@ -3148,9 +3141,9 @@ checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "unicode-ident" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11cd88e12b17c6494200a9c1b683a04fcac9573ed74cd1b62aeb2727c5592243" +checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" [[package]] name = "unicode-segmentation" @@ -3261,7 +3254,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] @@ -3283,7 +3276,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3348,6 +3341,12 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "windows-link" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" + [[package]] name = "windows-sys" version = "0.52.0" @@ -3432,9 +3431,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.24" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a" +checksum = "0e7f4ea97f6f78012141bcdb6a216b2609f0979ada50b20ca5b52dde2eac2bb1" dependencies = [ "memchr", ] @@ -3477,7 +3476,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3499,27 +3498,27 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "zerofrom" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3548,5 +3547,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] From 5f65a98b47b6d7cf505e0de292308768bb192679 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Fri, 28 Feb 2025 09:18:04 +0100 Subject: [PATCH 7/7] MTGA (make tests green again) --- Cargo.nix | 336 +++++++++--------- .../kuttl/authorizer/02-install-opa.yaml.j2 | 6 +- 2 files changed, 165 insertions(+), 177 deletions(-) diff --git a/Cargo.nix b/Cargo.nix index fd5e1e32..450d23d8 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -366,9 +366,9 @@ rec { }; "anyhow" = rec { crateName = "anyhow"; - version = "1.0.95"; + version = "1.0.96"; edition = "2018"; - sha256 = "010vd1ki8w84dzgx6c81sc8qm9n02fxic1gkpv52zp4nwrn0kb1l"; + sha256 = "1x0b2lk76lfgj069jadmn9zi1wscwz45nwfjgnvbdnc99qc4v5kb"; authors = [ "David Tolnay " ]; @@ -455,7 +455,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" "visit-mut" ]; } ]; @@ -463,9 +463,9 @@ rec { }; "async-trait" = rec { crateName = "async-trait"; - version = "0.1.85"; + version = "0.1.86"; edition = "2021"; - sha256 = "0mm0gwad44zs7mna4a0m1z4dhzpmydfj73w4wm23c8xpnhrli4rz"; + sha256 = "17g7pk7fxbsf61hdbmf727q56bcqvdpjapxw5wd7gwvb114xfkb4"; procMacro = true; libName = "async_trait"; authors = [ @@ -482,7 +482,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; usesDefaultFeatures = false; features = [ "clone-impls" "full" "parsing" "printing" "proc-macro" "visit-mut" ]; } @@ -708,9 +708,9 @@ rec { }; "built" = rec { crateName = "built"; - version = "0.7.5"; + version = "0.7.7"; edition = "2021"; - sha256 = "0fyhzjgymls3qylggd6rs4vkq44rkl1kyv33lfbfrdsjxmd50q63"; + sha256 = "0ywn0m11xm80pg6zrzq3sdj3vmzg3qs6baqnvfmkd377ly8n3van"; authors = [ "Lukas Lueg " ]; @@ -740,9 +740,9 @@ rec { }; "bumpalo" = rec { crateName = "bumpalo"; - version = "3.16.0"; + version = "3.17.0"; edition = "2021"; - sha256 = "0b015qb4knwanbdlp1x48pkb4pm57b8gidbhhhxr900q2wb6fabr"; + sha256 = "1gxxsn2fsjmv03g8p3m749mczv2k4m8xspifs5l7bcx0vx3gna0n"; authors = [ "Nick Fitzgerald " ]; @@ -767,24 +767,25 @@ rec { }; "bytes" = rec { crateName = "bytes"; - version = "1.9.0"; + version = "1.10.0"; edition = "2018"; - sha256 = "16ykzx24v1x4f42v2lxyvlczqhdfji3v7r4ghwckpwijzvb1hn9j"; + sha256 = "1ybcmdrlxrsrn7lnl0xrjg10j7zb4r01jjs5b2sqhrcwh62aq7gn"; authors = [ "Carl Lerche " "Sean McArthur " ]; features = { "default" = [ "std" ]; + "extra-platforms" = [ "dep:extra-platforms" ]; "serde" = [ "dep:serde" ]; }; resolvedDefaultFeatures = [ "default" "std" ]; }; "cc" = rec { crateName = "cc"; - version = "1.2.10"; + version = "1.2.15"; edition = "2018"; - sha256 = "0aaj2ivamhfzhgb9maasnfkh03s2mzhzpzwrkghgzbkfnv5qy80k"; + sha256 = "1bq1c3qbarhx3z10bfpk8df2kq2akx7k0v68sm1z8xx5xrcy4dn7"; authors = [ "Alex Crichton " ]; @@ -829,9 +830,9 @@ rec { }; "chrono" = rec { crateName = "chrono"; - version = "0.4.39"; + version = "0.4.40"; edition = "2021"; - sha256 = "09g8nf409lb184kl9j4s85k0kn8wzgjkp5ls9zid50b886fwqdky"; + sha256 = "0z334kqnvq5zx6xsq1k6zk8g9z14fgk2w3vkn4n13pvi3mhn8y8s"; dependencies = [ { name = "android-tzdata"; @@ -858,8 +859,8 @@ rec { usesDefaultFeatures = false; } { - name = "windows-targets"; - packageId = "windows-targets"; + name = "windows-link"; + packageId = "windows-link"; optional = true; target = { target, features }: (target."windows" or false); } @@ -883,17 +884,17 @@ rec { "unstable-locales" = [ "pure-rust-locales" ]; "wasm-bindgen" = [ "dep:wasm-bindgen" ]; "wasmbind" = [ "wasm-bindgen" "js-sys" ]; - "winapi" = [ "windows-targets" ]; - "windows-targets" = [ "dep:windows-targets" ]; + "winapi" = [ "windows-link" ]; + "windows-link" = [ "dep:windows-link" ]; }; - resolvedDefaultFeatures = [ "alloc" "android-tzdata" "clock" "iana-time-zone" "now" "serde" "std" "winapi" "windows-targets" ]; + resolvedDefaultFeatures = [ "alloc" "android-tzdata" "clock" "iana-time-zone" "now" "serde" "std" "winapi" "windows-link" ]; }; "clap" = rec { crateName = "clap"; - version = "4.5.27"; + version = "4.5.31"; edition = "2021"; crateBin = []; - sha256 = "15j720q1z953h1qxm2q5nwkmyhhl2vb45v017rqlhjrbk12h36vn"; + sha256 = "0ryp6xjbdc9cbjjkafjl35j91pvv0ykislwqhr537bi9hkcv0yq2"; dependencies = [ { name = "clap_builder"; @@ -922,6 +923,7 @@ rec { "unicode" = [ "clap_builder/unicode" ]; "unstable-doc" = [ "clap_builder/unstable-doc" "derive" ]; "unstable-ext" = [ "clap_builder/unstable-ext" ]; + "unstable-markdown" = [ "clap_derive/unstable-markdown" ]; "unstable-styles" = [ "clap_builder/unstable-styles" ]; "unstable-v5" = [ "clap_builder/unstable-v5" "clap_derive?/unstable-v5" "deprecated" ]; "usage" = [ "clap_builder/usage" ]; @@ -931,9 +933,9 @@ rec { }; "clap_builder" = rec { crateName = "clap_builder"; - version = "4.5.27"; + version = "4.5.31"; edition = "2021"; - sha256 = "1mys7v60lys8zkwpk49wif9qnja9zamm4dnrsbj40wdmni78h9hv"; + sha256 = "0qyqd6kfcs41x29a95n15744jyv2v07srvwi6z9g7q3jl35y12am"; dependencies = [ { name = "anstream"; @@ -970,9 +972,9 @@ rec { }; "clap_derive" = rec { crateName = "clap_derive"; - version = "4.5.24"; + version = "4.5.28"; edition = "2021"; - sha256 = "131ih3dm76srkbpfx7zfspp9b556zgzj31wqhl0ji2b39lcmbdsl"; + sha256 = "1vgigkhljp3r8r5lwdrn1ij93nafmjwh8cx77nppb9plqsaysk5z"; procMacro = true; dependencies = [ { @@ -989,12 +991,13 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" ]; } ]; features = { "raw-deprecated" = [ "deprecated" ]; + "unstable-markdown" = [ "dep:pulldown-cmark" "dep:anstyle" ]; "unstable-v5" = [ "deprecated" ]; }; resolvedDefaultFeatures = [ "default" ]; @@ -1200,9 +1203,9 @@ rec { }; "cpufeatures" = rec { crateName = "cpufeatures"; - version = "0.2.16"; + version = "0.2.17"; edition = "2018"; - sha256 = "1hy466fkhxjbb16i7na95wz8yr14d0kd578pwzj5lbkz14jh5f0n"; + sha256 = "10023dnnaghhdl70xcds12fsx2b966sxbxjq5sxs49mvxqw5ivar"; authors = [ "RustCrypto Developers" ]; @@ -1210,21 +1213,25 @@ rec { { name = "libc"; packageId = "libc"; + usesDefaultFeatures = false; target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "aarch64-linux-android"); } { name = "libc"; packageId = "libc"; + usesDefaultFeatures = false; target = { target, features }: (("aarch64" == target."arch" or null) && ("linux" == target."os" or null)); } { name = "libc"; packageId = "libc"; + usesDefaultFeatures = false; target = { target, features }: (("aarch64" == target."arch" or null) && ("apple" == target."vendor" or null)); } { name = "libc"; packageId = "libc"; + usesDefaultFeatures = false; target = { target, features }: (("loongarch64" == target."arch" or null) && ("linux" == target."os" or null)); } ]; @@ -1344,7 +1351,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" "extra-traits" ]; } ]; @@ -1374,7 +1381,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; @@ -1400,7 +1407,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" "visit-mut" ]; } ]; @@ -1487,7 +1494,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; features = { @@ -1545,9 +1552,9 @@ rec { }; "dyn-clone" = rec { crateName = "dyn-clone"; - version = "1.0.17"; + version = "1.0.18"; edition = "2018"; - sha256 = "09cig7dgg6jnqa10p4233nd8wllbjf4ffsw7wj0m4lwa5w3z0vhd"; + sha256 = "0dag651ph5q0mcax74y4m1k9hyl737q1v03isck3mzxsfd7g9vpy"; libName = "dyn_clone"; authors = [ "David Tolnay " @@ -1580,13 +1587,13 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; devDependencies = [ { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" ]; } ]; @@ -1598,9 +1605,9 @@ rec { }; "either" = rec { crateName = "either"; - version = "1.13.0"; - edition = "2018"; - sha256 = "1w2c1mybrd7vljyxk77y9f4w9dyjrmp3yp82mk7bcm8848fazcb0"; + version = "1.14.0"; + edition = "2021"; + sha256 = "17fs0r9mnj632k4ff8c6zyq80zqvqb0wa9cgsyd5iprd159l74dp"; authors = [ "bluss" ]; @@ -1688,7 +1695,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; features = { @@ -1696,9 +1703,9 @@ rec { }; "equivalent" = rec { crateName = "equivalent"; - version = "1.0.1"; + version = "1.0.2"; edition = "2015"; - sha256 = "1malmx5f4lkfvqasz319lq6gb3ddg19yzf9s8cykfsgzdmyq0hsl"; + sha256 = "03swzqznragy8n0x31lqc78g2af054jwivp7lkrbrc0khz74lyl7"; }; "event-listener" = rec { @@ -2074,7 +2081,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" ]; } ]; @@ -2294,9 +2301,9 @@ rec { }; "git2" = rec { crateName = "git2"; - version = "0.19.0"; + version = "0.20.0"; edition = "2018"; - sha256 = "091pv7866z1qjq800ys0wjv8n73wrv7fqdrddxcnq36w8lzbf0xr"; + sha256 = "1zwav0r76njd9chqxh7wj4r4zfn08nzsisrg05liyd6cjf4piniz"; authors = [ "Josh Triplett " "Alex Crichton " @@ -2324,12 +2331,11 @@ rec { } ]; features = { - "default" = [ "ssh" "https" "ssh_key_from_memory" ]; + "default" = [ "ssh" "https" ]; "https" = [ "libgit2-sys/https" "openssl-sys" "openssl-probe" ]; "openssl-probe" = [ "dep:openssl-probe" ]; "openssl-sys" = [ "dep:openssl-sys" ]; "ssh" = [ "libgit2-sys/ssh" ]; - "ssh_key_from_memory" = [ "libgit2-sys/ssh_key_from_memory" ]; "vendored-libgit2" = [ "libgit2-sys/vendored" ]; "vendored-openssl" = [ "openssl-sys/vendored" "libgit2-sys/vendored-openssl" ]; "zlib-ng-compat" = [ "libgit2-sys/zlib-ng-compat" ]; @@ -2648,9 +2654,9 @@ rec { }; "httparse" = rec { crateName = "httparse"; - version = "1.9.5"; + version = "1.10.0"; edition = "2018"; - sha256 = "0ip9v8m9lvgvq1lznl31wvn0ch1v254na7lhid9p29yx9rbx6wbx"; + sha256 = "0ahyh51rrpizd7m1jy5p791xfwn9cnmv0snd2q528h3i9vghimzj"; authors = [ "Sean McArthur " ]; @@ -2671,9 +2677,9 @@ rec { }; "hyper" = rec { crateName = "hyper"; - version = "1.5.2"; + version = "1.6.0"; edition = "2021"; - sha256 = "1q7akfb443yrjzkmnnbp2vs8zi15hgbk466rr4y144v4ppabhvr5"; + sha256 = "103ggny2k31z0iq2gzwk2vbx601wx6xkpjpxn40hr3p3b0b5fayc"; authors = [ "Sean McArthur " ]; @@ -3573,7 +3579,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; @@ -5015,7 +5021,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "extra-traits" ]; } ]; @@ -5052,7 +5058,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "extra-traits" ]; } ]; @@ -5323,9 +5329,9 @@ rec { }; "libc" = rec { crateName = "libc"; - version = "0.2.169"; + version = "0.2.170"; edition = "2021"; - sha256 = "02m253hs8gw0m1n8iyrsc4n15yzbqwhddi7w1l0ds7i92kdsiaxm"; + sha256 = "0a38q3avb6r6azxb7yfbjly5sbr8926z6c4sryyp33rgrf03cnw7"; authors = [ "The Rust Project Developers" ]; @@ -5339,10 +5345,10 @@ rec { }; "libgit2-sys" = rec { crateName = "libgit2-sys"; - version = "0.17.0+1.8.1"; + version = "0.18.0+1.9.0"; edition = "2018"; links = "git2"; - sha256 = "093jxfl2i9vxdlgf7vk9d040sjwy0nq4fid640y7qix6m0k26iqh"; + sha256 = "1v7zcw1kky338grxs70y7fwpy70g846bpa5yzvl9f5bybr31g8g1"; libName = "libgit2_sys"; libPath = "lib.rs"; authors = [ @@ -5425,14 +5431,13 @@ rec { }; "litemap" = rec { crateName = "litemap"; - version = "0.7.4"; + version = "0.7.5"; edition = "2021"; - sha256 = "012ili3vppd4952sh6y3qwcd0jkd0bq2qpr9h7cppc8sj11k7saf"; + sha256 = "0mi8ykav0s974ps79p438x04snh0cdb7lc864b42jws5375i9yr3"; authors = [ "The ICU4X Project Developers" ]; features = { - "bench" = [ "serde" ]; "databake" = [ "dep:databake" ]; "default" = [ "alloc" ]; "serde" = [ "dep:serde" ]; @@ -5471,9 +5476,9 @@ rec { }; "log" = rec { crateName = "log"; - version = "0.4.25"; + version = "0.4.26"; edition = "2021"; - sha256 = "17ydv5zhfv1zzygy458bmg3f3jx1vfziv9d74817w76yhfqgbjq4"; + sha256 = "17mvchkvhnm2zxyfagh2g9p861f0qx2g1sg2v14sww9nvjry5g9h"; authors = [ "The Rust Project Developers" ]; @@ -5540,9 +5545,9 @@ rec { }; "miniz_oxide" = rec { crateName = "miniz_oxide"; - version = "0.8.3"; + version = "0.8.5"; edition = "2021"; - sha256 = "093r1kd1r9dyf05cbvsibgmh96pxp3qhzfvpd6f15bpggamjqh5q"; + sha256 = "1r9whkc61xri7m1cn4rjrjlhr32ab29nvfxcbg0ri5mmpgg08glf"; authors = [ "Frommi " "oyvindln " @@ -5729,9 +5734,9 @@ rec { }; "once_cell" = rec { crateName = "once_cell"; - version = "1.20.2"; + version = "1.20.3"; edition = "2021"; - sha256 = "0xb7rw1aqr7pa4z3b00y7786gyf8awx2gca3md73afy76dzgwq8j"; + sha256 = "0bp6rgrsri1vfdcahsimk08zdiilv14ppgcnpbiw8hqyp2j64m4l"; authors = [ "Aleksey Kladov " ]; @@ -5748,9 +5753,9 @@ rec { }; "openssl" = rec { crateName = "openssl"; - version = "0.10.70"; + version = "0.10.71"; edition = "2021"; - sha256 = "1ij21wa5hzip17v91gl9x3n4h0am10ivq065andqrfx8cvhv9kv1"; + sha256 = "1kgvk6wi57bacn6b5z6b57vkyd2j85s6vyxhvj7jbkcqd861652y"; authors = [ "Steven Fackler " ]; @@ -5810,7 +5815,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" ]; } ]; @@ -5829,10 +5834,10 @@ rec { }; "openssl-sys" = rec { crateName = "openssl-sys"; - version = "0.9.105"; + version = "0.9.106"; edition = "2021"; links = "openssl"; - sha256 = "1p59q259h73w58fgajyd588hzaj9r3vp3jy78xlqsnp09fwda8lb"; + sha256 = "1pbwfy5x8znchsbqf7rnkdbdhw1fis5hpx3940y9xhqwh6lixdlb"; build = "build/main.rs"; libName = "openssl_sys"; authors = [ @@ -6275,9 +6280,9 @@ rec { }; "pem" = rec { crateName = "pem"; - version = "3.0.4"; + version = "3.0.5"; edition = "2021"; - sha256 = "1blgcn17wc41yxdzrxlsir5m6ds8r13ijmpsqda6lwwhwmjr6icf"; + sha256 = "1wwfk8sbyi9l18fvvn6z9p2gy7v7q7wimbhvrvixxj8a8zl3ibrq"; authors = [ "Jonathan Creekmore " ]; @@ -6408,7 +6413,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; features = { @@ -6451,9 +6456,9 @@ rec { }; "pin-project" = rec { crateName = "pin-project"; - version = "1.1.8"; + version = "1.1.9"; edition = "2021"; - sha256 = "05jr3xfy1spgmz3q19l4mmvv46vgvkvsgphamifx7x45swxcabhy"; + sha256 = "0z9jgkcqg00fxjrbbcjlkiy940hbf5gp5gq6jiq0gzki2hgfgqnz"; libName = "pin_project"; dependencies = [ { @@ -6465,9 +6470,9 @@ rec { }; "pin-project-internal" = rec { crateName = "pin-project-internal"; - version = "1.1.8"; + version = "1.1.9"; edition = "2021"; - sha256 = "1yzfhf6l27nhzv7r5hfrwj2g0x7xmfhgil19fj9am4srqp06csnm"; + sha256 = "0rzsqcf4mdrpx39w6wvw3wjjc3y9mgmy6irwnq548l5xwpk5ks7n"; procMacro = true; libName = "pin_project_internal"; dependencies = [ @@ -6481,7 +6486,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; usesDefaultFeatures = false; features = [ "parsing" "printing" "clone-impls" "proc-macro" "full" "visit-mut" ]; } @@ -6767,9 +6772,9 @@ rec { }; "redox_syscall" = rec { crateName = "redox_syscall"; - version = "0.5.8"; + version = "0.5.9"; edition = "2021"; - sha256 = "0d48ylyd6gsamynyp257p6n2zl4dw2fhnn5z9y3nhgpri6rn5a03"; + sha256 = "0bvykdad226m3nqzkbb95piglyfn7m2yxp4r10m9xr4q7qr6idc2"; libName = "syscall"; authors = [ "Jeremy Soller " @@ -6979,13 +6984,10 @@ rec { }; "ring" = rec { crateName = "ring"; - version = "0.17.8"; + version = "0.17.11"; edition = "2021"; - links = "ring_core_0_17_8"; - sha256 = "03fwlb1ssrmfxdckvqv033pfmk01rhx9ynwi7r186dcfcp5s8zy1"; - authors = [ - "Brian Smith " - ]; + links = "ring_core_0_17_11_"; + sha256 = "0wzyhdbf71ndd14kkpyj2a6nvczvli2mndzv2al7r26k4yp4jlys"; dependencies = [ { name = "cfg-if"; @@ -7000,14 +7002,13 @@ rec { name = "libc"; packageId = "libc"; usesDefaultFeatures = false; - target = { target, features }: ((("android" == target."os" or null) || ("linux" == target."os" or null)) && (("aarch64" == target."arch" or null) || ("arm" == target."arch" or null))); + target = { target, features }: ((("aarch64" == target."arch" or null) && ("little" == target."endian" or null)) && ("apple" == target."vendor" or null) && (("ios" == target."os" or null) || ("macos" == target."os" or null) || ("tvos" == target."os" or null) || ("visionos" == target."os" or null) || ("watchos" == target."os" or null))); } { - name = "spin"; - packageId = "spin"; + name = "libc"; + packageId = "libc"; usesDefaultFeatures = false; - target = { target, features }: (("aarch64" == target."arch" or null) || ("arm" == target."arch" or null) || ("x86" == target."arch" or null) || ("x86_64" == target."arch" or null)); - features = [ "once" ]; + target = { target, features }: (((("aarch64" == target."arch" or null) && ("little" == target."endian" or null)) || (("arm" == target."arch" or null) && ("little" == target."endian" or null))) && (("android" == target."os" or null) || ("linux" == target."os" or null))); } { name = "untrusted"; @@ -7016,7 +7017,7 @@ rec { { name = "windows-sys"; packageId = "windows-sys 0.52.0"; - target = { target, features }: (("aarch64" == target."arch" or null) && ("windows" == target."os" or null)); + target = { target, features }: ((("aarch64" == target."arch" or null) && ("little" == target."endian" or null)) && ("windows" == target."os" or null)); features = [ "Win32_Foundation" "Win32_System_Threading" ]; } ]; @@ -7121,7 +7122,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" "parsing" "extra-traits" "visit" "visit-mut" ]; } { @@ -7171,9 +7172,9 @@ rec { }; "rustls" = rec { crateName = "rustls"; - version = "0.23.21"; + version = "0.23.23"; edition = "2021"; - sha256 = "1f75gicypi40bdq20h1rglwaapr3ifnchgf697clkxibc0j7ja4g"; + sha256 = "15gk2bmry78cps3ya38a7cn4jxc36xv1r7gndr0fbz40qjc6qya7"; dependencies = [ { name = "log"; @@ -7229,6 +7230,7 @@ rec { "hashbrown" = [ "dep:hashbrown" ]; "log" = [ "dep:log" ]; "logging" = [ "log" ]; + "prefer-post-quantum" = [ "aws_lc_rs" ]; "read_buf" = [ "rustversion" "std" ]; "ring" = [ "dep:ring" "webpki/ring" ]; "rustversion" = [ "dep:rustversion" ]; @@ -7323,9 +7325,9 @@ rec { }; "rustls-pki-types" = rec { crateName = "rustls-pki-types"; - version = "1.10.1"; + version = "1.11.0"; edition = "2021"; - sha256 = "0dqb3d0cbld1yrp084wyzgw6yk3qzzic8l5pbs1b6bcjzzk4ggyj"; + sha256 = "0755isc0x5iymm3wsn59s0ad1pm9zidw7p34qfqlsjsac9jf4z4i"; libName = "rustls_pki_types"; features = { "default" = [ "alloc" ]; @@ -7382,9 +7384,9 @@ rec { }; "ryu" = rec { crateName = "ryu"; - version = "1.0.18"; + version = "1.0.19"; edition = "2018"; - sha256 = "17xx2s8j1lln7iackzd9p0sv546vjq71i779gphjq923vjh5pjzk"; + sha256 = "1pg6a0b80m32ahygsdkwzs3bfydk4snw695akz4rqxj4lv8a58bf"; authors = [ "David Tolnay " ]; @@ -7419,9 +7421,9 @@ rec { }; "schemars" = rec { crateName = "schemars"; - version = "0.8.21"; + version = "0.8.22"; edition = "2021"; - sha256 = "14lyx04388wgbilgcm0nl75w6359nw16glswfqv7x2rpi9329h09"; + sha256 = "05an9nbi18ynyxv1rjmwbg6j08j0496hd64mjggh53mwp3hjmgrz"; authors = [ "Graham Esau " ]; @@ -7485,9 +7487,9 @@ rec { }; "schemars_derive" = rec { crateName = "schemars_derive"; - version = "0.8.21"; + version = "0.8.22"; edition = "2021"; - sha256 = "03ncmrkldfmdc9skmlyysx2vqdlyyz91r5mbavw77zwaay4fbvmi"; + sha256 = "0kakyzrp5801s4i043l4ilv96lzimnlh01pap958h66n99w6bqij"; procMacro = true; authors = [ "Graham Esau " @@ -7507,7 +7509,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "extra-traits" ]; } ]; @@ -7683,9 +7685,9 @@ rec { }; "serde" = rec { crateName = "serde"; - version = "1.0.217"; + version = "1.0.218"; edition = "2018"; - sha256 = "0w2ck1p1ajmrv1cf51qf7igjn2nc51r0izzc00fzmmhkvxjl5z02"; + sha256 = "0q6z4bnrwagnms0bds4886711l6mc68s979i49zd3xnvkg8wkpz8"; authors = [ "Erick Tryzelaar " "David Tolnay " @@ -7738,9 +7740,9 @@ rec { }; "serde_derive" = rec { crateName = "serde_derive"; - version = "1.0.217"; + version = "1.0.218"; edition = "2015"; - sha256 = "180r3rj5gi5s1m23q66cr5wlfgc5jrs6n1mdmql2njnhk37zg6ss"; + sha256 = "0azqd74xbpb1v5vf6w1fdbgmwp39ljjfj25cib5rgrzlj7hh75gh"; procMacro = true; authors = [ "Erick Tryzelaar " @@ -7761,7 +7763,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; usesDefaultFeatures = false; features = [ "clone-impls" "derive" "parsing" "printing" "proc-macro" ]; } @@ -7793,7 +7795,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; usesDefaultFeatures = false; features = [ "clone-impls" "derive" "parsing" "printing" ]; } @@ -7802,9 +7804,9 @@ rec { }; "serde_json" = rec { crateName = "serde_json"; - version = "1.0.137"; + version = "1.0.139"; edition = "2021"; - sha256 = "0sql0gndrw2miw440sl0m2lrk6bsxyxrmlnpma52k6dzd9pgn34k"; + sha256 = "19kj3irpa22a7djz1jaf4wambzh7psiqa6zyafqnb76crhx6ry24"; authors = [ "Erick Tryzelaar " "David Tolnay " @@ -8032,9 +8034,9 @@ rec { }; "smallvec" = rec { crateName = "smallvec"; - version = "1.13.2"; + version = "1.14.0"; edition = "2018"; - sha256 = "0rsw5samawl3wsw6glrsb127rx6sh89a8wyikicw6dkdcjd1lpiw"; + sha256 = "1z8wpr53x6jisklqhkkvkgyi8s5cn69h2d2alhqfxahzxwiq7kvz"; authors = [ "The Servo Project Developers" ]; @@ -8042,6 +8044,7 @@ rec { "arbitrary" = [ "dep:arbitrary" ]; "const_new" = [ "const_generics" ]; "drain_keep_rest" = [ "drain_filter" ]; + "malloc_size_of" = [ "dep:malloc_size_of" ]; "serde" = [ "dep:serde" ]; }; resolvedDefaultFeatures = [ "const_generics" "const_new" ]; @@ -8165,7 +8168,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" ]; } ]; @@ -8199,31 +8202,6 @@ rec { }; resolvedDefaultFeatures = [ "all" ]; }; - "spin" = rec { - crateName = "spin"; - version = "0.9.8"; - edition = "2015"; - sha256 = "0rvam5r0p3a6qhc18scqpvpgb3ckzyqxpgdfyjnghh8ja7byi039"; - authors = [ - "Mathijs van de Nes " - "John Ericson " - "Joshua Barretto " - ]; - features = { - "barrier" = [ "mutex" ]; - "default" = [ "lock_api" "mutex" "spin_mutex" "rwlock" "once" "lazy" "barrier" ]; - "fair_mutex" = [ "mutex" ]; - "lazy" = [ "once" ]; - "lock_api" = [ "lock_api_crate" ]; - "lock_api_crate" = [ "dep:lock_api_crate" ]; - "portable-atomic" = [ "dep:portable-atomic" ]; - "portable_atomic" = [ "portable-atomic" ]; - "spin_mutex" = [ "mutex" ]; - "ticket_mutex" = [ "mutex" ]; - "use_ticket_mutex" = [ "mutex" "ticket_mutex" ]; - }; - resolvedDefaultFeatures = [ "once" ]; - }; "stable_deref_trait" = rec { crateName = "stable_deref_trait"; version = "1.2.0"; @@ -8541,7 +8519,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; @@ -8670,7 +8648,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; devDependencies = [ @@ -8755,7 +8733,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "parsing" "extra-traits" ]; } ]; @@ -8808,11 +8786,11 @@ rec { }; resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "full" "parsing" "printing" "proc-macro" "quote" ]; }; - "syn 2.0.96" = rec { + "syn 2.0.98" = rec { crateName = "syn"; - version = "2.0.96"; + version = "2.0.98"; edition = "2021"; - sha256 = "102wk3cgawimi3i0q3r3xw3i858zkyingg6y7gsxfy733amsvl6m"; + sha256 = "1cfk0qqbl4fbr3dz61nw21d5amvl4rym6nxwnfsw43mf90d7y51n"; authors = [ "David Tolnay " ]; @@ -8875,7 +8853,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; usesDefaultFeatures = false; features = [ "derive" "parsing" "printing" "clone-impls" "visit" "extra-traits" ]; } @@ -8942,7 +8920,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; @@ -8968,7 +8946,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; @@ -9323,7 +9301,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" ]; } ]; @@ -9483,9 +9461,9 @@ rec { }; "toml_edit" = rec { crateName = "toml_edit"; - version = "0.22.22"; + version = "0.22.24"; edition = "2021"; - sha256 = "1xf7sxfzmnc45f75x302qrn5aph52vc8w226v59yhrm211i8vr2a"; + sha256 = "0x0lgp70x5cl9nla03xqs5vwwwlrwmd0djkdrp3h3lpdymgpkd0p"; authors = [ "Andronik Ordian " "Ed Page " @@ -9858,7 +9836,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; usesDefaultFeatures = false; features = [ "full" "parsing" "printing" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ]; } @@ -10194,10 +10172,9 @@ rec { }; "typenum" = rec { crateName = "typenum"; - version = "1.17.0"; + version = "1.18.0"; edition = "2018"; - sha256 = "09dqxv69m9lj9zvv6xw5vxaqx15ps0vxyy5myg33i0kbqvq0pzs2"; - build = "build/main.rs"; + sha256 = "0gwgz8n91pv40gabrr1lzji0b0hsmg0817njpy397bq7rvizzk0x"; authors = [ "Paho Lurie-Gregg " "Andre Bogus " @@ -10223,9 +10200,9 @@ rec { }; "unicode-ident" = rec { crateName = "unicode-ident"; - version = "1.0.15"; + version = "1.0.17"; edition = "2018"; - sha256 = "0hr2b72jf9zb5avd2k6p7rbwkjjgl21vdhd90114kihp5ghqik8i"; + sha256 = "1gpdxvaskz04whays5igg4zyca0dl7vdy2arsfxb13kpjcx4gqh0"; libName = "unicode_ident"; authors = [ "David Tolnay " @@ -10505,7 +10482,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "full" ]; } { @@ -10561,7 +10538,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "visit" "visit-mut" "full" ]; } { @@ -11365,6 +11342,17 @@ rec { }; resolvedDefaultFeatures = [ "default" ]; }; + "windows-link" = rec { + crateName = "windows-link"; + version = "0.1.0"; + edition = "2021"; + sha256 = "1qr0srnkw148wbrws3726pm640h2vxgcdlxn0cxpbcg27irzvk3d"; + libName = "windows_link"; + authors = [ + "Microsoft" + ]; + + }; "windows-sys 0.52.0" = rec { crateName = "windows-sys"; version = "0.52.0"; @@ -12007,9 +11995,9 @@ rec { }; "winnow" = rec { crateName = "winnow"; - version = "0.6.24"; + version = "0.7.3"; edition = "2021"; - sha256 = "0fm0z1gk9wb47s1jhh889isz657kavd1yb3fhzbjmi657icimmy8"; + sha256 = "1c9bmhpdwbdmll6b4l6skabz0296dchnmnxw84hh2y3ggyllwzqf"; dependencies = [ { name = "memchr"; @@ -12132,7 +12120,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "fold" ]; } { @@ -12205,16 +12193,16 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; } ]; }; "zerofrom" = rec { crateName = "zerofrom"; - version = "0.1.5"; + version = "0.1.6"; edition = "2021"; - sha256 = "0bnd8vjcllzrvr3wvn8x14k2hkrpyy1fm3crkn2y3plmr44fxwyg"; + sha256 = "19dyky67zkjichsb7ykhv0aqws3q0jfvzww76l66c19y6gh45k2h"; authors = [ "Manish Goregaokar " ]; @@ -12234,9 +12222,9 @@ rec { }; "zerofrom-derive" = rec { crateName = "zerofrom-derive"; - version = "0.1.5"; + version = "0.1.6"; edition = "2021"; - sha256 = "022q55phhb44qbrcfbc48k0b741fl8gnazw3hpmmndbx5ycfspjr"; + sha256 = "00l5niw7c1b0lf1vhvajpjmcnbdp2vn96jg4nmkhq2db0rp5s7np"; procMacro = true; libName = "zerofrom_derive"; authors = [ @@ -12253,7 +12241,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "fold" ]; } { @@ -12337,7 +12325,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.96"; + packageId = "syn 2.0.98"; features = [ "extra-traits" ]; } ]; diff --git a/tests/templates/kuttl/authorizer/02-install-opa.yaml.j2 b/tests/templates/kuttl/authorizer/02-install-opa.yaml.j2 index 97f1aa67..75c75f55 100644 --- a/tests/templates/kuttl/authorizer/02-install-opa.yaml.j2 +++ b/tests/templates/kuttl/authorizer/02-install-opa.yaml.j2 @@ -11,15 +11,15 @@ data: default allow = false - allow { + allow if { input.authenticationResult.identity == "alice" } - allow { + allow if { input.authenticationResult.identity == "admin" } - allow { + allow if { input.authenticationResult.identity == "druid_system" } ---