Skip to content

Fix/make role and group utils pub#1212

Merged
maltesander merged 8 commits into
smooth-operatorfrom
fix/make-role-and-group-utils-pub
May 29, 2026
Merged

Fix/make role and group utils pub#1212
maltesander merged 8 commits into
smooth-operatorfrom
fix/make-role-and-group-utils-pub

Conversation

@maltesander

@maltesander maltesander commented May 29, 2026

Copy link
Copy Markdown
Member

Description

  • more public v2 framework stuff adapted

Please add a description here. This will become the commit message of the merge request later.

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.
  • Integration tests passed (for non trivial changes)
  • Changes need to be "offline" compatible

Reviewer

  • Code contains useful comments
  • Test cases added
  • Changelog updated: Can be postponed until the branch smooth-operator is merged into main
  • 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

@maltesander maltesander self-assigned this May 29, 2026

@siegfriedweber siegfriedweber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which change makes the role and role group utils public?

There are build errors (on my machine):

error[E0433]: cannot find `stackable_operator` in the crate root
   --> crates/stackable-operator/src/v2/role_utils.rs:222:21
    |
222 |     #[derive(Debug, Fragment, PartialEq)]
    |                     ^^^^^^^^ could not find `stackable_operator` in the list of imported crates
    |
    = note: this error originates in the derive macro `Fragment` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider importing this module through its public re-export
    |
200 +     use crate::v2::role_utils::fragment;
    |

Comment thread crates/stackable-operator/src/v2/mod.rs
Comment thread crates/stackable-operator/src/v2/builder/pod/container.rs
@maltesander maltesander merged commit a31cd25 into smooth-operator May 29, 2026
5 checks passed
@maltesander maltesander deleted the fix/make-role-and-group-utils-pub branch May 29, 2026 14:28
Saul-STFC pushed a commit to Saul-STFC/operator-rs that referenced this pull request Jun 26, 2026
* chore: Import framework code from opensearch-operator

This commit imports the framework code from the opensearch-operator by
first moving over the relevant files (located at rust/operator-binary/
src/framework) commit-by-commit, then squashing them in a interactive
rebase. This commit message includes a list of the individual commit
titles. It also includes all authore and co-authors of the original
commits as co-authors.

List of commits:

