Skip to content

Commit a31cd25

Browse files
authored
Fix/make role and group utils pub (#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
1 parent 2563bd2 commit a31cd25

15 files changed

Lines changed: 188 additions & 149 deletions

File tree

Cargo.lock

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ tracing-opentelemetry = "0.32.0"
8686
tracing-subscriber = { version = "0.3.18", features = ["env-filter", "json"] }
8787
trybuild = "1.0.99"
8888
url = { version = "2.5.2", features = ["serde"] }
89+
uuid = "1.23"
8990
x509-cert = { version = "0.2.5", features = ["builder"] }
9091
zeroize = "1.8.1"
9192

crates/stackable-operator/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ tracing.workspace = true
5454
tracing-appender.workspace = true
5555
tracing-subscriber.workspace = true
5656
url.workspace = true
57+
uuid.workspace = true
5758

5859
[dev-dependencies]
5960
indoc.workspace = true

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

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
use stackable_operator::{
1+
use crate::{
22
builder::meta::OwnerReferenceBuilder,
3-
k8s_openapi::apimachinery::pkg::apis::meta::v1::OwnerReference, kube::Resource,
3+
k8s_openapi::apimachinery::pkg::apis::meta::v1::OwnerReference,
4+
kube::Resource,
5+
v2::{HasName, HasUid},
46
};
57

6-
use crate::framework::{HasName, HasUid};
7-
88
/// Infallible variant of
99
/// [`stackable_operator::builder::meta::ObjectMetaBuilder::ownerreference_from_resource`]
1010
pub fn ownerreference_from_resource(
@@ -32,20 +32,19 @@ pub fn ownerreference_from_resource(
3232
mod tests {
3333
use std::borrow::Cow;
3434

35-
use stackable_operator::{
35+
use crate::{
3636
k8s_openapi::apimachinery::pkg::apis::meta::v1::{ObjectMeta, OwnerReference},
3737
kube::Resource,
38+
v2::{HasName, HasUid, Uid, builder::meta::ownerreference_from_resource},
3839
};
3940

40-
use crate::framework::{HasName, HasUid, Uid, builder::meta::ownerreference_from_resource};
41-
4241
struct Cluster {
4342
object_meta: ObjectMeta,
4443
}
4544

4645
impl Cluster {
4746
fn new() -> Self {
48-
Cluster {
47+
Self {
4948
object_meta: ObjectMeta {
5049
name: Some("cluster-name".to_owned()),
5150
uid: Some("a6b89911-d48e-4328-88d6-b9251226583d".to_owned()),

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

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
use stackable_operator::{
1+
use crate::{
22
builder::pdb::PodDisruptionBudgetBuilder,
33
k8s_openapi::apimachinery::pkg::apis::meta::v1::LabelSelector,
44
kube::{Resource, api::ObjectMeta},
5-
};
6-
7-
use crate::framework::{
8-
HasName, HasUid, NameIsValidLabelValue,
9-
types::operator::{ControllerName, OperatorName, ProductName, RoleName},
5+
v2::{
6+
HasName, HasUid, NameIsValidLabelValue,
7+
types::operator::{ControllerName, OperatorName, ProductName, RoleName},
8+
},
109
};
1110

1211
/// Infallible variant of
@@ -35,7 +34,7 @@ pub fn pod_disruption_budget_builder_with_role(
3534
mod tests {
3635
use std::borrow::Cow;
3736

38-
use stackable_operator::{
37+
use crate::{
3938
k8s_openapi::{
4039
api::policy::v1::{PodDisruptionBudget, PodDisruptionBudgetSpec},
4140
apimachinery::pkg::{
@@ -44,14 +43,13 @@ mod tests {
4443
},
4544
},
4645
kube::Resource,
47-
};
48-
49-
use crate::framework::{
50-
HasName, HasUid, NameIsValidLabelValue,
51-
builder::pdb::pod_disruption_budget_builder_with_role,
52-
types::{
53-
kubernetes::Uid,
54-
operator::{ControllerName, OperatorName, ProductName, RoleName},
46+
v2::{
47+
HasName, HasUid, NameIsValidLabelValue,
48+
builder::pdb::pod_disruption_budget_builder_with_role,
49+
types::{
50+
kubernetes::Uid,
51+
operator::{ControllerName, OperatorName, ProductName, RoleName},
52+
},
5553
},
5654
};
5755

@@ -61,7 +59,7 @@ mod tests {
6159

6260
impl Cluster {
6361
fn new() -> Self {
64-
Cluster {
62+
Self {
6563
object_meta: ObjectMeta {
6664
name: Some("cluster-name".to_owned()),
6765
uid: Some("a6b89911-d48e-4328-88d6-b9251226583d".to_owned()),

crates/stackable-operator/src/v2/builder/pod/container.rs

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ use std::{
55
};
66

77
use snafu::Snafu;
8-
use stackable_operator::{
8+
use strum::{EnumDiscriminants, IntoStaticStr};
9+
10+
use crate::{
911
builder::pod::container::{ContainerBuilder, FieldPathEnvVar},
1012
k8s_openapi::api::core::v1::{ConfigMapKeySelector, EnvVar, EnvVarSource, ObjectFieldSelector},
13+
v2::types::kubernetes::{ConfigMapKey, ConfigMapName, ContainerName},
1114
};
12-
use strum::{EnumDiscriminants, IntoStaticStr};
13-
14-
use crate::framework::types::kubernetes::{ConfigMapKey, ConfigMapName, ContainerName};
1515

1616
#[derive(Snafu, Debug, EnumDiscriminants)]
1717
#[strum_discriminants(derive(IntoStaticStr))]
@@ -38,7 +38,7 @@ impl EnvVarName {
3838
///
3939
/// Use this only with constant names that are also tested in unit tests!
4040
pub fn from_str_unsafe(s: &str) -> Self {
41-
EnvVarName::from_str(s).expect("should be a valid environment variable name")
41+
Self::from_str(s).expect("should be a valid environment variable name")
4242
}
4343
}
4444

@@ -84,7 +84,7 @@ impl EnvVarSet {
8484
/// Moves all [`EnvVar`]s from the given set into this one.
8585
///
8686
/// [`EnvVar`]s with the same name are overridden.
87-
pub fn merge(mut self, mut env_var_set: EnvVarSet) -> Self {
87+
pub fn merge(mut self, mut env_var_set: Self) -> Self {
8888
self.0.append(&mut env_var_set.0);
8989

9090
self
@@ -124,7 +124,7 @@ impl EnvVarSet {
124124
/// Adds an environment variable with the given name and field path to this set
125125
///
126126
/// An [`EnvVar`] with the same name is overridden.
127-
pub fn with_field_path(mut self, name: &EnvVarName, field_path: FieldPathEnvVar) -> Self {
127+
pub fn with_field_path(mut self, name: &EnvVarName, field_path: &FieldPathEnvVar) -> Self {
128128
self.0.insert(
129129
name.clone(),
130130
EnvVar {
@@ -191,17 +191,16 @@ impl IntoIterator for EnvVarSet {
191191
mod tests {
192192
use std::str::FromStr;
193193

194-
use stackable_operator::{
194+
use super::{EnvVarName, EnvVarSet};
195+
use crate::{
195196
builder::pod::container::FieldPathEnvVar,
196197
k8s_openapi::api::core::v1::{
197198
ConfigMapKeySelector, EnvVar, EnvVarSource, ObjectFieldSelector,
198199
},
199-
};
200-
201-
use super::{EnvVarName, EnvVarSet};
202-
use crate::framework::{
203-
builder::pod::container::new_container_builder,
204-
types::kubernetes::{ConfigMapKey, ConfigMapName, ContainerName},
200+
v2::{
201+
builder::pod::container::new_container_builder,
202+
types::kubernetes::{ConfigMapKey, ConfigMapName, ContainerName},
203+
},
205204
};
206205

207206
#[test]
@@ -253,7 +252,7 @@ mod tests {
253252
&EnvVarName::from_str_unsafe("ENV2"),
254253
"value2 from env_var_set2",
255254
)
256-
.with_field_path(&EnvVarName::from_str_unsafe("ENV3"), FieldPathEnvVar::Name)
255+
.with_field_path(&EnvVarName::from_str_unsafe("ENV3"), &FieldPathEnvVar::Name)
257256
.with_value(
258257
&EnvVarName::from_str_unsafe("ENV4"),
259258
"value4 from env_var_set2",
@@ -335,7 +334,7 @@ mod tests {
335334
#[test]
336335
fn test_envvarset_with_field_path() {
337336
let env_var_set = EnvVarSet::new()
338-
.with_field_path(&EnvVarName::from_str_unsafe("ENV"), FieldPathEnvVar::Name);
337+
.with_field_path(&EnvVarName::from_str_unsafe("ENV"), &FieldPathEnvVar::Name);
339338

340339
assert_eq!(
341340
Some(&EnvVar {

crates/stackable-operator/src/v2/builder/pod/volume.rs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
use stackable_operator::{
1+
use crate::{
22
builder::pod::volume::ListenerOperatorVolumeSourceBuilder,
3-
k8s_openapi::api::core::v1::PersistentVolumeClaim, kvp::Labels,
4-
};
5-
6-
use crate::framework::types::kubernetes::{
7-
ListenerClassName, ListenerName, PersistentVolumeClaimName,
3+
k8s_openapi::api::core::v1::PersistentVolumeClaim,
4+
kvp::Labels,
5+
v2::types::kubernetes::{ListenerClassName, ListenerName, PersistentVolumeClaimName},
86
};
97

108
/// Infallible variant of [`stackable_operator::builder::pod::volume::ListenerReference`]
@@ -14,18 +12,14 @@ pub enum ListenerReference {
1412
Listener(ListenerName),
1513
}
1614

17-
impl From<&ListenerReference> for stackable_operator::builder::pod::volume::ListenerReference {
15+
impl From<&ListenerReference> for crate::builder::pod::volume::ListenerReference {
1816
fn from(value: &ListenerReference) -> Self {
1917
match value {
2018
ListenerReference::ListenerClass(listener_class_name) => {
21-
stackable_operator::builder::pod::volume::ListenerReference::ListenerClass(
22-
listener_class_name.to_string(),
23-
)
19+
Self::ListenerClass(listener_class_name.to_string())
2420
}
2521
ListenerReference::Listener(listener_name) => {
26-
stackable_operator::builder::pod::volume::ListenerReference::ListenerName(
27-
listener_name.to_string(),
28-
)
22+
Self::ListenerName(listener_name.to_string())
2923
}
3024
}
3125
}

crates/stackable-operator/src/v2/builder/statefulset.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
use std::collections::BTreeMap;
22

3-
use stackable_operator::kvp::Annotations;
4-
5-
use crate::framework::types::kubernetes::{ConfigMapName, SecretName};
3+
use crate::{
4+
kvp::Annotations,
5+
v2::types::kubernetes::{ConfigMapName, SecretName},
6+
};
67

78
/// Creates `restarter.stackable.tech/ignore-configmap.{i}` annotations for each given ConfigMap.
89
///

0 commit comments

Comments
 (0)