From f9865dfbb68981da26ec4202eeac5b9eeec7e066 Mon Sep 17 00:00:00 2001 From: mgianluc Date: Sat, 31 Aug 2024 16:47:29 +0200 Subject: [PATCH] Release v0.37.0 --- charts/projectsveltos/Chart.yaml | 4 +- .../projectsveltos/crds/classifier-crd.yaml | 6 + .../crds/clusterconfiguration-crd.yaml | 6 +- .../crds/clusterprofile-crd.yaml | 164 ++-------------- .../crds/clusterreport-crd.yaml | 6 +- .../crds/clustersummary-crd.yaml | 44 +---- .../projectsveltos/crds/eventsource-crd.yaml | 6 + .../projectsveltos/crds/eventtrigger-crd.yaml | 107 ++++++++++- .../projectsveltos/crds/healthcheck-crd.yaml | 6 + charts/projectsveltos/crds/profile-crd.yaml | 164 ++-------------- .../templates/addon-controller-rbac.yaml | 179 +----------------- .../templates/event-manager-rbac.yaml | 1 + charts/projectsveltos/values.yaml | 26 +-- 13 files changed, 188 insertions(+), 531 deletions(-) diff --git a/charts/projectsveltos/Chart.yaml b/charts/projectsveltos/Chart.yaml index a4f00e3..37eb194 100644 --- a/charts/projectsveltos/Chart.yaml +++ b/charts/projectsveltos/Chart.yaml @@ -13,10 +13,10 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.36.0 +version: 0.37.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "0.36.0" +appVersion: "0.37.0" icon: https://github.com/projectsveltos/sveltos/raw/main/docs/assets/logo.png diff --git a/charts/projectsveltos/crds/classifier-crd.yaml b/charts/projectsveltos/crds/classifier-crd.yaml index 2aaae2f..071a435 100644 --- a/charts/projectsveltos/crds/classifier-crd.yaml +++ b/charts/projectsveltos/crds/classifier-crd.yaml @@ -122,6 +122,9 @@ spec: - value type: object type: array + name: + description: Name of the resource deployed in the Cluster. + type: string namespace: description: |- Namespace of the resource deployed in the Cluster. @@ -439,6 +442,9 @@ spec: - value type: object type: array + name: + description: Name of the resource deployed in the Cluster. + type: string namespace: description: |- Namespace of the resource deployed in the Cluster. diff --git a/charts/projectsveltos/crds/clusterconfiguration-crd.yaml b/charts/projectsveltos/crds/clusterconfiguration-crd.yaml index 1ce5f6c..c02ee02 100644 --- a/charts/projectsveltos/crds/clusterconfiguration-crd.yaml +++ b/charts/projectsveltos/crds/clusterconfiguration-crd.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.15.0 + controller-gen.kubebuilder.io/version: v0.16.2 name: clusterconfigurations.config.projectsveltos.io spec: group: config.projectsveltos.io @@ -158,7 +158,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -330,7 +329,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -535,7 +533,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -707,7 +704,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- diff --git a/charts/projectsveltos/crds/clusterprofile-crd.yaml b/charts/projectsveltos/crds/clusterprofile-crd.yaml index cee8908..6df80e2 100644 --- a/charts/projectsveltos/crds/clusterprofile-crd.yaml +++ b/charts/projectsveltos/crds/clusterprofile-crd.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.15.0 + controller-gen.kubebuilder.io/version: v0.16.2 name: clusterprofiles.config.projectsveltos.io spec: conversion: @@ -51,23 +51,8 @@ spec: clusterRefs: description: ClusterRefs identifies clusters to associate to. items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to let + you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -81,7 +66,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -646,7 +630,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -785,23 +768,8 @@ spec: MatchingClusterRefs reference all the clusters currently matching ClusterProfile ClusterSelector items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to let + you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -815,7 +783,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -857,23 +824,8 @@ spec: ClusterProfile ClusterSelector and already updated/being updated to ClusterProfile Spec items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to + let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -887,7 +839,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -935,23 +886,8 @@ spec: ClusterProfile ClusterSelector and already updated/being updated to ClusterProfile Spec items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to + let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -965,7 +901,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -1035,23 +970,8 @@ spec: clusterRefs: description: ClusterRefs identifies clusters to associate to. items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to let + you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -1065,7 +985,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -1826,7 +1745,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -1965,23 +1883,8 @@ spec: MatchingClusterRefs reference all the clusters currently matching ClusterProfile ClusterSelector items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to let + you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -1995,7 +1898,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -2037,23 +1939,8 @@ spec: ClusterProfile ClusterSelector and already updated/being updated to ClusterProfile Spec items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to + let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -2067,7 +1954,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -2115,23 +2001,8 @@ spec: ClusterProfile ClusterSelector and already updated/being updated to ClusterProfile Spec items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to + let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -2145,7 +2016,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- diff --git a/charts/projectsveltos/crds/clusterreport-crd.yaml b/charts/projectsveltos/crds/clusterreport-crd.yaml index f00ec56..ac2c8af 100644 --- a/charts/projectsveltos/crds/clusterreport-crd.yaml +++ b/charts/projectsveltos/crds/clusterreport-crd.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.15.0 + controller-gen.kubebuilder.io/version: v0.16.2 name: clusterreports.config.projectsveltos.io spec: group: config.projectsveltos.io @@ -124,7 +124,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -277,7 +276,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -438,7 +436,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -591,7 +588,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- diff --git a/charts/projectsveltos/crds/clustersummary-crd.yaml b/charts/projectsveltos/crds/clustersummary-crd.yaml index eee432f..1df0957 100644 --- a/charts/projectsveltos/crds/clustersummary-crd.yaml +++ b/charts/projectsveltos/crds/clustersummary-crd.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.15.0 + controller-gen.kubebuilder.io/version: v0.16.2 name: clustersummaries.config.projectsveltos.io spec: conversion: @@ -66,23 +66,8 @@ spec: clusterRefs: description: ClusterRefs identifies clusters to associate to. items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to + let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -96,7 +81,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -664,7 +648,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -1008,23 +991,8 @@ spec: clusterRefs: description: ClusterRefs identifies clusters to associate to. items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to + let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -1038,7 +1006,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -1802,7 +1769,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- diff --git a/charts/projectsveltos/crds/eventsource-crd.yaml b/charts/projectsveltos/crds/eventsource-crd.yaml index 66026ab..ea47892 100644 --- a/charts/projectsveltos/crds/eventsource-crd.yaml +++ b/charts/projectsveltos/crds/eventsource-crd.yaml @@ -103,6 +103,9 @@ spec: - value type: object type: array + name: + description: Name of the resource deployed in the Cluster. + type: string namespace: description: |- Namespace of the resource deployed in the Cluster. @@ -213,6 +216,9 @@ spec: - value type: object type: array + name: + description: Name of the resource deployed in the Cluster. + type: string namespace: description: |- Namespace of the resource deployed in the Cluster. diff --git a/charts/projectsveltos/crds/eventtrigger-crd.yaml b/charts/projectsveltos/crds/eventtrigger-crd.yaml index 660eb17..06c2a70 100644 --- a/charts/projectsveltos/crds/eventtrigger-crd.yaml +++ b/charts/projectsveltos/crds/eventtrigger-crd.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.16.1 + controller-gen.kubebuilder.io/version: v0.16.2 name: eventtriggers.lib.projectsveltos.io spec: conversion: @@ -939,6 +939,42 @@ spec: items: type: string type: array + configMapGenerator: + description: |- + The ConfigMapGenerator field references ConfigMaps containing templates. + These referenced ConfigMaps will be dynamically instantiated in the management cluster + based on event data. + items: + properties: + name: + description: |- + Name of the referenced resource. + Name can be expressed as a template and instantiate using + - `.Cluster.metadata.namespace`: namespace of the managed cluster + - `.Cluster.metadata.name`: name of the managed cluster + - `.Cluster.kind`: kind of the managed cluster object + minLength: 1 + type: string + nameFormat: + description: |- + InstantiatedResourceNameFormat defines a template used to generate the name + of the resource created in the management cluster. The template can reference: + - `.Cluster.metadata.namespace`: namespace of the managed cluster + - `.Cluster.metadata.name`: name of the managed cluster + - `.Cluster.kind`: kind of the managed cluster object + minLength: 1 + type: string + namespace: + description: |- + Namespace of the referenced resource. + Nnamespace can be left empty. In such a case, namespace will + be implicit set to cluster's namespace. + type: string + required: + - name + - nameFormat + type: object + type: array continueOnConflict: default: false description: |- @@ -946,6 +982,8 @@ spec: encountering the first conflict (e.g., another ClusterProfile already deployed the resource). If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even if conflicts are detected for previous resources. + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. type: boolean destinationClusterSelector: description: |- @@ -1004,6 +1042,8 @@ spec: DriftExclusions is a list of configuration drift exclusions to be applied when syncMode is set to ContinuousWithDriftDetection. Each exclusion specifies JSON6902 paths to ignore when evaluating drift, optionally targeting specific resources and features. + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. items: properties: paths: @@ -1091,8 +1131,10 @@ spec: (Deprecated use Patches instead) type: object helmCharts: - description: Helm charts to be deployed in the matching clusters based - on EventSource. + description: |- + Helm charts to be deployed in the matching clusters based on EventSource. + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. items: properties: chartName: @@ -1337,7 +1379,10 @@ spec: type: object type: array kustomizationRefs: - description: Kustomization refs + description: |- + Kustomization refs + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. items: properties: deploymentType: @@ -1477,6 +1522,8 @@ spec: Example: when this is set to 30%, when list of add-ons/applications in ClusterProfile changes, only 30% of matching clusters will be updated in parallel. Only when updates in those cluster succeed, other matching clusters are updated. + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. pattern: ^((100|[0-9]{1,2})%|[0-9]+)$ x-kubernetes-int-or-string: true oneForEvent: @@ -1490,6 +1537,8 @@ spec: description: |- Define additional Kustomize inline Patches applied for all resources on this profile Within the Patch Spec you can use templating + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. items: description: |- Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should @@ -1553,6 +1602,8 @@ spec: description: |- PolicyRefs references all the ConfigMaps/Secrets containing kubernetes resources that need to be deployed in the matching clusters based on EventSource. + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. items: properties: deploymentType: @@ -1611,7 +1662,45 @@ spec: when a ConfigMap/Secret instance mounted as volume is modified. When set to true, when any mounted ConfigMap/Secret is modified, Sveltos automatically starts a rolling upgrade for Deployment/StatefulSet/DaemonSet instances mounting it. + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. type: boolean + secretGenerator: + description: |- + The SecretGenerator field references Secrets containing templates. + These referenced Secret will be dynamically instantiated in the management cluster + based on event data. + items: + properties: + name: + description: |- + Name of the referenced resource. + Name can be expressed as a template and instantiate using + - `.Cluster.metadata.namespace`: namespace of the managed cluster + - `.Cluster.metadata.name`: name of the managed cluster + - `.Cluster.kind`: kind of the managed cluster object + minLength: 1 + type: string + nameFormat: + description: |- + InstantiatedResourceNameFormat defines a template used to generate the name + of the resource created in the management cluster. The template can reference: + - `.Cluster.metadata.namespace`: namespace of the managed cluster + - `.Cluster.metadata.name`: name of the managed cluster + - `.Cluster.kind`: kind of the managed cluster object + minLength: 1 + type: string + namespace: + description: |- + Namespace of the referenced resource. + Nnamespace can be left empty. In such a case, namespace will + be implicit set to cluster's namespace. + type: string + required: + - name + - nameFormat + type: object + type: array sourceClusterSelector: description: |- SourceClusterSelector identifies clusters to associate to. @@ -1668,6 +1757,8 @@ spec: the ClusterProfile. By default all deployed Helm charts and Kubernetes resources will be withdrawn from Cluster. Setting StopMatchingBehavior to LeavePolicies will instead leave ClusterProfile deployed policies in the Cluster. + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. type: string syncMode: default: Continuous @@ -1682,6 +1773,8 @@ spec: - 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. + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. enum: - OneTime - Continuous @@ -1693,6 +1786,8 @@ spec: TemplateResourceRefs is a list of resource to collect from the management cluster. Those resources' values will be used to instantiate templates contained in referenced PolicyRefs and Helm charts + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. items: properties: identifier: @@ -1768,6 +1863,8 @@ spec: Higher Tier values represent lower priority. The default Tier value is 100. Using Tiers provides finer control over resource deployment within your cluster, particularly useful when multiple configurations manage the same resources. + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. format: int32 minimum: 1 type: integer @@ -1776,6 +1873,8 @@ spec: ValidateHealths is a slice of Lua functions to run against the managed cluster to validate the state of those add-ons/applications is healthy + This field will be directly transferred to the ClusterProfile Spec + generated in response to events. items: properties: featureID: diff --git a/charts/projectsveltos/crds/healthcheck-crd.yaml b/charts/projectsveltos/crds/healthcheck-crd.yaml index 00b48de..11fd9b7 100644 --- a/charts/projectsveltos/crds/healthcheck-crd.yaml +++ b/charts/projectsveltos/crds/healthcheck-crd.yaml @@ -100,6 +100,9 @@ spec: - value type: object type: array + name: + description: Name of the resource deployed in the Cluster. + type: string namespace: description: |- Namespace of the resource deployed in the Cluster. @@ -208,6 +211,9 @@ spec: - value type: object type: array + name: + description: Name of the resource deployed in the Cluster. + type: string namespace: description: |- Namespace of the resource deployed in the Cluster. diff --git a/charts/projectsveltos/crds/profile-crd.yaml b/charts/projectsveltos/crds/profile-crd.yaml index 92e7abe..9f8b788 100644 --- a/charts/projectsveltos/crds/profile-crd.yaml +++ b/charts/projectsveltos/crds/profile-crd.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.15.0 + controller-gen.kubebuilder.io/version: v0.16.2 name: profiles.config.projectsveltos.io spec: conversion: @@ -51,23 +51,8 @@ spec: clusterRefs: description: ClusterRefs identifies clusters to associate to. items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to let + you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -81,7 +66,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -646,7 +630,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -785,23 +768,8 @@ spec: MatchingClusterRefs reference all the clusters currently matching ClusterProfile ClusterSelector items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to let + you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -815,7 +783,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -857,23 +824,8 @@ spec: ClusterProfile ClusterSelector and already updated/being updated to ClusterProfile Spec items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to + let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -887,7 +839,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -935,23 +886,8 @@ spec: ClusterProfile ClusterSelector and already updated/being updated to ClusterProfile Spec items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to + let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -965,7 +901,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -1035,23 +970,8 @@ spec: clusterRefs: description: ClusterRefs identifies clusters to associate to. items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to let + you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -1065,7 +985,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -1826,7 +1745,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -1965,23 +1883,8 @@ spec: MatchingClusterRefs reference all the clusters currently matching ClusterProfile ClusterSelector items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to let + you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -1995,7 +1898,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -2037,23 +1939,8 @@ spec: ClusterProfile ClusterSelector and already updated/being updated to ClusterProfile Spec items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to + let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -2067,7 +1954,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- @@ -2115,23 +2001,8 @@ spec: ClusterProfile ClusterSelector and already updated/being updated to ClusterProfile Spec items: - description: |- - ObjectReference contains enough information to let you inspect or modify the referred object. - --- - New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. - 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. - 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular - restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". - Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. - 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity - during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple - and the version of the actual struct is irrelevant. - 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. - - Instead of using this type, create a locally provided and used type that is well-focused on your reference. - For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . + description: ObjectReference contains enough information to + let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. @@ -2145,7 +2016,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- diff --git a/charts/projectsveltos/templates/addon-controller-rbac.yaml b/charts/projectsveltos/templates/addon-controller-rbac.yaml index f84d170..948fe1a 100644 --- a/charts/projectsveltos/templates/addon-controller-rbac.yaml +++ b/charts/projectsveltos/templates/addon-controller-rbac.yaml @@ -9,13 +9,6 @@ rules: - "" resources: - configmaps - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - secrets verbs: - get @@ -54,29 +47,8 @@ rules: - cluster.x-k8s.io resources: - clusters - verbs: - - get - - list - - watch -- apiGroups: - - cluster.x-k8s.io - resources: - clusters/status - verbs: - - get - - list - - watch -- apiGroups: - - cluster.x-k8s.io - resources: - machines - verbs: - - get - - list - - watch -- apiGroups: - - cluster.x-k8s.io - resources: - machines/status verbs: - get @@ -86,6 +58,7 @@ rules: - config.projectsveltos.io resources: - clusterconfigurations + - clusterreports verbs: - create - delete @@ -97,6 +70,7 @@ rules: - config.projectsveltos.io resources: - clusterconfigurations/status + - clusterreports/status verbs: - get - list @@ -105,6 +79,7 @@ rules: - config.projectsveltos.io resources: - clusterprofiles + - profiles verbs: - get - list @@ -115,6 +90,8 @@ rules: - config.projectsveltos.io resources: - clusterprofiles/finalizers + - clustersummaries/finalizers + - profiles/finalizers verbs: - patch - update @@ -122,29 +99,12 @@ rules: - config.projectsveltos.io resources: - clusterprofiles/status + - clustersummaries/status + - profiles/status verbs: - get - patch - update -- apiGroups: - - config.projectsveltos.io - resources: - - clusterreports - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - config.projectsveltos.io - resources: - - clusterreports/status - verbs: - - get - - list - - update - apiGroups: - config.projectsveltos.io resources: @@ -157,46 +117,6 @@ rules: - patch - update - watch -- apiGroups: - - config.projectsveltos.io - resources: - - clustersummaries/finalizers - verbs: - - patch - - update -- apiGroups: - - config.projectsveltos.io - resources: - - clustersummaries/status - verbs: - - get - - patch - - update -- apiGroups: - - config.projectsveltos.io - resources: - - profiles - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - config.projectsveltos.io - resources: - - profiles/finalizers - verbs: - - patch - - update -- apiGroups: - - config.projectsveltos.io - resources: - - profiles/status - verbs: - - get - - patch - - update - apiGroups: - controlplane.cluster.x-k8s.io resources: @@ -209,13 +129,6 @@ rules: - extension.projectsveltos.io resources: - jsonnetsources - verbs: - - get - - list - - watch -- apiGroups: - - extension.projectsveltos.io - resources: - yttsources verbs: - get @@ -233,39 +146,6 @@ rules: - lib.projectsveltos.io resources: - clustersets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - lib.projectsveltos.io - resources: - - clustersets/finalizers - verbs: - - update -- apiGroups: - - lib.projectsveltos.io - resources: - - clustersets/status - verbs: - - get - - patch - - update -- apiGroups: - - lib.projectsveltos.io - resources: - - debuggingconfigurations - verbs: - - get - - list - - watch -- apiGroups: - - lib.projectsveltos.io - resources: - sets verbs: - create @@ -278,12 +158,14 @@ rules: - apiGroups: - lib.projectsveltos.io resources: + - clustersets/finalizers - sets/finalizers verbs: - update - apiGroups: - lib.projectsveltos.io resources: + - clustersets/status - sets/status verbs: - get @@ -292,14 +174,8 @@ rules: - apiGroups: - lib.projectsveltos.io resources: + - debuggingconfigurations - sveltosclusters - verbs: - - get - - list - - watch -- apiGroups: - - lib.projectsveltos.io - resources: - sveltosclusters/status verbs: - get @@ -309,45 +185,10 @@ rules: - source.toolkit.fluxcd.io resources: - buckets - verbs: - - get - - list - - watch -- apiGroups: - - source.toolkit.fluxcd.io - resources: - buckets/status - verbs: - - get - - list - - watch -- apiGroups: - - source.toolkit.fluxcd.io - resources: - gitrepositories - verbs: - - get - - list - - watch -- apiGroups: - - source.toolkit.fluxcd.io - resources: - gitrepositories/status - verbs: - - get - - list - - watch -- apiGroups: - - source.toolkit.fluxcd.io - resources: - ocirepositories - verbs: - - get - - list - - watch -- apiGroups: - - source.toolkit.fluxcd.io - resources: - ocirepositories/status verbs: - get diff --git a/charts/projectsveltos/templates/event-manager-rbac.yaml b/charts/projectsveltos/templates/event-manager-rbac.yaml index 5fc6662..072ba27 100644 --- a/charts/projectsveltos/templates/event-manager-rbac.yaml +++ b/charts/projectsveltos/templates/event-manager-rbac.yaml @@ -52,6 +52,7 @@ rules: - delete - get - list + - patch - update - watch - apiGroups: diff --git a/charts/projectsveltos/values.yaml b/charts/projectsveltos/values.yaml index 5115a5d..b6e327f 100644 --- a/charts/projectsveltos/values.yaml +++ b/charts/projectsveltos/values.yaml @@ -10,7 +10,7 @@ accessManager: - ALL image: repository: docker.io/projectsveltos/access-manager - tag: v0.36.0 + tag: v0.37.0 resources: limits: cpu: 500m @@ -28,14 +28,14 @@ addonController: - --report-mode=0 - --shard-key= - --v=5 - - --version=v0.36.0 + - --version=v0.37.0 argsAgentMgmtCluster: - --diagnostics-address=:8443 - --report-mode=0 - --agent-in-mgmt-cluster - --shard-key= - --v=5 - - --version=v0.36.0 + - --version=v0.37.0 containerSecurityContext: allowPrivilegeEscalation: false capabilities: @@ -43,7 +43,7 @@ addonController: - ALL image: repository: docker.io/projectsveltos/addon-controller - tag: v0.36.0 + tag: v0.37.0 resources: requests: memory: 256Mi @@ -57,14 +57,14 @@ classifierManager: - --report-mode=0 - --shard-key= - --v=5 - - --version=v0.36.0 + - --version=v0.37.0 argsAgentMgmtCluster: - --diagnostics-address=:8443 - --report-mode=0 - --agent-in-mgmt-cluster - --shard-key= - --v=5 - - --version=v0.36.0 + - --version=v0.37.0 containerSecurityContext: allowPrivilegeEscalation: false capabilities: @@ -72,7 +72,7 @@ classifierManager: - ALL image: repository: docker.io/projectsveltos/classifier - tag: v0.36.0 + tag: v0.37.0 resources: limits: cpu: 500m @@ -93,7 +93,7 @@ conversionWebhook: - ALL image: repository: docker.io/projectsveltos/webhook-conversion - tag: v0.36.0 + tag: v0.37.0 resources: limits: cpu: 500m @@ -117,7 +117,7 @@ eventManager: - ALL image: repository: docker.io/projectsveltos/event-manager - tag: v0.36.0 + tag: v0.37.0 resources: limits: cpu: 500m @@ -141,7 +141,7 @@ hcManager: - ALL image: repository: docker.io/projectsveltos/healthcheck-manager - tag: v0.36.0 + tag: v0.37.0 resources: limits: cpu: 500m @@ -165,7 +165,7 @@ registerMgmtClusterJob: - ALL image: repository: docker.io/projectsveltos/register-mgmt-cluster - tag: v0.36.0 + tag: v0.37.0 imagePullPolicy: IfNotPresent resources: requests: @@ -183,7 +183,7 @@ scManager: - ALL image: repository: docker.io/projectsveltos/sveltoscluster-manager - tag: v0.36.0 + tag: v0.37.0 resources: limits: cpu: 500m @@ -212,7 +212,7 @@ shardController: - ALL image: repository: docker.io/projectsveltos/shard-controller - tag: v0.36.0 + tag: v0.37.0 resources: limits: cpu: 500m