feat: remove product config & clean up#716
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… 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>
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>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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>
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>
…overy_configmap (provided in ValidatedCluster)
|
…n build_config_map
| metadata: cluster | ||
| .object_meta( | ||
| cluster | ||
| .resource_names(role_group_name) | ||
| .metrics_service_name() | ||
| .to_string(), | ||
| role_group_name, | ||
| ) |
There was a problem hiding this comment.
The build step sneaked into the ValidatedCluster implementation.
In my opinion, the methods of ValidatedCluster should only provide different views on this object, but not implement parts of the controller steps. Otherwise you could move everything into it, e.g. build_statefulset_out_of_this_cluster. I would move methods like ValidatedCluster::object_meta, ValidatedCluster::role_group_selector and ValidatedCluster::recommended_labels to the build step.
Co-authored-by: maltesander <malte.sander.it@gmail.com> Co-authored-by: Siegfried Weber <mail@siegfriedweber.net>
|
One failure because of namespace deletion |
|
This pull request has reached a size I can no longer review reliably. I’ll do my best, but I can’t make any guarantees. |
Co-authored-by: Siegfried Weber <mail@siegfriedweber.net>
Description
Definition of Done Checklist
Author
Reviewer
Acceptance
type/deprecationlabel & add to the deprecation scheduletype/experimentallabel & add to the experimental features tracker