
# Resource requests/limits to specify for the Velero deployment.
# https://velero.io/docs/v1.6/customize-installation/#customize-resource-requests-and-limits
resources:
  requests:
    cpu: 500m
    memory: 128Mi
  limits:
    memory: 512Mi

upgradeJobResources: 
  requests:
    cpu: 50m
    memory: 64Mi
  limits:
    memory: 256Mi

# Init containers to add to the Velero deployment's pod spec. At least one plugin provider image is required.
# If the value is a string then it is evaluated as a template.
initContainers:
  - name: velero-plugin-for-csi
    image: velero/velero-plugin-for-csi:v0.7.0
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - mountPath: /target
      name: plugins
  - name: velero-plugin-for-aws
    image: velero/velero-plugin-for-aws:v1.9.0
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - mountPath: /target
      name: plugins

# Settings for Velero's prometheus metrics. Enabled by default.
metrics:
  enabled: true
  scrapeInterval: 30s
  scrapeTimeout: 10s

  # service metdata if metrics are enabled
  service:
    annotations: {}
    labels: {}

  # Pod annotations for Prometheus
  podAnnotations:
    prometheus.io/scrape: "true"
    prometheus.io/port: "8085"
    prometheus.io/path: "/metrics"

  serviceMonitor:
    autodetect: true
    enabled: true
    annotations: {}
    additionalLabels: {}

  nodeAgentPodMonitor:
    autodetect: true
    enabled: false
    annotations: {}
    additionalLabels: {}

  prometheusRule:
    autodetect: true
    enabled: true
    spec: 
    - alert: VeleroBackupPartialFailures
      annotations:
        message: Velero backup {{ $labels.schedule }} has {{ $value | humanizePercentage }} partialy failed backups.
      expr: |-
        velero_backup_partial_failure_total{schedule!=""} / velero_backup_attempt_total{schedule!=""} > 0.25
      for: 15m
      labels:
        severity: warning
    - alert: VeleroBackupFailures
      annotations:
        message: Velero backup {{ $labels.schedule }} has {{ $value | humanizePercentage }} failed backups.
      expr: |-
        velero_backup_failure_total{schedule!=""} / velero_backup_attempt_total{schedule!=""} > 0.25
      for: 15m
      labels:
        severity: warning

configuration:
  features: EnableCSI
  backupStorageLocation:
  - name: minio
    provider: aws
    bucket: velero
    caCert: 
    prefix: home
    default: true
    credential:
      name: minio-creds
      key: minio-creds
    config: 
      region: home-deimos
      s3ForcePathStyle: true
      s3Url: https://block.ervine.cloud
  volumeSnapshotLocation:
  - name: minio
    provider: aws
    credential:
      name: minio-creds
      key: minio-creds
    config: 
      region: home-deimos
  defaultBackupStorageLocation: minio
  defaultVolumeSnapshotLocations: "aws:minio"

# Info about the secret to be used by the Velero deployment, which
# should contain credentials for the cloud provider IAM account you've
# set up for Velero.
credentials:
  existingSecret: minio-creds

deployNodeAgent: false
