Skip to content

Commit 722c0a0

Browse files
maltesanderclaudeadwk67
authored
feat: remove product config & clean up (#830)
* chore: switch stackable-operator to smooth-operator branch Add a [patch] override redirecting stackable-operator to the smooth-operator branch of operator-rs (mirroring trino/hdfs operators), in preparation for removing product-config. No source changes were required; the framework API surface used by druid-operator is unchanged between the 0.111.0 tag and the smooth-operator branch. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: vendor java-properties writer (no product-config) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: typed runtime/security properties builders with re-encoded defaults Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor: build config from ValidatedCluster instead of product-config Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: prune dead error variants after config_map extraction Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: remove product-config dependency and config-spec Removes the last direct uses of the product-config crate now that validation and config-map rendering compute everything from first principles. Deletes the dead `build_role_properties` method and the five `impl Configuration` blocks, makes `common_compute_files` infallible, and replaces the `Configuration`-based `.erase()` in `get_role` with a local `erase_config` helper that erases the typed config to `()`. Also drops the `ProductConfigManager` from the controller `Ctx`, ignores the shared `--product-config` CLI arg, removes the product-config config-spec files plus their Helm/Dockerfile wiring, and removes the crate from Cargo.toml/Cargo.lock (it now only remains transitively via stackable-operator). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: remove product-config CLI arg and PRODUCT_CONFIG env var references Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: keep product-config config-spec as empty stubs The operator no longer reads a product-config spec, but the config-spec properties.yaml files must remain (empty) for chart/release tooling, matching trino-operator and hdfs-operator. Revert the Helm/Dockerfile changes so the config-spec wiring is unchanged from main; only the spec contents are emptied. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor: introduce ConfigFileName enum and drop hardcoded file-name constants Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(clippy): remove large_varian_names * fix: rename validated -> validated_cluster * fix: remove obsolete image parameter * fix: regenerate & fix test * refactor: move logging & discovery * fix: regenerate hashes * refactor: remove writer.rs & bump dependencies * chore: regenerate hashes * chore: adapt changelog * fix: make config overrides non optional * refactor: use v2 keyconfig overrides with merge * refactor: add namespace and ui to ValidatedCluster * refactor: use non optional properties writer * refactor: remove ownerref from build configmap * refactor: move jvm from config to build * fix: cleanup, visibility, constants * refactor: cleanup duplication, use helpers * refactor: switch to EnvVarSet * refactor: switch to EnvVarSet, introduce role_utils * fix: update stackable-operator for optionless KeyValueConfigOverrides * fix: upate hashes * fix: remove product-config references in comments * fix: remove unused namespace in ValidatedCluster * refactor: switch to v2 JavaCommonConfig & remove framework module * chore: bump stackable operator * refactor: move k8s resource builders under controller/build/resource * refactor: typed RoleGroupName + ValidatedCluster::resource_names; adopt in services * refactor: rename CommonRoleGroupConfig -> ValidatedDruidConfig * feat: migrate product logging to ValidatedLogging + static vector.yaml & v2 vector_container * refactor: remove RoleGroupRef; build steps use ValidatedCluster + ResourceNames * refactor: build step consumes ValidatedCluster; drop redundant builder params & raw druid * refactor: build_pdb returns PDB via infallible v2 builder; add typed name helpers * efactor: extract StatefulSet builder into controller/build/resource/statefulset * test: add config_map unit tests; dedupe trust-store type / derby.log into consts * refactor: use v2 container builder * refactor: use v2 cluster resources * refactor: use v2 ListenerName * refactor: use v2 ownerref, labes * refactor: use ConfigMapName, SecretName, ListenerName in CRD * refactor: introduce ValdiatedRoleConfig * refactor: extract objectMeta, recommendeclabels, chache product version * refactor: use prevalidated placeholder constants * refactor: move graceful shutdown to controller/build * refactor: move to volume constants * fix: remove duplicated STACKABLE_LOG_DIR constant * refactor: remove calculated inputs from Validated* structs * refactor: consolidate tls secruity module to build * refactor: consolidate authentication mod in validate and build * chore: bump dependencies * chore: adapt to optional replicas * fix: remove upstream v2 reference * fix: move create_shared_internal_secret out of role loop. * fix: add unit tests * fix remove EnumDiscriminants * refactor: use v2 Port type * fix: use SecretClassName consistently * refactor: use v2 types * refactor: remove hardcoded constants * refactor: improve shutdown config, fix securitiy config exposed_ports * test: add unit test for listener, pdb and oidc * fix unify key store constants * refactor: split auth class resolve to fetch & validate * refactor: split opa/s3 into fetch & validate * chore: bump stackable-operator 0.112.0 * chore: swich to v2 prometheus annotations & scraping label * missing v2::builder::meta::ownerreference_from_resource, clippy warnings * bump anyhow to 1.0.103 due to RUSTSEC advisory --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.tech>
1 parent 638188d commit 722c0a0

58 files changed

Lines changed: 6077 additions & 7643 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
@@ -19,6 +19,8 @@ All notable changes to this project will be documented in this file.
1919
- Document Helm deployed RBAC permissions and remove unnecessary permissions ([#810]).
2020
- Internal operator refactoring: introduce dereference() and validate() steps in the reconciler ([#824]).
2121
- test: Bump vector-aggregator to 0.55.0, replace /graphql call with gRPC calls ([#826]).
22+
- BREAKING: Removed product-config machinery. This is a breaking change in terms of configuration.
23+
Users relying on the product-config `properties.yaml` file have to set these properties via the CRD ([#830]).
2224

2325
### Deleted
2426

@@ -31,6 +33,7 @@ All notable changes to this project will be documented in this file.
3133
[#818]: https://github.com/stackabletech/druid-operator/pull/818
3234
[#824]: https://github.com/stackabletech/druid-operator/pull/824
3335
[#826]: https://github.com/stackabletech/druid-operator/pull/826
36+
[#830]: https://github.com/stackabletech/druid-operator/pull/830
3437
[#832]: https://github.com/stackabletech/druid-operator/pull/832
3538

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

0 commit comments

Comments
 (0)