diff --git a/rancher-turtles-chart/Chart.lock b/rancher-turtles-chart/Chart.lock index f91502c..6f4dcdb 100644 --- a/rancher-turtles-chart/Chart.lock +++ b/rancher-turtles-chart/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: cluster-api-operator repository: https://kubernetes-sigs.github.io/cluster-api-operator - version: 0.17.0 -digest: sha256:c564dd1edce5e74cf5747adfa2477b3f0b9bae2b17a21b4c7312b2c1adbda64e -generated: "2025-02-27T10:39:03.203623466Z" + version: 0.18.1 +digest: sha256:7ad59ce8888c32723b4ef1ae5f334fdff00a8aba87e6f1de76d605f134bff354 +generated: "2025-04-29T09:14:10.14953774Z" diff --git a/rancher-turtles-chart/Chart.yaml b/rancher-turtles-chart/Chart.yaml index 36a7eab..9ba31e6 100644 --- a/rancher-turtles-chart/Chart.yaml +++ b/rancher-turtles-chart/Chart.yaml @@ -1,5 +1,5 @@ -#!BuildTag: %%CHART_PREFIX%%rancher-turtles:%%CHART_MAJOR%%.0.0_up0.17.0 -#!BuildTag: %%CHART_PREFIX%%rancher-turtles:%%CHART_MAJOR%%.0.0_up0.17.0-%RELEASE% +#!BuildTag: %%CHART_PREFIX%%rancher-turtles:%%CHART_MAJOR%%.0.1_up0.19.0 +#!BuildTag: %%CHART_PREFIX%%rancher-turtles:%%CHART_MAJOR%%.0.1_up0.19.0-%RELEASE% annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/display-name: Rancher Turtles - the Cluster API Extension @@ -7,12 +7,12 @@ annotations: catalog.cattle.io/namespace: rancher-turtles-system catalog.cattle.io/os: linux catalog.cattle.io/permits-os: linux - catalog.cattle.io/rancher-version: '>= 2.10.0-1' + catalog.cattle.io/rancher-version: '>= 2.11.0-1' catalog.cattle.io/release-name: rancher-turtles catalog.cattle.io/scope: management catalog.cattle.io/type: cluster-tool apiVersion: v2 -appVersion: 0.17.0 +appVersion: 0.19.0 dependencies: - condition: cluster-api-operator.enabled name: cluster-api-operator @@ -29,4 +29,4 @@ keywords: - provisioning name: rancher-turtles type: application -version: "%%CHART_MAJOR%%.0.0+up0.17.0" +version: "%%CHART_MAJOR%%.0.1+up0.19.0" diff --git a/rancher-turtles-chart/RELEASE_NOTES.md b/rancher-turtles-chart/RELEASE_NOTES.md index 4f41874..126449e 100644 --- a/rancher-turtles-chart/RELEASE_NOTES.md +++ b/rancher-turtles-chart/RELEASE_NOTES.md @@ -1,4 +1,14 @@ -gh: To use GitHub CLI in a GitHub Actions workflow, set the GH_TOKEN environment variable. Example: - env: - GH_TOKEN: ${{ github.token }} -: exit status 4 +## Changes since v0.19.0-rc.1 +--- +## :chart_with_upwards_trend: Overview +- 4 new commits merged + +:book: Additionally, there has been 1 contribution to our documentation and book. (#1325) + +## :question: Sort these by hand +- chart: Add helm chart values validation (#1320) +- Dependency: Revert dependency bumps (#1328) +- MULTIPLE_AREAS[documentation|azure]: Use predictable resourceGroup for AKS nodes (#1327) + + +_Thanks to all our contributors!_ 😊 diff --git a/rancher-turtles-chart/templates/addon-provider-fleet.yaml b/rancher-turtles-chart/templates/addon-provider-fleet.yaml index c5bfbce..b29822d 100644 --- a/rancher-turtles-chart/templates/addon-provider-fleet.yaml +++ b/rancher-turtles-chart/templates/addon-provider-fleet.yaml @@ -13,9 +13,9 @@ spec: deployment: containers: - name: manager - imageUrl: registry.rancher.com/rancher/cluster-api-fleet-controller:v0.6.0 + imageUrl: "registry.rancher.com/rancher/cluster-api-addon-provider-fleet:v0.8.1" - name: helm-manager - imageUrl: registry.rancher.com/rancher/cluster-api-fleet-controller:v0.6.0 + imageUrl: "registry.rancher.com/rancher/cluster-api-addon-provider-fleet:v0.8.1" additionalManifests: name: fleet-addon-config namespace: '{{ .Values.rancherTurtles.namespace }}' @@ -35,10 +35,22 @@ data: metadata: name: fleet-addon-config spec: + config: + featureGates: + configMap: + ref: + kind: ConfigMap + apiVersion: v1 + name: rancher-config + namespace: cattle-system + experimentalOciStorage: true + experimentalHelmOps: true clusterClass: patchResource: true setOwnerReferences: true cluster: + agentNamespace: cattle-fleet-system + applyClassGroup: true patchResource: true setOwnerReferences: true hostNetwork: true diff --git a/rancher-turtles-chart/values.schema.json b/rancher-turtles-chart/values.schema.json new file mode 100644 index 0000000..3466acb --- /dev/null +++ b/rancher-turtles-chart/values.schema.json @@ -0,0 +1,367 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Helm Chart Values Schema", + "type": "object", + "properties": { + "turtlesUI": { + "type": "object", + "description": "Manages the UI component.", + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Turn UI on or off." + }, + "version": { + "type": "string", + "default": "0.8.2", + "description": "UI version to use." + } + } + }, + "rancherTurtles": { + "type": "object", + "description": "Sets up the cluster management controller.", + "properties": { + "image": { + "type": "string", + "default": "controller", + "description": "Controller container image." + }, + "imageVersion": { + "type": "string", + "default": "v0.0.0", + "description": "Image tag." + }, + "imagePullPolicy": { + "type": "string", + "default": "IfNotPresent", + "description": "Specify image pull policy." + }, + "namespace": { + "type": "string", + "default": "rancher-turtles-system", + "description": "Namespace for Turtles to run." + }, + "managerArguments": { + "type": "array", + "default": [], + "description": "Extra args for the controller.", + "items": { "type": "string" } + }, + "imagePullSecrets": { + "type": "array", + "default": [], + "description": "Secrets for private registries.", + "items": { "type": "string" } + }, + "rancherInstalled": { + "type": "boolean", + "default": true, + "description": "True if Rancher is already installed in the cluster." + }, + "kubectlImage": { + "type": "string", + "default": "registry.k8s.io/kubernetes/kubectl:v1.30.0", + "description": "Image for kubectl tasks." + }, + "features": { + "type": "object", + "description": "Optional and experimental features.", + "properties": { + "day2operations": { + "type": "object", + "description": "Alpha feature.", + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Turn on or off." + }, + "image": { + "type": "string", + "default": "controller", + "description": "Image for day-2 ops." + }, + "imageVersion": { + "type": "string", + "default": "v0.0.0", + "description": "Image tag." + }, + "imagePullPolicy": { + "type": "string", + "default": "IfNotPresent", + "description": "Specify image pull policy." + }, + "etcdBackupRestore": { + "type": "object", + "description": "Manages etcd backup/restore.", + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Turn on (true) or off (false)." + } + } + } + } + }, + "addon-provider-fleet": { + "type": "object", + "description": "Beta feature for fleet addons.", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Turn on or off." + } + } + }, + "agent-tls-mode": { + "type": "object", + "description": "Alpha feature for agent TLS.", + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Turn on or off." + } + } + }, + "clusterclass-operations": { + "type": "object", + "description": "Alpha feature. Not ready for testing yet.", + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Turn on or off." + }, + "image": { + "type": "string", + "default": "controller", + "description": "Image for cluster class ops." + }, + "imageVersion": { + "type": "string", + "default": "v0.0.0", + "description": "Image tag." + }, + "imagePullPolicy": { + "type": "string", + "default": "IfNotPresent", + "description": "Pull policy." + } + } + } + } + } + } + }, + "cluster-api-operator": { + "type": "object", + "description": "Manages Cluster API components.", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Turn on or off." + }, + "cert-manager": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Turn on or off." + } + } + }, + "volumes": { + "type": "array", + "description": "Volumes for operator pods (certs, config).", + "items": { + "type": "object", + "oneOf": [ + { + "required": ["name", "secret"], + "properties": { + "name": { "type": "string" }, + "secret": { + "type": "object", + "properties": { + "defaultMode": { + "type": "integer", + "default": 420, + "description": "File permissions." + }, + "secretName": { + "type": "string", + "default": "capi-operator-webhook-service-cert", + "description": "Secret for webhook certs." + } + } + } + } + }, + { + "required": ["name", "configMap"], + "properties": { + "name": { "type": "string" }, + "configMap": { + "type": "object", + "properties": { + "name": { + "type": "string", + "default": "clusterctl-config", + "description": "ConfigMap for clusterctl." + } + } + } + } + } + ] + } + }, + "image": { + "type": "object", + "properties": { + "manager": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "default": "registry.rancher.com/rancher/cluster-api-operator", + "description": "Image repo." + } + } + } + } + }, + "volumeMounts": { + "type": "object", + "properties": { + "manager": { + "type": "array", + "description": "Mount volumes to pods.", + "items": { + "type": "object", + "properties": { + "mountPath": { "type": "string" }, + "name": { "type": "string" }, + "readOnly": { + "type": "boolean", + "default": true, + "description": "Mount as read-only." + } + } + } + } + } + }, + "cleanup": { + "type": "boolean", + "default": true, + "description": "Enable cleanup tasks." + }, + "cluster-api": { + "type": "object", + "description": "Cluster API component settings.", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Turn on or off." + }, + "configSecret": { + "type": "object", + "properties": { + "name": { + "type": "string", + "default": "", + "description": "Custom secret name (if overriding)." + }, + "defaultName": { + "type": "string", + "default": "capi-env-variables", + "description": "Default secret name." + } + } + }, + "core": { + "type": "object", + "properties": { + "namespace": { + "type": "string", + "default": "capi-system", + "description": "Core component namespace." + }, + "imageUrl": { + "type": "string", + "default": "", + "description": "Custom image URL." + }, + "fetchConfig": { + "type": "object", + "properties": { + "url": { "type": "string", "default": "" }, + "selector": { "type": "string", "default": "" } + } + } + } + }, + "rke2": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Turn on or off." + }, + "version": { + "type": "string", + "default": "", + "description": "RKE2 version." + }, + "bootstrap": { + "type": "object", + "properties": { + "namespace": { + "type": "string", + "default": "rke2-bootstrap-system" + }, + "imageUrl": { "type": "string", "default": "" }, + "fetchConfig": { + "type": "object", + "properties": { + "url": { "type": "string", "default": "" }, + "selector": { "type": "string", "default": "" } + } + } + } + }, + "controlPlane": { + "type": "object", + "properties": { + "namespace": { + "type": "string", + "default": "rke2-control-plane-system" + }, + "imageUrl": { "type": "string", "default": "" }, + "fetchConfig": { + "type": "object", + "properties": { + "url": { "type": "string", "default": "" }, + "selector": { "type": "string", "default": "" } + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/rancher-turtles-chart/values.yaml b/rancher-turtles-chart/values.yaml index ade3dab..e3c2ba9 100644 --- a/rancher-turtles-chart/values.yaml +++ b/rancher-turtles-chart/values.yaml @@ -1,83 +1,152 @@ +# turtlesUI: Manages the UI component. turtlesUI: + # enabled: Turn UI on or off. enabled: false - version: v0.8.2 + # version: UI version to use. + version: 0.8.2 + +# rancherTurtles: Sets up the cluster management controller. rancherTurtles: + # image: registry.rancher.com/rancher/rancher/turtles image: registry.rancher.com/rancher/rancher/turtles - imageVersion: v0.17.0 + # imageVersion: v0.19.0 + imageVersion: v0.19.0 + # imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent + # namespace: Select namespace for Turtles to run. namespace: rancher-turtles-system + # managerArguments: Extra args for the controller. managerArguments: [] + # imagePullSecrets: Secrets for private registries. imagePullSecrets: [] + # rancherInstalled: True if Rancher already installed is in the cluster, this is the preferred installation way. rancherInstalled: false + # kubectlImage: Image for kubectl tasks. kubectlImage: "%%IMG_REPO%%/%%IMG_PREFIX%%kubectl:1.30.3" + # features: Optional and experimental features. features: + # day2operations: Alpha feature. day2operations: + # enabled: Turn on or off. enabled: false + # image: registry.rancher.com/rancher/rancher/turtles image: registry.rancher.com/rancher/rancher/turtles - imageVersion: v0.17.0 + # imageVersion: v0.19.0 + imageVersion: v0.19.0 + # imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent + # etcdBackupRestore: Alpha feature. Manages etcd backup/restore. etcdBackupRestore: + # enabled: Turn on (true) or off (false). enabled: false - # beta feature, see documentation for more information on feature stages + # addon-provider-fleet: Beta feature for fleet addons. addon-provider-fleet: + # enabled: Turn on or off. enabled: true - # alpha feature, see documentation for more information on feature stages + # agent-tls-mode: Alpha feature for agent TLS. agent-tls-mode: + # enabled: Turn on or off. enabled: false + # clusterclass-operations: Alpha feature. Manages cluster class ops. Not ready for testing yet. clusterclass-operations: + # enabled: Turn on or off. enabled: false + # image: registry.rancher.com/rancher/rancher/turtles image: registry.rancher.com/rancher/rancher/turtles - imageVersion: v0.17.0 + # imageVersion: v0.19.0 + imageVersion: v0.19.0 + # imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent + +# cluster-api-operator: Manages Cluster API components. cluster-api-operator: + # enabled: Turn on or off. enabled: true + # cert-manager: Cert-manager integration. cert-manager: + # enabled: Turn on or off. enabled: false + # volumes: Volumes for operator pods (certs, config). volumes: - name: cert secret: + # defaultMode: File permissions. defaultMode: 420 + # secretName: Secret for webhook certs. secretName: capi-operator-webhook-service-cert - name: clusterctl-config configMap: + # name: ConfigMap for clusterctl. name: clusterctl-config + # image: registry.rancher.com/rancher/rancher/turtles image: manager: + # repository: Image repo. repository: registry.rancher.com/rancher/cluster-api-operator + # volumeMounts: Mount volumes to pods. volumeMounts: manager: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert + # readOnly: Mount as read-only. readOnly: true - mountPath: /config name: clusterctl-config + # readOnly: Mount as read-only. readOnly: true + # cleanup: Enable cleanup tasks. cleanup: true + # cluster-api: Cluster API component settings. cluster-api: + # enabled: Turn on or off. enabled: true + # configSecret: Secret for Cluster API config. configSecret: + # name: Custom secret name (if overriding). name: "" + # defaultName: Default secret name. defaultName: capi-env-variables + # core: Core Cluster API settings. core: + # namespace: Core component namespace. namespace: capi-system + # imageUrl: Custom image URL. imageUrl: "" + # fetchConfig: Config fetching settings. fetchConfig: + # url: Config fetch URL. url: "" + # selector: Config selector. selector: "" + # rke2: RKE2 provider settings. rke2: + # enabled: Turn on or off. enabled: true + # version: RKE2 version. version: "" + # bootstrap: RKE2 bootstrap provider. bootstrap: + # namespace: Bootstrap namespace. namespace: rke2-bootstrap-system + # imageUrl: Custom image URL. imageUrl: "" + # fetchConfig: Config fetching settings. fetchConfig: + # url: Config fetch URL. url: "" + # selector: Config selector. selector: "" + # controlPlane: RKE2 control plane provider. controlPlane: + # namespace: Control plane namespace. namespace: rke2-control-plane-system + # imageUrl: Custom image URL. imageUrl: "" + # fetchConfig: Config fetching settings. fetchConfig: + # url: Config fetch URL. url: "" + # selector: Config selector. selector: "" metal3: enabled: true