Skip to content

Backup & Restore

Skipper includes automatic backup and restore powered by Velero. Every cluster gets daily backups of all Kubernetes resources and persistent volume data (databases, file storage) out of the box.

Backups are stored in an in-cluster MinIO instance with Longhorn-backed storage. No external cloud account required.

Automatic backups

A daily backup runs at 3:00 AM and is retained for 7 days. This is configured during kip install and runs automatically.

bash
kip backup schedules
  NAME           SCHEDULE       STATUS    LAST BACKUP
  daily-full     0 3 * * *      Enabled   2026-03-18T03:00:00Z

Manual backups

Back up everything

bash
kip backup create

Back up a specific project

bash
kip backup create --project yourr-name --environment test

Back up with a custom name

bash
kip backup create pre-migration --project yourr-name

List backups

bash
kip backup list
  NAME                          STATUS       NAMESPACES          CREATED
  daily-full-20260318030000     Completed    all                 2026-03-18 03:00
  pre-migration                 Completed    yourr-name-test     2026-03-18 14:30
  manual-20260318-153000        Completed    all                 2026-03-18 15:30

Restoring from a backup

Restore to the same namespace

bash
kip backup restore pre-migration

Restore to a different namespace

Useful for testing a restore without affecting the live environment:

bash
kip backup restore pre-migration --namespace-mapping yourr-name-test:yourr-name-restored

What gets backed up

ResourceBacked up?How
Deployments, Services, IngressesYesKubernetes resource definitions
ConfigMaps, SecretsYesKubernetes resource definitions
Environment variables and app secretsYesStored as Kubernetes Secrets
PostgreSQL dataYesPVC data via Kopia file-system backup
Redis dataYesPVC data via Kopia file-system backup
Longhorn volumesYesFull file-system backup of volume contents

Architecture

  • Velero orchestrates backups and restores
  • Node Agent (DaemonSet) reads actual file data from persistent volumes using Kopia
  • MinIO provides S3-compatible storage inside the cluster
  • Longhorn provides durable storage for MinIO itself

Retention

Default retention is 7 days (168h). To create a backup with custom retention:

bash
kip backup create --ttl 720h  # 30 days

Limitations

  • Backups are stored inside the cluster. If the entire server is lost, backups are lost too. For disaster recovery, consider periodically syncing MinIO to off-site storage.
  • Database backups capture the file-system state of the PVC. For the most consistent database backups, consider running pg_dump before the backup or using the database's native backup tools alongside Velero.

Released under the Apache 2.0 License.