Documentation

Everything you need to get started with RestoreProof

Runner Installation

Docker

docker run -d \
  --name restoreproof-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $(pwd)/config.yaml:/etc/restoreproof/config.yaml \
  restoreproof/runner:latest

Kubernetes

kubectl apply -f https://restoreproof.io/k8s/runner.yaml

Binary

curl -sSL https://restoreproof.io/install.sh | bash
restoreproof-runner --config /etc/restoreproof/config.yaml

Configuration

Create a config.yaml file:

control_plane:
  url: "https://api.restoreproof.io"
  api_key: "rp_runner_xxxxxxxxxxxxxxxx"

runner:
  name: "prod-runner-01"
  labels:
    - "env:production"
    - "region:us-east-1"
    - "tier:database"

docker:
  socket: "unix:///var/run/docker.sock"

secrets:
  postgres_password:
    source: "env://PGPASSWORD"

Example Restore Plan

Define a restore plan in JSON:

{
  "name": "daily-postgres-verify",
  "runner_labels": ["tier:database"],
  "steps": [
    {
      "type": "fetch",
      "source": "s3://backups/postgres/latest.sql.gz"
    },
    {
      "type": "unpack",
      "format": "gzip"
    },
    {
      "type": "start_sandbox",
      "image": "postgres:15"
    },
    {
      "type": "restore_postgres"
    }
  ],
  "probes": [
    {
      "type": "postgres",
      "config": {
        "tables": ["users", "orders"],
        "sample_rows": 1000
      }
    }
  ]
}