Skip to content

Commit 464fdda

Browse files
committed
Rename label::sets to label::well_known::sets
1 parent 8f6daa0 commit 464fdda

6 files changed

Lines changed: 107 additions & 107 deletions

File tree

crates/stackable-operator/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ All notable changes to this project will be documented in this file.
2121
- `Into<BTreeMap<String, String>>`: use `::to_unvalidated` instead.
2222
- Well-known annotations have been moved from `kvp::Annotation` to `kvp::annotation::well_known`.
2323
- Well-known labels have been moved from `kvp::Label` to `kvp::label::well_known`.
24-
- Well-known label sets have been moved from `kvp::Labels` to `kvp::label::sets`.
24+
- Well-known label sets have been moved from `kvp::Labels` to `kvp::label::well_known::sets`.
2525

2626
### Fixed
2727

crates/stackable-operator/src/builder/meta.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ impl ObjectMetaBuilder {
157157
object_labels: ObjectLabels<T>,
158158
) -> Result<&mut Self> {
159159
let recommended_labels =
160-
label::sets::recommended(object_labels).context(RecommendedLabelsSnafu)?;
160+
label::well_known::sets::recommended(object_labels).context(RecommendedLabelsSnafu)?;
161161

162162
self.labels
163163
.get_or_insert(Labels::new())

crates/stackable-operator/src/builder/pdb.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ impl PodDisruptionBudgetBuilder<(), (), ()> {
8585
operator_name: &str,
8686
controller_name: &str,
8787
) -> Result<PodDisruptionBudgetBuilder<ObjectMeta, LabelSelector, ()>> {
88-
let role_selector_labels =
89-
label::sets::role_selector(owner, app_name, role).context(RoleSelectorLabelsSnafu)?;
88+
let role_selector_labels = label::well_known::sets::role_selector(owner, app_name, role)
89+
.context(RoleSelectorLabelsSnafu)?;
9090
let managed_by_label = label::well_known::managed_by(operator_name, controller_name)
9191
.context(ManagedByLabelSnafu)?;
9292
let metadata = ObjectMetaBuilder::new()

crates/stackable-operator/src/cluster_resources.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@ impl ClusterResources {
464464
/// Return required labels for cluster resources to be uniquely identified for clean up.
465465
// TODO: This is a (quick-fix) helper method but should be replaced by better label handling
466466
pub fn get_required_labels(&self) -> Result<Labels, LabelError> {
467-
let mut labels = label::sets::common(&self.app_name, &self.app_instance)?;
467+
let mut labels = label::well_known::sets::common(&self.app_name, &self.app_instance)?;
468468

469469
labels.extend([label::well_known::managed_by(
470470
&self.operator_name,

crates/stackable-operator/src/kvp/label/mod.rs

Lines changed: 101 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -120,107 +120,107 @@ pub mod well_known {
120120
Label::try_from((STACKABLE_VENDOR_KEY, STACKABLE_VENDOR_VALUE))
121121
.expect("failed to parse hard-coded Stackable vendor label")
122122
}
123-
}
124-
125-
/// Common sets of labels that apply for different use-cases.
126-
pub mod sets {
127-
use kube::{Resource, ResourceExt};
128-
129-
use crate::kvp::{
130-
consts::{K8S_APP_INSTANCE_KEY, K8S_APP_NAME_KEY},
131-
ObjectLabels,
132-
};
133-
134-
use super::{well_known, Label, LabelError, Labels};
135-
136-
/// Returns the recommended set of labels. The set includes these well-known
137-
/// Kubernetes labels:
138-
///
139-
/// - `app.kubernetes.io/role-group`
140-
/// - `app.kubernetes.io/managed-by`
141-
/// - `app.kubernetes.io/component`
142-
/// - `app.kubernetes.io/instance`
143-
/// - `app.kubernetes.io/version`
144-
/// - `app.kubernetes.io/name`
145-
///
146-
/// Additionally, it includes Stackable-specific labels. These are:
147-
///
148-
/// - `stackable.tech/vendor`
149-
///
150-
/// This function returns a result, because the parameter `object_labels`
151-
/// can contain invalid data or can exceed the maximum allowed number of
152-
/// characters.
153-
pub fn recommended<R>(object_labels: ObjectLabels<R>) -> Result<Labels, LabelError>
154-
where
155-
R: Resource,
156-
{
157-
// Well-known Kubernetes labels
158-
let mut labels = role_group_selector(
159-
object_labels.owner,
160-
object_labels.app_name,
161-
object_labels.role,
162-
object_labels.role_group,
163-
)?;
164-
165-
labels.extend([
166-
well_known::managed_by(object_labels.operator_name, object_labels.controller_name)?,
167-
well_known::version(object_labels.app_version)?,
168-
// Stackable-specific labels
169-
well_known::vendor_stackable(),
170-
]);
171-
172-
Ok(labels)
173-
}
174-
175-
/// Returns the set of labels required to select the resource based on the
176-
/// role group. The set contains role selector labels, see
177-
/// [`role_selector`] for more details. Additionally, it contains
178-
/// the `app.kubernetes.io/role-group` label with `role_group` as the value.
179-
pub fn role_group_selector<R>(
180-
owner: &R,
181-
app_name: &str,
182-
role: &str,
183-
role_group: &str,
184-
) -> Result<Labels, LabelError>
185-
where
186-
R: Resource,
187-
{
188-
let mut labels = role_selector(owner, app_name, role)?;
189-
labels.extend([well_known::role_group(role_group)?]);
190-
Ok(labels)
191-
}
192-
193-
/// Returns the set of labels required to select the resource based on the
194-
/// role. The set contains the common labels, see [`common`] for
195-
/// more details. Additionally, it contains the `app.kubernetes.io/component`
196-
/// label with `role` as the value.
197-
///
198-
/// This function returns a result, because the parameters `owner`, `app_name`,
199-
/// and `role` can contain invalid data or can exceed the maximum allowed
200-
/// number fo characters.
201-
pub fn role_selector<R>(owner: &R, app_name: &str, role: &str) -> Result<Labels, LabelError>
202-
where
203-
R: Resource,
204-
{
205-
let mut labels = common(app_name, owner.name_any().as_str())?;
206-
labels.extend([well_known::component(role)?]);
207-
Ok(labels)
208-
}
209123

210-
/// Returns a common set of labels, which are required to identify resources
211-
/// that belong to a certain owner object, for example a `ZookeeperCluster`.
212-
/// The set contains these well-known labels:
213-
///
214-
/// - `app.kubernetes.io/instance` and
215-
/// - `app.kubernetes.io/name`
216-
///
217-
/// This function returns a result, because the parameters `app_name` and
218-
/// `app_instance` can contain invalid data or can exceed the maximum
219-
/// allowed number of characters.
220-
pub fn common(app_name: &str, app_instance: &str) -> Result<Labels, LabelError> {
221-
Ok(Labels::from_iter([
222-
Label::try_from((K8S_APP_INSTANCE_KEY, app_instance))?,
223-
Label::try_from((K8S_APP_NAME_KEY, app_name))?,
224-
]))
124+
/// Common sets of labels that apply for different use-cases.
125+
pub mod sets {
126+
use kube::{Resource, ResourceExt};
127+
128+
use crate::kvp::{
129+
consts::{K8S_APP_INSTANCE_KEY, K8S_APP_NAME_KEY},
130+
ObjectLabels,
131+
};
132+
133+
use super::super::{Label, LabelError, Labels};
134+
135+
/// Returns the recommended set of labels. The set includes these well-known
136+
/// Kubernetes labels:
137+
///
138+
/// - `app.kubernetes.io/role-group`
139+
/// - `app.kubernetes.io/managed-by`
140+
/// - `app.kubernetes.io/component`
141+
/// - `app.kubernetes.io/instance`
142+
/// - `app.kubernetes.io/version`
143+
/// - `app.kubernetes.io/name`
144+
///
145+
/// Additionally, it includes Stackable-specific labels. These are:
146+
///
147+
/// - `stackable.tech/vendor`
148+
///
149+
/// This function returns a result, because the parameter `object_labels`
150+
/// can contain invalid data or can exceed the maximum allowed number of
151+
/// characters.
152+
pub fn recommended<R>(object_labels: ObjectLabels<R>) -> Result<Labels, LabelError>
153+
where
154+
R: Resource,
155+
{
156+
// Well-known Kubernetes labels
157+
let mut labels = role_group_selector(
158+
object_labels.owner,
159+
object_labels.app_name,
160+
object_labels.role,
161+
object_labels.role_group,
162+
)?;
163+
164+
labels.extend([
165+
super::managed_by(object_labels.operator_name, object_labels.controller_name)?,
166+
super::version(object_labels.app_version)?,
167+
// Stackable-specific labels
168+
super::vendor_stackable(),
169+
]);
170+
171+
Ok(labels)
172+
}
173+
174+
/// Returns the set of labels required to select the resource based on the
175+
/// role group. The set contains role selector labels, see
176+
/// [`role_selector`] for more details. Additionally, it contains
177+
/// the `app.kubernetes.io/role-group` label with `role_group` as the value.
178+
pub fn role_group_selector<R>(
179+
owner: &R,
180+
app_name: &str,
181+
role: &str,
182+
role_group: &str,
183+
) -> Result<Labels, LabelError>
184+
where
185+
R: Resource,
186+
{
187+
let mut labels = role_selector(owner, app_name, role)?;
188+
labels.extend([super::role_group(role_group)?]);
189+
Ok(labels)
190+
}
191+
192+
/// Returns the set of labels required to select the resource based on the
193+
/// role. The set contains the common labels, see [`common`] for
194+
/// more details. Additionally, it contains the `app.kubernetes.io/component`
195+
/// label with `role` as the value.
196+
///
197+
/// This function returns a result, because the parameters `owner`, `app_name`,
198+
/// and `role` can contain invalid data or can exceed the maximum allowed
199+
/// number fo characters.
200+
pub fn role_selector<R>(owner: &R, app_name: &str, role: &str) -> Result<Labels, LabelError>
201+
where
202+
R: Resource,
203+
{
204+
let mut labels = common(app_name, owner.name_any().as_str())?;
205+
labels.extend([super::component(role)?]);
206+
Ok(labels)
207+
}
208+
209+
/// Returns a common set of labels, which are required to identify resources
210+
/// that belong to a certain owner object, for example a `ZookeeperCluster`.
211+
/// The set contains these well-known labels:
212+
///
213+
/// - `app.kubernetes.io/instance` and
214+
/// - `app.kubernetes.io/name`
215+
///
216+
/// This function returns a result, because the parameters `app_name` and
217+
/// `app_instance` can contain invalid data or can exceed the maximum
218+
/// allowed number of characters.
219+
pub fn common(app_name: &str, app_instance: &str) -> Result<Labels, LabelError> {
220+
Ok(Labels::from_iter([
221+
Label::try_from((K8S_APP_INSTANCE_KEY, app_instance))?,
222+
Label::try_from((K8S_APP_NAME_KEY, app_name))?,
223+
]))
224+
}
225225
}
226226
}

crates/stackable-operator/src/kvp/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ mod test {
281281

282282
#[test]
283283
fn contains() {
284-
let labels = label::sets::common("test", "test-01").unwrap();
284+
let labels = label::well_known::sets::common("test", "test-01").unwrap();
285285

286286
assert!(labels.contains_str_key("app.kubernetes.io/instance"))
287287
}

0 commit comments

Comments
 (0)