- feat: Add listener support (opensearch-operator#17)
- feat: Make OPENSEARCH_HOME and OPENSEARCH_PATH_CONF overridable (opensearch-operator#18)
- Fix technical debts (opensearch-operator#20)
- test: Add unit tests (opensearch-operator#32)
- feat: Improve name types (opensearch-operator#35)
- chore: Upgrade dependencies (opensearch-operator#37)
- feat: Support log configuration and log aggregation (opensearch-operator#40)
- feat: Support regular expressions in attributed_string_type (opensearch-operator#88)
- feat: TLS support (opensearch-operator#55)
- feat: Support objectOverrides (opensearch-operator#93)
- chore: Use anchors in regular expressions (opensearch-operator#102)
- chore: Move controller utility functions to separate module (opensearch-operator#104)
- chore: Add Port type (opensearch-operator#105)
- feat: Service discovery and exposition (opensearch-operator#94)
- chore: Bump OpenSearch version 3.4.0 (opensearch-operator#108)
- chore: Bump to stackable-operator 0.106.1 (opensearch-operator#116)
- feat: Allow the configuration of the security plugin (opensearch-operator#117)
- feat: Support hot-reloading for security configuration files (opensearch-operator#130)
- chore: Upgrade stackable-operator to 0.110.1 (opensearch-operator#137)

Co-authored-by: Andrew Kenworthy <1712947+adwk67@users.noreply.github.com>
Co-authored-by: Benedikt Labrenz <benedikt@labrenz.org>
Co-authored-by: Sebastian Bernauer <sebastian.bernauer@stackable.tech>
Co-authored-by: Siegfried Weber <mail@siegfriedweber.net>
Co-authored-by: Malte Sander <malte.sander.it@gmail.com>

* fix: make config_overrides public (stackabletech#1210)

fix(config_overrides): make config_overrides public, fix clippy & doc checks

* Fix/make role and group utils pub (stackabletech#1212)

* deps: add uuid crate 1.23

* fix: add missing traits; macros and types pub.

* fix: adapt pathes

* fix: make builder pub

* fix: make role-utils and role-group-utils pub

* fix: correct fragment and merge macro path

* fix: remaining precommit

* fix: doc tests

* fix: make missing v2 framework utils pub (stackabletech#1216)

* refactor: Add config file writers to v2 (stackabletech#1217)

* feat(v2): add shared config-file writers (java-properties/Hadoop-XML + Flask)

Adds v2::config_file_writer (to_java_properties_string + to_hadoop_xml, backed
by the java-properties and xml crates) and v2::flask_config_writer (the Flask
App Builder Python config writer), both originally from the product-config
crate's writer modules and until now vendored separately into the operators
(hdfs/hbase/hive byte-identical full copies; kafka/nifi/zookeeper java-only
subsets; airflow/superset identical Flask copies). Unit tests moved along with
the code; minor lint-driven cleanups only (use_self, format_push_string,
identical match arms, no unwrap in Result-returning tests) — rendered output is
unchanged and pinned by the tests.

Operators will migrate to these in follow-up commits, deleting their vendored
copies.

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

* docs: fix rustdoc warnings (broken intra-doc links, bare URLs)

stackable-operator: intra-doc links within the crate must use `crate::`
rather than the package name `stackable_operator::`, which is not in
scope and produced `broken_intra_doc_links` warnings. Also wrap two bare
URLs in the scaler docs in angle brackets so rustdoc renders them as
hyperlinks.

stackable-telemetry: `SettingsBuilder` is not imported in
`tracing/mod.rs` (only `Settings` is), so the four doc links to it did
not resolve. Point them at `settings::SettingsBuilder` via the child
module, keeping the rendered link text unchanged.

`cargo doc --document-private-items` is now warning-free across the
workspace.

* Update crates/stackable-operator/src/v2/config_file_writer.rs

Co-authored-by: maltesander <malte.sander.it@gmail.com>

* Apply suggestions from code review

Co-authored-by: maltesander <malte.sander.it@gmail.com>

* remove error suffix and clippy

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: maltesander <malte.sander.it@gmail.com>

* fix: remove option part for properties writer (stackabletech#1218)

* fix: remove option part for properties writer (now takes <String,String> instead of <String,<Option<String>>

* fix: precommit

* Change KeyValueConfigOverrides to `BTreeMap<String, String>` (stackabletech#1219)

* Make JvmArgumentOverrides mergeable (stackabletech#1220)

* Add function to build a metrics Service name (stackabletech#1221)

* Relax the length constraints of cluster, role and role group name (stackabletech#1222)

* Relax the length constraints of cluster, role and role group name

* Adapt compile-time assertions

* Check that ensure_max_length is only called with ASCII resource names

* Fix: make rolegroup replicas optional (stackabletech#1223)

refactor: make replicas optional for HPA support

* chore(stackable-operator): Update changelog

* stackable-operator: Add feature test-support

* Remove unnecessary Clippy hints

* Improve code style

* Use attributed string type for EnvVarName

* Allow expressions in the constant macro

* Add types for DaemonSetName and DeploymentName

* Add functions to create Prometheus labels and annotations

---------

Co-authored-by: Techassi <git@techassi.dev>
Co-authored-by: Andrew Kenworthy <1712947+adwk67@users.noreply.github.com>
Co-authored-by: Benedikt Labrenz <benedikt@labrenz.org>
Co-authored-by: Sebastian Bernauer <sebastian.bernauer@stackable.tech>
Co-authored-by: Malte Sander <malte.sander.it@gmail.com>
Co-authored-by: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com>
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.

2 participants