argocd-backup-s3
Backup your ArgoCD Instance — the easy way
- 🔄 Automated backups using Kubernetes CronJob
- 📦 Uses official
argocd admin export
command for reliable backups - 🗄️ Supports any S3-compatible storage (AWS S3, MinIO, etc.)
- 🔒 Secure credential management through Kubernetes secrets
- 🚀 Easy deployment via Helm chart or ArgoCD application
- ⏰ Configurable backup schedule and timezone
- 🔍 Detailed logging and error reporting
Quick Links
Option 1: Install with Helm
Helm Repo
- Add the Helm repository
helm repo add argocd-backup-s3 https://oguzhan-yilmaz.github.io/argocd-backup-s3/
helm repo update argocd-backup-s3
- Get the default values file
helm show values argocd-backup-s3/argocd-backup-s3 > my-argocd-backup-s3.values.yaml
- Configure the required values in
my-argocd-backup-s3.values.yaml
timeZone: 'Asia/Istanbul' # optional -- https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
schedule: "00 20 * * *" # https://crontab.guru/#00_20_*_*_*
secretEnvVars:
AWS_ACCESS_KEY_ID: ""
AWS_SECRET_ACCESS_KEY: ""
AWS_DEFAULT_REGION: ""
S3_UPLOAD_PREFIX: ""
S3_BUCKET_NAME: ""
ARGOCD_SERVER: ""
ARGOCD_ADMIN_PASSWORD: ""
- Helm Install (latest version)
helm upgrade --install \
-n argocd \
-f my-argocd-backup-s3.values.yaml \
argocd-backup-s3 argocd-backup-s3/argocd-backup-s3
- Helm Install (current version)
helm upgrade --install \
-n argocd \
--version 0.9.4 \
-f my-argocd-backup-s3.values.yaml \
argocd-backup-s3 argocd-backup-s3/argocd-backup-s3
Option 2: Install with ArgoCD
- Download the ArgoCD application manifest:
curl -sL https://raw.githubusercontent.com/oguzhan-yilmaz/argocd-backup-s3/refs/heads/main/argocd-application.yaml -o argocd-backup-s3.argoapp.yaml
- Edit the
.valuesObject
section in the manifest with your configuration - Apply the manifest:
kubectl apply -f argocd-backup-s3.argoapp.yaml
ArgoCD Application (current version)
First, download the argocd-application-0.9.4.yaml
from assets.
kubectl apply -f argocd-application-0.9.4.yaml
Full Changelog: v0.9.3...v0.9.4