From a2dff1a66c17b893df9712224a5b9ea3aea61492 Mon Sep 17 00:00:00 2001 From: "Dan P." Date: Thu, 8 Aug 2024 18:03:20 -0400 Subject: [PATCH] [dev-v2.9] Bump rancher-backup to BRO v5.0.1-rc.1 (#4323) --- ...ancher-backup-crd-104.0.1+up5.0.1-rc.1.tgz | Bin 0 -> 1781 bytes .../rancher-backup-104.0.1+up5.0.1-rc.1.tgz | Bin 0 -> 11597 bytes .../104.0.1+up5.0.1-rc.1/Chart.yaml | 11 + .../104.0.1+up5.0.1-rc.1/README.md | 3 + .../templates/backup.yaml | 141 ++++++++++++ .../templates/resourceset.yaml | 118 ++++++++++ .../templates/restore.yaml | 122 ++++++++++ .../104.0.1+up5.0.1-rc.1/Chart.yaml | 26 +++ .../104.0.1+up5.0.1-rc.1/README.md | 79 +++++++ .../104.0.1+up5.0.1-rc.1/app-readme.md | 33 +++ .../default-resourceset-contents/aks.yaml | 25 ++ .../default-resourceset-contents/eks.yaml | 17 ++ .../elemental.yaml | 49 ++++ .../default-resourceset-contents/fleet.yaml | 53 +++++ .../default-resourceset-contents/gke.yaml | 17 ++ .../provisioningv2.yaml | 23 ++ .../rancher-operator.yaml | 28 +++ .../default-resourceset-contents/rancher.yaml | 69 ++++++ .../templates/_helpers.tpl | 87 +++++++ .../templates/clusterrolebinding.yaml | 14 ++ .../templates/deployment.yaml | 79 +++++++ .../templates/hardened.yaml | 124 ++++++++++ .../104.0.1+up5.0.1-rc.1/templates/psp.yaml | 31 +++ .../104.0.1+up5.0.1-rc.1/templates/pvc.yaml | 27 +++ .../templates/rancher-resourceset.yaml | 13 ++ .../templates/s3-secret.yaml | 31 +++ .../templates/serviceaccount.yaml | 11 + .../templates/validate-install-crd.yaml | 16 ++ .../templates/validate-psp-install.yaml | 7 + .../tests/deployment_test.yaml | 216 ++++++++++++++++++ .../104.0.1+up5.0.1-rc.1/tests/pvc_test.yaml | 102 +++++++++ .../tests/s3-secret_test.yaml | 141 ++++++++++++ .../104.0.1+up5.0.1-rc.1/values.yaml | 81 +++++++ index.yaml | 45 ++++ .../rancher-backup-crd/package.yaml | 4 +- .../rancher-backup/package.yaml | 4 +- release.yaml | 4 + 37 files changed, 1847 insertions(+), 4 deletions(-) create mode 100644 assets/rancher-backup-crd/rancher-backup-crd-104.0.1+up5.0.1-rc.1.tgz create mode 100644 assets/rancher-backup/rancher-backup-104.0.1+up5.0.1-rc.1.tgz create mode 100644 charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/Chart.yaml create mode 100644 charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/README.md create mode 100644 charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/backup.yaml create mode 100644 charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/resourceset.yaml create mode 100644 charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/restore.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/Chart.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/README.md create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/app-readme.md create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/aks.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/eks.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/elemental.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/fleet.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/gke.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/provisioningv2.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/rancher-operator.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/rancher.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/_helpers.tpl create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/clusterrolebinding.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/deployment.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/hardened.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/psp.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/pvc.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/rancher-resourceset.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/s3-secret.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/serviceaccount.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/validate-install-crd.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/validate-psp-install.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/deployment_test.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/pvc_test.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/s3-secret_test.yaml create mode 100644 charts/rancher-backup/104.0.1+up5.0.1-rc.1/values.yaml diff --git a/assets/rancher-backup-crd/rancher-backup-crd-104.0.1+up5.0.1-rc.1.tgz b/assets/rancher-backup-crd/rancher-backup-crd-104.0.1+up5.0.1-rc.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..4256745dd0f37cbb1e1078d65b287b6d2e7731ea GIT binary patch literal 1781 zcmVDc zVQyr3R8em|NM&qo0PI^|Z`(K$&$B-Tk$dRgnsd@aalJ!fXZx~PpfokM z*-)gGq=FcW{q75jvMtNhA3L%)0W^ImLQ%gN4re&S(O6Lpc>L5h0#!M_cg0*JgQSqLD)O1cE7@^cwoYR&x2!M~!rIs;VI;U_P zf{HMK5we3_2};D0faoV4El(+Hktvh#A1jNi-ND)UP zBBL!L72q901|uUIcf$Wt2YSb0hdi5Kuiq%MyVvJ1`)+VeqaN%^7>&r15R zieLvSGf)d=P8patcjYnetGgMkRiZ^eHv2UN{r^1VWc#cZ;MyuYA|cVu0}VlG97a2^ zw~O7?23SMkT8ZFx*VNDd`s+u}yz$|~CP}hkra`MiE9J3v^MK4x#t-IPUI?yL}S6{bTI`Yt;X{+5!wk` zW(pGXBx>205D{Es$|+wYqg!b6WKI`*fIMal&lrr5iPU?K_f)i{oOK)^YsPlac!IP* zv4SMz&axKTjF1|*Rc*}mzKkK|G>pR$>J^}x!(fpd7+Es55yY%&(PJt2X0FXCfW*?s zxpQ7+37&BnxsVaMORDl?*WWZxq{Y2Bm~A9F)MTN^YFEq_ZgT24nQ&R4~ZE#gcF2ACJjlCW_4YSY5o31apG zh%Pu(91kV@8dC|uu6*5m%<0qsv$;auSiH@`4nD?8RIyD|_ED*Z(0M*pon8zp{U9+{ zbe&EW?PjgLtlUY%@2AKlWT)qqrf#QYA_1#n7iflu%lew;p`F&+9EVaDuH_V1O1#QF zTVGU~^fP0kQ;s9G6#BuT_2ZE_Ja3S19kJ|qWHD19pCI@TaF7KFRB0;u!tARov5UhH zOGltN7Sd@+dxKUV8SHe4*^zj*sT8cmOI;29_WNrtu)T6Bt^aLQ4lnv1P*MLM3~qAu zzbn5t@Z0*|Ip`$yzl_~9Sp>|Npw^YZEIWHzY|4R|N7XgK=BhzNa4iL6ASW;f37q7U zI%gJGmH}oq$`P_F!+vSVcZcOBPz!IJFN2nle0p)_S!J4V`JumbC@iC=Y94zVW7`{zi4Qtn&0rIH<}!^YAhl$2&_EoVzLYD36|BZ;*rsYRWJ z?-OQmxiTtsda!7pMBKo$4@ zp?{t4{~KNn+x!1n=v4QAV>b=o{S9RP-k-49zw@V48}9+KUNTJtPQBBv*ml}IwiC9m;=*tl$QgP|v5sjhnHChA+t!k{ zwd7D9ZEHzUIpC!&73qy(EW(IE;sK5JlC*6VExlH9)PE-Tw|D=$_rjnl9#y~p>|G7> zzyItF+uwhkh5mvj)&kOk0~$~6I-T3iC|P2ukzQhLQpennCSwHwnyt|HT`T(TwI@eQ XEw$9rYo|W~00960FAtcl073u&r<`mG literal 0 HcmV?d00001 diff --git a/assets/rancher-backup/rancher-backup-104.0.1+up5.0.1-rc.1.tgz b/assets/rancher-backup/rancher-backup-104.0.1+up5.0.1-rc.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..99a8c48e8413127f13e9822eabee80dcb879487a GIT binary patch literal 11597 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°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 L3+(WI015#B6BPIb literal 0 HcmV?d00001 diff --git a/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/Chart.yaml b/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/Chart.yaml new file mode 100644 index 000000000..04c80e93d --- /dev/null +++ b/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/Chart.yaml @@ -0,0 +1,11 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-resources-system + catalog.cattle.io/release-name: rancher-backup-crd +apiVersion: v2 +appVersion: 5.0.1-rc.1 +description: Installs the CRDs for rancher-backup. +name: rancher-backup-crd +type: application +version: 104.0.1+up5.0.1-rc.1 diff --git a/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/README.md b/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/README.md new file mode 100644 index 000000000..046410962 --- /dev/null +++ b/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/README.md @@ -0,0 +1,3 @@ +# Rancher Backup CRD + +A Rancher chart that installs the CRDs used by `rancher-backup`. diff --git a/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/backup.yaml b/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/backup.yaml new file mode 100644 index 000000000..75ad5bf7b --- /dev/null +++ b/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/backup.yaml @@ -0,0 +1,141 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: backups.resources.cattle.io +spec: + group: resources.cattle.io + names: + kind: Backup + plural: backups + singular: backup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.storageLocation + name: Location + type: string + - jsonPath: .status.backupType + name: Type + type: string + - jsonPath: .status.filename + name: Latest-Backup + type: string + - jsonPath: .spec.resourceSetName + name: ResourceSet + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + encryptionConfigSecretName: + description: Name of the Secret containing the encryption config + nullable: true + type: string + resourceSetName: + description: Name of the ResourceSet CR to use for backup + nullable: true + type: string + retentionCount: + minimum: 1 + type: integer + schedule: + description: Cron schedule for recurring backups + example: + Descriptors: '@midnight' + Standard crontab specs: 0 0 * * * + nullable: true + type: string + storageLocation: + nullable: true + properties: + s3: + nullable: true + properties: + bucketName: + nullable: true + type: string + credentialSecretName: + nullable: true + type: string + credentialSecretNamespace: + nullable: true + type: string + endpoint: + nullable: true + type: string + endpointCA: + nullable: true + type: string + folder: + nullable: true + type: string + insecureTLSSkipVerify: + type: boolean + region: + nullable: true + type: string + type: object + type: object + required: + - resourceSetName + type: object + status: + properties: + backupType: + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + filename: + nullable: true + type: string + lastSnapshotTs: + nullable: true + type: string + nextSnapshotAt: + nullable: true + type: string + observedGeneration: + type: integer + storageLocation: + nullable: true + type: string + summary: + nullable: true + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/resourceset.yaml b/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/resourceset.yaml new file mode 100644 index 000000000..4b71d7ecb --- /dev/null +++ b/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/resourceset.yaml @@ -0,0 +1,118 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: resourcesets.resources.cattle.io +spec: + group: resources.cattle.io + names: + kind: ResourceSet + plural: resourcesets + singular: resourceset + scope: Cluster + versions: + - name: v1 + schema: + openAPIV3Schema: + properties: + controllerReferences: + items: + properties: + apiVersion: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + replicas: + type: integer + resource: + nullable: true + type: string + type: object + nullable: true + type: array + resourceSelectors: + items: + properties: + apiVersion: + nullable: true + type: string + excludeKinds: + items: + nullable: true + type: string + nullable: true + type: array + excludeResourceNameRegexp: + nullable: true + type: string + kinds: + items: + nullable: true + type: string + nullable: true + type: array + kindsRegexp: + nullable: true + type: string + labelSelectors: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceRegexp: + nullable: true + type: string + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + resourceNameRegexp: + nullable: true + type: string + resourceNames: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + required: + - apiVersion + type: array + required: + - resourceSelectors + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/restore.yaml b/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/restore.yaml new file mode 100644 index 000000000..0f39ecf06 --- /dev/null +++ b/charts/rancher-backup-crd/104.0.1+up5.0.1-rc.1/templates/restore.yaml @@ -0,0 +1,122 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: restores.resources.cattle.io +spec: + group: resources.cattle.io + names: + kind: Restore + plural: restores + singular: restore + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.backupSource + name: Backup-Source + type: string + - jsonPath: .spec.backupFilename + name: Backup-File + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + backupFilename: + nullable: true + type: string + deleteTimeoutSeconds: + maximum: 10 + type: integer + encryptionConfigSecretName: + nullable: true + type: string + ignoreErrors: + type: boolean + prune: + nullable: true + type: boolean + storageLocation: + nullable: true + properties: + s3: + nullable: true + properties: + bucketName: + nullable: true + type: string + credentialSecretName: + nullable: true + type: string + credentialSecretNamespace: + nullable: true + type: string + endpoint: + nullable: true + type: string + endpointCA: + nullable: true + type: string + folder: + nullable: true + type: string + insecureTLSSkipVerify: + type: boolean + region: + nullable: true + type: string + type: object + type: object + required: + - backupFilename + type: object + status: + properties: + backupSource: + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + observedGeneration: + type: integer + restoreCompletionTs: + nullable: true + type: string + summary: + nullable: true + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/Chart.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/Chart.yaml new file mode 100644 index 000000000..4617b2286 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/Chart.yaml @@ -0,0 +1,26 @@ +annotations: + catalog.cattle.io/auto-install: rancher-backup-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Rancher Backups + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.31.0-0' + catalog.cattle.io/namespace: cattle-resources-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: resources.cattle.io.resourceset/v1 + catalog.cattle.io/rancher-version: '>= 2.9.0-0 < 2.10.0-0' + catalog.cattle.io/release-name: rancher-backup + catalog.cattle.io/scope: management + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/ui-component: rancher-backup + catalog.cattle.io/upstream-version: 5.0.1-rc.1 +apiVersion: v2 +appVersion: 5.0.1-rc.1 +description: Provides ability to back up and restore the Rancher application running + on any Kubernetes cluster +icon: https://charts.rancher.io/assets/logos/backup-restore.svg +keywords: +- applications +- infrastructure +kubeVersion: '>= 1.23.0-0' +name: rancher-backup +version: 104.0.1+up5.0.1-rc.1 diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/README.md b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/README.md new file mode 100644 index 000000000..59bff4425 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/README.md @@ -0,0 +1,79 @@ +# Rancher Backup + +This chart provides ability to back up and restore the Rancher application running on any Kubernetes cluster. + +Refer [this](https://github.com/rancher/backup-restore-operator) repository for implementation details. + +----- + +### Get Repo Info +```bash +helm repo add rancher-chart https://charts.rancher.io +helm repo update +``` + +----- + +### Install Chart +```bash +helm install rancher-backup-crd rancher-chart/rancher-backup-crd -n cattle-resources-system --create-namespace +helm install rancher-backup rancher-chart/rancher-backup -n cattle-resources-system +``` + +----- + +### Configuration +The following table lists the configurable parameters of the rancher-backup chart and their default values: + +| Parameter | Description | Default | +|----------|---------------|-------| +| image.repository | Container image repository | rancher/backup-restore-operator | +| image.tag | Container image tag | v0.1.0-rc1 | +| s3.enabled | Configure S3 compatible default storage location. Current version supports S3 and MinIO | false | +| s3.credentialSecretName | Name of the Secret containing S3 credentials. This is an optional field. Skip this field in order to use IAM Role authentication. The Secret must contain following two keys, `accessKey` and `secretKey` | "" | +| s3.credentialSecretNamespace | Namespace of the Secret containing S3 credentials. This can be any namespace. | "" | +| s3.region | Region of the S3 Bucket (Required for S3, not valid for MinIO) | "" | +| s3.bucketName | Name of the Bucket | "" | +| s3.folder | Base folder within the Bucket (optional) | "" | +| s3.endpoint | Endpoint for the S3 storage provider | "" | +| s3.endpointCA | Base64 encoded CA cert for the S3 storage provider (optional) | "" | +| s3.insecureTLSSkipVerify | Skip SSL verification | false | +| persistence.enabled | Configure a Persistent Volume as the default storage location. It accepts either a StorageClass name to create a PVC, or directly accepts the PV to use. The Persistent Volume is mounted at `/var/lib/backups` in the operator pod | false | +| persistence.storageClass | StorageClass to use for dynamically provisioning the Persistent Volume, which will be used for storing backups | "" | +| persistence.volumeName | Persistent Volume to use for storing backups | "" | +| persistence.size | Requested size of the Persistent Volume (Applicable when using dynamic provisioning) | "" | +| debug | Set debug flag for backup-restore deployment | false | +| trace | Set trace flag for backup-restore deployment | false | +| nodeSelector | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector | {} | +| tolerations | https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration | [] | +| affinity | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | {} | +| serviceAccount.annotations | Annotations to apply to created service account | {} | +| global.cattle.psp.enabled | Enable or disable PSPs in the chart | false | + +----- + +### PSPs + +We have added a configuration to the chart `values.yaml` which allows you to enable or disable PSPs to align with the PSP deprecation in Kubernetes `v1.25` and above. + +----- + +### CRDs + +Refer [this](https://github.com/rancher/backup-restore-operator#crds) section for information on CRDs that this chart installs. Also refer [this](https://github.com/rancher/backup-restore-operator/tree/master/examples) folder containing sample manifests for the CRDs. + +----- +### Upgrading Chart +```bash +helm upgrade rancher-backup-crd -n cattle-resources-system +helm upgrade rancher-backup -n cattle-resources-system +``` + +----- +### Uninstall Chart + +```bash +helm uninstall rancher-backup -n cattle-resources-system +helm uninstall rancher-backup-crd -n cattle-resources-system +``` + diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/app-readme.md b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/app-readme.md new file mode 100644 index 000000000..b1406d5ee --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/app-readme.md @@ -0,0 +1,33 @@ +# Rancher Backup + +This chart enables ability to capture backups of the Rancher application and restore from these backups. This chart can be used to migrate Rancher from one Kubernetes cluster to a different Kubernetes cluster. + +For more information on how to use the feature, refer to our [docs](https://ranchermanager.docs.rancher.com/pages-for-subheaders/backup-restore-and-disaster-recovery). + +This chart installs the following components: + +- [backup-restore-operator](https://github.com/rancher/backup-restore-operator) + - The operator handles backing up all Kubernetes resources and CRDs that Rancher creates and manages from the local cluster. It gathers these resources by querying the Kubernetes API server, packages all the resources to create a tarball file and saves it in the configured backup storage location. + - The operator can be configured to store backups in S3-compatible object stores such as AWS S3 and MinIO, and in persistent volumes. During deployment, you can create a default storage location, but there is always the option to override the default storage location with each backup, but will be limited to using an S3-compatible object store. + - It preserves the ownerReferences on all resources, hence maintaining dependencies between objects. + - This operator provides encryption support, to encrypt user specified resources before saving them in the backup file. It uses the same encryption configuration that is used to enable [Kubernetes Encryption at Rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). +- Backup - A backup is a CRD (`Backup`) that defines when to take backups, where to store the backup and what encryption to use (optional). Backups can be taken ad hoc or scheduled to be taken in intervals. +- Restore - A restore is a CRD (`Restore`) that defines which backup to use to restore the Rancher application to. + +## Upgrading to Kubernetes v1.25+ + ​ +Starting in Kubernetes v1.25, [Pod Security Policies](https://kubernetes.io/docs/concepts/security/pod-security-policy/) have been removed from the Kubernetes API. + ​ +As a result, **before upgrading to Kubernetes v1.25** (or on a fresh install in a Kubernetes v1.25+ cluster), users are expected to perform an in-place upgrade of this chart with `global.cattle.psp.enabled` set to `false` if it has been previously set to `true`. +​ +> **Note:** +> In this chart release, any previous field that was associated with any PSP resources have been removed in favor of a single global field: `global.cattle.psp.enabled`. + ​ +> **Note:** +> If you upgrade your cluster to Kubernetes v1.25+ before removing PSPs via a `helm upgrade` (even if you manually clean up resources), **it will leave the Helm release in a broken state within the cluster such that further Helm operations will not work (`helm uninstall`, `helm upgrade`, etc.).** +> +> If your charts get stuck in this state, please consult the Rancher docs on how to clean up your Helm release secrets. +​ +Upon setting `global.cattle.psp.enabled` to false, the chart will remove any PSP resources deployed on its behalf from the cluster. This is the default setting for this chart. +​ +As a replacement for PSPs, [Pod Security Admission](https://kubernetes.io/docs/concepts/security/pod-security-admission/) should be used. Please consult the Rancher docs for more details on how to configure your chart release namespaces to work with the new Pod Security Admission and apply Pod Security Standards. diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/aks.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/aks.yaml new file mode 100644 index 000000000..779742058 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/aks.yaml @@ -0,0 +1,25 @@ +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "aks.cattle.io$" +- apiVersion: "aks.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + namespaces: + - "cattle-system" + resourceNames: + - "aks-config-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNames: + - "aks-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNames: + - "aks-operator" +- apiVersion: "v1" + kindsRegexp: "^serviceaccounts$" + namespaces: + - "cattle-system" + resourceNames: + - "aks-operator" diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/eks.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/eks.yaml new file mode 100644 index 000000000..ae57baddf --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/eks.yaml @@ -0,0 +1,17 @@ +- apiVersion: "eks.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + resourceNames: + - "eks-config-operator" +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "eks.cattle.io$" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNames: + - "eks-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNames: + - "eks-operator" diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/elemental.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/elemental.yaml new file mode 100644 index 000000000..1d38b1229 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/elemental.yaml @@ -0,0 +1,49 @@ +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "elemental.cattle.io$" +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + namespaces: + - "cattle-elemental-system" + resourceNames: + - "elemental-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNames: + - "elemental-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNames: + - "elemental-operator" +- apiVersion: "v1" + kindsRegexp: "^serviceaccounts$" + namespaces: + - "cattle-elemental-system" + resourceNames: + - "elemental-operator" +- apiVersion: "management.cattle.io/v3" + kindsRegexp: "^globalrole$" + resourceNames: + - "elemental-operator" +- apiVersion: "management.cattle.io/v3" + kindsRegexp: "^apiservice$" + resourceNameRegexp: "elemental.cattle.io$" +- apiVersion: "elemental.cattle.io/v1beta1" + kindsRegexp: "." + namespaceRegexp: "^cattle-fleet-|^fleet-" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^roles$|^rolebindings$" + labelSelectors: + matchExpressions: + - key: "elemental.cattle.io/managed" + operator: "In" + values: ["true"] + namespaceRegexp: "^cattle-fleet-|^fleet-" +- apiVersion: "v1" + kindsRegexp: "^secrets$|^serviceaccounts$" + labelSelectors: + matchExpressions: + - key: "elemental.cattle.io/managed" + operator: "In" + values: ["true"] + namespaceRegexp: "^cattle-fleet-|^fleet-" diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/fleet.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/fleet.yaml new file mode 100644 index 000000000..a14125fec --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/fleet.yaml @@ -0,0 +1,53 @@ +- apiVersion: "v1" + kindsRegexp: "^namespaces$" + resourceNameRegexp: "^fleet-" +- apiVersion: "v1" + kindsRegexp: "^secrets$" + namespaceRegexp: "^cattle-fleet-|^fleet-" + excludeResourceNameRegexp: "^import-token" + labelSelectors: + matchExpressions: + - key: "owner" + operator: "NotIn" + values: ["helm"] + - key: "fleet.cattle.io/managed" + operator: "In" + values: ["true"] +- apiVersion: "v1" + kindsRegexp: "^serviceaccounts$" + namespaceRegexp: "^cattle-fleet-|^fleet-" + excludeResourceNameRegexp: "^default$" +- apiVersion: "v1" + kindsRegexp: "^configmaps$" + namespaceRegexp: "^cattle-fleet-|^fleet-" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^roles$|^rolebindings$" + namespaceRegexp: "^cattle-fleet-|^fleet-" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNameRegexp: "^fleet-|^gitjob-" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNameRegexp: "^fleet-" + resourceNames: + - "gitjob" +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "fleet.cattle.io$|gitjob.cattle.io$" +- apiVersion: "fleet.cattle.io/v1alpha1" + kindsRegexp: "." + excludeKinds: + - "bundledeployments" +- apiVersion: "gitjob.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + namespaceRegexp: "^cattle-fleet-|^fleet-" + resourceNameRegexp: "^fleet-" + resourceNames: + - "gitjob" +- apiVersion: "apps/v1" + kindsRegexp: "^services$" + namespaceRegexp: "^cattle-fleet-|^fleet-" + resourceNames: + - "gitjob" diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/gke.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/gke.yaml new file mode 100644 index 000000000..a87eef364 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/gke.yaml @@ -0,0 +1,17 @@ +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "gke.cattle.io$" +- apiVersion: "gke.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + resourceNames: + - "gke-config-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNames: + - "gke-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNames: + - "gke-operator" diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/provisioningv2.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/provisioningv2.yaml new file mode 100644 index 000000000..e250d423f --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/provisioningv2.yaml @@ -0,0 +1,23 @@ +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "provisioning.cattle.io$|rke-machine-config.cattle.io$|rke-machine.cattle.io$|rke.cattle.io$|cluster.x-k8s.io$" +- apiVersion: "provisioning.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "rke-machine-config.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "rke-machine.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "rke.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "cluster.x-k8s.io/v1beta1" + kindsRegexp: "." +- apiVersion: "v1" + kindsRegexp: "^secrets$" + resourceNameRegexp: "machine-plan$|rke-state$|machine-state$|machine-driver-secret$|machine-provision$|^harvesterconfig|^registryconfig-auth" + namespaces: + - "fleet-default" +- apiVersion: "v1" + kindsRegexp: "^configmaps$" + resourceNames: + - "provisioning-log" + namespaceRegexp: "^c-m-" diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/rancher-operator.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/rancher-operator.yaml new file mode 100644 index 000000000..f30c2fd96 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/rancher-operator.yaml @@ -0,0 +1,28 @@ +- apiVersion: "rancher.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + resourceNames: + - "rancher-operator" + namespaces: + - "rancher-operator-system" +- apiVersion: "v1" + kindsRegexp: "^serviceaccounts$" + namespaces: + - "rancher-operator-system" + excludeResourceNameRegexp: "^default$" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNames: + - "rancher-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNames: + - "rancher-operator" +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "rancher.cattle.io$" +- apiVersion: "v1" + kindsRegexp: "^namespaces$" + resourceNames: + - "rancher-operator-system" diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/rancher.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/rancher.yaml new file mode 100644 index 000000000..070bd8ec9 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/files/default-resourceset-contents/rancher.yaml @@ -0,0 +1,69 @@ +- apiVersion: "v1" + kindsRegexp: "^namespaces$" + resourceNameRegexp: "^cattle-|^p-|^c-|^user-|^u-" + resourceNames: + - "local" +- apiVersion: "v1" + kindsRegexp: "^secrets$" + namespaceRegexp: "^cattle-|^p-|^c-|^local$|^user-|^u-" + labelSelectors: + matchExpressions: + - key: "owner" + operator: "NotIn" + values: ["helm"] + excludeResourceNameRegexp: "^bootstrap-secret$|^rancher-csp-adapter|^csp-adapter-cache$" +- apiVersion: "v1" + kindsRegexp: "^serviceaccounts$" + namespaceRegexp: "^cattle-|^p-|^c-|^local$|^user-|^u-" + excludeResourceNameRegexp: "^default$|^rancher-csp-adapter$" +- apiVersion: "v1" + kindsRegexp: "^configmaps$" + namespaces: + - "cattle-system" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^roles$|^rolebindings$" + namespaceRegexp: "^cattle-|^p-|^c-|^local$|^user-|^u-" + excludeResourceNameRegexp: "^rancher-csp-adapter" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNameRegexp: "^cattle-|^clusterrolebinding-|^globaladmin-user-|^grb-u-|^crb-" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNameRegexp: "^cattle-|^p-|^c-|^local-|^user-|^u-|^project-|^create-ns$" + excludeResourceNameRegexp: "^rancher-csp-adapter-" +- apiVersion: "scheduling.k8s.io/v1" + kindsRegexp: "^priorityclasses$" + resourceNameRegexp: "^rancher-critical$" +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "management.cattle.io$|project.cattle.io$|catalog.cattle.io$|resources.cattle.io$" +- apiVersion: "management.cattle.io/v3" + kindsRegexp: "." + excludeKinds: + - "tokens" + - "rancherusernotifications" +- apiVersion: "management.cattle.io/v3" + kindsRegexp: "^tokens$" + labelSelectors: + matchExpressions: + - key: "authn.management.cattle.io/kind" + operator: "NotIn" + values: [ "provisioning" ] +- apiVersion: "project.cattle.io/v3" + kindsRegexp: "." +- apiVersion: "catalog.cattle.io/v1" + kindsRegexp: "^clusterrepos$" +- apiVersion: "resources.cattle.io/v1" + kindsRegexp: "^ResourceSet$" +- apiVersion: "v1" + kindsRegexp: "^secrets$" + namespaceRegexp: "^.*$" + labelSelectors: + matchExpressions: + - key: "resources.cattle.io/backup" + operator: "In" + values: ["true"] +- apiVersion: catalog.cattle.io/v1 + kindsRegexp: ^UIPlugin$ + namespaces: + - cattle-ui-plugin-system diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/_helpers.tpl b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/_helpers.tpl new file mode 100644 index 000000000..a5e485243 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/_helpers.tpl @@ -0,0 +1,87 @@ +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} + +{{/* +Windows cluster will add default taint for linux nodes, +add below linux tolerations to workloads could be scheduled to those linux nodes +*/}} +{{- define "linux-node-tolerations" -}} +- key: "cattle.io/os" + value: "linux" + effect: "NoSchedule" + operator: "Equal" +{{- end -}} + +{{- define "linux-node-selector" -}} +{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}} +beta.kubernetes.io/os: linux +{{- else -}} +kubernetes.io/os: linux +{{- end -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "backupRestore.fullname" -}} +{{- .Chart.Name | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "backupRestore.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "backupRestore.labels" -}} +helm.sh/chart: {{ include "backupRestore.chart" . }} +{{ include "backupRestore.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "backupRestore.selectorLabels" -}} +app.kubernetes.io/name: {{ include "backupRestore.fullname" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +resources.cattle.io/operator: backup-restore +{{- end }} + + +{{/* +Create the name of the service account to use +*/}} +{{- define "backupRestore.serviceAccountName" -}} +{{ include "backupRestore.fullname" . }} +{{- end }} + + +{{- define "backupRestore.s3SecretName" -}} +{{- printf "%s-%s" .Chart.Name "s3" | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create PVC name using release and revision number, unless a volumeName is given. +*/}} +{{- define "backupRestore.pvcName" -}} +{{- if and .Values.persistence.volumeName }} +{{- printf "%s" .Values.persistence.volumeName }} +{{- else -}} +{{- printf "%s-%d" .Release.Name .Release.Revision }} +{{- end }} +{{- end }} + diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/clusterrolebinding.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/clusterrolebinding.yaml new file mode 100644 index 000000000..cf4abf670 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/clusterrolebinding.yaml @@ -0,0 +1,14 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ include "backupRestore.fullname" . }} + labels: + {{- include "backupRestore.labels" . | nindent 4 }} +subjects: +- kind: ServiceAccount + name: {{ include "backupRestore.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/deployment.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/deployment.yaml new file mode 100644 index 000000000..631fa458b --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/deployment.yaml @@ -0,0 +1,79 @@ +{{- if and .Values.s3.enabled .Values.persistence.enabled }} +{{- fail "\n\nCannot configure both s3 and PV for storing backups" }} +{{- end }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "backupRestore.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "backupRestore.labels" . | nindent 4 }} +spec: + selector: + matchLabels: + {{- include "backupRestore.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + {{- include "backupRestore.selectorLabels" . | nindent 8 }} + annotations: + checksum/s3: {{ include (print $.Template.BasePath "/s3-secret.yaml") . | sha256sum }} + checksum/pvc: {{ include (print $.Template.BasePath "/pvc.yaml") . | sha256sum }} + spec: + serviceAccountName: {{ include "backupRestore.serviceAccountName" . }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{ toYaml .Values.imagePullSecrets | indent 6 }} + {{- end }} + {{- if .Values.priorityClassName }} + priorityClassName: {{ .Values.priorityClassName }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }} + imagePullPolicy: {{ default "Always" .Values.imagePullPolicy }} + args: +{{- if .Values.debug }} + - "--debug" +{{- end }} +{{- if .Values.trace }} + - "--trace" +{{- end }} + env: + - name: CHART_NAMESPACE + value: {{ .Release.Namespace }} + {{- if .Values.s3.enabled }} + - name: DEFAULT_S3_BACKUP_STORAGE_LOCATION + value: {{ include "backupRestore.s3SecretName" . }} + {{- end }} + {{- if .Values.proxy }} + - name: HTTP_PROXY + value: {{ .Values.proxy }} + - name: HTTPS_PROXY + value: {{ .Values.proxy }} + - name: NO_PROXY + value: {{ .Values.noProxy }} + {{- end }} + {{- if .Values.persistence.enabled }} + - name: DEFAULT_PERSISTENCE_ENABLED + value: "persistence-enabled" + volumeMounts: + - mountPath: "/var/lib/backups" + name: pv-storage + volumes: + - name: pv-storage + persistentVolumeClaim: + claimName: {{ include "backupRestore.pvcName" . }} + {{- end }} + nodeSelector: {{ include "linux-node-selector" . | nindent 8 }} +{{- if .Values.nodeSelector }} +{{ toYaml .Values.nodeSelector | indent 8 }} +{{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + tolerations: {{ include "linux-node-tolerations" . | nindent 8 }} +{{- if .Values.tolerations }} +{{ toYaml .Values.tolerations | indent 8 }} +{{- end }} diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/hardened.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/hardened.yaml new file mode 100644 index 000000000..bf8492ce0 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/hardened.yaml @@ -0,0 +1,124 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ include "backupRestore.fullname" . }}-patch-sa + namespace: {{ .Release.Namespace }} + labels: {{ include "backupRestore.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +spec: + backoffLimit: 1 + template: + spec: + serviceAccountName: {{ include "backupRestore.fullname" . }}-patch-sa + securityContext: + runAsNonRoot: true + runAsUser: 1000 + restartPolicy: Never + nodeSelector: {{ include "linux-node-selector" . | nindent 8 }} +{{- if .Values.nodeSelector }} +{{ toYaml .Values.nodeSelector | indent 8 }} +{{- end }} + tolerations: {{ include "linux-node-tolerations" . | nindent 8 }} +{{- if .Values.tolerations }} +{{ toYaml .Values.tolerations | indent 8 }} +{{- end }} + containers: + - name: {{ include "backupRestore.fullname" . }}-patch-sa + image: {{ include "system_default_registry" . }}{{ .Values.global.kubectl.repository }}:{{ .Values.global.kubectl.tag }} + imagePullPolicy: IfNotPresent + command: ["kubectl", "-n", {{ .Release.Namespace | quote }}, "patch", "serviceaccount", "default", "-p", "{\"automountServiceAccountToken\": false}"] +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "backupRestore.fullname" . }}-patch-sa + namespace: {{ .Release.Namespace }} + labels: {{ include "backupRestore.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "backupRestore.fullname" . }}-patch-sa + labels: {{ include "backupRestore.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +rules: + - apiGroups: [""] + resources: ["serviceaccounts"] + verbs: ["get", "patch"] +{{- if .Values.global.cattle.psp.enabled}} + - apiGroups: ["policy"] + resources: ["podsecuritypolicies"] + verbs: ["use"] + resourceNames: + - {{ include "backupRestore.fullname" . }}-patch-sa +{{- end}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "backupRestore.fullname" . }}-patch-sa + labels: {{ include "backupRestore.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "backupRestore.fullname" . }}-patch-sa +subjects: + - kind: ServiceAccount + name: {{ include "backupRestore.fullname" . }}-patch-sa + namespace: {{ .Release.Namespace }} +--- +{{- if .Values.global.cattle.psp.enabled}} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: {{ include "backupRestore.fullname" . }}-patch-sa + labels: {{ include "backupRestore.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +spec: + privileged: false + hostNetwork: false + hostIPC: false + hostPID: false + runAsUser: + rule: 'MustRunAsNonRoot' + seLinux: + rule: 'RunAsAny' + supplementalGroups: + rule: 'MustRunAs' + ranges: + - min: 1 + max: 65535 + fsGroup: + rule: 'MustRunAs' + ranges: + - min: 1 + max: 65535 + readOnlyRootFilesystem: false + volumes: + - 'secret' +{{- end}} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ include "backupRestore.fullname" . }}-default-allow-all + namespace: {{ .Release.Namespace }} +spec: + podSelector: {} + egress: + - {} + policyTypes: + - Ingress + - Egress diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/psp.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/psp.yaml new file mode 100644 index 000000000..34bc96ee7 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/psp.yaml @@ -0,0 +1,31 @@ +{{- if .Values.global.cattle.psp.enabled -}} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: {{ include "backupRestore.fullname" . }}-psp + labels: {{ include "backupRestore.labels" . | nindent 4 }} +spec: + privileged: false + allowPrivilegeEscalation: false + hostNetwork: false + hostIPC: false + hostPID: false + runAsUser: + rule: 'MustRunAsNonRoot' + seLinux: + rule: 'RunAsAny' + supplementalGroups: + rule: 'MustRunAs' + ranges: + - min: 1 + max: 65535 + fsGroup: + rule: 'MustRunAs' + ranges: + - min: 1 + max: 65535 + readOnlyRootFilesystem: false + volumes: + - 'persistentVolumeClaim' + - 'secret' +{{- end -}} diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/pvc.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/pvc.yaml new file mode 100644 index 000000000..ff57e4dab --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/pvc.yaml @@ -0,0 +1,27 @@ +{{- if and .Values.persistence.enabled -}} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ include "backupRestore.pvcName" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "backupRestore.labels" . | nindent 4 }} +spec: + accessModes: + - ReadWriteOnce + resources: + {{- with .Values.persistence }} + requests: + storage: {{ .size | quote }} +{{- if .storageClass }} +{{- if (eq "-" .storageClass) }} + storageClassName: "" +{{- else }} + storageClassName: {{ .storageClass | quote }} +{{- end }} +{{- end }} +{{- if .volumeName }} + volumeName: {{ .volumeName | quote }} +{{- end }} +{{- end }} +{{- end }} diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/rancher-resourceset.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/rancher-resourceset.yaml new file mode 100644 index 000000000..05add8824 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/rancher-resourceset.yaml @@ -0,0 +1,13 @@ +apiVersion: resources.cattle.io/v1 +kind: ResourceSet +metadata: + name: rancher-resource-set +controllerReferences: + - apiVersion: "apps/v1" + resource: "deployments" + name: "rancher" + namespace: "cattle-system" +resourceSelectors: +{{- range $path, $_ := .Files.Glob "files/default-resourceset-contents/*.yaml" -}} + {{- $.Files.Get $path | nindent 2 -}} +{{- end -}} diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/s3-secret.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/s3-secret.yaml new file mode 100644 index 000000000..726509730 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/s3-secret.yaml @@ -0,0 +1,31 @@ +{{- if .Values.s3.enabled -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "backupRestore.s3SecretName" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "backupRestore.labels" . | nindent 4 }} +type: Opaque +stringData: + {{- with .Values.s3 }} + {{- if .credentialSecretName }} + credentialSecretName: {{ .credentialSecretName }} + credentialSecretNamespace: {{ required "When providing a Secret containing S3 credentials, a valid .Values.credentialSecretNamespace must be provided" .credentialSecretNamespace }} + {{- end }} + {{- if .region }} + region: {{ .region | quote }} + {{- end }} + bucketName: {{ required "A valid .Values.bucketName is required for configuring S3 compatible storage as the default backup storage location" .bucketName | quote }} + {{- if .folder }} + folder: {{ .folder | quote }} + {{- end }} + endpoint: {{ required "A valid .Values.endpoint is required for configuring S3 compatible storage as the default backup storage location" .endpoint | quote }} + {{- if .endpointCA }} + endpointCA: {{ .endpointCA }} + {{- end }} + {{- if .insecureTLSSkipVerify }} + insecureTLSSkipVerify: {{ .insecureTLSSkipVerify | quote }} + {{- end }} + {{- end }} +{{ end }} diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/serviceaccount.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/serviceaccount.yaml new file mode 100644 index 000000000..754e1fe89 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/serviceaccount.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "backupRestore.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "backupRestore.labels" . | nindent 4 }} +{{- if .Values.serviceAccount.annotations }} + annotations: + {{- toYaml .Values.serviceAccount.annotations | nindent 4 }} +{{- end }} diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/validate-install-crd.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/validate-install-crd.yaml new file mode 100644 index 000000000..f63fd2e2e --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/validate-install-crd.yaml @@ -0,0 +1,16 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +# {{- $found := dict -}} +# {{- set $found "resources.cattle.io/v1/Backup" false -}} +# {{- set $found "resources.cattle.io/v1/ResourceSet" false -}} +# {{- set $found "resources.cattle.io/v1/Restore" false -}} +# {{- range .Capabilities.APIVersions -}} +# {{- if hasKey $found (toString .) -}} +# {{- set $found (toString .) true -}} +# {{- end -}} +# {{- end -}} +# {{- range $_, $exists := $found -}} +# {{- if (eq $exists false) -}} +# {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}} +# {{- end -}} +# {{- end -}} +#{{- end -}} \ No newline at end of file diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/validate-psp-install.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/validate-psp-install.yaml new file mode 100644 index 000000000..a30c59d3b --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/templates/validate-psp-install.yaml @@ -0,0 +1,7 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +#{{- if .Values.global.cattle.psp.enabled }} +#{{- if not (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") }} +#{{- fail "The target cluster does not have the PodSecurityPolicy API resource. Please disable PSPs in this chart before proceeding." -}} +#{{- end }} +#{{- end }} +#{{- end }} diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/deployment_test.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/deployment_test.yaml new file mode 100644 index 000000000..671d415db --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/deployment_test.yaml @@ -0,0 +1,216 @@ +suite: Test Deployment +templates: +- deployment.yaml +- s3-secret.yaml +- pvc.yaml +- _helpers.tpl +tests: +- it: should set name + template: deployment.yaml + asserts: + - equal: + path: metadata.name + value: "rancher-backup" +- it: should set namespace + template: deployment.yaml + asserts: + - equal: + path: metadata.namespace + value: "NAMESPACE" +- it: should set priorityClassName + set: + priorityClassName: "testClass" + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.priorityClassName + value: "testClass" +- it: should set default imagePullPolicy + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.containers[0].imagePullPolicy + value: "Always" +- it: should set imagePullPolicy + set: + imagePullPolicy: "IfNotPresent" + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.containers[0].imagePullPolicy + value: "IfNotPresent" +- it: should set debug loglevel + set: + debug: true + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--debug" +- it: should set trace loglevel + set: + trace: true + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--trace" +- it: should set proxy environment variables + set: + proxy: "https://127.0.0.1:3128" + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: HTTP_PROXY + value: "https://127.0.0.1:3128" + - contains: + path: spec.template.spec.containers[0].env + content: + name: HTTPS_PROXY + value: "https://127.0.0.1:3128" + - contains: + path: spec.template.spec.containers[0].env + content: + name: NO_PROXY + value: "127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local" +- it: should set proxy environment variables with modified noproxy + set: + proxy: "https://127.0.0.1:3128" + noProxy: "192.168.0.0/24" + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: NO_PROXY + value: "192.168.0.0/24" +- it: should set persistence variables + set: + persistence.enabled: true + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: DEFAULT_PERSISTENCE_ENABLED + value: "persistence-enabled" + - contains: + path: spec.template.spec.containers[0].volumeMounts + content: + mountPath: "/var/lib/backups" + name: "pv-storage" + - equal: + path: spec.template.spec.volumes[0].name + value: "pv-storage" + - equal: + path: spec.template.spec.volumes[0].persistentVolumeClaim + value: + claimName: RELEASE-NAME-0 +- it: should set claim from custom static volumeName + set: + persistence.enabled: true + persistence.volumeName: "PREDEFINED-VOLUME" + persistence.storageClass: "PREDEFINED-STORAGECLASS" + persistence.size: "PREDIFINED-SAMEAS-PVSIZE" + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: DEFAULT_PERSISTENCE_ENABLED + value: "persistence-enabled" + - equal: + path: spec.template.spec.volumes[0].persistentVolumeClaim + value: + claimName: PREDEFINED-VOLUME +- it: should set private registry + template: deployment.yaml + set: + global.cattle.systemDefaultRegistry: "my.registry.local:3000" + asserts: + - matchRegex: + path: spec.template.spec.containers[0].image + pattern: ^my.registry.local:3000/rancher/backup-restore-operator:.*$ +- it: should set nodeselector + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + kubernetes.io/os: linux +- it: should not set default affinity + template: deployment.yaml + asserts: + - isNull: + path: spec.template.spec.affinity +- it: should set custom affinity + template: deployment.yaml + set: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd +- it: should set tolerations + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.tolerations[0] + value: + key: "cattle.io/os" + value: "linux" + effect: "NoSchedule" + operator: "Equal" +- it: should set custom tolerations + template: deployment.yaml + set: + tolerations: + - key: "example-key" + operator: "Exists" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations[0] + value: + key: "cattle.io/os" + value: "linux" + effect: "NoSchedule" + operator: "Equal" + - equal: + path: spec.template.spec.tolerations[1] + value: + key: "example-key" + operator: "Exists" + effect: "NoSchedule" +- it: should not set default imagePullSecrets + template: deployment.yaml + asserts: + - isNull: + path: spec.template.spec.imagePullSecrets +- it: should set imagePullSecrets + set: + imagePullSecrets: + - name: "pull-secret" + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.imagePullSecrets[0].name + value: "pull-secret" diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/pvc_test.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/pvc_test.yaml new file mode 100644 index 000000000..3a1c40698 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/pvc_test.yaml @@ -0,0 +1,102 @@ +suite: Test PVC +templates: +- pvc.yaml +- _helpers.tpl +tests: +- it: should set name + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - equal: + path: metadata.name + value: "RELEASE-NAME-0" +- it: should set namespace + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - equal: + path: metadata.namespace + value: "NAMESPACE" +- it: should set accessModes + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - equal: + path: spec.accessModes[0] + value: "ReadWriteOnce" +- it: should set size + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - equal: + path: spec.resources.requests.storage + value: "2Gi" +- it: should set size + template: pvc.yaml + set: + persistence: + enabled: true + size: "10Gi" + asserts: + - equal: + path: spec.resources.requests.storage + value: "10Gi" +- it: should not set volumeName + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - isNull: + path: spec.volumeName +- it: should set default storageClass + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - equal: + path: spec.storageClassName + value: "" +- it: should set custom storageClass + template: pvc.yaml + set: + persistence: + enabled: true + storageClass: "storage-class" + asserts: + - equal: + path: spec.storageClassName + value: "storage-class" +- it: should set custom volumeName + template: pvc.yaml + set: + persistence: + enabled: true + volumeName: "volume-name" + asserts: + - equal: + path: spec.volumeName + value: "volume-name" +- it: should set claim from custom static volumeName + set: + persistence.enabled: true + persistence.volumeName: "PREDEFINED-VOLUME" + persistence.storageClass: "PREDEFINED-STORAGECLASS" + persistence.size: "PREDEFINED-SAMEAS-PVSIZE" + template: pvc.yaml + asserts: + - equal: + path: spec.resources.requests.storage + value: "PREDEFINED-SAMEAS-PVSIZE" + - equal: + path: spec.storageClassName + value: "PREDEFINED-STORAGECLASS" diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/s3-secret_test.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/s3-secret_test.yaml new file mode 100644 index 000000000..af130dd29 --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/tests/s3-secret_test.yaml @@ -0,0 +1,141 @@ +suite: Test S3 Secret +templates: +- s3-secret.yaml +- _helpers.tpl +tests: +- it: should set name + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - equal: + path: metadata.name + value: "rancher-backup-s3" +- it: should set namespace + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - equal: + path: metadata.namespace + value: "NAMESPACE" +- it: should not set credentialSecretName + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - isNull: + path: stringData.credentialSecretName +- it: should set credentialSecretName + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + credentialSecretName: "credential-secret-name" + credentialSecretNamespace: "credential-secret-namespace" + asserts: + - equal: + path: stringData.credentialSecretName + value: "credential-secret-name" + - equal: + path: stringData.credentialSecretNamespace + value: "credential-secret-namespace" +- it: should not set folder + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - isNull: + path: stringData.folder +- it: should set folder + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + folder: "myfolder" + asserts: + - equal: + path: stringData.folder + value: "myfolder" +- it: should not set region + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - isNull: + path: stringData.region +- it: should set region + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + region: "us-west-1" + asserts: + - equal: + path: stringData.region + value: "us-west-1" +- it: should not set endpointCA + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - isNull: + path: stringData.endpointCA +- it: should set endpointCA + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + endpointCA: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHakNDQWdLZ0F3SUJBZ0lKQUtpWFZpNEpBb0J5TUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NakF3T0RNd01UZ3lOVFE1V2hjTk1qQXhNREk1TVRneU5UUTVXakFTTVJBdwpEZ1lEVlFRRERBZDBaWE4wTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjA4dnV3Q2Y0SEhtR2Q2azVNTmozRW5NOG00T2RpS3czSGszd1NlOUlXQkwyVzY5WDZxenBhN2I2M3U2L05mMnkKSnZWNDVqeXplRFB6bFJycjlpbEpWaVZ1NFNqWlFjdG9jWmFCaVNsL0xDbEFDdkFaUlYvKzN0TFVTZSs1ZDY0QQpWcUhDQlZObU5xM3E3aVY0TE1aSVpRc3N6K0FxaU1Sd0pOMVVKQTZ6V0tUc2Yzc3ByQ0J2dWxJWmZsVXVETVAyCnRCTCt6cXZEc0pDdWlhNEEvU2JNT29tVmM2WnNtTGkwMjdub3dGRld3MnRpSkM5d0xMRE14NnJoVHQ4a3VvVHYKQXJpUjB4WktiRU45L1Uzb011eUVKbHZyck9YS2ZuUDUwbk8ycGNaQnZCb3pUTStYZnRvQ1d5UnhKUmI5cFNTRApKQjlmUEFtLzNZcFpMMGRKY2sxR1h3SURBUUFCbzNNd2NUQWRCZ05WSFE0RUZnUVU5NHU4WXlMdmE2MTJnT1pyCm44QnlFQ2NucVFjd1FnWURWUjBqQkRzd09ZQVU5NHU4WXlMdmE2MTJnT1pybjhCeUVDY25xUWVoRnFRVU1CSXgKRURBT0JnTlZCQU1NQjNSbGMzUXRZMkdDQ1FDb2wxWXVDUUtBY2pBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFER1JRZ1RtdzdVNXRQRHA5Q2psOXlLRW9Vd2pYWWM2UlAwdm1GSHpubXJ3dUVLCjFrTkVJNzhBTUw1MEpuS29CY0ljVDNEeGQ3TGdIbTNCRE5mVVh2anArNnZqaXhJYXR2UWhsSFNVaWIyZjJsSTkKVEMxNzVyNCtROFkzelc1RlFXSDdLK08vY3pJTGh5ei93aHRDUlFkQ29lS1dXZkFiby8wd0VSejZzNkhkVFJzNwpHcWlGNWZtWGp6S0lOcTBjMHRyZ0xtalNKd1hwSnU0ZnNGOEcyZUh4b2pOKzdJQ1FuSkg5cGRIRVpUQUtOL2ppCnIvem04RlZtd1kvdTBndEZneWVQY1ZWbXBqRm03Y0ZOSkc4Y2ZYd0QzcEFwVjhVOGNocTZGeFBHTkVvWFZnclMKY1VRMklaU0RJd1FFY3FvSzFKSGdCUWw2RXBaUVpWMW1DRklrdFBwSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t" + asserts: + - equal: + path: stringData.endpointCA + value: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHakNDQWdLZ0F3SUJBZ0lKQUtpWFZpNEpBb0J5TUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NakF3T0RNd01UZ3lOVFE1V2hjTk1qQXhNREk1TVRneU5UUTVXakFTTVJBdwpEZ1lEVlFRRERBZDBaWE4wTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjA4dnV3Q2Y0SEhtR2Q2azVNTmozRW5NOG00T2RpS3czSGszd1NlOUlXQkwyVzY5WDZxenBhN2I2M3U2L05mMnkKSnZWNDVqeXplRFB6bFJycjlpbEpWaVZ1NFNqWlFjdG9jWmFCaVNsL0xDbEFDdkFaUlYvKzN0TFVTZSs1ZDY0QQpWcUhDQlZObU5xM3E3aVY0TE1aSVpRc3N6K0FxaU1Sd0pOMVVKQTZ6V0tUc2Yzc3ByQ0J2dWxJWmZsVXVETVAyCnRCTCt6cXZEc0pDdWlhNEEvU2JNT29tVmM2WnNtTGkwMjdub3dGRld3MnRpSkM5d0xMRE14NnJoVHQ4a3VvVHYKQXJpUjB4WktiRU45L1Uzb011eUVKbHZyck9YS2ZuUDUwbk8ycGNaQnZCb3pUTStYZnRvQ1d5UnhKUmI5cFNTRApKQjlmUEFtLzNZcFpMMGRKY2sxR1h3SURBUUFCbzNNd2NUQWRCZ05WSFE0RUZnUVU5NHU4WXlMdmE2MTJnT1pyCm44QnlFQ2NucVFjd1FnWURWUjBqQkRzd09ZQVU5NHU4WXlMdmE2MTJnT1pybjhCeUVDY25xUWVoRnFRVU1CSXgKRURBT0JnTlZCQU1NQjNSbGMzUXRZMkdDQ1FDb2wxWXVDUUtBY2pBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFER1JRZ1RtdzdVNXRQRHA5Q2psOXlLRW9Vd2pYWWM2UlAwdm1GSHpubXJ3dUVLCjFrTkVJNzhBTUw1MEpuS29CY0ljVDNEeGQ3TGdIbTNCRE5mVVh2anArNnZqaXhJYXR2UWhsSFNVaWIyZjJsSTkKVEMxNzVyNCtROFkzelc1RlFXSDdLK08vY3pJTGh5ei93aHRDUlFkQ29lS1dXZkFiby8wd0VSejZzNkhkVFJzNwpHcWlGNWZtWGp6S0lOcTBjMHRyZ0xtalNKd1hwSnU0ZnNGOEcyZUh4b2pOKzdJQ1FuSkg5cGRIRVpUQUtOL2ppCnIvem04RlZtd1kvdTBndEZneWVQY1ZWbXBqRm03Y0ZOSkc4Y2ZYd0QzcEFwVjhVOGNocTZGeFBHTkVvWFZnclMKY1VRMklaU0RJd1FFY3FvSzFKSGdCUWw2RXBaUVpWMW1DRklrdFBwSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t" +- it: should not set insecureTLSSkipVerify + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - isNull: + path: stringData.insecureTLSSkipVerify +- it: should set insecureTLSSkipVerify + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + insecureTLSSkipVerify: "true" + asserts: + - equal: + path: stringData.insecureTLSSkipVerify + value: "true" diff --git a/charts/rancher-backup/104.0.1+up5.0.1-rc.1/values.yaml b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/values.yaml new file mode 100644 index 000000000..15bef1ffa --- /dev/null +++ b/charts/rancher-backup/104.0.1+up5.0.1-rc.1/values.yaml @@ -0,0 +1,81 @@ +image: + repository: rancher/backup-restore-operator + tag: v5.0.1-rc.1 + +## Default s3 bucket for storing all backup files created by the backup-restore-operator +s3: + enabled: false + ## credentialSecretName if set, should be the name of the Secret containing AWS credentials. + ## To use IAM Role, don't set this field + credentialSecretName: "" + credentialSecretNamespace: "" + region: "" + bucketName: "" + folder: "" + endpoint: "" + endpointCA: "" + insecureTLSSkipVerify: false + +## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ +## If persistence is enabled, operator will create a PVC with mountPath /var/lib/backups +persistence: + enabled: false + + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack). + ## Refer https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1 + ## + storageClass: "-" + + ## If you want to disable dynamic provisioning by setting storageClass to "-" above, + ## and want to target a particular PV, provide name of the target volume + volumeName: "" + + ## Only certain StorageClasses allow resizing PVs; Refer https://kubernetes.io/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/ + size: 2Gi + +# Add log level flags to backup-restore +debug: false +trace: false + +# http[s] proxy server passed to backup client +# proxy: http://@:: + +# comma separated list of domains or ip addresses that will not use the proxy +noProxy: 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local + +global: + cattle: + systemDefaultRegistry: "" + psp: + enabled: false # PSP enablement should default to false + kubectl: + repository: rancher/kubectl + tag: v1.28.12 + +## Node labels for pod assignment +## Ref: https://kubernetes.io/docs/user-guide/node-selection/ +## +nodeSelector: {} + +## List of node taints to tolerate (requires Kubernetes >= 1.6) +tolerations: [] + +affinity: {} + +serviceAccount: + annotations: {} + +priorityClassName: "" + +# Override imagePullPolicy for image +# options: Always, Never, IfNotPresent +# Defaults to Always +imagePullPolicy: "Always" + +## Optional array of imagePullSecrets containing private registry credentials +## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ +imagePullSecrets: [] diff --git a/index.yaml b/index.yaml index 36ed1baa3..79b9735c7 100755 --- a/index.yaml +++ b/index.yaml @@ -9766,6 +9766,36 @@ entries: - assets/rancher-alerting-drivers/rancher-alerting-drivers-1.0.100.tgz version: 1.0.100 rancher-backup: + - annotations: + catalog.cattle.io/auto-install: rancher-backup-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Rancher Backups + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.31.0-0' + catalog.cattle.io/namespace: cattle-resources-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: resources.cattle.io.resourceset/v1 + catalog.cattle.io/rancher-version: '>= 2.9.0-0 < 2.10.0-0' + catalog.cattle.io/release-name: rancher-backup + catalog.cattle.io/scope: management + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/ui-component: rancher-backup + catalog.cattle.io/upstream-version: 5.0.1-rc.1 + apiVersion: v2 + appVersion: 5.0.1-rc.1 + created: "2024-08-08T16:40:05.686963-04:00" + description: Provides ability to back up and restore the Rancher application running + on any Kubernetes cluster + digest: 81374fcffd765b93a6ee93301aacd977b191cf1699993dbe0b26c8500438a623 + icon: https://charts.rancher.io/assets/logos/backup-restore.svg + keywords: + - applications + - infrastructure + kubeVersion: '>= 1.23.0-0' + name: rancher-backup + urls: + - assets/rancher-backup/rancher-backup-104.0.1+up5.0.1-rc.1.tgz + version: 104.0.1+up5.0.1-rc.1 - annotations: catalog.cattle.io/auto-install: rancher-backup-crd=match catalog.cattle.io/certified: rancher @@ -10474,6 +10504,21 @@ entries: - assets/rancher-backup/rancher-backup-1.0.200.tgz version: 1.0.200 rancher-backup-crd: + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-resources-system + catalog.cattle.io/release-name: rancher-backup-crd + apiVersion: v2 + appVersion: 5.0.1-rc.1 + created: "2024-08-08T16:40:07.136407-04:00" + description: Installs the CRDs for rancher-backup. + digest: 412799e79ebe42a0abfa5e2fbc40e75956cdf4b677f3336f82100ab3b77b0ff9 + name: rancher-backup-crd + type: application + urls: + - assets/rancher-backup-crd/rancher-backup-crd-104.0.1+up5.0.1-rc.1.tgz + version: 104.0.1+up5.0.1-rc.1 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" diff --git a/packages/rancher-backup/rancher-backup-crd/package.yaml b/packages/rancher-backup/rancher-backup-crd/package.yaml index cb635d794..fc8d5c5d8 100644 --- a/packages/rancher-backup/rancher-backup-crd/package.yaml +++ b/packages/rancher-backup/rancher-backup-crd/package.yaml @@ -1,2 +1,2 @@ -url: https://github.com/rancher/backup-restore-operator/releases/download/v5.0.0/rancher-backup-crd-5.0.0.tgz -version: 104.0.0 +url: https://github.com/rancher/backup-restore-operator/releases/download/v5.0.1-rc.1/rancher-backup-crd-5.0.1-rc.1.tgz +version: 104.0.1 diff --git a/packages/rancher-backup/rancher-backup/package.yaml b/packages/rancher-backup/rancher-backup/package.yaml index 641671862..6e426ec31 100644 --- a/packages/rancher-backup/rancher-backup/package.yaml +++ b/packages/rancher-backup/rancher-backup/package.yaml @@ -1,2 +1,2 @@ -url: https://github.com/rancher/backup-restore-operator/releases/download/v5.0.0/rancher-backup-5.0.0.tgz -version: 104.0.0 +url: https://github.com/rancher/backup-restore-operator/releases/download/v5.0.1-rc.1/rancher-backup-5.0.1-rc.1.tgz +version: 104.0.1 diff --git a/release.yaml b/release.yaml index ed9d63350..b331e4005 100644 --- a/release.yaml +++ b/release.yaml @@ -30,3 +30,7 @@ rancher-logging-crd: - 104.1.0-rc1+up4.8.0 rancher-webhook: - 104.0.1+up0.5.1-rc.1 +rancher-backup: + - 104.0.1+up5.0.1-rc.1 +rancher-backup-crd: + - 104.0.1+up5.0.1-rc.1