diff --git a/docs/content/en/references/fleet_v1alpha1_types.html b/docs/content/en/references/fleet_v1alpha1_types.html index a9fd4156d..613e765f2 100644 --- a/docs/content/en/references/fleet_v1alpha1_types.html +++ b/docs/content/en/references/fleet_v1alpha1_types.html @@ -141,10 +141,11 @@

BackupConfig (Optional)

Chart defines the helm chart configuration of the backup engine. The default value is:

-

chart: -repository: https://vmware-tanzu.github.io/helm-charts +

chart:
+repository: https://vmware-tanzu.github.io/helm-charts
 name: velero
-version: 5.0.2

+version: 5.0.2 +
@@ -173,11 +174,12 @@

BackupConfig (Optional)

ExtraArgs provides the extra chart values for the backup engine chart. For example, use the following configuration to change the image tag or pull policy:

-

extraArgs: +

extraArgs:
 image:
 repository: velero/velero
 tag: v1.11.1
-pullPolicy: IfNotPresent

+pullPolicy: IfNotPresent +
@@ -337,6 +339,7 @@

ChartConfig (Appears on: BackupConfig, DistributedStorageConfig, +FlaggerConfig, GrafanaConfig, KyvernoConfig, PrometheusConfig, @@ -547,10 +550,11 @@

DistributedStorageC (Optional)

Chart defines the helm chart configuration of the distributed storage engine. The default value is:

-

chart: -repository: https://charts.rook.io/release +

chart:
+repository: https://charts.rook.io/release
 name: rook
-version: 1.11.11

+version: 1.11.11 +
@@ -579,9 +583,10 @@

DistributedStorageC (Optional)

ExtraArgs provides the extra chart values for rook chart. For example, use the following configuration to change the pull policy:

-

extraArgs: +

extraArgs:
 image:
-pullPolicy: Always

+pullPolicy: Always +
@@ -594,6 +599,78 @@

Endpoints (Appears on: FleetStatus)

+

FlaggerConfig +

+

+(Appears on: +PluginConfig) +

+
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+chart
+ + +ChartConfig + + +
+(Optional) +

Chart defines the helm chart config of the flagger. +default value is

+
chart:
+repository: oci://ghcr.io/fluxcd/charts
+name: flagger
+version: 1.x
+
+
+extraArgs
+ + +Kubernetes /apiextensions/v1.JSON + + +
+(Optional) +

ExtraArgs is the set of extra arguments for flagger chart. +For Example, using following configuration to change replica count.

+
extraArgs:
+flagger:
+replicaCount: 2
+
+
+publicTestloader
+ +bool + +
+

PublicTestloader defines whether to install the publictestloader or not. +In addition to the public testloader you can configure here, +you can also specify a private testloader in the Application.Spec.SyncPolicies.Rollout.TestLoader

+
+
+

FleetPhase (string alias)

@@ -772,11 +849,12 @@

GrafanaConfig (Optional)

Chart defines the helm chart config of the grafana. -default values is

-

chart: +default value is

+
chart:
 repository: oci://registry-1.docker.io/bitnamicharts
 name: grafana
-version: 8.2.33

+version: 8.2.33 +
@@ -790,11 +868,12 @@

GrafanaConfig (Optional) -

ExtraArgs is the set of extra arguments for Grafana chart.

-

For Example, using following configuration to change replica count. -extraArgs: +

ExtraArgs is the set of extra arguments for Grafana chart. +For Example, using following configuration to change replica count.

+
extraArgs:
 grafana:
-replicaCount: 2

+replicaCount: 2 +
@@ -829,11 +908,12 @@

KyvernoConfig (Optional)

Chart defines the helm chart config of the kyverno. -default values is -chart: -repository: https://kyverno.github.io/kyverno/ +default value is

+
chart:
+repository: https://kyverno.github.io/kyverno/
 name: kyverno
-version: 3.0.0

+version: 3.0.0 +
@@ -861,11 +941,12 @@

KyvernoConfig (Optional) -

ExtraArgs is the set of extra arguments for Grafana chart.

-

For Example, using following configuration to change image pull policy. -extraArgs: +

ExtraArgs is the set of extra arguments for Grafana chart. +For Example, using following configuration to change image pull policy.

+
extraArgs:
 image:
-pullPolicy: Always

+pullPolicy: Always +
@@ -1322,6 +1403,19 @@

PluginConfig

DistributedStorage define the configuration for the distributed storage(Implemented with Rook)

+ + +flagger
+ + +FlaggerConfig + + + + +

Flagger defines the configuretion for the kurator rollout engine.

+ + @@ -1446,11 +1540,12 @@

PrometheusConfig (Optional)

Chart defines the helm chart config of the prometheus. -default values is

-

chart: +default value is

+
chart:
 repository: oci://registry-1.docker.io/bitnamicharts
 name: kube-prometheus
-version: 8.9.1

+version: 8.9.1 +
@@ -1492,12 +1587,13 @@

PrometheusConfig (Optional) -

ExtraArgs is the set of extra arguments for Prometheus chart.

-

For Example, using following configuration to create a ServiceMonitor to monitor prometheus itself. -extraArgs: +

ExtraArgs is the set of extra arguments for Prometheus chart. +For Example, using following configuration to create a ServiceMonitor to monitor prometheus itself.

+
extraArgs:
 prometheus:
 serviceMonitor:
-enabled: true

+enabled: true +
@@ -1662,11 +1758,12 @@

ThanosConfig (Optional)

Chart defines the helm chart config of the thanos. -default values is

-

chart: +default value is

+
chart:
 repository: oci://registry-1.docker.io/bitnamicharts
 name: thanos
-version: 12.5.1

+version: 12.5.1 +
@@ -1694,11 +1791,12 @@

ThanosConfig (Optional) -

ExtraArgs is the set of extra arguments for Thanos chart.

-

For Example, using following configuration to enable query frontend. -extraArgs: +

ExtraArgs is the set of extra arguments for Thanos chart. +For Example, using following configuration to enable query frontend.

+
extraArgs:
 queryFrontend:
-enabled: true

+enabled: true +
diff --git a/manifests/charts/fleet-manager/crds/fleet.kurator.dev_fleet.yaml b/manifests/charts/fleet-manager/crds/fleet.kurator.dev_fleet.yaml index 2e669d7ed..b1a550c90 100644 --- a/manifests/charts/fleet-manager/crds/fleet.kurator.dev_fleet.yaml +++ b/manifests/charts/fleet-manager/crds/fleet.kurator.dev_fleet.yaml @@ -116,9 +116,9 @@ spec: properties: chart: description: "Chart defines the helm chart configuration of - the backup engine. The default value is: \n chart: repository: - https://vmware-tanzu.github.io/helm-charts name: velero - version: 5.0.2" + the backup engine. The default value is: \n ```yaml chart: + repository: https://vmware-tanzu.github.io/helm-charts name: + velero version: 5.0.2 ```" properties: name: description: Name defines the name of the chart. Default @@ -137,8 +137,8 @@ spec: description: "ExtraArgs provides the extra chart values for the backup engine chart. For example, use the following configuration to change the image tag or pull policy: \n - extraArgs: image: repository: velero/velero tag: v1.11.1 - pullPolicy: IfNotPresent" + ```yaml extraArgs: image: repository: velero/velero tag: + v1.11.1 pullPolicy: IfNotPresent ```" x-kubernetes-preserve-unknown-fields: true storage: description: Storage provides details on where the backup @@ -212,8 +212,8 @@ spec: chart: description: "Chart defines the helm chart configuration of the distributed storage engine. The default value is: \n - chart: repository: https://charts.rook.io/release name: - rook version: 1.11.11" + ```yaml chart: repository: https://charts.rook.io/release + name: rook version: 1.11.11 ```" properties: name: description: Name defines the name of the chart. Default @@ -231,8 +231,8 @@ spec: extraArgs: description: "ExtraArgs provides the extra chart values for rook chart. For example, use the following configuration - to change the pull policy: \n extraArgs: image: pullPolicy: - Always" + to change the pull policy: \n ```yaml extraArgs: image: + pullPolicy: Always ```" x-kubernetes-preserve-unknown-fields: true storage: description: Storage provides detailed settings for unified @@ -2999,14 +2999,49 @@ spec: required: - storage type: object + flagger: + description: Flagger defines the configuretion for the kurator + rollout engine. + properties: + chart: + description: "Chart defines the helm chart config of the flagger. + default value is \n ```yaml chart: repository: oci://ghcr.io/fluxcd/charts + name: flagger version: 1.x ```" + properties: + name: + description: Name defines the name of the chart. Default + value depends on the kind of the component. + type: string + repository: + description: Repository defines the repository of chart. + Default value depends on the kind of the component. + type: string + version: + description: Version defines the version of the chart. + Default value depends on the kind of the component. + type: string + type: object + extraArgs: + description: "ExtraArgs is the set of extra arguments for + flagger chart. For Example, using following configuration + to change replica count. \n ```yaml extraArgs: flagger: + replicaCount: 2 ```" + x-kubernetes-preserve-unknown-fields: true + publicTestloader: + description: PublicTestloader defines whether to install the + publictestloader or not. In addition to the public testloader + you can configure here, you can also specify a private testloader + in the Application.Spec.SyncPolicies.Rollout.TestLoader + type: boolean + type: object grafana: description: Grafana defines the configuration for the grafana installation and observation. properties: chart: description: "Chart defines the helm chart config of the grafana. - default values is \n chart: repository: oci://registry-1.docker.io/bitnamicharts - name: grafana version: 8.2.33" + default value is \n ```yaml chart: repository: oci://registry-1.docker.io/bitnamicharts + name: grafana version: 8.2.33 ```" properties: name: description: Name defines the name of the chart. Default @@ -3023,9 +3058,9 @@ spec: type: object extraArgs: description: "ExtraArgs is the set of extra arguments for - Grafana chart. \n For Example, using following configuration - to change replica count. extraArgs: grafana: replicaCount: - 2" + Grafana chart. For Example, using following configuration + to change replica count. \n ```yaml extraArgs: grafana: + replicaCount: 2 ```" x-kubernetes-preserve-unknown-fields: true type: object metric: @@ -3040,9 +3075,9 @@ spec: properties: chart: description: "Chart defines the helm chart config of the - prometheus. default values is \n chart: repository: + prometheus. default value is \n ```yaml chart: repository: oci://registry-1.docker.io/bitnamicharts name: kube-prometheus - version: 8.9.1" + version: 8.9.1 ```" properties: name: description: Name defines the name of the chart. Default @@ -3060,10 +3095,10 @@ spec: type: object extraArgs: description: "ExtraArgs is the set of extra arguments - for Prometheus chart. \n For Example, using following - configuration to create a ServiceMonitor to monitor - prometheus itself. extraArgs: prometheus: serviceMonitor: - enabled: true" + for Prometheus chart. For Example, using following configuration + to create a ServiceMonitor to monitor prometheus itself. + \n ```yaml extraArgs: prometheus: serviceMonitor: enabled: + true ```" x-kubernetes-preserve-unknown-fields: true kubeStateMetrics: description: KubeStateMetrics defines the configuration @@ -3090,8 +3125,9 @@ spec: properties: chart: description: "Chart defines the helm chart config of the - thanos. default values is \n chart: repository: oci://registry-1.docker.io/bitnamicharts - name: thanos version: 12.5.1" + thanos. default value is \n ```yaml chart: repository: + oci://registry-1.docker.io/bitnamicharts name: thanos + version: 12.5.1 ```" properties: name: description: Name defines the name of the chart. Default @@ -3109,9 +3145,9 @@ spec: type: object extraArgs: description: "ExtraArgs is the set of extra arguments - for Thanos chart. \n For Example, using following configuration - to enable query frontend. extraArgs: queryFrontend: - enabled: true" + for Thanos chart. For Example, using following configuration + to enable query frontend. \n ```yaml extraArgs: queryFrontend: + enabled: true ```" x-kubernetes-preserve-unknown-fields: true objectStoreConfig: description: 'ObjectStoreConfig is the secret reference @@ -3138,9 +3174,10 @@ spec: installation and policy management. properties: chart: - description: 'Chart defines the helm chart config of the - kyverno. default values is chart: repository: https://kyverno.github.io/kyverno/ - name: kyverno version: 3.0.0' + description: "Chart defines the helm chart config of the + kyverno. default value is \n ```yaml chart: repository: + https://kyverno.github.io/kyverno/ name: kyverno version: + 3.0.0 ```" properties: name: description: Name defines the name of the chart. Default @@ -3158,9 +3195,9 @@ spec: type: object extraArgs: description: "ExtraArgs is the set of extra arguments - for Grafana chart. \n For Example, using following configuration - to change image pull policy. extraArgs: image: pullPolicy: - Always" + for Grafana chart. For Example, using following configuration + to change image pull policy. \n ```yaml extraArgs: image: + pullPolicy: Always ```" x-kubernetes-preserve-unknown-fields: true podSecurity: description: PodSecurity defines the pod security configuration diff --git a/pkg/apis/fleet/v1alpha1/types.go b/pkg/apis/fleet/v1alpha1/types.go index 5a73282c6..c45626012 100644 --- a/pkg/apis/fleet/v1alpha1/types.go +++ b/pkg/apis/fleet/v1alpha1/types.go @@ -85,6 +85,8 @@ type PluginConfig struct { Backup *BackupConfig `json:"backup,omitempty"` // DistributedStorage define the configuration for the distributed storage(Implemented with Rook) DistributedStorage *DistributedStorageConfig `json:"distributedStorage,omitempty"` + // Flagger defines the configuretion for the kurator rollout engine. + Flagger *FlaggerConfig `json:"flagger,omitempty"` } type MetricConfig struct { @@ -98,12 +100,14 @@ type MetricConfig struct { type PrometheusConfig struct { // Chart defines the helm chart config of the prometheus. - // default values is + // default value is // + // ```yaml // chart: // repository: oci://registry-1.docker.io/bitnamicharts // name: kube-prometheus // version: 8.9.1 + // ``` // // +optional Chart *ChartConfig `json:"chart,omitempty"` @@ -114,12 +118,14 @@ type PrometheusConfig struct { // +optional KubeStateMetrics *PrometheusExporterConfig `json:"kubeStateMetrics,omitempty"` // ExtraArgs is the set of extra arguments for Prometheus chart. - // // For Example, using following configuration to create a ServiceMonitor to monitor prometheus itself. + // + // ```yaml // extraArgs: // prometheus: // serviceMonitor: // enabled: true + // ``` // // +optional ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"` @@ -147,12 +153,14 @@ type ChartConfig struct { type ThanosConfig struct { // Chart defines the helm chart config of the thanos. - // default values is + // default value is // + // ```yaml // chart: // repository: oci://registry-1.docker.io/bitnamicharts // name: thanos // version: 12.5.1 + // ``` // // +optional Chart *ChartConfig `json:"chart,omitempty"` @@ -161,12 +169,13 @@ type ThanosConfig struct { // +required ObjectStoreConfig ObjectStoreConfig `json:"objectStoreConfig"` // ExtraArgs is the set of extra arguments for Thanos chart. - // // For Example, using following configuration to enable query frontend. + // + // ```yaml // extraArgs: // queryFrontend: // enabled: true - // + // ``` // +optional ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"` } @@ -180,21 +189,25 @@ type ObjectStoreConfig struct { type GrafanaConfig struct { // Chart defines the helm chart config of the grafana. - // default values is + // default value is // + // ```yaml // chart: // repository: oci://registry-1.docker.io/bitnamicharts // name: grafana // version: 8.2.33 + // ``` // // +optional Chart *ChartConfig `json:"chart,omitempty"` // ExtraArgs is the set of extra arguments for Grafana chart. - // // For Example, using following configuration to change replica count. + // + // ```yaml // extraArgs: // grafana: // replicaCount: 2 + // ``` // // +optional ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"` @@ -210,11 +223,14 @@ type PolicyConfig struct { type KyvernoConfig struct { // Chart defines the helm chart config of the kyverno. - // default values is + // default value is + // + // ```yaml // chart: // repository: https://kyverno.github.io/kyverno/ // name: kyverno // version: 3.0.0 + // ``` // // +optional Chart *ChartConfig `json:"chart,omitempty"` @@ -222,11 +238,13 @@ type KyvernoConfig struct { // +optional PodSecurity *PodSecurityPolicy `json:"podSecurity,omitempty"` // ExtraArgs is the set of extra arguments for Grafana chart. - // // For Example, using following configuration to change image pull policy. + // + // ```yaml // extraArgs: // image: // pullPolicy: Always + // ``` // // +optional ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"` @@ -257,10 +275,12 @@ type BackupConfig struct { // Chart defines the helm chart configuration of the backup engine. // The default value is: // + // ```yaml // chart: // repository: https://vmware-tanzu.github.io/helm-charts // name: velero // version: 5.0.2 + // ``` // // +optional Chart *ChartConfig `json:"chart,omitempty"` @@ -271,11 +291,13 @@ type BackupConfig struct { // ExtraArgs provides the extra chart values for the backup engine chart. // For example, use the following configuration to change the image tag or pull policy: // + // ```yaml // extraArgs: // image: // repository: velero/velero // tag: v1.11.1 // pullPolicy: IfNotPresent + // ``` // // +optional ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"` @@ -335,10 +357,12 @@ type DistributedStorageConfig struct { // Chart defines the helm chart configuration of the distributed storage engine. // The default value is: // + // ```yaml // chart: // repository: https://charts.rook.io/release // name: rook // version: 1.11.11 + // ``` // // +optional Chart *ChartConfig `json:"chart,omitempty"` @@ -349,9 +373,11 @@ type DistributedStorageConfig struct { // ExtraArgs provides the extra chart values for rook chart. // For example, use the following configuration to change the pull policy: // + // ```yaml // extraArgs: // image: // pullPolicy: Always + // ``` // // +optional ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"` @@ -507,6 +533,36 @@ type Device struct { Config map[string]string `json:"config,omitempty"` } +type FlaggerConfig struct { + // Chart defines the helm chart config of the flagger. + // default value is + // + // ```yaml + // chart: + // repository: oci://ghcr.io/fluxcd/charts + // name: flagger + // version: 1.x + // ``` + // + // +optional + Chart *ChartConfig `json:"chart,omitempty"` + // ExtraArgs is the set of extra arguments for flagger chart. + // For Example, using following configuration to change replica count. + // + // ```yaml + // extraArgs: + // flagger: + // replicaCount: 2 + // ``` + // + // +optional + ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"` + // PublicTestloader defines whether to install the publictestloader or not. + // In addition to the public testloader you can configure here, + // you can also specify a private testloader in the Application.Spec.SyncPolicies.Rollout.TestLoader + PublicTestloader bool `json:"publicTestloader,omitempty"` +} + // FleetStatus defines the observed state of the fleet type FleetStatus struct { // CredentialSecret is the secret name that holds credentials used for accessing the fleet control plane. diff --git a/pkg/apis/fleet/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/fleet/v1alpha1/zz_generated.deepcopy.go index 8120bbc48..159cd7e83 100644 --- a/pkg/apis/fleet/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/fleet/v1alpha1/zz_generated.deepcopy.go @@ -211,6 +211,28 @@ func (in Endpoints) DeepCopy() Endpoints { return *out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlaggerConfig) DeepCopyInto(out *FlaggerConfig) { + *out = *in + if in.Chart != nil { + in, out := &in.Chart, &out.Chart + *out = new(ChartConfig) + **out = **in + } + in.ExtraArgs.DeepCopyInto(&out.ExtraArgs) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlaggerConfig. +func (in *FlaggerConfig) DeepCopy() *FlaggerConfig { + if in == nil { + return nil + } + out := new(FlaggerConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Fleet) DeepCopyInto(out *Fleet) { *out = *in @@ -593,6 +615,11 @@ func (in *PluginConfig) DeepCopyInto(out *PluginConfig) { *out = new(DistributedStorageConfig) (*in).DeepCopyInto(*out) } + if in.Flagger != nil { + in, out := &in.Flagger, &out.Flagger + *out = new(FlaggerConfig) + (*in).DeepCopyInto(*out) + } return }