diff --git a/addons/velero/1.0.x/velero-3.yaml b/addons/velero/1.0.x/velero-3.yaml new file mode 100644 index 00000000..3e6f8c12 --- /dev/null +++ b/addons/velero/1.0.x/velero-3.yaml @@ -0,0 +1,117 @@ +--- +# ------------------------------------------------------------------------------ +# Velero +# +# +# Velero is an open source backup and migration tool for Kubernetes. +# See more about Velero at: +# +# * https://velero.io/ +# * https://github.com/heptio/velero +# * https://github.com/helm/charts/tree/master/stable/velero +# +# +# Implementation +# +# +# Our implementation of Velero currently supports S3 backends for storage, and by default if no configuration overrides are +# provided to point it at a backend other than the default, we will create and manage a distributed Minio (https://min.io/) +# cluster which uses the default storage class for the cluster to maintain the backups. +# +# +# WARNING: using the default (fallback) backend is for testing purposes only and should not be used in production. +# ------------------------------------------------------------------------------ +apiVersion: kubeaddons.mesosphere.io/v1beta1 +kind: ClusterAddon +metadata: + name: velero + labels: + kubeaddons.mesosphere.io/name: velero + # TODO: we're temporarily supporting dependency on an existing default storage class + # on the cluster, this hack will trigger re-queue on Addons until one exists. + kubeaddons.mesosphere.io/hack-requires-defaultstorageclass: "true" + annotations: + catalog.kubeaddons.mesosphere.io/addon-revision: "1.0.1-3" + values.chart.helm.kubeaddons.mesosphere.io/velero: "https://raw.githubusercontent.com/mesosphere/charts/5327e6a54fe70df550e894fd754541a4f71a9054/staging/velero/values.yaml" + helmv2.kubeaddons.mesosphere.io/upgrade-strategy: '[{"upgradeFrom": "<3.0.0", "strategy": "delete"}]' +spec: + namespace: velero + kubernetes: + minSupportedVersion: v1.15.6 + cloudProvider: + - name: aws + enabled: true + - name: azure + enabled: true + - name: gcp + enabled: true + - name: none + enabled: true + requires: + - matchLabels: + kubeaddons.mesosphere.io/provides: ingresscontroller + chartReference: + chart: velero + repo: https://mesosphere.github.io/charts/staging + version: 3.0.1 + values: | + --- + configuration: + provider: "aws" + backupStorageLocation: + name: "aws" + bucket: "velero" + config: + region: "fallback" # enables non-production fallback minio backend + s3ForcePathStyle: true # allows usage of fallback backend + s3Url: http://minio.velero.svc:9000 + volumeSnapshotLocation: + name: "aws" + config: + region: "fallback" + credentials: + secretContents: + cloud: "placeholder" + schedules: + default: + schedule: "0 0 * * *" + metrics: + enabled: true + service: + labels: + servicemonitor.kubeaddons.mesosphere.io/path: "metrics" + initContainers: + - name: initialize-velero + image: mesosphere/kubeaddons-addon-initializer:v0.2.5 + args: ["velero"] + env: + - name: "VELERO_MINIO_FALLBACK_SECRET_NAME" + value: "velero-kubeaddons" + minioBackend: true + minio: + mode: distributed + defaultBucket: + enabled: true + name: velero + bucketRoot: "/data" + existingSecret: minio-creds-secret + livenessProbe: + initialDelaySeconds: 120 + periodSeconds: 20 + resources: + requests: + memory: 256Mi + cpu: 250m + limits: + memory: 512Mi + cpu: 750m + persistence: + volumeTemplatePrefix: data + statefulSetNameOverride: minio + ingress: + enabled: true + hosts: + - "" + annotations: + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/frontend-entry-points: velero-minio