Check that the velero is up and running:

    kubectl get deployment/{{ include "velero.fullname" . }} -n {{ .Release.Namespace }}

Check that the secret has been created:

    kubectl get secret/{{ include "velero.fullname" . }} -n {{ .Release.Namespace }}

Once velero server is up and running you need the client before you can use it
1. wget https://github.com/vmware-tanzu/velero/releases/download/{{ .Values.image.tag }}/velero-{{ .Values.image.tag }}-darwin-amd64.tar.gz
2. tar -xvf velero-{{ .Values.image.tag }}-darwin-amd64.tar.gz -C velero-client

More info on the official site: https://velero.io/docs

{{- /*
  Breaking changes.
*/}}

{{- $breaking := "" }}
{{- $breaking_title := "\n" }}
{{- $breaking_title = print $breaking_title "\n#################################################################################" }}
{{- $breaking_title = print $breaking_title "\n######   BREAKING: The config values passed contained no longer accepted    #####" }}
{{- $breaking_title = print $breaking_title "\n######             options. See the messages below for more details.        #####" }}
{{- $breaking_title = print $breaking_title "\n######                                                                      #####" }}
{{- $breaking_title = print $breaking_title "\n######             To verify your updated config is accepted, you can use   #####" }}
{{- $breaking_title = print $breaking_title "\n######             the `helm template` command.                             #####" }}
{{- $breaking_title = print $breaking_title "\n#################################################################################" }}

{{- if typeIs "map[string]interface {}" .Values.configuration.backupStorageLocation }}
{{- $breaking = print $breaking "\n\nERROR: Please make .configuration.backupStorageLocation from map to slice" }}
{{- end }}

{{- if typeIs "map[string]interface {}" .Values.configuration.volumeSnapshotLocation }}
{{- $breaking = print $breaking "\n\nERROR: Please make .configuration.volumeSnapshotLocation from map to slice" }}
{{- end }}

{{- if hasKey .Values.configuration "provider" }}
{{- $breaking = print $breaking "\n\nREMOVED: .configuration.provider has been removed, instead each backupStorageLocation and volumeSnapshotLocation has a provider configured" }}
{{- end }}

{{- if hasKey .Values "resticTimeout" }}
{{- $breaking = print $breaking "\n\nREMOVED: resticTimeout has been removed, and it is named fsBackupTimeout" }}
{{- end }}

{{- if hasKey .Values "defaultVolumesToRestic" }}
{{- $breaking = print $breaking "\n\nREMOVED: defaultVolumesToRestic has been removed, and it is named defaultVolumesToFsBackup" }}
{{- end }}

{{- if hasKey .Values "defaultResticPruneFrequency" }}
{{- $breaking = print $breaking "\n\nREMOVED: defaultResticPruneFrequency has been removed, and it is named defaultRepoMaintainFrequency" }}
{{- end }}

{{- if hasKey .Values "deployRestic" }}
{{- $breaking = print $breaking "\n\nREMOVED: deployRestic has been removed, and it is named deployNodeAgent" }}
{{- end }}

{{- if hasKey .Values "restic" }}
{{- $breaking = print $breaking "\n\nREMOVED: restic has been removed, and it is named nodeAgent" }}
{{- end }}

{{- if hasKey .Values.configMaps "restic-restore-action-config" }}
{{- $breaking = print $breaking "\n\nREMOVED: restic-restore-action-config has been removed, and it is named fs-restore-action-config" }}
{{- end }}

{{- range $key, $value := .Values.configMaps }}
{{- eq $key "fs-restore-action-config" }}
{{- if hasKey $value.labels "velero.io/restic" }}
{{- $breaking = print $breaking "\n\nREMOVED: velero.io/restic has been removed, and it is named velero.io/pod-volume-restore" }}
{{- end }}
{{- if and $value.data.image }}
{{- if contains "velero-restic-restore-helper" $value.data.image }}
{{- $breaking = print $breaking "\n\nREMOVED: restore helper image velero-restic-restore-helper has been changed to velero-restore-helper" }}
{{- end }}
{{- end }}
{{- end }}

{{- if $breaking }}
{{- fail (print $breaking_title $breaking) }}
{{- end }}
