From af219e88c3c5dfcce24f7852ef599b2fb4de11dc Mon Sep 17 00:00:00 2001 From: Simon Beck Date: Tue, 23 Jul 2024 14:22:39 +0200 Subject: [PATCH] Document that server-side apply is necessary for the CRDs --- charts/k8up/README.md | 116 +++++++++++++++++++++--------------------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/charts/k8up/README.md b/charts/k8up/README.md index b811b528c..2ae8b6924 100644 --- a/charts/k8up/README.md +++ b/charts/k8up/README.md @@ -13,7 +13,7 @@ helm repo add k8up-io https://k8up-io.github.io/k8up helm install k8up k8up-io/k8up ``` ```bash -kubectl apply -f https://github.com/k8up-io/k8up/releases/download/k8up-4.8.0/k8up-crd.yaml +kubectl apply -f https://github.com/k8up-io/k8up/releases/download/k8up-4.8.0/k8up-crd.yaml --server-side ``` ## Values -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| affinity | object | `{}` | | -| cleanup.pullPolicy | string | `"IfNotPresent"` | Cleanup-job image pull policy | -| cleanup.registry | string | `"docker.io"` | Cleanup-job image registry | -| cleanup.repository | string | `"bitnami/kubectl"` | Cleanup-job image repository | -| cleanup.tag | string | `"latest"` | Cleanup-job image tag (version) | -| image.pullPolicy | string | `"IfNotPresent"` | Operator image pull policy | -| image.registry | string | `"ghcr.io"` | Operator image registry | -| image.repository | string | `"k8up-io/k8up"` | Operator image repository | -| image.tag | string | `"v2.10.0"` | Operator image tag (version) | -| imagePullSecrets | list | `[]` | | -| k8up.backupImage.repository | string | `""` | The backup runner image repository. Defaults to `{image.registry}/{image.repository}`. Specify an image repository including registry, e.g. `example.com/repo/image` | -| k8up.backupImage.tag | string | `""` | The backup runner image tag Defaults to `{image.tag}` | -| k8up.enableLeaderElection | bool | `true` | Specifies whether leader election should be enabled. | -| k8up.envVars | list | `[]` | envVars allows the specification of additional environment variables. See [values.yaml](values.yaml) how to specify See documentation which variables are supported. | -| k8up.globalResources | object | empty values | Specify the resource requests and limits that the Pods should have when they are scheduled by K8up. You are still able to override those via K8up resources, but this gives cluster administrators custom defaults. | -| k8up.globalResources.limits.cpu | string | `""` | Global CPU resource limit applied to jobs. See [supported units][resource-units]. | -| k8up.globalResources.limits.memory | string | `""` | Global Memory resource limit applied to jobs. See [supported units][resource-units]. | -| k8up.globalResources.requests.cpu | string | `""` | Global CPU resource requests applied to jobs. See [supported units][resource-units]. | -| k8up.globalResources.requests.memory | string | `""` | Global Memory resource requests applied to jobs. See [supported units][resource-units]. | -| k8up.operatorNamespace | string | `""` | Specifies the namespace in which K8up's `EffectiveSchedules` are stored. Defaults to release namespace if left empty. | -| k8up.skipWithoutAnnotation | bool | `false` | Specifies whether K8up should ignore PVCs without the backup annotation (by default, `k8up.io/backup`) | -| k8up.timezone | string | `""` | Specifies the timezone K8up is using for scheduling. Empty value defaults to the timezone in which Kubernetes is deployed. Accepts `tz database` compatible entries, e.g. `Europe/Zurich` | -| metrics.grafanaDashboard.additionalLabels | object | `{}` | Add labels to the Grafana Dashboard object | -| metrics.grafanaDashboard.enable | bool | `false` | Whether to deploy the Grafana dashboard | -| metrics.grafanaDashboard.namespace | string | `""` | If the object should be installed in a different namespace than operator | -| metrics.prometheusRule.additionalLabels | object | `{}` | Add labels to the PrometheusRule object | -| metrics.prometheusRule.additionalRules | list | `[]` | Provide additional alert rules in addition to the defaults | -| metrics.prometheusRule.createDefaultRules | bool | `true` | Whether the default rules should be installed | -| metrics.prometheusRule.enabled | bool | `false` | Whether to enable PrometheusRule manifest for [Prometheus Operator][prometheus-operator] | -| metrics.prometheusRule.jobFailedRulesFor | list | `["archive","backup","check","prune","restore"]` | Create default rules for the given job types. Valid values are "archive", "backup", "check", "prune", and "restore". | -| metrics.prometheusRule.namespace | string | `""` | If the object should be installed in a different namespace than operator | -| metrics.service.annotations | object | `{}` | Annotations to add to the service | -| metrics.service.ipFamilies | list | `[]` | Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6. | -| metrics.service.ipFamilyPolicy | string | `""` | Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) | -| metrics.service.nodePort | int | `0` | Service node port of the metrics endpoint, requires `metrics.service.type=NodePort` | -| metrics.service.port | int | `8080` | | -| metrics.service.type | string | `"ClusterIP"` | | -| metrics.serviceMonitor.additionalLabels | object | `{}` | Add labels to the ServiceMonitor object | -| metrics.serviceMonitor.enabled | bool | `false` | Whether to enable ServiceMonitor manifests for [Prometheus Operator][prometheus-operator] | -| metrics.serviceMonitor.namespace | string | `""` | If the object should be installed in a different namespace than operator | -| metrics.serviceMonitor.scrapeInterval | string | `"60s"` | Scrape interval to collect metrics | -| nodeSelector | object | `{}` | | -| podAnnotations | object | `{}` | Annotations to add to the Pod spec. | -| podSecurityContext | object | `{}` | Security context to add to the Pod spec. | -| priorityClassName | string | `""` | The name of the priority class to use. | -| rbac.create | bool | `true` | Create cluster roles and rolebinding. May need elevated permissions to create cluster roles and -bindings. | -| replicaCount | int | `1` | How many operator pods should run. Note: Operator features leader election for K8s 1.16 and later, so that only 1 pod is reconciling/scheduling jobs. Follower pods reduce interruption time as they're on hot standby when leader is unresponsive. | -| resources.limits.memory | string | `"256Mi"` | Memory limit of K8up operator. See [supported units][resource-units]. | -| resources.requests.cpu | string | `"20m"` | CPU request of K8up operator. See [supported units][resource-units]. | -| resources.requests.memory | string | `"128Mi"` | Memory request of K8up operator. See [supported units][resource-units]. | -| securityContext | object | `{}` | Container security context | -| serviceAccount.annotations | object | `{}` | Annotations to add to the service account. | -| serviceAccount.create | bool | `true` | Specifies whether a service account should be created | -| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | -| tolerations | list | `[]` | | +| Key | Type | Default | Description | +| ----------------------------------------- | ------ | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| affinity | object | `{}` | | +| cleanup.pullPolicy | string | `"IfNotPresent"` | Cleanup-job image pull policy | +| cleanup.registry | string | `"docker.io"` | Cleanup-job image registry | +| cleanup.repository | string | `"bitnami/kubectl"` | Cleanup-job image repository | +| cleanup.tag | string | `"latest"` | Cleanup-job image tag (version) | +| image.pullPolicy | string | `"IfNotPresent"` | Operator image pull policy | +| image.registry | string | `"ghcr.io"` | Operator image registry | +| image.repository | string | `"k8up-io/k8up"` | Operator image repository | +| image.tag | string | `"v2.10.0"` | Operator image tag (version) | +| imagePullSecrets | list | `[]` | | +| k8up.backupImage.repository | string | `""` | The backup runner image repository. Defaults to `{image.registry}/{image.repository}`. Specify an image repository including registry, e.g. `example.com/repo/image` | +| k8up.backupImage.tag | string | `""` | The backup runner image tag Defaults to `{image.tag}` | +| k8up.enableLeaderElection | bool | `true` | Specifies whether leader election should be enabled. | +| k8up.envVars | list | `[]` | envVars allows the specification of additional environment variables. See [values.yaml](values.yaml) how to specify See documentation which variables are supported. | +| k8up.globalResources | object | empty values | Specify the resource requests and limits that the Pods should have when they are scheduled by K8up. You are still able to override those via K8up resources, but this gives cluster administrators custom defaults. | +| k8up.globalResources.limits.cpu | string | `""` | Global CPU resource limit applied to jobs. See [supported units][resource-units]. | +| k8up.globalResources.limits.memory | string | `""` | Global Memory resource limit applied to jobs. See [supported units][resource-units]. | +| k8up.globalResources.requests.cpu | string | `""` | Global CPU resource requests applied to jobs. See [supported units][resource-units]. | +| k8up.globalResources.requests.memory | string | `""` | Global Memory resource requests applied to jobs. See [supported units][resource-units]. | +| k8up.operatorNamespace | string | `""` | Specifies the namespace in which K8up's `EffectiveSchedules` are stored. Defaults to release namespace if left empty. | +| k8up.skipWithoutAnnotation | bool | `false` | Specifies whether K8up should ignore PVCs without the backup annotation (by default, `k8up.io/backup`) | +| k8up.timezone | string | `""` | Specifies the timezone K8up is using for scheduling. Empty value defaults to the timezone in which Kubernetes is deployed. Accepts `tz database` compatible entries, e.g. `Europe/Zurich` | +| metrics.grafanaDashboard.additionalLabels | object | `{}` | Add labels to the Grafana Dashboard object | +| metrics.grafanaDashboard.enable | bool | `false` | Whether to deploy the Grafana dashboard | +| metrics.grafanaDashboard.namespace | string | `""` | If the object should be installed in a different namespace than operator | +| metrics.prometheusRule.additionalLabels | object | `{}` | Add labels to the PrometheusRule object | +| metrics.prometheusRule.additionalRules | list | `[]` | Provide additional alert rules in addition to the defaults | +| metrics.prometheusRule.createDefaultRules | bool | `true` | Whether the default rules should be installed | +| metrics.prometheusRule.enabled | bool | `false` | Whether to enable PrometheusRule manifest for [Prometheus Operator][prometheus-operator] | +| metrics.prometheusRule.jobFailedRulesFor | list | `["archive","backup","check","prune","restore"]` | Create default rules for the given job types. Valid values are "archive", "backup", "check", "prune", and "restore". | +| metrics.prometheusRule.namespace | string | `""` | If the object should be installed in a different namespace than operator | +| metrics.service.annotations | object | `{}` | Annotations to add to the service | +| metrics.service.ipFamilies | list | `[]` | Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6. | +| metrics.service.ipFamilyPolicy | string | `""` | Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) | +| metrics.service.nodePort | int | `0` | Service node port of the metrics endpoint, requires `metrics.service.type=NodePort` | +| metrics.service.port | int | `8080` | | +| metrics.service.type | string | `"ClusterIP"` | | +| metrics.serviceMonitor.additionalLabels | object | `{}` | Add labels to the ServiceMonitor object | +| metrics.serviceMonitor.enabled | bool | `false` | Whether to enable ServiceMonitor manifests for [Prometheus Operator][prometheus-operator] | +| metrics.serviceMonitor.namespace | string | `""` | If the object should be installed in a different namespace than operator | +| metrics.serviceMonitor.scrapeInterval | string | `"60s"` | Scrape interval to collect metrics | +| nodeSelector | object | `{}` | | +| podAnnotations | object | `{}` | Annotations to add to the Pod spec. | +| podSecurityContext | object | `{}` | Security context to add to the Pod spec. | +| priorityClassName | string | `""` | The name of the priority class to use. | +| rbac.create | bool | `true` | Create cluster roles and rolebinding. May need elevated permissions to create cluster roles and -bindings. | +| replicaCount | int | `1` | How many operator pods should run. Note: Operator features leader election for K8s 1.16 and later, so that only 1 pod is reconciling/scheduling jobs. Follower pods reduce interruption time as they're on hot standby when leader is unresponsive. | +| resources.limits.memory | string | `"256Mi"` | Memory limit of K8up operator. See [supported units][resource-units]. | +| resources.requests.cpu | string | `"20m"` | CPU request of K8up operator. See [supported units][resource-units]. | +| resources.requests.memory | string | `"128Mi"` | Memory request of K8up operator. See [supported units][resource-units]. | +| securityContext | object | `{}` | Container security context | +| serviceAccount.annotations | object | `{}` | Annotations to add to the service account. | +| serviceAccount.create | bool | `true` | Specifies whether a service account should be created | +| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | +| tolerations | list | `[]` | | ## Upgrading from Charts v0 to v1