Skip to content

feat: remove product config#976

Draft
adwk67 wants to merge 6 commits into
mainfrom
feat/smooth-operator/remove-product-config
Draft

feat: remove product config#976
adwk67 wants to merge 6 commits into
mainfrom
feat/smooth-operator/remove-product-config

Conversation

@adwk67
Copy link
Copy Markdown
Member

@adwk67 adwk67 commented Jun 3, 2026

TODO

Definition of Done Checklist

  • Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
  • Please make sure all these things are done and tick the boxes

Author

  • Changes are OpenShift compatible
  • CRD changes approved
  • CRD documentation for all fields, following the style guide.
  • Helm chart can be installed and deployed operator works
  • Integration tests passed (for non trivial changes)
  • Changes need to be "offline" compatible
  • Links to generated (nightly) docs added
  • Release note snippet added

Reviewer

  • Code contains useful comments
  • Code contains useful logging statements
  • (Integration-)Test cases added
  • Documentation added or updated. Follows the style guide.
  • Changelog updated
  • Cargo.toml only contains references to git tags (not specific commits or branches)

Acceptance

  • Feature Tracker has been updated
  • Proper release label has been added
  • Links to generated (nightly) docs added
  • Release note snippet added
  • Add type/deprecation label & add to the deprecation schedule
  • Add type/experimental label & add to the experimental features tracker

adwk67 and others added 6 commits June 3, 2026 17:41
…s writer

Patches operator-rs to the smooth-operator branch (matching trino/hdfs) as the
foundation for the v2 config_overrides adoption later in this series, and
vendors the Java-properties writer into config/writer (backed by the
java-properties crate, Apache-2.0) so ConfigMap rendering no longer goes through
product_config::writer. Repointed resource/configmap.rs. No behaviour change
(18 tests pass). Regenerated Cargo.nix/crate-hashes.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Splits server_properties_file into
controller/build/properties/{broker,controller}_properties builders (base map +
security settings + graceful-shutdown + user overrides), wired into
resource/configmap.rs by role. The property assembly was moved verbatim, so the
rendered broker.properties/controller.properties are unchanged (18 tests pass;
byte parity to be confirmed via the kuttl ConfigMap snapshot). Override input
stays BTreeMap<String,String>; no product-config removed yet (later increment).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…_map

Relocates build_rolegroup_config_map (plus the jaas_config_file helper and its
Error enum) from resource/configmap.rs to controller/build/config_map.rs,
colocating the ConfigMap assembler with the per-file property builders and
matching the controller/build/config_map.rs layout in hdfs/airflow. Pure move +
repointed caller; no behaviour change (18 tests pass).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…alidate

Replaces the product-config validation path with a ValidatedKafkaCluster that
carries, per role group, the merged config plus the config-file, jvm-security,
and env overrides resolved directly from the CRD (role <- role-group). Overrides
now use stackable_operator::v2::config_overrides::KeyValueConfigOverrides
(matching trino/hdfs); the v1 KeyValueOverridesProvider impls and the per-role
Configuration impls are removed, and KAFKA_CLUSTER_ID injection moves into the
override merge (collect_*_role_group_overrides). The dereferenced authorization
config is folded into the validated cluster.

Drops the product-config crate dependency (it remains transitive via
stackable-operator). The CRD gains `nullable: true` on configOverrides values
(v2 allows null to delete a key). Rendered .properties and env vars are
unchanged (18 tests pass; byte parity to be confirmed via kuttl). Regenerated
extra/crds.yaml and Cargo.nix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ngelog

Removes the --product-config section from the commandline reference and the
PRODUCT_CONFIG section from the environment-variables reference (the flag/var is
now a no-op via the shared RunArguments), reduces the product-config
properties.yaml files to an empty shell (retained pending a later Helm config
refactor), and notes the product-config removal in the changelog.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant