diff --git a/.github/linters/.codespellrc b/.github/linters/.codespellrc index d502456..37b30ac 100644 --- a/.github/linters/.codespellrc +++ b/.github/linters/.codespellrc @@ -1,4 +1,5 @@ [codespell] # AKS = Azure Kubernetes Service (valid acronym) # notin = Kubernetes matchExpression operator "NotIn" -ignore-words-list = aks,notin +# requestor = valid alternate spelling of "requester", used in ConfigurationGroup's RequestorHash field +ignore-words-list = aks,notin,requestor diff --git a/charts/projectsveltos/Chart.yaml b/charts/projectsveltos/Chart.yaml index ba8cf5f..2054b11 100644 --- a/charts/projectsveltos/Chart.yaml +++ b/charts/projectsveltos/Chart.yaml @@ -2,9 +2,9 @@ apiVersion: v2 name: projectsveltos description: Projectsveltos helm chart for Kubernetes type: application -version: 1.12.8 +version: 1.13.0 # renovate: docker=docker.io/projectsveltos/addon-controller -appVersion: "v1.12.0" +appVersion: "v1.13.0" kubeVersion: ">=1.25.0-0" home: https://projectsveltos.github.io/helm-charts/ sources: diff --git a/charts/projectsveltos/README.md b/charts/projectsveltos/README.md index a7e1d7b..d96fece 100644 --- a/charts/projectsveltos/README.md +++ b/charts/projectsveltos/README.md @@ -1,9 +1,27 @@ # projectsveltos -![Version: 1.12.0](https://img.shields.io/badge/Version-1.12.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.12.0](https://img.shields.io/badge/AppVersion-1.12.0-informational?style=flat-square) +![Version: 1.13.0](https://img.shields.io/badge/Version-1.13.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.13.0](https://img.shields.io/badge/AppVersion-v1.13.0-informational?style=flat-square) Projectsveltos helm chart for Kubernetes +**Homepage:** + +## Maintainers + +| Name | Email | URL | +| ---- | ------ | --- | +| Gianluca Mardente | | | +| Jan-Otto Kröpke | | | + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.25.0-0` + ## Values | Key | Type | Default | Description | @@ -23,55 +41,47 @@ Projectsveltos helm chart for Kubernetes | accessManager.manager.extraArgs | object | `{}` | | | accessManager.manager.extraEnv | list | `[]` | | | accessManager.manager.extraVolumes | list | `[]` | | -| accessManager.manager.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| accessManager.manager.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| accessManager.manager.image.repository | string | `"projectsveltos/access-manager"` | | -| accessManager.manager.image.tag | string | `"v1.12.0"` | | -| accessManager.manager.image.digest | string | `"sha256:3e93d2fed49fb75ddb2c67bc26dced2c733b0a888bcdfb5b2bda352a9e22b45b"` | | -| accessManager.manager.resources.limits.cpu | string | `"500m"` | | -| accessManager.manager.resources.limits.memory | string | `"512Mi"` | | -| accessManager.manager.resources.requests.cpu | string | `"10m"` | | -| accessManager.manager.resources.requests.memory | string | `"128Mi"` | | +| accessManager.manager.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]}}` | The SecurityContext for the containers | +| accessManager.manager.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| accessManager.manager.image.repository | string | `"projectsveltos/access-manager"` | Docker image repository | +| accessManager.manager.image.tag | string | `"v1.13.0"` | | +| accessManager.manager.image.digest | string | `"sha256:c8f9373c871f6ddf78d91b77a41007ddc4163b07d9314d0574b23276df34645f"` | | +| accessManager.manager.resources | object | `{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Resource requests and limits | | accessManager.nodeSelector | object | `{}` | | -| accessManager.podSecurityContext.runAsNonRoot | bool | `true` | | -| accessManager.podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| accessManager.podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the pod | | accessManager.tolerations | list | `[]` | | | accessManager.serviceAccount.annotations | object | `{}` | | | addonController.annotations | object | `{}` | | | addonController.labels | object | `{}` | | -| addonController.initialization.image.repository | string | `"projectsveltos/addon-controller"` | | -| addonController.initialization.image.tag | string | `"v1.12.0"` | | -| addonController.initialization.image.digest | string | `"sha256:98312b5bc21f1cd6dd3d9b3d6d2d530981f8f3369477ae5455869ef11fceaf18"` | | -| addonController.initialization.resources.limits.cpu | string | `"500m"` | | -| addonController.initialization.resources.limits.memory | string | `"512Mi"` | | -| addonController.initialization.resources.requests.cpu | string | `"10m"` | | -| addonController.initialization.resources.requests.memory | string | `"128Mi"` | | +| addonController.initialization.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| addonController.initialization.image.repository | string | `"projectsveltos/addon-controller"` | Docker image repository | +| addonController.initialization.image.tag | string | `"v1.13.0"` | | +| addonController.initialization.image.digest | string | `"sha256:f3980ba1d071546ce01965538b936d646d5cd5812ad1ae0f6cd91e9ca0023364"` | | +| addonController.initialization.resources | object | `{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Resource requests and limits | | addonController.controller.args[0] | string | `"--diagnostics-address=:8443"` | | | addonController.controller.args[1] | string | `"--report-mode=0"` | | | addonController.controller.args[2] | string | `"--shard-key="` | | | addonController.controller.args[3] | string | `"--v=5"` | | -| addonController.controller.args[4] | string | `"--version=v1.12.0"` | | +| addonController.controller.args[4] | string | `"--version=v1.13.0"` | | | addonController.controller.extraArgs | object | `{}` | | | addonController.controller.argsAgentMgmtCluster[0] | string | `"--diagnostics-address=:8443"` | | | addonController.controller.argsAgentMgmtCluster[1] | string | `"--report-mode=0"` | | | addonController.controller.argsAgentMgmtCluster[2] | string | `"--shard-key="` | | | addonController.controller.argsAgentMgmtCluster[3] | string | `"--v=5"` | | -| addonController.controller.argsAgentMgmtCluster[4] | string | `"--version=v1.12.0"` | | +| addonController.controller.argsAgentMgmtCluster[4] | string | `"--version=v1.13.0"` | | | addonController.controller.argsAgentMgmtCluster[5] | string | `"--agent-in-mgmt-cluster=true"` | | | addonController.controller.extraArgsAgentMgmtCluster | object | `{}` | | | addonController.controller.extraEnv | list | `[]` | | | addonController.controller.extraVolumes | list | `[]` | | -| addonController.controller.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| addonController.controller.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| addonController.controller.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| addonController.controller.image.repository | string | `"projectsveltos/addon-controller"` | | -| addonController.controller.image.tag | string | `"v1.12.0"` | | -| addonController.controller.image.digest | string | `"sha256:98312b5bc21f1cd6dd3d9b3d6d2d530981f8f3369477ae5455869ef11fceaf18"` | | -| addonController.controller.resources.requests.memory | string | `"512Mi"` | | +| addonController.controller.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the containers | +| addonController.controller.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| addonController.controller.image.repository | string | `"projectsveltos/addon-controller"` | Docker image repository | +| addonController.controller.image.tag | string | `"v1.13.0"` | | +| addonController.controller.image.digest | string | `"sha256:f3980ba1d071546ce01965538b936d646d5cd5812ad1ae0f6cd91e9ca0023364"` | | +| addonController.controller.resources | object | `{"requests":{"memory":"512Mi"}}` | Resource requests and limits | | addonController.driftDetectionManagerPatchConfigMap.name | string | `"drift-detection-config"` | | | addonController.driftDetectionManagerPatchConfigMap.data | object | `{}` | | -| addonController.podSecurityContext.runAsNonRoot | bool | `true` | | -| addonController.podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| addonController.podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the pod | | addonController.ports[0].name | string | `"metrics"` | | | addonController.ports[0].port | int | `80` | | | addonController.ports[0].protocol | string | `"TCP"` | | @@ -81,7 +91,7 @@ Projectsveltos helm chart for Kubernetes | addonController.serviceAccount.annotations | object | `{}` | | | addonController.type | string | `"ClusterIP"` | | | addonController.roleExtra.rules[0].apiGroups[0] | string | `""` | | -| addonController.roleExtra.rules[0].resources[0] | string | `"configmaps"` | | +| addonController.roleExtra.rules[0].resources | list | `["configmaps"]` | Resource requests and limits | | addonController.roleExtra.rules[0].verbs[0] | string | `"get"` | | | addonController.roleExtra.rules[0].verbs[1] | string | `"list"` | | | addonController.roleExtra.rules[0].verbs[2] | string | `"create"` | | @@ -98,43 +108,45 @@ Projectsveltos helm chart for Kubernetes | classifierManager.manager.args[1] | string | `"--report-mode=0"` | | | classifierManager.manager.args[2] | string | `"--shard-key="` | | | classifierManager.manager.args[3] | string | `"--v=5"` | | -| classifierManager.manager.args[4] | string | `"--version=v1.12.0"` | | +| classifierManager.manager.args[4] | string | `"--version=v1.13.0"` | | | classifierManager.manager.extraArgs | object | `{}` | | | classifierManager.manager.argsAgentMgmtCluster[0] | string | `"--diagnostics-address=:8443"` | | | classifierManager.manager.argsAgentMgmtCluster[1] | string | `"--report-mode=0"` | | | classifierManager.manager.argsAgentMgmtCluster[2] | string | `"--shard-key="` | | | classifierManager.manager.argsAgentMgmtCluster[3] | string | `"--v=5"` | | -| classifierManager.manager.argsAgentMgmtCluster[4] | string | `"--version=v1.12.0"` | | +| classifierManager.manager.argsAgentMgmtCluster[4] | string | `"--version=v1.13.0"` | | | classifierManager.manager.argsAgentMgmtCluster[5] | string | `"--agent-in-mgmt-cluster=true"` | | | classifierManager.manager.extraArgsAgentMgmtCluster | object | `{}` | | | classifierManager.manager.extraEnv | list | `[]` | | | classifierManager.manager.extraVolumes | list | `[]` | | -| classifierManager.manager.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| classifierManager.manager.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| classifierManager.manager.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| classifierManager.manager.image.repository | string | `"projectsveltos/classifier"` | | -| classifierManager.manager.image.tag | string | `"v1.12.0"` | | -| classifierManager.manager.image.digest | string | `"sha256:1ecc84c8f162337f7fe547313ce75796468a752ab6e25684ced9be52be02c078"` | | -| classifierManager.manager.resources.limits.cpu | string | `"500m"` | | -| classifierManager.manager.resources.limits.memory | string | `"512Mi"` | | -| classifierManager.manager.resources.requests.cpu | string | `"100m"` | | -| classifierManager.manager.resources.requests.memory | string | `"128Mi"` | | +| classifierManager.manager.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the containers | +| classifierManager.manager.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| classifierManager.manager.image.repository | string | `"projectsveltos/classifier"` | Docker image repository | +| classifierManager.manager.image.tag | string | `"v1.13.0"` | | +| classifierManager.manager.image.digest | string | `"sha256:fb4c64861bd96ea01b5da5fc7c6015e83abdf7f0ba700cdeed0509a1df1abdb5"` | | +| classifierManager.manager.resources | object | `{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"100m","memory":"128Mi"}}` | Resource requests and limits | | classifierManager.nodeSelector | object | `{}` | | -| classifierManager.podSecurityContext.runAsNonRoot | bool | `true` | | -| classifierManager.podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| classifierManager.podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the pod | +| classifierManager.ports[0].name | string | `"metrics"` | | +| classifierManager.ports[0].port | int | `80` | | +| classifierManager.ports[0].protocol | string | `"TCP"` | | +| classifierManager.ports[0].targetPort | int | `8443` | | | classifierManager.tolerations | list | `[]` | | | classifierManager.serviceAccount.annotations | object | `{}` | | +| classifierManager.type | string | `"ClusterIP"` | | +| classifierManager.serviceMonitor.additionalLabels | object | `{}` | | | clusterInventory.enabled | bool | `false` | | -| clusterInventory.image.repository | string | `"projectsveltos/clusterinventory-controller"` | | -| clusterInventory.image.tag | string | `"v1.12.0"` | | -| clusterInventory.image.digest | string | `"sha256:2ba52e276e1292af40c243591d98d955c0daf007b786bb5d97f29d672c871464"` | | -| clusterInventory.resources.limits.cpu | int | `100` | | -| clusterInventory.resources.limits.memory | string | `"512Mi"` | | -| clusterInventory.resources.requests.cpu | string | `"100m"` | | -| clusterInventory.resources.requests.memory | string | `"256Mi"` | | +| clusterInventory.annotations | object | `{}` | | +| clusterInventory.labels | object | `{}` | | +| clusterInventory.manager.args[0] | string | `"--v=0"` | | +| clusterInventory.manager.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| clusterInventory.manager.image.repository | string | `"projectsveltos/clusterinventory-controller"` | Docker image repository | +| clusterInventory.manager.image.tag | string | `"v1.13.0"` | | +| clusterInventory.manager.image.digest | string | `"sha256:2b783d74679dd28b5271d0c205a8e73ee6c4b94fdeaeb1f8404e7aee02014c6b"` | | +| clusterInventory.manager.imagePullPolicy | string | `"IfNotPresent"` | | +| clusterInventory.manager.resources | object | `{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"100m","memory":"256Mi"}}` | Resource requests and limits | | clusterInventory.nodeSelector | object | `{}` | | -| clusterInventory.podSecurityContext.runAsNonRoot | bool | `true` | | -| clusterInventory.podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| clusterInventory.podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the pod | | clusterInventory.tolerations | list | `[]` | | | clusterInventory.extraVolumes | list | `[]` | | | clusterInventory.serviceAccount.annotations | object | `{}` | | @@ -144,59 +156,55 @@ Projectsveltos helm chart for Kubernetes | eventManager.manager.args[0] | string | `"--diagnostics-address=:8443"` | | | eventManager.manager.args[1] | string | `"--shard-key="` | | | eventManager.manager.args[2] | string | `"--v=5"` | | -| eventManager.manager.args[3] | string | `"--version=v1.12.0"` | | +| eventManager.manager.args[3] | string | `"--version=v1.13.0"` | | | eventManager.manager.extraArgs | object | `{}` | | | eventManager.manager.argsAgentMgmtCluster[0] | string | `"--diagnostics-address=:8443"` | | | eventManager.manager.argsAgentMgmtCluster[1] | string | `"--shard-key="` | | | eventManager.manager.argsAgentMgmtCluster[2] | string | `"--v=5"` | | -| eventManager.manager.argsAgentMgmtCluster[3] | string | `"--version=v1.12.0"` | | +| eventManager.manager.argsAgentMgmtCluster[3] | string | `"--version=v1.13.0"` | | | eventManager.manager.argsAgentMgmtCluster[4] | string | `"--agent-in-mgmt-cluster=true"` | | | eventManager.manager.extraArgsAgentMgmtCluster | object | `{}` | | | eventManager.manager.extraEnv | list | `[]` | | | eventManager.manager.extraVolumes | list | `[]` | | -| eventManager.manager.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| eventManager.manager.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| eventManager.manager.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| eventManager.manager.image.repository | string | `"projectsveltos/event-manager"` | | -| eventManager.manager.image.tag | string | `"v1.12.0"` | | -| eventManager.manager.image.digest | string | `"sha256:fd31a6163d6ca133ca4bef7216a9d2bcf3eb6ae15638d5e3ad3a9e20aa6d464f"` | | -| eventManager.manager.resources.limits.cpu | string | `"500m"` | | -| eventManager.manager.resources.limits.memory | string | `"512Mi"` | | -| eventManager.manager.resources.requests.cpu | string | `"10m"` | | -| eventManager.manager.resources.requests.memory | string | `"128Mi"` | | +| eventManager.manager.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the containers | +| eventManager.manager.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| eventManager.manager.image.repository | string | `"projectsveltos/event-manager"` | Docker image repository | +| eventManager.manager.image.tag | string | `"v1.13.0"` | | +| eventManager.manager.image.digest | string | `"sha256:2c62722e4758d1ef74ff133ca0e91908ceadea2d4d690f05200e86d89b8a0df2"` | | +| eventManager.manager.resources | object | `{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Resource requests and limits | | eventManager.nodeSelector | object | `{}` | | -| eventManager.podSecurityContext.runAsNonRoot | bool | `true` | | -| eventManager.podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| eventManager.podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the pod | +| eventManager.ports[0].name | string | `"metrics"` | | +| eventManager.ports[0].port | int | `80` | | +| eventManager.ports[0].protocol | string | `"TCP"` | | +| eventManager.ports[0].targetPort | int | `8443` | | | eventManager.tolerations | list | `[]` | | | eventManager.serviceAccount.annotations | object | `{}` | | +| eventManager.type | string | `"ClusterIP"` | | +| eventManager.serviceMonitor.additionalLabels | object | `{}` | | | hcManager.annotations | object | `{}` | | | hcManager.labels | object | `{}` | | | hcManager.manager.args[0] | string | `"--diagnostics-address=:8443"` | | | hcManager.manager.args[1] | string | `"--shard-key="` | | | hcManager.manager.args[2] | string | `"--v=5"` | | -| hcManager.manager.args[3] | string | `"--version=v1.12.0"` | | +| hcManager.manager.args[3] | string | `"--version=v1.13.0"` | | | hcManager.manager.extraArgs | object | `{}` | | | hcManager.manager.argsAgentMgmtCluster[0] | string | `"--diagnostics-address=:8443"` | | | hcManager.manager.argsAgentMgmtCluster[1] | string | `"--shard-key="` | | | hcManager.manager.argsAgentMgmtCluster[2] | string | `"--v=5"` | | -| hcManager.manager.argsAgentMgmtCluster[3] | string | `"--version=v1.12.0"` | | +| hcManager.manager.argsAgentMgmtCluster[3] | string | `"--version=v1.13.0"` | | | hcManager.manager.argsAgentMgmtCluster[4] | string | `"--agent-in-mgmt-cluster=true"` | | | hcManager.manager.extraArgsAgentMgmtCluster | object | `{}` | | | hcManager.manager.extraEnv | list | `[]` | | | hcManager.manager.extraVolumes | list | `[]` | | -| hcManager.manager.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| hcManager.manager.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| hcManager.manager.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| hcManager.manager.image.repository | string | `"projectsveltos/healthcheck-manager"` | | -| hcManager.manager.image.tag | string | `"v1.12.0"` | | -| hcManager.manager.image.digest | string | `"sha256:d86c6f7e19c56af5cbbd7a982ef7a3c2dac29bdd2538c52dcd9e211e7b5c32ef"` | | -| hcManager.manager.resources.limits.cpu | string | `"500m"` | | -| hcManager.manager.resources.limits.memory | string | `"512Mi"` | | -| hcManager.manager.resources.requests.cpu | string | `"10m"` | | -| hcManager.manager.resources.requests.memory | string | `"128Mi"` | | +| hcManager.manager.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the containers | +| hcManager.manager.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| hcManager.manager.image.repository | string | `"projectsveltos/healthcheck-manager"` | Docker image repository | +| hcManager.manager.image.tag | string | `"v1.13.0"` | | +| hcManager.manager.image.digest | string | `"sha256:542fcfa2f0042e9a5fdbfb40ab8efa8ef46bcf059b841e9931c402075e843c69"` | | +| hcManager.manager.resources | object | `{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Resource requests and limits | | hcManager.nodeSelector | object | `{}` | | -| hcManager.podSecurityContext.runAsNonRoot | bool | `true` | | -| hcManager.podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| hcManager.podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the pod | | hcManager.tolerations | list | `[]` | | | hcManager.serviceAccount.annotations | object | `{}` | | | crdManager.serviceAccount.annotations."helm.sh/hook" | string | `"pre-upgrade,pre-rollback"` | | @@ -205,16 +213,15 @@ Projectsveltos helm chart for Kubernetes | crdManagerJob.backoffLimit | int | `4` | | | crdManagerJob.crdManager.extraEnv | list | `[]` | | | crdManagerJob.crdManager.extraVolumes | list | `[]` | | -| crdManagerJob.crdManager.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| crdManagerJob.crdManager.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| crdManagerJob.crdManager.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| crdManagerJob.crdManager.image.repository | string | `"projectsveltos/crd-manager"` | | -| crdManagerJob.crdManager.image.tag | string | `"v1.12.0"` | | -| crdManagerJob.crdManager.image.digest | string | `"sha256:1f4e369052722469ddf7307da2fadd6049ae8b53a12ce71af4cf352169480d94"` | | +| crdManagerJob.crdManager.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the containers | +| crdManagerJob.crdManager.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| crdManagerJob.crdManager.image.repository | string | `"projectsveltos/crd-manager"` | Docker image repository | +| crdManagerJob.crdManager.image.tag | string | `"v1.13.0"` | | +| crdManagerJob.crdManager.image.digest | string | `"sha256:44009ae6925ee1a24fd3d0885696e12657925f6d55d6a5c75ed365fafa08fb00"` | | | crdManagerJob.crdManager.imagePullPolicy | string | `"IfNotPresent"` | | | crdManagerJob.crdManager.nodeSelector | object | `{}` | | | crdManagerJob.crdManager.tolerations | list | `[]` | | -| crdManagerJob.crdManager.resources.requests.memory | string | `"128Mi"` | | +| crdManagerJob.crdManager.resources | object | `{"requests":{"memory":"128Mi"}}` | Resource requests and limits | | kubernetesClusterDomain | string | `"cluster.local"` | | | registerMgmtCluster.serviceAccount.annotations | object | `{}` | | | registerMgmtClusterJob.backoffLimit | int | `4` | | @@ -223,16 +230,15 @@ Projectsveltos helm chart for Kubernetes | registerMgmtClusterJob.registerMgmtCluster.extraArgs | object | `{}` | | | registerMgmtClusterJob.registerMgmtCluster.extraEnv | list | `[]` | | | registerMgmtClusterJob.registerMgmtCluster.extraVolumes | list | `[]` | | -| registerMgmtClusterJob.registerMgmtCluster.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| registerMgmtClusterJob.registerMgmtCluster.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| registerMgmtClusterJob.registerMgmtCluster.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| registerMgmtClusterJob.registerMgmtCluster.image.repository | string | `"projectsveltos/register-mgmt-cluster"` | | -| registerMgmtClusterJob.registerMgmtCluster.image.tag | string | `"v1.12.0"` | | -| registerMgmtClusterJob.registerMgmtCluster.image.digest | string | `"sha256:92674874615df8bffc31de9b8f12e6e9c0f621a03fbf3384596fdf658f655a98"` | | +| registerMgmtClusterJob.registerMgmtCluster.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the containers | +| registerMgmtClusterJob.registerMgmtCluster.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| registerMgmtClusterJob.registerMgmtCluster.image.repository | string | `"projectsveltos/register-mgmt-cluster"` | Docker image repository | +| registerMgmtClusterJob.registerMgmtCluster.image.tag | string | `"v1.13.0"` | | +| registerMgmtClusterJob.registerMgmtCluster.image.digest | string | `"sha256:0c7e5aae423cbae399269d0389e716a241d671acfd90a750e840831a7c0cd7df"` | | | registerMgmtClusterJob.registerMgmtCluster.imagePullPolicy | string | `"IfNotPresent"` | | | registerMgmtClusterJob.registerMgmtCluster.nodeSelector | object | `{}` | | | registerMgmtClusterJob.registerMgmtCluster.tolerations | list | `[]` | | -| registerMgmtClusterJob.registerMgmtCluster.resources.requests.memory | string | `"128Mi"` | | +| registerMgmtClusterJob.registerMgmtCluster.resources | object | `{"requests":{"memory":"128Mi"}}` | Resource requests and limits | | scManager.annotations | object | `{}` | | | scManager.labels | object | `{}` | | | scManager.manager.args[0] | string | `"--diagnostics-address=:8443"` | | @@ -241,19 +247,14 @@ Projectsveltos helm chart for Kubernetes | scManager.manager.extraArgs | object | `{}` | | | scManager.manager.extraEnv | list | `[]` | | | scManager.manager.extraVolumes | list | `[]` | | -| scManager.manager.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| scManager.manager.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| scManager.manager.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| scManager.manager.image.repository | string | `"projectsveltos/sveltoscluster-manager"` | | -| scManager.manager.image.tag | string | `"v1.12.0"` | | -| scManager.manager.image.digest | string | `"sha256:56434c735d1f3f87553caf9888cb516fa64e5c13d3a006f795b8d5a9057d7c57"` | | -| scManager.manager.resources.limits.cpu | string | `"500m"` | | -| scManager.manager.resources.limits.memory | string | `"512Mi"` | | -| scManager.manager.resources.requests.cpu | string | `"10m"` | | -| scManager.manager.resources.requests.memory | string | `"128Mi"` | | +| scManager.manager.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the containers | +| scManager.manager.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| scManager.manager.image.repository | string | `"projectsveltos/sveltoscluster-manager"` | Docker image repository | +| scManager.manager.image.tag | string | `"v1.13.0"` | | +| scManager.manager.image.digest | string | `"sha256:c8342b22999c1038744e3f3e76a7a8aaa06502b1b3829e3e26bac6f988581cfd"` | | +| scManager.manager.resources | object | `{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Resource requests and limits | | scManager.nodeSelector | object | `{}` | | -| scManager.podSecurityContext.runAsNonRoot | bool | `true` | | -| scManager.podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| scManager.podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the pod | | scManager.ports[0].name | string | `"metrics"` | | | scManager.ports[0].port | int | `80` | | | scManager.ports[0].protocol | string | `"TCP"` | | @@ -280,19 +281,14 @@ Projectsveltos helm chart for Kubernetes | shardController.manager.extraArgsAgentMgmtCluster | object | `{}` | | | shardController.manager.extraEnv | list | `[]` | | | shardController.manager.extraVolumes | list | `[]` | | -| shardController.manager.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| shardController.manager.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| shardController.manager.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| shardController.manager.image.repository | string | `"projectsveltos/shard-controller"` | | -| shardController.manager.image.tag | string | `"v1.12.0"` | | -| shardController.manager.image.digest | string | `"sha256:cecfad5d3e89ee547606f69ca87b9bb179f902a20e7c898ad74e81d9f00b2c6c"` | | -| shardController.manager.resources.limits.cpu | string | `"500m"` | | -| shardController.manager.resources.limits.memory | string | `"512Mi"` | | -| shardController.manager.resources.requests.cpu | string | `"10m"` | | -| shardController.manager.resources.requests.memory | string | `"128Mi"` | | +| shardController.manager.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the containers | +| shardController.manager.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| shardController.manager.image.repository | string | `"projectsveltos/shard-controller"` | Docker image repository | +| shardController.manager.image.tag | string | `"v1.13.0"` | | +| shardController.manager.image.digest | string | `"sha256:8161ef6e7bb30a360e79f36eb2298954437a4d1aee8857e6565062933019ef87"` | | +| shardController.manager.resources | object | `{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Resource requests and limits | | shardController.nodeSelector | object | `{}` | | -| shardController.podSecurityContext.runAsNonRoot | bool | `true` | | -| shardController.podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| shardController.podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the pod | | shardController.tolerations | list | `[]` | | | shardController.serviceAccount.annotations | object | `{}` | | | techsupportController.enabled | bool | `true` | | @@ -304,19 +300,14 @@ Projectsveltos helm chart for Kubernetes | techsupportController.controller.extraArgs | object | `{}` | | | techsupportController.controller.extraEnv | list | `[]` | | | techsupportController.controller.extraVolumes | list | `[]` | | -| techsupportController.controller.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| techsupportController.controller.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| techsupportController.controller.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| techsupportController.controller.image.repository | string | `"projectsveltos/techsupport"` | | -| techsupportController.controller.image.tag | string | `"v1.12.0"` | | -| techsupportController.controller.image.digest | string | `"sha256:266f323014066ef07986c35ef66e8c6b785cdc1320f5b542d4f700239e98a3e4"` | | -| techsupportController.controller.resources.limits.cpu | string | `"500m"` | | -| techsupportController.controller.resources.limits.memory | string | `"1024Mi"` | | -| techsupportController.controller.resources.requests.cpu | string | `"10m"` | | -| techsupportController.controller.resources.requests.memory | string | `"128Mi"` | | +| techsupportController.controller.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the containers | +| techsupportController.controller.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| techsupportController.controller.image.repository | string | `"projectsveltos/techsupport"` | Docker image repository | +| techsupportController.controller.image.tag | string | `"v1.13.0"` | | +| techsupportController.controller.image.digest | string | `"sha256:51764732650fc1ca9a57f9afda34f2885e544abcd7dfa4d57280cc99627b82cb"` | | +| techsupportController.controller.resources | object | `{"limits":{"cpu":"500m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Resource requests and limits | | techsupportController.nodeSelector | object | `{}` | | -| techsupportController.podSecurityContext.runAsNonRoot | bool | `true` | | -| techsupportController.podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| techsupportController.podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the pod | | techsupportController.tolerations | list | `[]` | | | techsupportController.serviceAccount.annotations | object | `{}` | | | mcpServer.enabled | bool | `true` | | @@ -326,19 +317,14 @@ Projectsveltos helm chart for Kubernetes | mcpServer.controller.extraArgs | object | `{}` | | | mcpServer.controller.extraEnv | list | `[]` | | | mcpServer.controller.extraVolumes | list | `[]` | | -| mcpServer.controller.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | | -| mcpServer.controller.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | -| mcpServer.controller.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| mcpServer.controller.image.repository | string | `"projectsveltos/mcp-server"` | | -| mcpServer.controller.image.tag | string | `"v1.12.0"` | | -| mcpServer.controller.image.digest | string | `"sha256:97da764e1a7fa093c99f83ba54dc0e371e9993f7f37ea9fd47a4f4683051f279"` | | -| mcpServer.controller.resources.limits.cpu | string | `"500m"` | | -| mcpServer.controller.resources.limits.memory | string | `"1024Mi"` | | -| mcpServer.controller.resources.requests.cpu | string | `"100m"` | | -| mcpServer.controller.resources.requests.memory | string | `"128Mi"` | | +| mcpServer.controller.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the containers | +| mcpServer.controller.image.registry | string | `""` | The Docker registry. Defaults to global.registry if empty. | +| mcpServer.controller.image.repository | string | `"projectsveltos/mcp-server"` | Docker image repository | +| mcpServer.controller.image.tag | string | `"v1.13.0"` | | +| mcpServer.controller.image.digest | string | `"sha256:f7bdb3f052ec7cf1ee72c967c5317e14012288b6eeadebe46661622c865da11c"` | | +| mcpServer.controller.resources | object | `{"limits":{"cpu":"500m","memory":"1024Mi"},"requests":{"cpu":"100m","memory":"128Mi"}}` | Resource requests and limits | | mcpServer.nodeSelector | object | `{}` | | -| mcpServer.podSecurityContext.runAsNonRoot | bool | `true` | | -| mcpServer.podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| mcpServer.podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | The SecurityContext for the pod | | mcpServer.ports[0].name | string | `"metrics"` | | | mcpServer.ports[0].port | int | `80` | | | mcpServer.ports[0].protocol | string | `"TCP"` | | diff --git a/charts/projectsveltos/crds/clusterconfiguration-crd.yaml b/charts/projectsveltos/crds/clusterconfiguration-crd.yaml index 7e9267c..7f7ea27 100644 --- a/charts/projectsveltos/crds/clusterconfiguration-crd.yaml +++ b/charts/projectsveltos/crds/clusterconfiguration-crd.yaml @@ -99,7 +99,7 @@ spec: type: object type: array featureID: - description: FeatureID is an indentifier of the feature + description: FeatureID is an identifier of the feature whose status is reported enum: - Resources @@ -227,7 +227,7 @@ spec: type: object type: array featureID: - description: FeatureID is an indentifier of the feature + description: FeatureID is an identifier of the feature whose status is reported enum: - Resources diff --git a/charts/projectsveltos/crds/clusterprofile-crd.yaml b/charts/projectsveltos/crds/clusterprofile-crd.yaml index 1dae555..ddbc21a 100644 --- a/charts/projectsveltos/crds/clusterprofile-crd.yaml +++ b/charts/projectsveltos/crds/clusterprofile-crd.yaml @@ -338,6 +338,17 @@ spec: description: PassCredentialsAll is the flag to pass credentials to all domains type: boolean + postRenderStrategy: + description: |- + PostRenderStrategy controls whether Helm hooks are included when Patches/PatchesFrom + are applied as a post-renderer during this chart's install/upgrade. Only relevant + when Patches or PatchesFrom is set on the Spec; ignored otherwise. Defaults to + Helm's own default (combined) when unset. + enum: + - combined + - separate + - nohooks + type: string runTests: default: false description: |- @@ -753,11 +764,20 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + KustomizationRef when an update is rejected with an error that only a delete+recreate + can resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: - flux GitRepository;OCIRepository;Bucket - ConfigMap/Secret + Required when RemoteURL is not set. enum: - GitRepository - OCIRepository @@ -769,7 +789,7 @@ spec: description: |- Name of the referenced resource. Name can be expressed as a template and instantiate using any cluster field. - minLength: 1 + Required when RemoteURL is not set. type: string namespace: description: |- @@ -778,6 +798,7 @@ spec: be implicit set to cluster's namespace. For Profile namespace must be left empty. The Profile namespace will be used. Namespace can be expressed as a template and instantiate using any cluster field. + Not used when RemoteURL is set. type: string optional: default: false @@ -795,6 +816,54 @@ spec: When expressed as templates, the values are filled in using information from resources within the management cluster before deployment (Cluster) type: string + remoteURL: + description: |- + RemoteURL configures fetching the Kustomize directory content from an HTTP/HTTPS + endpoint or an OCI registry, without requiring a Flux GitRepository/OCIRepository/Bucket + or a ConfigMap/Secret. + When set, Kind/Name/Namespace must be omitted. + properties: + interval: + description: |- + Interval defines how often Sveltos re-fetches the source to detect changes. + Defaults to 5 minutes. + type: string + secretRef: + description: |- + SecretRef references a Secret in the management cluster containing optional + credentials for fetching the source. Both Name and Namespace must be set, + allowing the Secret to live in any namespace (e.g. projectsveltos) so that + a single Secret can be shared across clusters without replication. + Supported Secret keys: + "token" — Bearer token (Authorization: Bearer ) + "username"+"password" — HTTP Basic Auth or OCI registry basic auth + "caFile" — PEM-encoded CA certificate for TLS verification + properties: + name: + description: name is unique within a namespace to reference + a secret resource. + type: string + namespace: + description: namespace defines the space within which + the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + url: + description: |- + URL is the remote source serving the Kustomize directory content. + Sveltos fetches the content on every reconciliation and redeploys if the + content hash has changed. + Supported schemes: + "http://" or "https://" — HTTP/HTTPS endpoint serving a gzipped tarball + (.tar.gz) of the Kustomize directory + "oci://" — OCI registry artifact whose layers are extracted + the same way, preserving the directory tree + pattern: ^(https?|oci):// + type: string + required: + - url + type: object skipNamespaceCreation: default: false description: |- @@ -897,11 +966,10 @@ spec: - name type: object type: array - required: - - kind - - name - - namespace type: object + x-kubernetes-validations: + - message: either remoteURL or kind must be set, but not both + rule: has(self.remoteURL) != has(self.kind) type: array x-kubernetes-list-type: atomic maxConsecutiveFailures: @@ -1050,6 +1118,14 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + PolicyRef when an update is rejected with an error that only a delete+recreate can + resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: @@ -1207,7 +1283,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1377,7 +1453,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1547,7 +1623,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1873,7 +1949,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm diff --git a/charts/projectsveltos/crds/clusterpromotion-crd.yaml b/charts/projectsveltos/crds/clusterpromotion-crd.yaml index ae84818..afb2fca 100644 --- a/charts/projectsveltos/crds/clusterpromotion-crd.yaml +++ b/charts/projectsveltos/crds/clusterpromotion-crd.yaml @@ -238,6 +238,17 @@ spec: description: PassCredentialsAll is the flag to pass credentials to all domains type: boolean + postRenderStrategy: + description: |- + PostRenderStrategy controls whether Helm hooks are included when Patches/PatchesFrom + are applied as a post-renderer during this chart's install/upgrade. Only relevant + when Patches or PatchesFrom is set on the Spec; ignored otherwise. Defaults to + Helm's own default (combined) when unset. + enum: + - combined + - separate + - nohooks + type: string runTests: default: false description: |- @@ -655,11 +666,20 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + KustomizationRef when an update is rejected with an error that only a delete+recreate + can resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: - flux GitRepository;OCIRepository;Bucket - ConfigMap/Secret + Required when RemoteURL is not set. enum: - GitRepository - OCIRepository @@ -671,7 +691,7 @@ spec: description: |- Name of the referenced resource. Name can be expressed as a template and instantiate using any cluster field. - minLength: 1 + Required when RemoteURL is not set. type: string namespace: description: |- @@ -680,6 +700,7 @@ spec: be implicit set to cluster's namespace. For Profile namespace must be left empty. The Profile namespace will be used. Namespace can be expressed as a template and instantiate using any cluster field. + Not used when RemoteURL is set. type: string optional: default: false @@ -697,6 +718,54 @@ spec: When expressed as templates, the values are filled in using information from resources within the management cluster before deployment (Cluster) type: string + remoteURL: + description: |- + RemoteURL configures fetching the Kustomize directory content from an HTTP/HTTPS + endpoint or an OCI registry, without requiring a Flux GitRepository/OCIRepository/Bucket + or a ConfigMap/Secret. + When set, Kind/Name/Namespace must be omitted. + properties: + interval: + description: |- + Interval defines how often Sveltos re-fetches the source to detect changes. + Defaults to 5 minutes. + type: string + secretRef: + description: |- + SecretRef references a Secret in the management cluster containing optional + credentials for fetching the source. Both Name and Namespace must be set, + allowing the Secret to live in any namespace (e.g. projectsveltos) so that + a single Secret can be shared across clusters without replication. + Supported Secret keys: + "token" — Bearer token (Authorization: Bearer ) + "username"+"password" — HTTP Basic Auth or OCI registry basic auth + "caFile" — PEM-encoded CA certificate for TLS verification + properties: + name: + description: name is unique within a namespace to reference + a secret resource. + type: string + namespace: + description: namespace defines the space within which + the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + url: + description: |- + URL is the remote source serving the Kustomize directory content. + Sveltos fetches the content on every reconciliation and redeploys if the + content hash has changed. + Supported schemes: + "http://" or "https://" — HTTP/HTTPS endpoint serving a gzipped tarball + (.tar.gz) of the Kustomize directory + "oci://" — OCI registry artifact whose layers are extracted + the same way, preserving the directory tree + pattern: ^(https?|oci):// + type: string + required: + - url + type: object skipNamespaceCreation: default: false description: |- @@ -799,11 +868,10 @@ spec: - name type: object type: array - required: - - kind - - name - - namespace type: object + x-kubernetes-validations: + - message: either remoteURL or kind must be set, but not both + rule: has(self.remoteURL) != has(self.kind) type: array x-kubernetes-list-type: atomic maxConsecutiveFailures: @@ -952,6 +1020,14 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + PolicyRef when an update is rejected with an error that only a delete+recreate can + resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: @@ -1110,7 +1186,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1281,7 +1357,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1452,7 +1528,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1771,7 +1847,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -2013,7 +2089,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -2166,6 +2242,14 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + PolicyRef when an update is rejected with an error that only a delete+recreate can + resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: @@ -2372,7 +2456,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -2525,6 +2609,14 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + PolicyRef when an update is rejected with an error that only a delete+recreate can + resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: diff --git a/charts/projectsveltos/crds/clusterreport-crd.yaml b/charts/projectsveltos/crds/clusterreport-crd.yaml index 8661db3..2899f12 100644 --- a/charts/projectsveltos/crds/clusterreport-crd.yaml +++ b/charts/projectsveltos/crds/clusterreport-crd.yaml @@ -70,6 +70,7 @@ spec: - Update - Delete - Conflict + - Error type: string message: description: |- @@ -137,6 +138,7 @@ spec: - Update - Delete - Conflict + - Error type: string message: description: |- @@ -245,6 +247,7 @@ spec: - Update - Delete - Conflict + - Error type: string message: description: |- diff --git a/charts/projectsveltos/crds/clustersummary-crd.yaml b/charts/projectsveltos/crds/clustersummary-crd.yaml index 6f6a485..6a91a0a 100644 --- a/charts/projectsveltos/crds/clustersummary-crd.yaml +++ b/charts/projectsveltos/crds/clustersummary-crd.yaml @@ -375,6 +375,17 @@ spec: description: PassCredentialsAll is the flag to pass credentials to all domains type: boolean + postRenderStrategy: + description: |- + PostRenderStrategy controls whether Helm hooks are included when Patches/PatchesFrom + are applied as a post-renderer during this chart's install/upgrade. Only relevant + when Patches or PatchesFrom is set on the Spec; ignored otherwise. Defaults to + Helm's own default (combined) when unset. + enum: + - combined + - separate + - nohooks + type: string runTests: default: false description: |- @@ -792,11 +803,20 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + KustomizationRef when an update is rejected with an error that only a delete+recreate + can resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: - flux GitRepository;OCIRepository;Bucket - ConfigMap/Secret + Required when RemoteURL is not set. enum: - GitRepository - OCIRepository @@ -808,7 +828,7 @@ spec: description: |- Name of the referenced resource. Name can be expressed as a template and instantiate using any cluster field. - minLength: 1 + Required when RemoteURL is not set. type: string namespace: description: |- @@ -817,6 +837,7 @@ spec: be implicit set to cluster's namespace. For Profile namespace must be left empty. The Profile namespace will be used. Namespace can be expressed as a template and instantiate using any cluster field. + Not used when RemoteURL is set. type: string optional: default: false @@ -834,6 +855,54 @@ spec: When expressed as templates, the values are filled in using information from resources within the management cluster before deployment (Cluster) type: string + remoteURL: + description: |- + RemoteURL configures fetching the Kustomize directory content from an HTTP/HTTPS + endpoint or an OCI registry, without requiring a Flux GitRepository/OCIRepository/Bucket + or a ConfigMap/Secret. + When set, Kind/Name/Namespace must be omitted. + properties: + interval: + description: |- + Interval defines how often Sveltos re-fetches the source to detect changes. + Defaults to 5 minutes. + type: string + secretRef: + description: |- + SecretRef references a Secret in the management cluster containing optional + credentials for fetching the source. Both Name and Namespace must be set, + allowing the Secret to live in any namespace (e.g. projectsveltos) so that + a single Secret can be shared across clusters without replication. + Supported Secret keys: + "token" — Bearer token (Authorization: Bearer ) + "username"+"password" — HTTP Basic Auth or OCI registry basic auth + "caFile" — PEM-encoded CA certificate for TLS verification + properties: + name: + description: name is unique within a namespace to reference + a secret resource. + type: string + namespace: + description: namespace defines the space within which + the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + url: + description: |- + URL is the remote source serving the Kustomize directory content. + Sveltos fetches the content on every reconciliation and redeploys if the + content hash has changed. + Supported schemes: + "http://" or "https://" — HTTP/HTTPS endpoint serving a gzipped tarball + (.tar.gz) of the Kustomize directory + "oci://" — OCI registry artifact whose layers are extracted + the same way, preserving the directory tree + pattern: ^(https?|oci):// + type: string + required: + - url + type: object skipNamespaceCreation: default: false description: |- @@ -936,11 +1005,10 @@ spec: - name type: object type: array - required: - - kind - - name - - namespace type: object + x-kubernetes-validations: + - message: either remoteURL or kind must be set, but not both + rule: has(self.remoteURL) != has(self.kind) type: array x-kubernetes-list-type: atomic maxConsecutiveFailures: @@ -1089,6 +1157,14 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + PolicyRef when an update is rejected with an error that only a delete+recreate can + resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: @@ -1247,7 +1323,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1418,7 +1494,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1589,7 +1665,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1916,7 +1992,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -2082,7 +2158,7 @@ spec: type: string type: array featureID: - description: FeatureID is an indentifier of the feature whose + description: FeatureID is an identifier of the feature whose status is reported enum: - Resources @@ -2132,7 +2208,7 @@ spec: occurred. type: string featureID: - description: FeatureID is an indentifier of the feature whose + description: FeatureID is an identifier of the feature whose status is reported enum: - Resources @@ -2180,15 +2256,56 @@ spec: directly managed by ClusterProfile. items: properties: + chartName: + description: |- + ChartName, RepositoryName, RepoURL, and ChartVersion mirror the fully resolved + (post-template) HelmChart entry that produced this release, captured at deploy time. + Never set for Flux-source-backed charts (Flux owns version resolution there). + type: string + chartVersion: + type: string conflictMessage: description: |- Status indicates whether ClusterSummary can manage the helm chart or there is a conflict type: string + credentialsSecretRef: + description: |- + CredentialsSecretRef is the resolved secret reference (if any) used to authenticate + against RepoURL, captured at deploy time. Only the reference is stored, never secret + contents. + properties: + name: + description: name is unique within a namespace to reference + a secret resource. + type: string + namespace: + description: namespace defines the space within which the + secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic failureMessage: description: FailureMessage provides the specific error from the Helm engine for this release type: string + lastCheckedTime: + description: LastCheckedTime is when LatestVersion/LatestPatchVersion + were last evaluated. + format: date-time + type: string + latestPatchVersion: + description: |- + LatestPatchVersion is the highest published version sharing ChartVersion's + major.minor, if greater than ChartVersion. Distinguishes "a same-minor patch bump is + available" from "a newer minor/major line exists" (LatestVersion). + type: string + latestVersion: + description: |- + LatestVersion is the highest version currently published upstream for this chart, if + greater than ChartVersion. Populated by a periodic background check, independent of + the reconcile loop. Detection only: Sveltos never mutates ChartVersion based on this. + type: string patchesHash: description: PatchesHash represents of a unique value for the patches section @@ -2203,6 +2320,10 @@ spec: be installed minLength: 1 type: string + repoURL: + type: string + repositoryName: + type: string status: description: |- Status indicates whether ClusterSummary can manage the helm diff --git a/charts/projectsveltos/crds/configurationbundle-crd.yaml b/charts/projectsveltos/crds/configurationbundle-crd.yaml index d26cb64..2e4456f 100644 --- a/charts/projectsveltos/crds/configurationbundle-crd.yaml +++ b/charts/projectsveltos/crds/configurationbundle-crd.yaml @@ -38,6 +38,14 @@ spec: type: object spec: properties: + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + PolicyRef/KustomizationRef when an update is rejected with an error that only a + delete+recreate can resolve (eg an invalid combination of fields, or a field enforced + as immutable). By default, such errors are surfaced instead of recreating the resource. + type: boolean helmChartVersion: description: |- HelmChartVersion indicates the chart version of the Helm release diff --git a/charts/projectsveltos/crds/configurationgroup-crd.yaml b/charts/projectsveltos/crds/configurationgroup-crd.yaml index 3245bc1..dc4a9cc 100644 --- a/charts/projectsveltos/crds/configurationgroup-crd.yaml +++ b/charts/projectsveltos/crds/configurationgroup-crd.yaml @@ -250,7 +250,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -420,7 +420,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -590,7 +590,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -874,7 +874,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm diff --git a/charts/projectsveltos/crds/eventreport-crd.yaml b/charts/projectsveltos/crds/eventreport-crd.yaml index c1c09cf..b969a50 100644 --- a/charts/projectsveltos/crds/eventreport-crd.yaml +++ b/charts/projectsveltos/crds/eventreport-crd.yaml @@ -128,6 +128,11 @@ spec: status: description: EventReportStatus defines the observed state of EventReport properties: + failureMessage: + description: |- + FailureMessage reports the error hit while generating ClusterProfile(s) from this + EventReport, if any. Set when processing fails; cleared on success. + type: string phase: description: Phase represents the current phase of report. enum: diff --git a/charts/projectsveltos/crds/eventtrigger-crd.yaml b/charts/projectsveltos/crds/eventtrigger-crd.yaml index 0d20f17..fcd8718 100644 --- a/charts/projectsveltos/crds/eventtrigger-crd.yaml +++ b/charts/projectsveltos/crds/eventtrigger-crd.yaml @@ -170,7 +170,7 @@ spec: event happened. If DestinationClusterSelector is set though, when an event happens in any of the cluster identified by SourceClusterSelector, add-ons will be deployed in each of - the cluster indentified by DestinationClusterSelector. + the cluster identified by DestinationClusterSelector. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. @@ -413,6 +413,17 @@ spec: description: PassCredentialsAll is the flag to pass credentials to all domains type: boolean + postRenderStrategy: + description: |- + PostRenderStrategy controls whether Helm hooks are included when Patches/PatchesFrom + are applied as a post-renderer during this chart's install/upgrade. Only relevant + when Patches or PatchesFrom is set on the Spec; ignored otherwise. Defaults to + Helm's own default (combined) when unset. + enum: + - combined + - separate + - nohooks + type: string runTests: default: false description: |- @@ -829,11 +840,20 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + KustomizationRef when an update is rejected with an error that only a delete+recreate + can resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: - flux GitRepository;OCIRepository;Bucket - ConfigMap/Secret + Required when RemoteURL is not set. enum: - GitRepository - OCIRepository @@ -845,7 +865,7 @@ spec: description: |- Name of the referenced resource. Name can be expressed as a template and instantiate using any cluster field. - minLength: 1 + Required when RemoteURL is not set. type: string namespace: description: |- @@ -854,6 +874,7 @@ spec: be implicit set to cluster's namespace. For Profile namespace must be left empty. The Profile namespace will be used. Namespace can be expressed as a template and instantiate using any cluster field. + Not used when RemoteURL is set. type: string optional: default: false @@ -871,6 +892,54 @@ spec: When expressed as templates, the values are filled in using information from resources within the management cluster before deployment (Cluster) type: string + remoteURL: + description: |- + RemoteURL configures fetching the Kustomize directory content from an HTTP/HTTPS + endpoint or an OCI registry, without requiring a Flux GitRepository/OCIRepository/Bucket + or a ConfigMap/Secret. + When set, Kind/Name/Namespace must be omitted. + properties: + interval: + description: |- + Interval defines how often Sveltos re-fetches the source to detect changes. + Defaults to 5 minutes. + type: string + secretRef: + description: |- + SecretRef references a Secret in the management cluster containing optional + credentials for fetching the source. Both Name and Namespace must be set, + allowing the Secret to live in any namespace (e.g. projectsveltos) so that + a single Secret can be shared across clusters without replication. + Supported Secret keys: + "token" — Bearer token (Authorization: Bearer ) + "username"+"password" — HTTP Basic Auth or OCI registry basic auth + "caFile" — PEM-encoded CA certificate for TLS verification + properties: + name: + description: name is unique within a namespace to reference + a secret resource. + type: string + namespace: + description: namespace defines the space within which + the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + url: + description: |- + URL is the remote source serving the Kustomize directory content. + Sveltos fetches the content on every reconciliation and redeploys if the + content hash has changed. + Supported schemes: + "http://" or "https://" — HTTP/HTTPS endpoint serving a gzipped tarball + (.tar.gz) of the Kustomize directory + "oci://" — OCI registry artifact whose layers are extracted + the same way, preserving the directory tree + pattern: ^(https?|oci):// + type: string + required: + - url + type: object skipNamespaceCreation: default: false description: |- @@ -973,11 +1042,10 @@ spec: - name type: object type: array - required: - - kind - - name - - namespace type: object + x-kubernetes-validations: + - message: either remoteURL or kind must be set, but not both + rule: has(self.remoteURL) != has(self.kind) type: array x-kubernetes-list-type: atomic maxUpdate: @@ -1000,7 +1068,7 @@ spec: Multiple resources in a managed cluster can be a match for referenced EventSource. OneForEvent indicates whether a ClusterProfile for all resource (OneForEvent = false) or one per resource (OneForEvent = true) - needs to be creted. + needs to be created. type: boolean x-kubernetes-validations: - message: Value is immutable @@ -1132,6 +1200,14 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + PolicyRef when an update is rejected with an error that only a delete+recreate can + resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: @@ -1288,7 +1364,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1457,7 +1533,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1627,7 +1703,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -2055,7 +2131,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm diff --git a/charts/projectsveltos/crds/profile-crd.yaml b/charts/projectsveltos/crds/profile-crd.yaml index fa88fa1..1946ef5 100644 --- a/charts/projectsveltos/crds/profile-crd.yaml +++ b/charts/projectsveltos/crds/profile-crd.yaml @@ -338,6 +338,17 @@ spec: description: PassCredentialsAll is the flag to pass credentials to all domains type: boolean + postRenderStrategy: + description: |- + PostRenderStrategy controls whether Helm hooks are included when Patches/PatchesFrom + are applied as a post-renderer during this chart's install/upgrade. Only relevant + when Patches or PatchesFrom is set on the Spec; ignored otherwise. Defaults to + Helm's own default (combined) when unset. + enum: + - combined + - separate + - nohooks + type: string runTests: default: false description: |- @@ -753,11 +764,20 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + KustomizationRef when an update is rejected with an error that only a delete+recreate + can resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: - flux GitRepository;OCIRepository;Bucket - ConfigMap/Secret + Required when RemoteURL is not set. enum: - GitRepository - OCIRepository @@ -769,7 +789,7 @@ spec: description: |- Name of the referenced resource. Name can be expressed as a template and instantiate using any cluster field. - minLength: 1 + Required when RemoteURL is not set. type: string namespace: description: |- @@ -778,6 +798,7 @@ spec: be implicit set to cluster's namespace. For Profile namespace must be left empty. The Profile namespace will be used. Namespace can be expressed as a template and instantiate using any cluster field. + Not used when RemoteURL is set. type: string optional: default: false @@ -795,6 +816,54 @@ spec: When expressed as templates, the values are filled in using information from resources within the management cluster before deployment (Cluster) type: string + remoteURL: + description: |- + RemoteURL configures fetching the Kustomize directory content from an HTTP/HTTPS + endpoint or an OCI registry, without requiring a Flux GitRepository/OCIRepository/Bucket + or a ConfigMap/Secret. + When set, Kind/Name/Namespace must be omitted. + properties: + interval: + description: |- + Interval defines how often Sveltos re-fetches the source to detect changes. + Defaults to 5 minutes. + type: string + secretRef: + description: |- + SecretRef references a Secret in the management cluster containing optional + credentials for fetching the source. Both Name and Namespace must be set, + allowing the Secret to live in any namespace (e.g. projectsveltos) so that + a single Secret can be shared across clusters without replication. + Supported Secret keys: + "token" — Bearer token (Authorization: Bearer ) + "username"+"password" — HTTP Basic Auth or OCI registry basic auth + "caFile" — PEM-encoded CA certificate for TLS verification + properties: + name: + description: name is unique within a namespace to reference + a secret resource. + type: string + namespace: + description: namespace defines the space within which + the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + url: + description: |- + URL is the remote source serving the Kustomize directory content. + Sveltos fetches the content on every reconciliation and redeploys if the + content hash has changed. + Supported schemes: + "http://" or "https://" — HTTP/HTTPS endpoint serving a gzipped tarball + (.tar.gz) of the Kustomize directory + "oci://" — OCI registry artifact whose layers are extracted + the same way, preserving the directory tree + pattern: ^(https?|oci):// + type: string + required: + - url + type: object skipNamespaceCreation: default: false description: |- @@ -897,11 +966,10 @@ spec: - name type: object type: array - required: - - kind - - name - - namespace type: object + x-kubernetes-validations: + - message: either remoteURL or kind must be set, but not both + rule: has(self.remoteURL) != has(self.kind) type: array x-kubernetes-list-type: atomic maxConsecutiveFailures: @@ -1050,6 +1118,14 @@ spec: - Local - Remote type: string + force: + default: false + description: |- + Force indicates whether Sveltos should delete and recreate a resource defined in this + PolicyRef when an update is rejected with an error that only a delete+recreate can + resolve (eg an invalid combination of fields, or a field enforced as immutable). + By default, such errors are surfaced instead of recreating the resource. + type: boolean kind: description: |- Kind of the resource. Supported kinds are: @@ -1207,7 +1283,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1377,7 +1453,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1547,7 +1623,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm @@ -1873,7 +1949,7 @@ spec: type: array featureID: description: |- - FeatureID is an indentifier of the feature (Helm/Kustomize/Resources) + FeatureID is an identifier of the feature (Helm/Kustomize/Resources) This field indicates when to run this check. For instance: - if set to Helm this check will be run after all helm diff --git a/charts/projectsveltos/crds/sveltoscluster-crd.yaml b/charts/projectsveltos/crds/sveltoscluster-crd.yaml index 2310332..2dfe46f 100644 --- a/charts/projectsveltos/crds/sveltoscluster-crd.yaml +++ b/charts/projectsveltos/crds/sveltoscluster-crd.yaml @@ -18,6 +18,11 @@ spec: jsonPath: .status.ready name: Ready type: boolean + - description: Whether connection is healthy + jsonPath: .status.connectionStatus + name: ConnectionStatus + priority: 1 + type: string - description: Kubernetes version associated with this Cluster jsonPath: .status.version name: Version diff --git a/charts/projectsveltos/templates/addon-controller-metrics-reader-rbac.yaml b/charts/projectsveltos/templates/addon-controller-metrics-reader-rbac.yaml new file mode 100644 index 0000000..e56bb40 --- /dev/null +++ b/charts/projectsveltos/templates/addon-controller-metrics-reader-rbac.yaml @@ -0,0 +1,11 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: addon-metrics-reader + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/charts/projectsveltos/templates/addon-controller-proxy-rbac.yaml b/charts/projectsveltos/templates/addon-controller-proxy-rbac.yaml new file mode 100644 index 0000000..b59aa27 --- /dev/null +++ b/charts/projectsveltos/templates/addon-controller-proxy-rbac.yaml @@ -0,0 +1,34 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: addon-proxy-role + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +rules: +- apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create +- apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: addon-proxy-rolebinding + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: 'addon-proxy-role' +subjects: +- kind: ServiceAccount + name: 'addon-controller' + namespace: '{{ .Release.Namespace }}' diff --git a/charts/projectsveltos/templates/classifier-manager-metrics-reader-rbac.yaml b/charts/projectsveltos/templates/classifier-manager-metrics-reader-rbac.yaml new file mode 100644 index 0000000..12200c7 --- /dev/null +++ b/charts/projectsveltos/templates/classifier-manager-metrics-reader-rbac.yaml @@ -0,0 +1,11 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: classifier-metrics-reader + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/charts/projectsveltos/templates/classifier-manager-proxy-rbac.yaml b/charts/projectsveltos/templates/classifier-manager-proxy-rbac.yaml new file mode 100644 index 0000000..92a4b53 --- /dev/null +++ b/charts/projectsveltos/templates/classifier-manager-proxy-rbac.yaml @@ -0,0 +1,34 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: classifier-proxy-role + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +rules: +- apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create +- apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: classifier-proxy-rolebinding + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: 'classifier-proxy-role' +subjects: +- kind: ServiceAccount + name: 'classifier-manager' + namespace: '{{ .Release.Namespace }}' diff --git a/charts/projectsveltos/templates/classifier-manager-rbac.yaml b/charts/projectsveltos/templates/classifier-manager-rbac.yaml index daef15e..030f83d 100644 --- a/charts/projectsveltos/templates/classifier-manager-rbac.yaml +++ b/charts/projectsveltos/templates/classifier-manager-rbac.yaml @@ -5,15 +5,10 @@ metadata: labels: {{- include "projectsveltos.labels" . | nindent 4 }} rules: -# TODO(remove): stopgap for projectsveltos/classifier#485 — the pre-fix migrate -# initContainer Gets the Namespace of each migrated cluster entry. Drop the namespace -# RBAC once the fleet has moved to a classifier release containing the fix that checks -# cluster existence instead (no longer needs "namespaces" get). - apiGroups: - "" resources: - configmaps - - namespaces - secrets verbs: - get @@ -107,6 +102,7 @@ rules: - lib.projectsveltos.io resources: - classifiers/finalizers + - managementclusterclassifiers/finalizers verbs: - update - apiGroups: diff --git a/charts/projectsveltos/templates/classifier-manager.yaml b/charts/projectsveltos/templates/classifier-manager.yaml new file mode 100644 index 0000000..319bab5 --- /dev/null +++ b/charts/projectsveltos/templates/classifier-manager.yaml @@ -0,0 +1,42 @@ +apiVersion: v1 +kind: Service +metadata: + name: classifier-manager + namespace: {{ .Release.Namespace | quote }} + labels: + control-plane: classifier + {{- include "projectsveltos.labels" . | nindent 4 }} +spec: + type: {{ .Values.classifierManager.type }} + selector: + control-plane: classifier + {{- include "projectsveltos.selectorLabels" . | nindent 4 }} + ports: + {{- .Values.classifierManager.ports | toYaml | nindent 2 }} +{{ if .Values.prometheus.enabled }} +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: classifier-manager + namespace: {{ .Release.Namespace | quote }} + labels: + {{- with .Values.classifierManager.serviceMonitor.additionalLabels -}} + {{- toYaml . | nindent 4 -}} + {{- end -}} + {{- include "projectsveltos.labels" . | nindent 4 }} +spec: + endpoints: + - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + path: /metrics + port: metrics + scheme: https + tlsConfig: + insecureSkipVerify: true + namespaceSelector: + matchNames: + - '{{ .Release.Namespace }}' + selector: + matchLabels: + control-plane: classifier +{{ end }} diff --git a/charts/projectsveltos/templates/deployment.yaml b/charts/projectsveltos/templates/deployment.yaml index b6b30b2..670e315 100644 --- a/charts/projectsveltos/templates/deployment.yaml +++ b/charts/projectsveltos/templates/deployment.yaml @@ -1263,7 +1263,7 @@ metadata: name: clusterinventory-controller namespace: {{ .Release.Namespace | quote }} labels: - ontrol-plane: clusterinventory-controller + control-plane: clusterinventory-controller {{- include "projectsveltos.labels" . | nindent 4 }} spec: replicas: 1 @@ -1282,7 +1282,7 @@ spec: {{- end }} {{- include "projectsveltos.selectorLabels" . | nindent 8 }} annotations: - kubectl.kubernetes.io/default-container: controller + kubectl.kubernetes.io/default-container: manager spec: {{- with .Values.global.imagePullSecrets }} imagePullSecrets: diff --git a/charts/projectsveltos/templates/event-manager-metrics-reader-rbac.yaml b/charts/projectsveltos/templates/event-manager-metrics-reader-rbac.yaml new file mode 100644 index 0000000..1ba2713 --- /dev/null +++ b/charts/projectsveltos/templates/event-manager-metrics-reader-rbac.yaml @@ -0,0 +1,11 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: event-metrics-reader + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/charts/projectsveltos/templates/event-manager-proxy-rbac.yaml b/charts/projectsveltos/templates/event-manager-proxy-rbac.yaml new file mode 100644 index 0000000..5a120cd --- /dev/null +++ b/charts/projectsveltos/templates/event-manager-proxy-rbac.yaml @@ -0,0 +1,34 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: event-proxy-role + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +rules: +- apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create +- apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: event-proxy-rolebinding + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: 'event-proxy-role' +subjects: +- kind: ServiceAccount + name: 'event-manager' + namespace: '{{ .Release.Namespace }}' diff --git a/charts/projectsveltos/templates/event-manager.yaml b/charts/projectsveltos/templates/event-manager.yaml new file mode 100644 index 0000000..200fd0d --- /dev/null +++ b/charts/projectsveltos/templates/event-manager.yaml @@ -0,0 +1,42 @@ +apiVersion: v1 +kind: Service +metadata: + name: event-manager + namespace: {{ .Release.Namespace | quote }} + labels: + control-plane: event-manager + {{- include "projectsveltos.labels" . | nindent 4 }} +spec: + type: {{ .Values.eventManager.type }} + selector: + control-plane: event-manager + {{- include "projectsveltos.selectorLabels" . | nindent 4 }} + ports: + {{- .Values.eventManager.ports | toYaml | nindent 2 }} +{{ if .Values.prometheus.enabled }} +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: event-manager + namespace: {{ .Release.Namespace | quote }} + labels: + {{- with .Values.eventManager.serviceMonitor.additionalLabels -}} + {{- toYaml . | nindent 4 -}} + {{- end -}} + {{- include "projectsveltos.labels" . | nindent 4 }} +spec: + endpoints: + - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + path: /metrics + port: metrics + scheme: https + tlsConfig: + insecureSkipVerify: true + namespaceSelector: + matchNames: + - '{{ .Release.Namespace }}' + selector: + matchLabels: + control-plane: event-manager +{{ end }} diff --git a/charts/projectsveltos/templates/sc-manager-metrics-reader-rbac.yaml b/charts/projectsveltos/templates/sc-manager-metrics-reader-rbac.yaml new file mode 100644 index 0000000..f942951 --- /dev/null +++ b/charts/projectsveltos/templates/sc-manager-metrics-reader-rbac.yaml @@ -0,0 +1,11 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: sc-metrics-reader + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/charts/projectsveltos/templates/sc-manager-proxy-rbac.yaml b/charts/projectsveltos/templates/sc-manager-proxy-rbac.yaml new file mode 100644 index 0000000..c58fbac --- /dev/null +++ b/charts/projectsveltos/templates/sc-manager-proxy-rbac.yaml @@ -0,0 +1,34 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: sc-proxy-role + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +rules: +- apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create +- apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: sc-proxy-rolebinding + labels: + {{- include "projectsveltos.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: 'sc-proxy-role' +subjects: +- kind: ServiceAccount + name: 'sc-manager' + namespace: '{{ .Release.Namespace }}' diff --git a/charts/projectsveltos/values.schema.json b/charts/projectsveltos/values.schema.json index e72e8d6..c2a6661 100644 --- a/charts/projectsveltos/values.schema.json +++ b/charts/projectsveltos/values.schema.json @@ -399,6 +399,26 @@ "type": "object", "additionalProperties": true }, + "ports": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "protocol": { + "type": "string" + }, + "targetPort": { + "type": "integer" + } + } + } + }, "serviceAccount": { "type": "object", "properties": { @@ -407,8 +427,19 @@ } } }, + "serviceMonitor": { + "type": "object", + "properties": { + "additionalLabels": { + "type": "object" + } + } + }, "tolerations": { "type": "array" + }, + "type": { + "type": "string" } } }, @@ -677,6 +708,26 @@ "type": "object", "additionalProperties": true }, + "ports": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "protocol": { + "type": "string" + }, + "targetPort": { + "type": "integer" + } + } + } + }, "serviceAccount": { "type": "object", "properties": { @@ -685,8 +736,19 @@ } } }, + "serviceMonitor": { + "type": "object", + "properties": { + "additionalLabels": { + "type": "object" + } + } + }, "tolerations": { "type": "array" + }, + "type": { + "type": "string" } } }, diff --git a/charts/projectsveltos/values.yaml b/charts/projectsveltos/values.yaml index 03df59e..4057c69 100644 --- a/charts/projectsveltos/values.yaml +++ b/charts/projectsveltos/values.yaml @@ -30,8 +30,8 @@ accessManager: registry: "" # -- Docker image repository repository: projectsveltos/access-manager - tag: v1.12.0 - digest: sha256:3e93d2fed49fb75ddb2c67bc26dced2c733b0a888bcdfb5b2bda352a9e22b45b + tag: v1.13.0 + digest: sha256:c8f9373c871f6ddf78d91b77a41007ddc4163b07d9314d0574b23276df34645f # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: @@ -60,8 +60,8 @@ addonController: registry: "" # -- Docker image repository repository: projectsveltos/addon-controller - tag: v1.12.0 - digest: sha256:98312b5bc21f1cd6dd3d9b3d6d2d530981f8f3369477ae5455869ef11fceaf18 + tag: v1.13.0 + digest: sha256:f3980ba1d071546ce01965538b936d646d5cd5812ad1ae0f6cd91e9ca0023364 # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: @@ -77,14 +77,14 @@ addonController: - --report-mode=0 - --shard-key= - --v=5 - - --version=v1.12.0 + - --version=v1.13.0 extraArgs: {} argsAgentMgmtCluster: - --diagnostics-address=:8443 - --report-mode=0 - --shard-key= - --v=5 - - --version=v1.12.0 + - --version=v1.13.0 - --agent-in-mgmt-cluster=true extraArgsAgentMgmtCluster: {} extraEnv: [] @@ -103,8 +103,8 @@ addonController: registry: "" # -- Docker image repository repository: projectsveltos/addon-controller - tag: v1.12.0 - digest: sha256:98312b5bc21f1cd6dd3d9b3d6d2d530981f8f3369477ae5455869ef11fceaf18 + tag: v1.13.0 + digest: sha256:f3980ba1d071546ce01965538b936d646d5cd5812ad1ae0f6cd91e9ca0023364 # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: @@ -163,14 +163,14 @@ classifierManager: - --report-mode=0 - --shard-key= - --v=5 - - --version=v1.12.0 + - --version=v1.13.0 extraArgs: {} argsAgentMgmtCluster: - --diagnostics-address=:8443 - --report-mode=0 - --shard-key= - --v=5 - - --version=v1.12.0 + - --version=v1.13.0 - --agent-in-mgmt-cluster=true extraArgsAgentMgmtCluster: {} extraEnv: [] @@ -189,8 +189,8 @@ classifierManager: registry: "" # -- Docker image repository repository: projectsveltos/classifier - tag: v1.12.0 - digest: sha256:1ecc84c8f162337f7fe547313ce75796468a752ab6e25684ced9be52be02c078 + tag: v1.13.0 + digest: sha256:fb4c64861bd96ea01b5da5fc7c6015e83abdf7f0ba700cdeed0509a1df1abdb5 # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: @@ -207,9 +207,17 @@ classifierManager: runAsNonRoot: true seccompProfile: type: RuntimeDefault + ports: + - name: metrics + port: 80 + protocol: TCP + targetPort: 8443 tolerations: [] serviceAccount: annotations: {} + type: ClusterIP + serviceMonitor: + additionalLabels: {} clusterInventory: enabled: false annotations: {} @@ -222,14 +230,14 @@ clusterInventory: registry: "" # -- Docker image repository repository: projectsveltos/clusterinventory-controller - tag: v1.12.0 - digest: sha256:2ba52e276e1292af40c243591d98d955c0daf007b786bb5d97f29d672c871464 + tag: v1.13.0 + digest: sha256:2b783d74679dd28b5271d0c205a8e73ee6c4b94fdeaeb1f8404e7aee02014c6b imagePullPolicy: IfNotPresent # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: limits: - cpu: 100 + cpu: 500m memory: 512Mi requests: cpu: 100m @@ -256,13 +264,13 @@ eventManager: - --diagnostics-address=:8443 - --shard-key= - --v=5 - - --version=v1.12.0 + - --version=v1.13.0 extraArgs: {} argsAgentMgmtCluster: - --diagnostics-address=:8443 - --shard-key= - --v=5 - - --version=v1.12.0 + - --version=v1.13.0 - --agent-in-mgmt-cluster=true extraArgsAgentMgmtCluster: {} extraEnv: [] @@ -281,8 +289,8 @@ eventManager: registry: "" # -- Docker image repository repository: projectsveltos/event-manager - tag: v1.12.0 - digest: sha256:fd31a6163d6ca133ca4bef7216a9d2bcf3eb6ae15638d5e3ad3a9e20aa6d464f + tag: v1.13.0 + digest: sha256:2c62722e4758d1ef74ff133ca0e91908ceadea2d4d690f05200e86d89b8a0df2 # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: @@ -299,9 +307,17 @@ eventManager: runAsNonRoot: true seccompProfile: type: RuntimeDefault + ports: + - name: metrics + port: 80 + protocol: TCP + targetPort: 8443 tolerations: [] serviceAccount: annotations: {} + type: ClusterIP + serviceMonitor: + additionalLabels: {} hcManager: annotations: {} labels: {} @@ -310,13 +326,13 @@ hcManager: - --diagnostics-address=:8443 - --shard-key= - --v=5 - - --version=v1.12.0 + - --version=v1.13.0 extraArgs: {} argsAgentMgmtCluster: - --diagnostics-address=:8443 - --shard-key= - --v=5 - - --version=v1.12.0 + - --version=v1.13.0 - --agent-in-mgmt-cluster=true extraArgsAgentMgmtCluster: {} extraEnv: [] @@ -335,8 +351,8 @@ hcManager: registry: "" # -- Docker image repository repository: projectsveltos/healthcheck-manager - tag: v1.12.0 - digest: sha256:d86c6f7e19c56af5cbbd7a982ef7a3c2dac29bdd2538c52dcd9e211e7b5c32ef + tag: v1.13.0 + digest: sha256:542fcfa2f0042e9a5fdbfb40ab8efa8ef46bcf059b841e9931c402075e843c69 # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: @@ -381,8 +397,8 @@ crdManagerJob: registry: "" # -- Docker image repository repository: projectsveltos/crd-manager - tag: v1.12.0 - digest: sha256:1f4e369052722469ddf7307da2fadd6049ae8b53a12ce71af4cf352169480d94 + tag: v1.13.0 + digest: sha256:44009ae6925ee1a24fd3d0885696e12657925f6d55d6a5c75ed365fafa08fb00 imagePullPolicy: IfNotPresent nodeSelector: {} tolerations: [] @@ -418,8 +434,8 @@ registerMgmtClusterJob: registry: "" # -- Docker image repository repository: projectsveltos/register-mgmt-cluster - tag: v1.12.0 - digest: sha256:92674874615df8bffc31de9b8f12e6e9c0f621a03fbf3384596fdf658f655a98 + tag: v1.13.0 + digest: sha256:0c7e5aae423cbae399269d0389e716a241d671acfd90a750e840831a7c0cd7df imagePullPolicy: IfNotPresent nodeSelector: {} tolerations: [] @@ -453,8 +469,8 @@ scManager: registry: "" # -- Docker image repository repository: projectsveltos/sveltoscluster-manager - tag: v1.12.0 - digest: sha256:56434c735d1f3f87553caf9888cb516fa64e5c13d3a006f795b8d5a9057d7c57 + tag: v1.13.0 + digest: sha256:c8342b22999c1038744e3f3e76a7a8aaa06502b1b3829e3e26bac6f988581cfd # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: @@ -519,8 +535,8 @@ shardController: registry: "" # -- Docker image repository repository: projectsveltos/shard-controller - tag: v1.12.0 - digest: sha256:cecfad5d3e89ee547606f69ca87b9bb179f902a20e7c898ad74e81d9f00b2c6c + tag: v1.13.0 + digest: sha256:8161ef6e7bb30a360e79f36eb2298954437a4d1aee8857e6565062933019ef87 # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: @@ -566,8 +582,8 @@ techsupportController: registry: "" # -- Docker image repository repository: projectsveltos/techsupport - tag: v1.12.0 - digest: sha256:266f323014066ef07986c35ef66e8c6b785cdc1320f5b542d4f700239e98a3e4 + tag: v1.13.0 + digest: sha256:51764732650fc1ca9a57f9afda34f2885e544abcd7dfa4d57280cc99627b82cb # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: @@ -611,8 +627,8 @@ mcpServer: registry: "" # -- Docker image repository repository: projectsveltos/mcp-server - tag: v1.12.0 - digest: sha256:97da764e1a7fa093c99f83ba54dc0e371e9993f7f37ea9fd47a4f4683051f279 + tag: v1.13.0 + digest: sha256:f7bdb3f052ec7cf1ee72c967c5317e14012288b6eeadebe46661622c865da11c # @schema skipProperties:true;additionalProperties:true # -- Resource requests and limits resources: