Commit 722c0a0
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
File tree
- deploy
- config-spec
- helm/druid-operator/configs
- docs/modules/druid/pages/reference
- extra
- rust/operator-binary
- src
- authentication
- config
- controller
- build
- authentication
- properties
- product_logging
- resource
- crd
- operations
- webhooks
- test/resources/druid_controller
- tests/templates/kuttl/smoke
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
| |||
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| 36 | + | |
34 | 37 | | |
35 | 38 | | |
36 | 39 | | |
| |||
0 commit comments