Skip to content

Commit fe29dcb

Browse files
committed
refactor: Switch ObjectOverrides to unit struct
1 parent fc38a7c commit fe29dcb

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

crates/stackable-operator/src/deep_merger/crd.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ use serde::{Deserialize, Serialize, de::DeserializeOwned};
66
use super::apply_deep_merge;
77
use crate::utils::crds::raw_object_list_schema;
88

9-
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize, PartialEq)]
10-
#[serde(rename_all = "camelCase")]
11-
pub struct ObjectOverrides {
9+
#[derive(Clone, Debug, Deserialize, Default, JsonSchema, Serialize, PartialEq)]
10+
pub struct ObjectOverrides(
1211
/// A list of generic Kubernetes objects, which are merged on the objects that the operator
1312
/// creates.
1413
///
1514
/// List entries are arbitrary YAML objects, which need to be valid Kubernetes objects.
1615
///
1716
/// Read the [Object overrides documentation](DOCS_BASE_URL_PLACEHOLDER/concepts/overrides#object-overrides)
1817
/// for more information.
19-
#[serde(default)]
18+
//
19+
// Remember to use `#[serde(default)]` when including this into a CRD!
2020
#[schemars(schema_with = "raw_object_list_schema")]
21-
pub object_overrides: Vec<DynamicObject>,
22-
}
21+
Vec<DynamicObject>,
22+
);
2323

2424
impl ObjectOverrides {
2525
/// Takes an arbitrary Kubernetes object (`base`) and applies the configured list of deep merges
@@ -31,7 +31,7 @@ impl ObjectOverrides {
3131
where
3232
R: kube::Resource<DynamicType = ()> + DeepMerge + DeserializeOwned,
3333
{
34-
for object_override in &self.object_overrides {
34+
for object_override in &self.0 {
3535
apply_deep_merge(base, object_override)?;
3636
}
3737
Ok(())

crates/xtask/src/crd/dummy.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pub mod versioned {
4949
secret_reference: stackable_operator::shared::secret::SecretReference,
5050
tls_client_details: stackable_operator::commons::tls_verification::TlsClientDetails,
5151

52-
#[serde(flatten)]
52+
#[serde(default)]
5353
pub object_overrides: ObjectOverrides,
5454

5555
// Already versioned

0 commit comments

Comments
 (0)