Skip to content

Commit 0a68f43

Browse files
chore: update Flux CRDs to latest versions (#177)
Co-authored-by: dgunzy <dgunzy@users.noreply.github.com>
1 parent d6ed474 commit 0a68f43

13 files changed

Lines changed: 112 additions & 21 deletions

crds/flux-operator-resourcesets.crds.yaml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ spec:
241241
description: Resources contains the list of Kubernetes resources to
242242
reconcile.
243243
items:
244+
type: object
244245
x-kubernetes-preserve-unknown-fields: true
245246
type: array
246247
resourcesTemplate:
@@ -256,12 +257,69 @@ spec:
256257
The name of the Kubernetes service account to impersonate
257258
when reconciling the generated resources.
258259
type: string
260+
steps:
261+
description: |-
262+
Steps contains an ordered list of named steps to reconcile in sequence.
263+
Each step's resources are applied and health-checked before the next
264+
step starts. Mutually exclusive with Resources and ResourcesTemplate.
265+
items:
266+
description: |-
267+
ResourceSetStep defines a named step in the ResourceSet reconciliation
268+
sequence. The step's resources are applied and health-checked before
269+
the next step starts.
270+
properties:
271+
name:
272+
description: Name of the step, must be unique within the ResourceSet.
273+
maxLength: 63
274+
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
275+
type: string
276+
resources:
277+
description: Resources contains the list of Kubernetes resources
278+
to reconcile.
279+
items:
280+
type: object
281+
x-kubernetes-preserve-unknown-fields: true
282+
type: array
283+
resourcesTemplate:
284+
description: |-
285+
ResourcesTemplate is a Go template that generates the list of
286+
Kubernetes resources to reconcile. The template is rendered
287+
as multi-document YAML, the resources should be separated by '---'.
288+
When both Resources and ResourcesTemplate are set, the resulting
289+
objects are merged and deduplicated, with the ones from Resources taking precedence.
290+
type: string
291+
timeout:
292+
description: |-
293+
Timeout is the maximum time to wait for the step's resources to
294+
become ready. When not set, the ResourceSet reconciliation
295+
timeout is used.
296+
pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
297+
type: string
298+
required:
299+
- name
300+
type: object
301+
x-kubernetes-validations:
302+
- message: at least one of resources or resourcesTemplate must be
303+
set
304+
rule: has(self.resources) || has(self.resourcesTemplate)
305+
maxItems: 20
306+
minItems: 1
307+
type: array
308+
x-kubernetes-validations:
309+
- message: step names must be unique
310+
rule: self.all(s, self.exists_one(t, t.name == s.name))
259311
wait:
260312
description: |-
261313
Wait instructs the controller to check the health
262314
of all the reconciled resources.
263315
type: boolean
264316
type: object
317+
x-kubernetes-validations:
318+
- message: steps is mutually exclusive with resources and resourcesTemplate
319+
rule: '!has(self.steps) || (!has(self.resources) && !has(self.resourcesTemplate))'
320+
- message: at least one of steps, resources or resourcesTemplate must
321+
be set
322+
rule: has(self.steps) || has(self.resources) || has(self.resourcesTemplate)
265323
status:
266324
description: ResourceSetStatus defines the observed state of ResourceSet.
267325
properties:

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"generated_at": "2026-05-25T12:19:52Z",
2+
"generated_at": "2026-06-15T14:55:18Z",
33
"flux_versions": {
44
"source-controller": "v1.8.5",
55
"kustomize-controller": "v1.8.5",

src/models/_generated/flux_operator_fluxinstances.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#![allow(clippy::all)]
55

66
// WARNING: generated by kopium - manual changes will be overwritten
7-
// kopium command: kopium --filename /tmp/tmp.E3opQdYgrM/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
7+
// kopium command: kopium --filename /tmp/tmp.xNcLFX703M/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
88
// kopium version: 0.23.0
99

1010
#[allow(unused_imports)]

src/models/_generated/flux_operator_fluxreports.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#![allow(clippy::all)]
55

66
// WARNING: generated by kopium - manual changes will be overwritten
7-
// kopium command: kopium --filename /tmp/tmp.Z7KpR3s71D/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
7+
// kopium command: kopium --filename /tmp/tmp.t3t5EQGbn4/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
88
// kopium version: 0.23.0
99

1010
#[allow(unused_imports)]

src/models/_generated/flux_operator_resourcesetinputproviders.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#![allow(clippy::all)]
55

66
// WARNING: generated by kopium - manual changes will be overwritten
7-
// kopium command: kopium --filename /tmp/tmp.ga08T7uSLM/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
7+
// kopium command: kopium --filename /tmp/tmp.069jwQHVns/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
88
// kopium version: 0.23.0
99

1010
#[allow(unused_imports)]

src/models/_generated/flux_operator_resourcesets.rs

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#![allow(clippy::all)]
55

66
// WARNING: generated by kopium - manual changes will be overwritten
7-
// kopium command: kopium --filename /tmp/tmp.QDCsdogj3f/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
7+
// kopium command: kopium --filename /tmp/tmp.zSv7VR7Ryz/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
88
// kopium version: 0.23.0
99

1010
#[allow(unused_imports)]
@@ -67,7 +67,7 @@ pub struct ResourceSetSpec {
6767
pub inputs_from: Option<Vec<ResourceSetInputsFrom>>,
6868
/// Resources contains the list of Kubernetes resources to reconcile.
6969
#[serde(default, skip_serializing_if = "Option::is_none")]
70-
pub resources: Option<Vec<serde_json::Value>>,
70+
pub resources: Option<Vec<BTreeMap<String, serde_json::Value>>>,
7171
/// ResourcesTemplate is a Go template that generates the list of
7272
/// Kubernetes resources to reconcile. The template is rendered
7373
/// as multi-document YAML, the resources should be separated by '---'.
@@ -87,6 +87,11 @@ pub struct ResourceSetSpec {
8787
rename = "serviceAccountName"
8888
)]
8989
pub service_account_name: Option<String>,
90+
/// Steps contains an ordered list of named steps to reconcile in sequence.
91+
/// Each step's resources are applied and health-checked before the next
92+
/// step starts. Mutually exclusive with Resources and ResourcesTemplate.
93+
#[serde(default, skip_serializing_if = "Option::is_none")]
94+
pub steps: Option<Vec<ResourceSetSteps>>,
9095
/// Wait instructs the controller to check the health
9196
/// of all the reconciled resources.
9297
#[serde(default, skip_serializing_if = "Option::is_none")]
@@ -250,6 +255,34 @@ pub struct ResourceSetInputsFromSelectorMatchExpressions {
250255
pub values: Option<Vec<String>>,
251256
}
252257

258+
/// ResourceSetStep defines a named step in the ResourceSet reconciliation
259+
/// sequence. The step's resources are applied and health-checked before
260+
/// the next step starts.
261+
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
262+
pub struct ResourceSetSteps {
263+
/// Name of the step, must be unique within the ResourceSet.
264+
pub name: String,
265+
/// Resources contains the list of Kubernetes resources to reconcile.
266+
#[serde(default, skip_serializing_if = "Option::is_none")]
267+
pub resources: Option<Vec<BTreeMap<String, serde_json::Value>>>,
268+
/// ResourcesTemplate is a Go template that generates the list of
269+
/// Kubernetes resources to reconcile. The template is rendered
270+
/// as multi-document YAML, the resources should be separated by '---'.
271+
/// When both Resources and ResourcesTemplate are set, the resulting
272+
/// objects are merged and deduplicated, with the ones from Resources taking precedence.
273+
#[serde(
274+
default,
275+
skip_serializing_if = "Option::is_none",
276+
rename = "resourcesTemplate"
277+
)]
278+
pub resources_template: Option<String>,
279+
/// Timeout is the maximum time to wait for the step's resources to
280+
/// become ready. When not set, the ResourceSet reconciliation
281+
/// timeout is used.
282+
#[serde(default, skip_serializing_if = "Option::is_none")]
283+
pub timeout: Option<String>,
284+
}
285+
253286
/// ResourceSetStatus defines the observed state of ResourceSet.
254287
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
255288
pub struct ResourceSetStatus {

src/models/_generated/helm_controller.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#![allow(clippy::all)]
55

66
// WARNING: generated by kopium - manual changes will be overwritten
7-
// kopium command: kopium --filename /tmp/tmp.zxBbkLcYPr/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
7+
// kopium command: kopium --filename /tmp/tmp.Xv5wNGx4Bq/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
88
// kopium version: 0.23.0
99

1010
#[allow(unused_imports)]

src/models/_generated/image_automation_controller.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#![allow(clippy::all)]
55

66
// WARNING: generated by kopium - manual changes will be overwritten
7-
// kopium command: kopium --filename /tmp/tmp.8mIlTcZ0YG/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
7+
// kopium command: kopium --filename /tmp/tmp.8oxs4WTapq/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
88
// kopium version: 0.23.0
99

1010
#[allow(unused_imports)]

src/models/_generated/image_reflector_controller.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#![allow(clippy::all)]
55

66
// WARNING: generated by kopium - manual changes will be overwritten
7-
// kopium command: kopium --filename /tmp/tmp.st0qrix2AQ/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
7+
// kopium command: kopium --filename /tmp/tmp.NNbNOPgwyk/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
88
// kopium version: 0.23.0
99

1010
#[allow(unused_imports)]
@@ -239,7 +239,7 @@ pub struct ImagePolicyStatusObservedPreviousRef {
239239
}
240240

241241
// WARNING: generated by kopium - manual changes will be overwritten
242-
// kopium command: kopium --filename /tmp/tmp.st0qrix2AQ/doc2.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
242+
// kopium command: kopium --filename /tmp/tmp.NNbNOPgwyk/doc2.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
243243
// kopium version: 0.23.0
244244

245245
#[allow(unused_imports)]

src/models/_generated/kustomize_controller.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#![allow(clippy::all)]
55

66
// WARNING: generated by kopium - manual changes will be overwritten
7-
// kopium command: kopium --filename /tmp/tmp.0fCEDyK6yZ/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
7+
// kopium command: kopium --filename /tmp/tmp.Wm6XahFjPh/doc1.yaml --derive Default --derive PartialEq --docs --smart-derive-elision
88
// kopium version: 0.23.0
99

1010
#[allow(unused_imports)]

0 commit comments

Comments
 (0)