For the complete documentation index, see llms.txt. This page is also available as Markdown.

Automated backup configuration

Automated backup configuration

If backup server is in your environment inventory file then add following section to environments/<environment>/dependencies/values.yaml and run "Deploy dependencies" workflow:

  • Update backup_server_dir value to match with your environment name, e/g development

  • Update schedule to reflect best time backup job to be started,

  • Set enabled to true

# Backup configuration
backup:
  enabled: true
  schedule: "0 1 * * *"
  backup_server_dir: /home/backup/<environment>

Push your changes to GitHub and Re-Deploy Dependencies

If backup server was provisioned as part of any other environments or is a third-party server, then please follow guide from helm chart, see Backup configuration.

Verify backup configuration

Verify kubernetes jobs are present:

  1. Connect to your cluster with kubectl

  2. Run following command:

    kubectl get cronjob -l job-type=backup -n opencrvs-deps-<environment>

    Example output:

    NAME              SCHEDULE    TIMEZONE   SUSPEND   ACTIVE   LAST SCHEDULE   AGE
    influxdb-backup   0 1 * * *   <none>     False     0        5h9m            20h
    minio-backup      0 1 * * *   <none>     False     0        5h9m            13h
    mongodb-backup    0 1 * * *   <none>     False     0        5h9m            20h
    postgres-backup   0 1 * * *   <none>     False     0        5h9m            20h

Verify Kubernetes jobs were executed per schedule:

Wait at least for first job execution, usually takes at to 24 hours

  1. Connect to your cluster with kubectl

  2. Run following command:

    Example output:

Verify backup files are present on backup server

  1. SSH (Login) to backup server

  2. Become backup user:

  3. Check backup directory content:

    Example output:

Last updated