diff --git a/.abs/ct.yaml b/.abs/ct.yaml index 3787b6b..8a1b92a 100644 --- a/.abs/ct.yaml +++ b/.abs/ct.yaml @@ -1,2 +1,3 @@ chart-repos: - cluster-catalog=https://giantswarm.github.io/cluster-catalog +- cluster-test-catalog=https://giantswarm.github.io/cluster-test-catalog diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ff7328..ead961f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - CI: Run the full set of E2E test suites automatically on release PRs, via `.github/release-pr-body.md`. Towards https://github.com/giantswarm/roadmap/issues/4334 +### Changed + +- Chart: Migrate Apps to HelmReleases. + ## [3.0.0] - 2026-08-05 ### Changed diff --git a/helm/cluster-eks/Chart.lock b/helm/cluster-eks/Chart.lock index dced538..0dfe8c2 100644 --- a/helm/cluster-eks/Chart.lock +++ b/helm/cluster-eks/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: cluster - repository: https://giantswarm.github.io/cluster-catalog - version: 7.0.0 -digest: sha256:b1971f0a99f42529ed3db7813ad8733bb5eb8b88b9466b13f2887b33e530f25e -generated: "2026-08-04T16:37:38.471331591Z" + repository: https://giantswarm.github.io/cluster-test-catalog + version: 7.0.1-dev.migrate-app--elmreleases.2026-08-12.04-26-42.h82cca4e +digest: sha256:2c0dabf890a88a927b8f0f9df0d3d3bfaa558abddeeaa23e06c2c914596394e8 +generated: "2026-08-12T04:28:18.46402263Z" diff --git a/helm/cluster-eks/Chart.yaml b/helm/cluster-eks/Chart.yaml index 61f955e..a8ff741 100644 --- a/helm/cluster-eks/Chart.yaml +++ b/helm/cluster-eks/Chart.yaml @@ -1,21 +1,25 @@ apiVersion: v2 name: cluster-eks -home: https://github.com/giantswarm/cluster-eks -sources: - - https://github.com/giantswarm/cluster-eks -description: A helm chart for creating Cluster API EKS clusters with the AWS infrastructure provider (CAPA). -icon: https://s.giantswarm.io/app-icons/aws/2/dark.svg -type: application +description: A helm chart for creating Cluster API EKS clusters with the AWS provider (CAPA). version: 3.0.0 appVersion: 3.0.0 +home: https://github.com/giantswarm/cluster-eks +icon: https://s.giantswarm.io/app-icons/aws/2/dark.svg +sources: +- https://github.com/giantswarm/cluster-eks +maintainers: +- name: Team Phoenix + email: team-phoenix@giantswarm.io +keywords: +- capa +- aws annotations: - application.giantswarm.io/team: "phoenix" - application.giantswarm.io/app-type: "cluster" + application.giantswarm.io/app-type: cluster + application.giantswarm.io/team: phoenix restrictions: compatibleProviders: - - aws - - capa + - aws dependencies: - - name: cluster - version: "7.0.0" - repository: https://giantswarm.github.io/cluster-catalog +- repository: https://giantswarm.github.io/cluster-test-catalog + name: cluster + version: 7.0.1-dev.migrate-app--elmreleases.2026-08-12.04-26-42.h82cca4e diff --git a/helm/cluster-eks/README.md b/helm/cluster-eks/README.md index 0ea1122..2f3a305 100644 --- a/helm/cluster-eks/README.md +++ b/helm/cluster-eks/README.md @@ -44,163 +44,186 @@ Configuration of apps that are part of the cluster. | `global.apps.awsEbsCsiDriver` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.awsEbsCsiDriver.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.awsEbsCsiDriver.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.awsEbsCsiDriver.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `ConfigMap`, `Secret`
| +| `global.apps.awsEbsCsiDriver.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.awsEbsCsiDriver.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| | `global.apps.awsEbsCsiDriver.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| +| `global.apps.awsEbsCsiDriver.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| | `global.apps.awsEbsCsiDriver.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| -| `global.apps.certExporter` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.certExporter` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.certExporter.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.certExporter.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.certExporter.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.certExporter.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.certExporter.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.certExporter.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.certExporter.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.certExporter.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| -| `global.apps.certManager` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.certExporter.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| +| `global.apps.certManager` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.certManager.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.certManager.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.certManager.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.certManager.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.certManager.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.certManager.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.certManager.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.certManager.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| +| `global.apps.certManager.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| | `global.apps.certManagerCrossplaneResources` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.certManagerCrossplaneResources.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.certManagerCrossplaneResources.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.certManagerCrossplaneResources.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `ConfigMap`, `Secret`
| +| `global.apps.certManagerCrossplaneResources.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.certManagerCrossplaneResources.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| | `global.apps.certManagerCrossplaneResources.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| +| `global.apps.certManagerCrossplaneResources.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| | `global.apps.certManagerCrossplaneResources.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| -| `global.apps.chartOperatorExtensions` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.chartOperatorExtensions` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.chartOperatorExtensions.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.chartOperatorExtensions.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.chartOperatorExtensions.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.chartOperatorExtensions.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.chartOperatorExtensions.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.chartOperatorExtensions.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.chartOperatorExtensions.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.chartOperatorExtensions.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| +| `global.apps.chartOperatorExtensions.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| | `global.apps.cilium` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.cilium.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.cilium.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.cilium.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `ConfigMap`, `Secret`
| +| `global.apps.cilium.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.cilium.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| | `global.apps.cilium.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| +| `global.apps.cilium.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| | `global.apps.cilium.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| -| `global.apps.ciliumServiceMonitors` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.ciliumServiceMonitors` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.ciliumServiceMonitors.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.ciliumServiceMonitors.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.ciliumServiceMonitors.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.ciliumServiceMonitors.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.ciliumServiceMonitors.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.ciliumServiceMonitors.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.ciliumServiceMonitors.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.ciliumServiceMonitors.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| -| `global.apps.clusterAutoscaler` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.ciliumServiceMonitors.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| +| `global.apps.clusterAutoscaler` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.clusterAutoscaler.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.clusterAutoscaler.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.clusterAutoscaler.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.clusterAutoscaler.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.clusterAutoscaler.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.clusterAutoscaler.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.clusterAutoscaler.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.clusterAutoscaler.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| +| `global.apps.clusterAutoscaler.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| | `global.apps.coreDns` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.coreDns.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.coreDns.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.coreDns.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `ConfigMap`, `Secret`
| +| `global.apps.coreDns.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.coreDns.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| | `global.apps.coreDns.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| +| `global.apps.coreDns.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| | `global.apps.coreDns.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| -| `global.apps.coreDnsExtensions` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.coreDnsExtensions` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.coreDnsExtensions.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.coreDnsExtensions.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.coreDnsExtensions.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.coreDnsExtensions.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.coreDnsExtensions.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.coreDnsExtensions.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.coreDnsExtensions.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.coreDnsExtensions.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| -| `global.apps.externalDns` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.coreDnsExtensions.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| +| `global.apps.externalDns` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.externalDns.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.externalDns.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.externalDns.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.externalDns.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.externalDns.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.externalDns.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.externalDns.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.externalDns.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| -| `global.apps.k8sDnsNodeCache` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.externalDns.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| +| `global.apps.k8sDnsNodeCache` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.k8sDnsNodeCache.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.k8sDnsNodeCache.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.k8sDnsNodeCache.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.k8sDnsNodeCache.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.k8sDnsNodeCache.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.k8sDnsNodeCache.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.k8sDnsNodeCache.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.k8sDnsNodeCache.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| -| `global.apps.metricsServer` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.k8sDnsNodeCache.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| +| `global.apps.metricsServer` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.metricsServer.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.metricsServer.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.metricsServer.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.metricsServer.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.metricsServer.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.metricsServer.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.metricsServer.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.metricsServer.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| -| `global.apps.netExporter` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.metricsServer.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| +| `global.apps.netExporter` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.netExporter.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.netExporter.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.netExporter.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.netExporter.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.netExporter.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.netExporter.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.netExporter.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.netExporter.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| +| `global.apps.netExporter.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| | `global.apps.networkPolicies` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.networkPolicies.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.networkPolicies.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.networkPolicies.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `ConfigMap`, `Secret`
| +| `global.apps.networkPolicies.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.networkPolicies.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| | `global.apps.networkPolicies.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| +| `global.apps.networkPolicies.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| | `global.apps.networkPolicies.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| -| `global.apps.nodeExporter` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.nodeExporter` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.nodeExporter.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.nodeExporter.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.nodeExporter.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.nodeExporter.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.nodeExporter.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.nodeExporter.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.nodeExporter.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.nodeExporter.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| -| `global.apps.observabilityBundle` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.nodeExporter.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| +| `global.apps.observabilityBundle` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.observabilityBundle.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.observabilityBundle.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.observabilityBundle.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.observabilityBundle.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.observabilityBundle.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.observabilityBundle.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.observabilityBundle.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.observabilityBundle.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| -| `global.apps.observabilityPolicies` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.observabilityBundle.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| +| `global.apps.observabilityPolicies` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.observabilityPolicies.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.observabilityPolicies.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.observabilityPolicies.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.observabilityPolicies.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.observabilityPolicies.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.observabilityPolicies.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.observabilityPolicies.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.observabilityPolicies.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| +| `global.apps.observabilityPolicies.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| | `global.apps.rbacBootstrap` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.rbacBootstrap.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.rbacBootstrap.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.rbacBootstrap.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `ConfigMap`, `Secret`
| +| `global.apps.rbacBootstrap.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.rbacBootstrap.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| | `global.apps.rbacBootstrap.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| +| `global.apps.rbacBootstrap.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| | `global.apps.rbacBootstrap.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| -| `global.apps.securityBundle` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.securityBundle` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.securityBundle.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.securityBundle.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.securityBundle.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.securityBundle.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.securityBundle.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.securityBundle.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.securityBundle.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.securityBundle.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| -| `global.apps.teleportKubeAgent` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.securityBundle.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| +| `global.apps.teleportKubeAgent` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.teleportKubeAgent.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.teleportKubeAgent.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.teleportKubeAgent.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.teleportKubeAgent.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.teleportKubeAgent.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.teleportKubeAgent.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.teleportKubeAgent.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.teleportKubeAgent.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| -| `global.apps.verticalPodAutoscaler` | **App resource** - Configuration of a default app that is part of the cluster and is deployed as an App resource.|**Type:** `object`
| +| `global.apps.teleportKubeAgent.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| +| `global.apps.verticalPodAutoscaler` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.verticalPodAutoscaler.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.verticalPodAutoscaler.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.verticalPodAutoscaler.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `secret`
| +| `global.apps.verticalPodAutoscaler.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.verticalPodAutoscaler.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| +| `global.apps.verticalPodAutoscaler.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| | `global.apps.verticalPodAutoscaler.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| -| `global.apps.verticalPodAutoscaler.values` | **Config map** - Helm Values to be passed to the app as user config.|**Type:** `object`
| +| `global.apps.verticalPodAutoscaler.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| | `global.apps.verticalPodAutoscalerCrd` | **App** - Configuration of a default app that is part of the cluster and is deployed as a HelmRelease resource.|**Type:** `object`
| | `global.apps.verticalPodAutoscalerCrd.extraConfigs` | **Extra config maps or secrets** - Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.|**Type:** `array`
| | `global.apps.verticalPodAutoscalerCrd.extraConfigs[*]` | **Config map or secret**|**Type:** `object`
| -| `global.apps.verticalPodAutoscalerCrd.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `ConfigMap`, `Secret`
| +| `global.apps.verticalPodAutoscalerCrd.extraConfigs[*].kind` | **Kind** - Specifies whether the resource is a config map or a secret.|**Type:** `string`
**Allowed values:** `configMap`, `ConfigMap`, `secret`, `Secret`
| | `global.apps.verticalPodAutoscalerCrd.extraConfigs[*].name` | **Name** - Name of the config map or secret. The object must exist in the same namespace as the cluster App.|**Type:** `string`
| | `global.apps.verticalPodAutoscalerCrd.extraConfigs[*].optional` | **Optional** - Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.|**Type:** `boolean`
| +| `global.apps.verticalPodAutoscalerCrd.extraConfigs[*].priority` | **Priority**|**Type:** `integer`
**Default:** `25`| | `global.apps.verticalPodAutoscalerCrd.values` | **Values** - Values to be passed to the app. Values will have higher priority than values from configmaps.|**Type:** `object`
| ### Connectivity diff --git a/helm/cluster-eks/templates/apps/_certexporter_app_config.yaml b/helm/cluster-eks/templates/helmreleases/_certexporter_app_config.yaml similarity index 100% rename from helm/cluster-eks/templates/apps/_certexporter_app_config.yaml rename to helm/cluster-eks/templates/helmreleases/_certexporter_app_config.yaml diff --git a/helm/cluster-eks/templates/apps/_clusterautoscaler_app_config.yaml b/helm/cluster-eks/templates/helmreleases/_clusterautoscaler_app_config.yaml similarity index 100% rename from helm/cluster-eks/templates/apps/_clusterautoscaler_app_config.yaml rename to helm/cluster-eks/templates/helmreleases/_clusterautoscaler_app_config.yaml diff --git a/helm/cluster-eks/templates/apps/_externaldns_app_config.yaml b/helm/cluster-eks/templates/helmreleases/_externaldns_app_config.yaml similarity index 100% rename from helm/cluster-eks/templates/apps/_externaldns_app_config.yaml rename to helm/cluster-eks/templates/helmreleases/_externaldns_app_config.yaml diff --git a/helm/cluster-eks/templates/apps/_netexporter_app_config.yaml b/helm/cluster-eks/templates/helmreleases/_netexporter_app_config.yaml similarity index 100% rename from helm/cluster-eks/templates/apps/_netexporter_app_config.yaml rename to helm/cluster-eks/templates/helmreleases/_netexporter_app_config.yaml diff --git a/helm/cluster-eks/templates/apps/_securitybundle_app_config.yaml b/helm/cluster-eks/templates/helmreleases/_securitybundle_app_config.yaml similarity index 100% rename from helm/cluster-eks/templates/apps/_securitybundle_app_config.yaml rename to helm/cluster-eks/templates/helmreleases/_securitybundle_app_config.yaml diff --git a/helm/cluster-eks/templates/apps/_teleportkubeagent_app_config.yaml b/helm/cluster-eks/templates/helmreleases/_teleportkubeagent_app_config.yaml similarity index 100% rename from helm/cluster-eks/templates/apps/_teleportkubeagent_app_config.yaml rename to helm/cluster-eks/templates/helmreleases/_teleportkubeagent_app_config.yaml diff --git a/helm/cluster-eks/templates/helmreleases/aws-ebs-csi-driver-helmrelease.yaml b/helm/cluster-eks/templates/helmreleases/aws-ebs-csi-driver-helmrelease.yaml index 0527537..8050ee3 100644 --- a/helm/cluster-eks/templates/helmreleases/aws-ebs-csi-driver-helmrelease.yaml +++ b/helm/cluster-eks/templates/helmreleases/aws-ebs-csi-driver-helmrelease.yaml @@ -1,26 +1,24 @@ -{{/* Default Helm values for the app */}} -{{/* See schema for the appropriate app version here https://github.com/giantswarm/aws-ebs-csi-driver-app/blob/master/helm/aws-ebs-csi-driver-bundle/values.schema.json */}} -{{- define "defaultAwsEbsCsiDriverHelmValues" }} -clusterID: {{ include "resource.default.name" $ }} -clusterName: {{ include "resource.default.name" $ }} +{{- define "defaultAwsEbsCsiDriverHelmValues" -}} +clusterID: {{ include "resource.default.name" . }} +clusterName: {{ include "resource.default.name" . }} extraVolumeTags: {{ include "resource.default.additionalTags" . | nindent 2 }} {{- if (.Values.global.connectivity.proxy).enabled }} proxy: - noProxy: "{{ include "cluster.connectivity.proxy.noProxy" (dict "global" $.Values.global "providerIntegration" $.Values.cluster.providerIntegration) }}" http: {{ .Values.global.connectivity.proxy.httpProxy | quote }} https: {{ .Values.global.connectivity.proxy.httpsProxy | quote }} + noProxy: {{ include "cluster.connectivity.proxy.noProxy" (dict "global" .Values.global "providerIntegration" .Values.cluster.providerIntegration) | quote }} {{- end }} global: image: - registry: {{ include "awsContainerImageRegistry" $ }} + registry: {{ include "awsContainerImageRegistry" . }} podSecurityStandards: - {{/* PolicyException CRD only available with security-bundle installed */}} - enforced: {{ and .Values.global.podSecurityStandards.enforced $.Values.cluster.providerIntegration.apps.securityBundle.enable }} -{{- if not $.Values.cluster.providerIntegration.apps.verticalPodAutoscalerCrd.enable }} + {{- /* PolicyException CRD only available with security-bundle installed */}} + enforced: {{ and .Values.global.podSecurityStandards.enforced .Values.cluster.providerIntegration.apps.securityBundle.enable }} +{{- if not .Values.cluster.providerIntegration.apps.verticalPodAutoscalerCrd.enable }} verticalPodAutoscaler: enabled: false {{- end }} -{{- if not $.Values.cluster.providerIntegration.apps.observabilityBundle.enable }} +{{- if not .Values.cluster.providerIntegration.apps.observabilityBundle.enable }} upstream: controller: enableMetrics: false @@ -28,29 +26,54 @@ upstream: forceEnable: false {{- end }} {{- end }} +--- +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: OCIRepository +metadata: + name: {{ include "resource.default.name" . }}-aws-ebs-csi-driver-bundle + namespace: {{ .Release.Namespace }} + annotations: + cluster.giantswarm.io/description: {{ .Values.global.metadata.description | quote }} + labels: + cluster-apps-operator.giantswarm.io/watching: "" + {{- include "labels.common" . | nindent 4 }} +spec: + {{- $_ := set $ "appName" "aws-ebs-csi-driver" }} + url: oci://gsoci.azurecr.io/charts/giantswarm/aws-ebs-csi-driver-bundle + ref: + tag: {{ include "cluster.app.version" . }} + interval: 24h + timeout: 60s +--- apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: - name: {{ include "resource.default.name" $ }}-aws-ebs-csi-driver-bundle - namespace: {{ $.Release.Namespace }} + name: {{ include "resource.default.name" . }}-aws-ebs-csi-driver-bundle + namespace: {{ .Release.Namespace }} annotations: - cluster.giantswarm.io/description: "{{ .Values.global.metadata.description }}" + cluster.giantswarm.io/description: {{ .Values.global.metadata.description | quote }} labels: cluster-apps-operator.giantswarm.io/watching: "" {{- include "labels.common" . | nindent 4 }} spec: - releaseName: {{ include "resource.default.name" $ }}-aws-ebs-csi-driver-bundle - targetNamespace: {{ $.Release.Namespace | quote }} - storageNamespace: {{ $.Release.Namespace | quote }} - chart: - spec: - chart: aws-ebs-csi-driver-bundle - {{- $_ := set $ "appName" "aws-ebs-csi-driver" }} - version: {{ include "cluster.app.version" $ }} - sourceRef: - kind: HelmRepository - name: {{ include "resource.default.name" $ }}-{{ include "cluster.app.catalog" $ }} + releaseName: {{ include "resource.default.name" . }}-aws-ebs-csi-driver-bundle + targetNamespace: {{ .Release.Namespace | quote }} + storageNamespace: {{ .Release.Namespace | quote }} + chartRef: + kind: OCIRepository + name: {{ include "resource.default.name" . }}-aws-ebs-csi-driver-bundle serviceAccountName: automation + {{- if or .Values.cluster.providerIntegration.apps.securityBundle.enable .Values.cluster.providerIntegration.apps.verticalPodAutoscalerCrd.enable }} + dependsOn: + {{- if .Values.cluster.providerIntegration.apps.securityBundle.enable }} + - name: {{ include "resource.default.name" . }}-kyverno-crds + namespace: {{ .Release.Namespace }} + {{- end }} + {{- if .Values.cluster.providerIntegration.apps.verticalPodAutoscalerCrd.enable }} + - name: {{ include "resource.default.name" . }}-vertical-pod-autoscaler-crd + namespace: {{ .Release.Namespace }} + {{- end }} + {{- end }} interval: 5m install: remediation: @@ -58,20 +81,21 @@ spec: upgrade: remediation: retries: -1 - {{- $awsEbsCsiDriverHelmValues := (include "defaultAwsEbsCsiDriverHelmValues" .) | fromYaml -}} - {{- $customAwsEbsCsiDriverHelmValues := ((($.Values.global).apps).awsEbsCsiDriver).values -}} + {{- $awsEbsCsiDriverHelmValues := include "defaultAwsEbsCsiDriverHelmValues" . | fromYaml }} + {{- $customAwsEbsCsiDriverHelmValues := (((.Values.global).apps).awsEbsCsiDriver).values }} {{- if $customAwsEbsCsiDriverHelmValues }} - {{- $awsEbsCsiDriverHelmValues = merge (deepCopy $customAwsEbsCsiDriverHelmValues) $awsEbsCsiDriverHelmValues -}} + {{- $awsEbsCsiDriverHelmValues = merge (deepCopy $customAwsEbsCsiDriverHelmValues) $awsEbsCsiDriverHelmValues }} {{- end }} {{- if $awsEbsCsiDriverHelmValues }} - values: {{- $awsEbsCsiDriverHelmValues | toYaml | nindent 4 }} + values: + {{- $awsEbsCsiDriverHelmValues | toYaml | nindent 4 }} {{- end }} - {{- if ((($.Values.global).apps).awsEbsCsiDriver).extraConfigs }} + {{- if (((.Values.global).apps).awsEbsCsiDriver).extraConfigs }} valuesFrom: - {{- range $config := ((($.Values.global).apps).awsEbsCsiDriver).extraConfigs }} - - kind: {{ $config.kind }} - name: {{ $config.name }} - valuesKey: values - optional: {{ $config.optional | default false }} - {{- end }} + {{- range $config := (((.Values.global).apps).awsEbsCsiDriver).extraConfigs }} + - kind: {{ $config.kind }} + name: {{ $config.name }} + valuesKey: values + optional: {{ $config.optional | default false }} + {{- end }} {{- end }} diff --git a/helm/cluster-eks/values.schema.json b/helm/cluster-eks/values.schema.json index 9a544fa..2c9daba 100644 --- a/helm/cluster-eks/values.schema.json +++ b/helm/cluster-eks/values.schema.json @@ -1,52 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$defs": { - "app": { - "type": "object", - "title": "App resource", - "description": "Configuration of a default app that is part of the cluster and is deployed as an App resource.", - "additionalProperties": false, - "properties": { - "extraConfigs": { - "type": "array", - "title": "Extra config maps or secrets", - "description": "Extra config maps or secrets that will be used to customize to the app. The desired values must be under configmap or secret key 'values'. The values are merged in the order given, with the later values overwriting earlier, and then inline values overwriting those. Resources must be in the same namespace as the cluster.", - "items": { - "type": "object", - "title": "Config map or secret", - "properties": { - "kind": { - "type": "string", - "title": "Kind", - "description": "Specifies whether the resource is a config map or a secret.", - "enum": [ - "configMap", - "secret" - ] - }, - "name": { - "type": "string", - "title": "Name", - "description": "Name of the config map or secret. The object must exist in the same namespace as the cluster App." - }, - "priority": { - "type": "integer", - "title": "Priority", - "default": 25, - "max": 150, - "min": 1 - } - } - } - }, - "values": { - "type": "object", - "title": "Config map", - "description": "Helm Values to be passed to the app as user config.", - "additionalProperties": true - } - } - }, "awsResourceTagValue": { "type": "string", "title": "Tag value", @@ -74,7 +28,9 @@ "title": "Kind", "description": "Specifies whether the resource is a config map or a secret.", "enum": [ + "configMap", "ConfigMap", + "secret", "Secret" ] }, @@ -87,6 +43,13 @@ "type": "boolean", "title": "Optional", "description": "Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure." + }, + "priority": { + "type": "integer", + "title": "Priority", + "default": 25, + "max": 150, + "min": 1 } } } @@ -401,13 +364,13 @@ "description": "Configuration of aws-ebs-csi-driver-app. For all available values see https://github.com/giantswarm/aws-ebs-csi-driver-app." }, "certExporter": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "cert-exporter", "description": "Configuration of cert-exporter. For all available values see https://github.com/giantswarm/cert-exporter." }, "certManager": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "cert-manager", "description": "Configuration of cert-manager. For all available values see https://github.com/giantswarm/cert-manager-app." @@ -419,7 +382,7 @@ "description": "Configuration of cert-manager-crossplane-resources. For all available values see https://github.com/giantswarm/cert-manager-crossplane-resources." }, "chartOperatorExtensions": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "chart-operator-extensions", "description": "Configuration of chart-operator-extensions. For all available values see https://github.com/giantswarm/chart-operator-extensions." @@ -431,13 +394,13 @@ "description": "Configuration of cilium-app. For all available values see https://github.com/giantswarm/cilium-app." }, "ciliumServiceMonitors": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "Cilium service monitors", "description": "Configuration of cilium-servicemonitors. For all available values see https://github.com/giantswarm/cilium-servicemonitors-app." }, "clusterAutoscaler": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "cluster-autoscaler", "description": "Configuration of cluster-autoscaler. For all available values see https://github.com/giantswarm/cluster-autoscaler-app." @@ -449,31 +412,31 @@ "description": "Configuration of coredns-app. For all available values see https://github.com/giantswarm/coredns-app." }, "coreDnsExtensions": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "CoreDNS Extensions", "description": "Configuration of coredns-extensions. For all available values see https://github.com/giantswarm/coredns-extensions-app." }, "externalDns": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "external-dns", "description": "Configuration of external-dns. For all available values see https://github.com/giantswarm/external-dns-app." }, "k8sDnsNodeCache": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "k8s-dns-node-cache", "description": "Configuration of k8s-dns-node-cache. For all available values see https://github.com/giantswarm/k8s-dns-node-cache-app." }, "metricsServer": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "metrics-server", "description": "Configuration of metrics-server. For all available values see https://github.com/giantswarm/metrics-server-app." }, "netExporter": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "net-exporter", "description": "Configuration of net-exporter. For all available values see https://github.com/giantswarm/net-exporter." @@ -485,19 +448,19 @@ "description": "Configuration of network-policies-app. For all available values see https://github.com/giantswarm/network-policies-app." }, "nodeExporter": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "node-exporter", "description": "Configuration of node-exporter. For all available values see https://github.com/giantswarm/node-exporter-app." }, "observabilityBundle": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "observability-bundle", "description": "Configuration of observability-bundle. For all available values see https://github.com/giantswarm/observability-bundle." }, "observabilityPolicies": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "observability-policies", "description": "Configuration of observability-policies. For all available values see https://github.com/giantswarm/observability-policies-app." @@ -509,19 +472,19 @@ "description": "Configuration of rbac-bootstrap. For all available values see https://github.com/giantswarm/rbac-bootstrap-app." }, "securityBundle": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "security-bundle", "description": "Configuration of security-bundle. For all available values see https://github.com/giantswarm/security-bundle." }, "teleportKubeAgent": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "teleport-kube-agent", "description": "Configuration of teleport-kube-agent. For all available values see https://github.com/giantswarm/teleport-kube-agent." }, "verticalPodAutoscaler": { - "$ref": "#/$defs/app", + "$ref": "#/$defs/helmRelease", "type": "object", "title": "vertical-pod-autoscaler", "description": "Configuration of vertical-pod-autoscaler. For all available values see https://github.com/giantswarm/vertical-pod-autoscaler-app."