Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions crates/stackable-operator/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file.
- Add `Client::{get_feature_gates,get_enabled_feature_gates,get_disabled_feature_gates}` associated
functions to retrieve all, enabled, or disabled feature gates from the Kubernetes apiserver ([#1207], [#1208]).
- Add a new `v2` module that provides more type-safe variants of the existing functions ([#1225]).
- Add documentation for the `roleGroups` field, which now shows up as a description in the generated CRDs ([#1227]).

### Changed

Expand All @@ -18,6 +19,7 @@ All notable changes to this project will be documented in this file.
[#1207]: https://github.com/stackabletech/operator-rs/pull/1207
[#1208]: https://github.com/stackabletech/operator-rs/pull/1208
[#1225]: https://github.com/stackabletech/operator-rs/pull/1225
[#1227]: https://github.com/stackabletech/operator-rs/pull/1227

## [0.111.1] - 2026-04-28

Expand Down
15 changes: 15 additions & 0 deletions crates/stackable-operator/crds/DummyCluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1751,6 +1751,21 @@ spec:
nullable: true
type: integer
type: object
description: |-
The set of role groups for this role, keyed by their name.

A role group is a subset of the replicas of a role that share the same configuration,
allowing finer-grained control than the role level. This is useful to e.g. schedule groups
onto different classes of nodes or into different regions, or to run them with different
settings. Configuration set on a role group is merged on top of the role-level `config`,
with the more specific role group values taking precedence.

Every role needs at least one role group. A role with a single role group conventionally
names it `default`.

Read the
[roles and role groups concept documentation](https://docs.stackable.tech/home/nightly/concepts/roles-and-role-groups)
for more details.
type: object
required:
- roleGroups
Expand Down
14 changes: 14 additions & 0 deletions crates/stackable-operator/src/role_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,20 @@ pub struct Role<
#[serde(default)]
pub role_config: RoleConfig,

/// The set of role groups for this role, keyed by their name.
///
/// A role group is a subset of the replicas of a role that share the same configuration,
/// allowing finer-grained control than the role level. This is useful to e.g. schedule groups
/// onto different classes of nodes or into different regions, or to run them with different
/// settings. Configuration set on a role group is merged on top of the role-level `config`,
/// with the more specific role group values taking precedence.
///
/// Every role needs at least one role group. A role with a single role group conventionally
/// names it `default`.
///
/// Read the
/// [roles and role groups concept documentation](DOCS_BASE_URL_PLACEHOLDER/concepts/roles-and-role-groups)
/// for more details.
pub role_groups: HashMap<String, RoleGroup<Config, CommonConfig, ConfigOverrides>>,
}

Expand Down
Loading