From a1164743af2e650238c297a14fed92f8fb0c3c23 Mon Sep 17 00:00:00 2001 From: Gianluca Mardente Date: Thu, 30 Jan 2025 17:58:10 +0100 Subject: [PATCH] Update manifest post release v0.46.0 --- kustomize/base/register-mgmt-cluster.yaml | 1 + ..._accessrequests.lib.projectsveltos.io.yaml | 2 +- ...assifierreports.lib.projectsveltos.io.yaml | 2 +- ...ion_classifiers.lib.projectsveltos.io.yaml | 2 +- ...terhealthchecks.lib.projectsveltos.io.yaml | 2 +- ...ion_clustersets.lib.projectsveltos.io.yaml | 2 +- ...gconfigurations.lib.projectsveltos.io.yaml | 2 +- ...on_eventreports.lib.projectsveltos.io.yaml | 11 +- ...on_eventsources.lib.projectsveltos.io.yaml | 44 +++- ...lthcheckreports.lib.projectsveltos.io.yaml | 2 +- ...on_healthchecks.lib.projectsveltos.io.yaml | 2 +- ...reloaderreports.lib.projectsveltos.io.yaml | 2 +- ...ition_reloaders.lib.projectsveltos.io.yaml | 2 +- ...on_rolerequests.lib.projectsveltos.io.yaml | 2 +- ...definition_sets.lib.projectsveltos.io.yaml | 2 +- ...sveltosclusters.lib.projectsveltos.io.yaml | 2 +- ...on_techsupports.lib.projectsveltos.io.yaml | 2 +- ...nfigurations.config.projectsveltos.io.yaml | 2 +- ...sterprofiles.config.projectsveltos.io.yaml | 28 ++- ...usterreports.config.projectsveltos.io.yaml | 2 +- ...tersummaries.config.projectsveltos.io.yaml | 28 ++- .../eventtriggers.lib.projectsveltos.io.yaml | 26 ++- .../profiles.config.projectsveltos.io.yaml | 28 ++- .../drift-detection-manager.yaml | 8 + manifest/agents_in_mgmt_cluster_manifest.yaml | 204 +++++++++++++----- manifest/crds/sveltos_crds.yaml | 197 ++++++++++++----- manifest/manifest.yaml | 196 ++++++++++++----- manifest/sveltosctl_manifest.yaml | 2 +- 28 files changed, 608 insertions(+), 197 deletions(-) diff --git a/kustomize/base/register-mgmt-cluster.yaml b/kustomize/base/register-mgmt-cluster.yaml index 1c083c21..f2302552 100644 --- a/kustomize/base/register-mgmt-cluster.yaml +++ b/kustomize/base/register-mgmt-cluster.yaml @@ -29,6 +29,7 @@ spec: containers: - args: - --labels= + - --service-account-token=false image: docker.io/projectsveltos/register-mgmt-cluster:main imagePullPolicy: IfNotPresent name: register-mgmt-cluster diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_accessrequests.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_accessrequests.lib.projectsveltos.io.yaml index 8697bfa6..42c3c929 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_accessrequests.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_accessrequests.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: accessrequests.lib.projectsveltos.io spec: group: lib.projectsveltos.io diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_classifierreports.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_classifierreports.lib.projectsveltos.io.yaml index cfcfe6af..2e1fb140 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_classifierreports.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_classifierreports.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: classifierreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_classifiers.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_classifiers.lib.projectsveltos.io.yaml index 12ec65a3..b30467f1 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_classifiers.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_classifiers.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: classifiers.lib.projectsveltos.io spec: group: lib.projectsveltos.io diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_clusterhealthchecks.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_clusterhealthchecks.lib.projectsveltos.io.yaml index 90b0bea3..56422103 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_clusterhealthchecks.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_clusterhealthchecks.lib.projectsveltos.io.yaml @@ -3,7 +3,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterhealthchecks.lib.projectsveltos.io spec: conversion: diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_clustersets.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_clustersets.lib.projectsveltos.io.yaml index 88b974bf..2a92a260 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_clustersets.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_clustersets.lib.projectsveltos.io.yaml @@ -3,7 +3,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clustersets.lib.projectsveltos.io spec: conversion: diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_debuggingconfigurations.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_debuggingconfigurations.lib.projectsveltos.io.yaml index 78ed2189..e203b75b 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_debuggingconfigurations.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_debuggingconfigurations.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: debuggingconfigurations.lib.projectsveltos.io spec: group: lib.projectsveltos.io diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_eventreports.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_eventreports.lib.projectsveltos.io.yaml index b73c4ca9..afe1172c 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_eventreports.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_eventreports.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: eventreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -157,6 +157,13 @@ spec: type: object spec: properties: + cloudEvents: + description: CloudEvents contains a list of CloudEvents matching an + EventSource + items: + format: byte + type: string + type: array clusterName: description: |- ClusterName is the name of the Cluster this EventReport @@ -179,7 +186,7 @@ spec: type: string matchingResources: description: MatchingResources contains a list of resources matching - an event + an EventSource items: description: ObjectReference contains enough information to let you inspect or modify the referred object. diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_eventsources.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_eventsources.lib.projectsveltos.io.yaml index 5486bcf9..e77f0bc7 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_eventsources.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_eventsources.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: eventsources.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -173,8 +173,46 @@ spec: CollectResources indicates whether matching resources need to be collected and added to EventReport. type: boolean + messagingMatchCriteria: + description: |- + MessagingMatchCriteria defines a list of MessagingMatchCriteria. Each criteria specifies + how to match CloudEvents received on specific NATS/JetStream subjects. + items: + description: |- + MessagingMatchCriteria defines criteria for matching CloudEvents received via NATS. + Sveltos listens to NATS/JetStream subjects, and the messages delivered on those + subjects are expected to be CloudEvents. + properties: + cloudEventSource: + description: |- + CloudEventSource filters CloudEvents based on their "source" attribute. + If specified, only CloudEvents with a matching source will be considered. + Regular expressions are supported. + type: string + cloudEventSubject: + description: |- + CloudEventSubject filters CloudEvents based on their "subject" attribute. + If specified, only CloudEvents with a matching subject will be considered. + Regular expressions are supported. + type: string + cloudEventType: + description: |- + CloudEventType filters CloudEvents based on their "type" attribute. + If specified, only CloudEvents with a matching type will be considered. + Regular expressions are supported. + type: string + subject: + description: |- + Subject is an optional NATS/JetStream subject filter. If specified, this criteria will + only consider CloudEvents received on this specific subject. Leaving it empty + means the criteria will match CloudEvents from any of the subjects Sveltos + is subscribed to. Regular expressions are supported. + type: string + type: object + type: array resourceSelectors: - description: ResourceSelectors identifies what resources to select + description: ResourceSelectors identifies what Kubernetes resources + to select items: description: ResourceSelector defines what resources are a match properties: @@ -234,8 +272,6 @@ spec: - version type: object type: array - required: - - resourceSelectors type: object type: object served: true diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_healthcheckreports.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_healthcheckreports.lib.projectsveltos.io.yaml index 64def3c3..9ee55b53 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_healthcheckreports.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_healthcheckreports.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: healthcheckreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_healthchecks.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_healthchecks.lib.projectsveltos.io.yaml index b2f73552..24fd9489 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_healthchecks.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_healthchecks.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: healthchecks.lib.projectsveltos.io spec: group: lib.projectsveltos.io diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_reloaderreports.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_reloaderreports.lib.projectsveltos.io.yaml index d49a3374..b7e20dbe 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_reloaderreports.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_reloaderreports.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: reloaderreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_reloaders.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_reloaders.lib.projectsveltos.io.yaml index 093cf669..9e88eff0 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_reloaders.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_reloaders.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: reloaders.lib.projectsveltos.io spec: group: lib.projectsveltos.io diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_rolerequests.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_rolerequests.lib.projectsveltos.io.yaml index 8489353e..d15d7c24 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_rolerequests.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_rolerequests.lib.projectsveltos.io.yaml @@ -3,7 +3,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: rolerequests.lib.projectsveltos.io spec: conversion: diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_sets.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_sets.lib.projectsveltos.io.yaml index e913c2c9..5f82d6a1 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_sets.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_sets.lib.projectsveltos.io.yaml @@ -3,7 +3,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: sets.lib.projectsveltos.io spec: conversion: diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_sveltosclusters.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_sveltosclusters.lib.projectsveltos.io.yaml index 32cd2d72..bca6a3a4 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_sveltosclusters.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_sveltosclusters.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: sveltosclusters.lib.projectsveltos.io spec: group: lib.projectsveltos.io diff --git a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_techsupports.lib.projectsveltos.io.yaml b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_techsupports.lib.projectsveltos.io.yaml index 02a8a02d..443fe4b7 100644 --- a/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_techsupports.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/apiextensions.k8s.io_v1_customresourcedefinition_techsupports.lib.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: techsupports.lib.projectsveltos.io spec: group: lib.projectsveltos.io diff --git a/kustomize/components/crds/clusterconfigurations.config.projectsveltos.io.yaml b/kustomize/components/crds/clusterconfigurations.config.projectsveltos.io.yaml index b9d8ca16..e6074201 100644 --- a/kustomize/components/crds/clusterconfigurations.config.projectsveltos.io.yaml +++ b/kustomize/components/crds/clusterconfigurations.config.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterconfigurations.config.projectsveltos.io spec: group: config.projectsveltos.io diff --git a/kustomize/components/crds/clusterprofiles.config.projectsveltos.io.yaml b/kustomize/components/crds/clusterprofiles.config.projectsveltos.io.yaml index 8972cbb3..48bcdf69 100644 --- a/kustomize/components/crds/clusterprofiles.config.projectsveltos.io.yaml +++ b/kustomize/components/crds/clusterprofiles.config.projectsveltos.io.yaml @@ -3,7 +3,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterprofiles.config.projectsveltos.io spec: conversion: @@ -583,9 +583,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -1054,6 +1057,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -1747,9 +1758,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. diff --git a/kustomize/components/crds/clusterreports.config.projectsveltos.io.yaml b/kustomize/components/crds/clusterreports.config.projectsveltos.io.yaml index d413977f..faa409e7 100644 --- a/kustomize/components/crds/clusterreports.config.projectsveltos.io.yaml +++ b/kustomize/components/crds/clusterreports.config.projectsveltos.io.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterreports.config.projectsveltos.io spec: group: config.projectsveltos.io diff --git a/kustomize/components/crds/clustersummaries.config.projectsveltos.io.yaml b/kustomize/components/crds/clustersummaries.config.projectsveltos.io.yaml index 1dbdde17..22264b02 100644 --- a/kustomize/components/crds/clustersummaries.config.projectsveltos.io.yaml +++ b/kustomize/components/crds/clustersummaries.config.projectsveltos.io.yaml @@ -3,7 +3,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clustersummaries.config.projectsveltos.io spec: conversion: @@ -597,9 +597,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -1068,6 +1071,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -1761,9 +1772,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. diff --git a/kustomize/components/crds/eventtriggers.lib.projectsveltos.io.yaml b/kustomize/components/crds/eventtriggers.lib.projectsveltos.io.yaml index 73e4d16c..6dd1aa9a 100644 --- a/kustomize/components/crds/eventtriggers.lib.projectsveltos.io.yaml +++ b/kustomize/components/crds/eventtriggers.lib.projectsveltos.io.yaml @@ -550,9 +550,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -921,6 +924,14 @@ spec: spec: description: EventTriggerSpec defines the desired state of EventTrigger properties: + cloudEventAction: + default: Create + description: |- + CloudEventAction determines the action to take based on the received CloudEvent. + CloudEvents with the same source and subject are considered related and represent + different states of the same entity. This field specifies whether to create or + delete the associated Kubernetes resources. + type: string clusterSetRefs: description: SetRefs identifies referenced ClusterSets. Name of the referenced ClusterSets. items: @@ -1813,9 +1824,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. diff --git a/kustomize/components/crds/profiles.config.projectsveltos.io.yaml b/kustomize/components/crds/profiles.config.projectsveltos.io.yaml index bbce93a3..36eb84e8 100644 --- a/kustomize/components/crds/profiles.config.projectsveltos.io.yaml +++ b/kustomize/components/crds/profiles.config.projectsveltos.io.yaml @@ -3,7 +3,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: profiles.config.projectsveltos.io spec: conversion: @@ -583,9 +583,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -1054,6 +1057,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -1747,9 +1758,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. diff --git a/kustomize/overlays/agentless-mode/drift-detection-manager.yaml b/kustomize/overlays/agentless-mode/drift-detection-manager.yaml index 57da8148..7e883c05 100644 --- a/kustomize/overlays/agentless-mode/drift-detection-manager.yaml +++ b/kustomize/overlays/agentless-mode/drift-detection-manager.yaml @@ -40,6 +40,14 @@ rules: - get - list - watch +- apiGroups: + - lib.projectsveltos.io + resources: + - debuggingconfigurations + verbs: + - get + - list + - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/manifest/agents_in_mgmt_cluster_manifest.yaml b/manifest/agents_in_mgmt_cluster_manifest.yaml index c620aa6a..ffc2ac98 100644 --- a/manifest/agents_in_mgmt_cluster_manifest.yaml +++ b/manifest/agents_in_mgmt_cluster_manifest.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: accessrequests.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -256,7 +256,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: classifierreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -412,7 +412,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: classifiers.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -1058,7 +1058,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterhealthchecks.lib.projectsveltos.io spec: conversion: @@ -1865,7 +1865,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clustersets.lib.projectsveltos.io spec: conversion: @@ -2300,7 +2300,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: debuggingconfigurations.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -2438,7 +2438,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: eventreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -2591,6 +2591,12 @@ spec: type: object spec: properties: + cloudEvents: + description: CloudEvents contains a list of CloudEvents matching an EventSource + items: + format: byte + type: string + type: array clusterName: description: |- ClusterName is the name of the Cluster this EventReport @@ -2612,7 +2618,7 @@ spec: is for. type: string matchingResources: - description: MatchingResources contains a list of resources matching an event + description: MatchingResources contains a list of resources matching an EventSource items: description: ObjectReference contains enough information to let you inspect or modify the referred object. properties: @@ -2690,7 +2696,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: eventsources.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -2860,8 +2866,45 @@ spec: CollectResources indicates whether matching resources need to be collected and added to EventReport. type: boolean + messagingMatchCriteria: + description: |- + MessagingMatchCriteria defines a list of MessagingMatchCriteria. Each criteria specifies + how to match CloudEvents received on specific NATS/JetStream subjects. + items: + description: |- + MessagingMatchCriteria defines criteria for matching CloudEvents received via NATS. + Sveltos listens to NATS/JetStream subjects, and the messages delivered on those + subjects are expected to be CloudEvents. + properties: + cloudEventSource: + description: |- + CloudEventSource filters CloudEvents based on their "source" attribute. + If specified, only CloudEvents with a matching source will be considered. + Regular expressions are supported. + type: string + cloudEventSubject: + description: |- + CloudEventSubject filters CloudEvents based on their "subject" attribute. + If specified, only CloudEvents with a matching subject will be considered. + Regular expressions are supported. + type: string + cloudEventType: + description: |- + CloudEventType filters CloudEvents based on their "type" attribute. + If specified, only CloudEvents with a matching type will be considered. + Regular expressions are supported. + type: string + subject: + description: |- + Subject is an optional NATS/JetStream subject filter. If specified, this criteria will + only consider CloudEvents received on this specific subject. Leaving it empty + means the criteria will match CloudEvents from any of the subjects Sveltos + is subscribed to. Regular expressions are supported. + type: string + type: object + type: array resourceSelectors: - description: ResourceSelectors identifies what resources to select + description: ResourceSelectors identifies what Kubernetes resources to select items: description: ResourceSelector defines what resources are a match properties: @@ -2920,8 +2963,6 @@ spec: - version type: object type: array - required: - - resourceSelectors type: object type: object served: true @@ -2931,7 +2972,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: healthcheckreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3217,7 +3258,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: healthchecks.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3452,7 +3493,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: reloaderreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3652,7 +3693,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: reloaders.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3785,7 +3826,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: rolerequests.lib.projectsveltos.io spec: conversion: @@ -4278,7 +4319,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: sets.lib.projectsveltos.io spec: conversion: @@ -4713,7 +4754,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: sveltosclusters.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -5035,7 +5076,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: techsupports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -5553,7 +5594,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterconfigurations.config.projectsveltos.io spec: group: config.projectsveltos.io @@ -6256,7 +6297,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterprofiles.config.projectsveltos.io spec: conversion: @@ -6836,9 +6877,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -7307,6 +7351,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -8000,9 +8052,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -8359,7 +8414,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterreports.config.projectsveltos.io spec: group: config.projectsveltos.io @@ -8979,7 +9034,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clustersummaries.config.projectsveltos.io spec: conversion: @@ -9573,9 +9628,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -10044,6 +10102,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -10737,9 +10803,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -11063,7 +11132,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: profiles.config.projectsveltos.io spec: conversion: @@ -11643,9 +11712,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -12114,6 +12186,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -12807,9 +12887,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -14935,9 +15018,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -15306,6 +15392,14 @@ spec: spec: description: EventTriggerSpec defines the desired state of EventTrigger properties: + cloudEventAction: + default: Create + description: |- + CloudEventAction determines the action to take based on the received CloudEvent. + CloudEvents with the same source and subject are considered related and represent + different states of the same entity. This field specifies whether to create or + delete the associated Kubernetes resources. + type: string clusterSetRefs: description: SetRefs identifies referenced ClusterSets. Name of the referenced ClusterSets. items: @@ -16198,9 +16292,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -17142,6 +17239,14 @@ rules: - get - list - watch + - apiGroups: + - lib.projectsveltos.io + resources: + - debuggingconfigurations + verbs: + - get + - list + - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -17412,6 +17517,7 @@ spec: containers: - args: - --labels= + - --service-account-token=false image: docker.io/projectsveltos/register-mgmt-cluster:main imagePullPolicy: IfNotPresent name: register-mgmt-cluster diff --git a/manifest/crds/sveltos_crds.yaml b/manifest/crds/sveltos_crds.yaml index 3241955d..fbf12788 100644 --- a/manifest/crds/sveltos_crds.yaml +++ b/manifest/crds/sveltos_crds.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: accessrequests.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -258,7 +258,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: classifierreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -414,7 +414,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: classifiers.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -1072,7 +1072,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterhealthchecks.lib.projectsveltos.io spec: conversion: @@ -1898,7 +1898,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clustersets.lib.projectsveltos.io spec: conversion: @@ -2342,7 +2342,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: debuggingconfigurations.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -2490,7 +2490,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: eventreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -2645,6 +2645,13 @@ spec: type: object spec: properties: + cloudEvents: + description: CloudEvents contains a list of CloudEvents matching an + EventSource + items: + format: byte + type: string + type: array clusterName: description: |- ClusterName is the name of the Cluster this EventReport @@ -2667,7 +2674,7 @@ spec: type: string matchingResources: description: MatchingResources contains a list of resources matching - an event + an EventSource items: description: ObjectReference contains enough information to let you inspect or modify the referred object. @@ -2746,7 +2753,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: eventsources.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -2917,8 +2924,46 @@ spec: CollectResources indicates whether matching resources need to be collected and added to EventReport. type: boolean + messagingMatchCriteria: + description: |- + MessagingMatchCriteria defines a list of MessagingMatchCriteria. Each criteria specifies + how to match CloudEvents received on specific NATS/JetStream subjects. + items: + description: |- + MessagingMatchCriteria defines criteria for matching CloudEvents received via NATS. + Sveltos listens to NATS/JetStream subjects, and the messages delivered on those + subjects are expected to be CloudEvents. + properties: + cloudEventSource: + description: |- + CloudEventSource filters CloudEvents based on their "source" attribute. + If specified, only CloudEvents with a matching source will be considered. + Regular expressions are supported. + type: string + cloudEventSubject: + description: |- + CloudEventSubject filters CloudEvents based on their "subject" attribute. + If specified, only CloudEvents with a matching subject will be considered. + Regular expressions are supported. + type: string + cloudEventType: + description: |- + CloudEventType filters CloudEvents based on their "type" attribute. + If specified, only CloudEvents with a matching type will be considered. + Regular expressions are supported. + type: string + subject: + description: |- + Subject is an optional NATS/JetStream subject filter. If specified, this criteria will + only consider CloudEvents received on this specific subject. Leaving it empty + means the criteria will match CloudEvents from any of the subjects Sveltos + is subscribed to. Regular expressions are supported. + type: string + type: object + type: array resourceSelectors: - description: ResourceSelectors identifies what resources to select + description: ResourceSelectors identifies what Kubernetes resources + to select items: description: ResourceSelector defines what resources are a match properties: @@ -2978,8 +3023,6 @@ spec: - version type: object type: array - required: - - resourceSelectors type: object type: object served: true @@ -2989,7 +3032,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: healthcheckreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3277,7 +3320,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: healthchecks.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3516,7 +3559,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: reloaderreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3718,7 +3761,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: reloaders.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3853,7 +3896,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: rolerequests.lib.projectsveltos.io spec: conversion: @@ -4358,7 +4401,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: sets.lib.projectsveltos.io spec: conversion: @@ -4802,7 +4845,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: sveltosclusters.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -5128,7 +5171,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: techsupports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -5623,7 +5666,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterconfigurations.config.projectsveltos.io spec: group: config.projectsveltos.io @@ -6326,7 +6369,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterprofiles.config.projectsveltos.io spec: conversion: @@ -6906,9 +6949,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -7377,6 +7423,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -8070,9 +8124,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -8429,7 +8486,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterreports.config.projectsveltos.io spec: group: config.projectsveltos.io @@ -9049,7 +9106,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clustersummaries.config.projectsveltos.io spec: conversion: @@ -9643,9 +9700,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -10114,6 +10174,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -10807,9 +10875,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -11680,9 +11751,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -12051,6 +12125,14 @@ spec: spec: description: EventTriggerSpec defines the desired state of EventTrigger properties: + cloudEventAction: + default: Create + description: |- + CloudEventAction determines the action to take based on the received CloudEvent. + CloudEvents with the same source and subject are considered related and represent + different states of the same entity. This field specifies whether to create or + delete the associated Kubernetes resources. + type: string clusterSetRefs: description: SetRefs identifies referenced ClusterSets. Name of the referenced ClusterSets. items: @@ -12943,9 +13025,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -13309,7 +13394,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: profiles.config.projectsveltos.io spec: conversion: @@ -13889,9 +13974,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -14360,6 +14448,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -15053,9 +15149,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. diff --git a/manifest/manifest.yaml b/manifest/manifest.yaml index 87dc1347..8a8818a3 100644 --- a/manifest/manifest.yaml +++ b/manifest/manifest.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: accessrequests.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -256,7 +256,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: classifierreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -412,7 +412,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: classifiers.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -1058,7 +1058,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterhealthchecks.lib.projectsveltos.io spec: conversion: @@ -1865,7 +1865,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clustersets.lib.projectsveltos.io spec: conversion: @@ -2300,7 +2300,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: debuggingconfigurations.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -2438,7 +2438,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: eventreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -2591,6 +2591,12 @@ spec: type: object spec: properties: + cloudEvents: + description: CloudEvents contains a list of CloudEvents matching an EventSource + items: + format: byte + type: string + type: array clusterName: description: |- ClusterName is the name of the Cluster this EventReport @@ -2612,7 +2618,7 @@ spec: is for. type: string matchingResources: - description: MatchingResources contains a list of resources matching an event + description: MatchingResources contains a list of resources matching an EventSource items: description: ObjectReference contains enough information to let you inspect or modify the referred object. properties: @@ -2690,7 +2696,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: eventsources.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -2860,8 +2866,45 @@ spec: CollectResources indicates whether matching resources need to be collected and added to EventReport. type: boolean + messagingMatchCriteria: + description: |- + MessagingMatchCriteria defines a list of MessagingMatchCriteria. Each criteria specifies + how to match CloudEvents received on specific NATS/JetStream subjects. + items: + description: |- + MessagingMatchCriteria defines criteria for matching CloudEvents received via NATS. + Sveltos listens to NATS/JetStream subjects, and the messages delivered on those + subjects are expected to be CloudEvents. + properties: + cloudEventSource: + description: |- + CloudEventSource filters CloudEvents based on their "source" attribute. + If specified, only CloudEvents with a matching source will be considered. + Regular expressions are supported. + type: string + cloudEventSubject: + description: |- + CloudEventSubject filters CloudEvents based on their "subject" attribute. + If specified, only CloudEvents with a matching subject will be considered. + Regular expressions are supported. + type: string + cloudEventType: + description: |- + CloudEventType filters CloudEvents based on their "type" attribute. + If specified, only CloudEvents with a matching type will be considered. + Regular expressions are supported. + type: string + subject: + description: |- + Subject is an optional NATS/JetStream subject filter. If specified, this criteria will + only consider CloudEvents received on this specific subject. Leaving it empty + means the criteria will match CloudEvents from any of the subjects Sveltos + is subscribed to. Regular expressions are supported. + type: string + type: object + type: array resourceSelectors: - description: ResourceSelectors identifies what resources to select + description: ResourceSelectors identifies what Kubernetes resources to select items: description: ResourceSelector defines what resources are a match properties: @@ -2920,8 +2963,6 @@ spec: - version type: object type: array - required: - - resourceSelectors type: object type: object served: true @@ -2931,7 +2972,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: healthcheckreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3217,7 +3258,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: healthchecks.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3452,7 +3493,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: reloaderreports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3652,7 +3693,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: reloaders.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -3785,7 +3826,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: rolerequests.lib.projectsveltos.io spec: conversion: @@ -4278,7 +4319,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: sets.lib.projectsveltos.io spec: conversion: @@ -4713,7 +4754,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: sveltosclusters.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -5035,7 +5076,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: techsupports.lib.projectsveltos.io spec: group: lib.projectsveltos.io @@ -5520,7 +5561,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterconfigurations.config.projectsveltos.io spec: group: config.projectsveltos.io @@ -6223,7 +6264,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterprofiles.config.projectsveltos.io spec: conversion: @@ -6803,9 +6844,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -7274,6 +7318,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -7967,9 +8019,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -8326,7 +8381,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clusterreports.config.projectsveltos.io spec: group: config.projectsveltos.io @@ -8946,7 +9001,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: clustersummaries.config.projectsveltos.io spec: conversion: @@ -9540,9 +9595,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -10011,6 +10069,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -10704,9 +10770,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -11030,7 +11099,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: profiles.config.projectsveltos.io spec: conversion: @@ -11610,9 +11679,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -12081,6 +12153,14 @@ spec: If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. type: boolean + continueOnError: + default: false + description: |- + By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after + encountering the first error. + If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even + if errors are detected for previous resources. + type: boolean dependsOn: description: |- DependsOn specifies a list of other ClusterProfiles that this instance depends on. @@ -12774,9 +12854,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -14901,9 +14984,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -15272,6 +15358,14 @@ spec: spec: description: EventTriggerSpec defines the desired state of EventTrigger properties: + cloudEventAction: + default: Create + description: |- + CloudEventAction determines the action to take based on the received CloudEvent. + CloudEvents with the same source and subject are considered related and represent + different states of the same entity. This field specifies whether to create or + delete the associated Kubernetes resources. + type: string clusterSetRefs: description: SetRefs identifies referenced ClusterSets. Name of the referenced ClusterSets. items: @@ -16164,9 +16258,12 @@ spec: - OneTime means, first time a workload cluster matches the ClusterProfile, features will be deployed in such cluster. Any subsequent feature configuration change won't be applied into the matching workload clusters; - - Continuous means first time a workload cluster matches the ClusterProfile, - features will be deployed in such a cluster. Any subsequent feature configuration - change will be applied into the matching workload clusters. + - Continuous mode ensures that the first time a workload cluster matches a ClusterProfile, + the specified features are deployed. Subsequent changes to the feature configuration are also + automatically applied to all matching workload clusters. + _ SyncModeContinuousWithDriftDetection operates similarly to Continuous mode, but also monitors + matching managed clusters for configuration drift. If drift is detected, a reconciliation is + triggered to ensure the managed cluster's configuration aligns with the ClusterProfile. - DryRun means no change will be propagated to any matching cluster. A report instead will be generated summarizing what would happen in any matching cluster because of the changes made to ClusterProfile while in DryRun mode. @@ -17184,6 +17281,7 @@ spec: containers: - args: - --labels= + - --service-account-token=false image: docker.io/projectsveltos/register-mgmt-cluster:main imagePullPolicy: IfNotPresent name: register-mgmt-cluster diff --git a/manifest/sveltosctl_manifest.yaml b/manifest/sveltosctl_manifest.yaml index f50c47f5..01b8f667 100644 --- a/manifest/sveltosctl_manifest.yaml +++ b/manifest/sveltosctl_manifest.yaml @@ -194,7 +194,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: projectsveltos/projectsveltos-serving-cert - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: snapshots.utils.projectsveltos.io spec: conversion: