Skip to content

Commit 6da0267

Browse files
maltesanderclaudeadwk67siegfriedweber
authored
feat: remove product config & clean up (#716)
* chore: Point stackable-operator at smooth-operator branch Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: Vendor framework::role_utils (mirrors trino) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: Vendor Hadoop XML / Java properties writer in framework Replaces product-config's writer module. Lives in framework::writer and renders hive-site.xml (Hadoop XML) and security.properties (Java properties), matching product-config's output. Also scaffolds controller/build with placeholders for the per-file builders. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: Add security.properties builder Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: Add hive-site.xml builder preserving product-config output Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: Add core-site.xml builder Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor!: Replace product-config validation/serialization with typed builders Reshape ValidatedCluster (name, image, cluster_config, role_group_configs) and validate via framework::role_utils::with_validated_config. Build hive-site.xml, security.properties and core-site.xml via dedicated builders + the vendored writer. Switch HiveConfigOverrides to v2 KeyValueConfigOverrides (key-by-key Merge). product-config is now only referenced by the crd Configuration impl. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore!: Drop the direct product-config dependency Remove the Configuration impl for MetaStoreConfigFragment and the product-config crate from the workspace. product-config now only appears transitively via stackable-operator. The deploy/config-spec packaging is left in place to mirror trino-operator (it is operator-templating-managed infrastructure). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: Apply rustfmt and add CHANGELOG entry for product-config removal Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor: Decouple config-file builders from the HiveCluster spec Resolve the JDBC driver, Kerberos hive-site entries and the core-site decision into ValidatedClusterConfig during validation, so hive_site/core_site builders consume only ValidatedClusterConfig. config_map keeps an explicit `owner: &HiveCluster` solely for the ObjectMeta owner reference. Rename the reconcile binding `validated` -> `validated_cluster`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix: move parameter order * refactor: move discovery & product logging * chore: regenerate und linters * refactor: use ConfigFileName enum where possible * chore: regenerate nix * chore: adapt changelog * docs: remove product config from cli & env * refactor: consume the config-file writer from stackable-operator Replace the vendored java-properties/Hadoop-XML writer (rust/operator-binary/src/framework/writer.rs) with stackable_operator::v2::config_file_writer, which hosts the same code (moved there verbatim via operator-rs #1217 on the smooth-operator branch; hive's copy was byte-identical to hdfs's, the canonical source). Drop the now-unused java-properties and xml dependencies. The framework module now only contains role_utils. The base dependency tag moves from stackable-operator-0.111.0 to 0.111.1, matching the other operators; cargo only substitutes a [patch] whose package version matches, and the smooth-operator branch carries 0.111.1. No behaviour change; rendered output is byte-identical by construction (same code, new home). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * refactor: add namespace, uid to ValidatedCluster * refactor: use non optional properties writer * regenerate nix * fix: remove obsolete resolved_product_image parameter from build_discovery_configmap (provided in ValidatedCluster) * fix: remove unused errors & cleanup * refactor: use upstream EnvVarSet * fix: bump stackable-operator dependency for non optional KeyValueConfigOverrides * fix: update hashes * fix: remove leftover product config properties * fix: remove product-config references from comments * fix: remove config and move to build mod * fix: remove double entry * refactor: use get_name & get_namespace v2 helpers * refactor: use upstream v2 with_validated_config and v2 JVM apply_to * refactor: remove vendored framework/role_utils module * refactor: drop redundant HiveCluster::merged_config * refactor: use v2 ownerref, add HasName and HasUid traits. * refactor: use RoleGroupName, use v2 infallible labels, ResourceNames and reduce usage of RoleGroupRef. * chore: regenerate hashes * fix(tests): shorten rolegroup names * refactor: consolidate v2 logging, add vector tests, adapt vector.toml * refactor: use v2 cluster resources and listener pvc * refactor: move remaining resources to builder * refactor: add hdfssite to ConfigFileName, clean up constants, share object_meta builder * fix(test): adapt newline change * fix(tests): consolite example cluster defintion * refactor: move k8s resources * fix: use build structure for pdb instead of mutating. * refactor: remove remaining raw cluster references in resource builders * chore: bump stackable-operator * chore: switch to ResourceName metrics service helper * Revert "fix(tests): shorten rolegroup names" This reverts commit 5224d09. * refactor: introduce ValidatedMetastoreConfig; caluclate vector toml in build_config_map * refactor: use Port type * refactor: switch to Listener type * refactor: switch to v2 ConfigMapName, SecretName, ListenerName in CRD * Apply suggestions from code review Co-authored-by: maltesander <malte.sander.it@gmail.com> Co-authored-by: Siegfried Weber <mail@siegfriedweber.net> * review: remove test * chore: remove letftover * fix(docs): remove redudant module and function headers * chore: remove unused error variant * refactor: ValidatedClusterConfig::needs_kerberos_core_site * refactor: compute kerberos_config in build step * refactor: remove kerberos build properties from ValidatedClusterConfig * refactor: drop cluster info from validate call * refactor: split opa config into deref and build steps * chore: bump dependencies * fix: adapt to optional replicas * Update rust/operator-binary/src/controller.rs Co-authored-by: Siegfried Weber <mail@siegfriedweber.net> * docs: fix opensearch / upstream references * fix: drop hardcoded hive-site.xml, remove duplicated hive port * refactor: drop dead chroot discovery code path * refactor: use strict v2 VolumeName/ContainerName types * fix: use extend instead of loop + insert * chore: bump to stackable-operator 0.112.0 * bump anyhow to 1.0.103 due to RUSTSEC advisory, linting * regenerate nix --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.tech> Co-authored-by: Siegfried Weber <mail@siegfriedweber.net>
1 parent f006533 commit 6da0267

48 files changed

Lines changed: 3887 additions & 3071 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ All notable changes to this project will be documented in this file.
2020
- Internal operator refactoring: introduce dereference() and validate() steps in the reconciler ([#707]).
2121
- test: Bump vector-aggregator to 0.55.0, replace /graphql call with gRPC call ([#713]).
2222
- Deprecated support for `4.0.1` ([#711]).
23+
- BREAKING: Removed product-config machinery. This is a breaking change in terms of configuration.
24+
Users relying on the product-config `properties.yaml` file have to set these properties via the CRD ([#716]).
2325

2426
### Removed
2527

@@ -32,6 +34,7 @@ All notable changes to this project will be documented in this file.
3234
[#707]: https://github.com/stackabletech/hive-operator/pull/707
3335
[#711]: https://github.com/stackabletech/hive-operator/pull/711
3436
[#713]: https://github.com/stackabletech/hive-operator/pull/713
37+
[#716]: https://github.com/stackabletech/hive-operator/pull/716
3538

3639
## [26.3.0] - 2026-03-16
3740

0 commit comments

Comments
 (0)