Enterprise-grade backup orchestration and management platform for Kubernetes clusters. Provides centralized control, monitoring, and automation of Velero backup operations across multiple clusters with a modern web interface and GitOps integration.
Velero Manager is a comprehensive solution that combines:
- Web Management Interface - React-based dashboard for backup operations
- Multi-Cluster Orchestration - Centralized backup management across clusters
- Security-First Architecture - Minimal RBAC permissions, no cluster-admin required
- GitOps Automation - ArgoCD integration for declarative configuration
- Enterprise Authentication - OIDC/SSO with role-based access control
- Create, monitor, and manage backups across multiple clusters
- Cross-cluster restore capabilities with target selection
- Automated scheduling with CronJob orchestration
- Real-time backup status and progress tracking
- Storage location management for S3-compatible backends
- Minimal RBAC - Least-privilege access model (no cluster-admin)
- Token Rotation - Automated credential rotation
- Audit Logging - Comprehensive backup operation audit trail
- OIDC/SSO Integration - Enterprise authentication support
- Real-time cluster health monitoring
- Backup success rate tracking
- Prometheus metrics and alerts
- Grafana dashboards for operational visibility
- Centralized logging with audit trails
- ArgoCD application management
- Declarative backup schedules
- Version-controlled configurations
- Automated deployment pipelines
┌─────────────────────┐
│ Web Interface │ - React 18 + TypeScript + Material-UI
│ (Velero Manager) │ - Real-time backup monitoring
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Management Cluster │ - Orchestration engine
│ - CronJobs │ - ArgoCD for GitOps
│ - Velero │ - Prometheus metrics
└──────────┬──────────┘
│ Triggers backups
┌──────────▼──────────┐
│ Guest Clusters │ - Velero agents
│ - Production │ - Minimal RBAC
│ - Staging │ - Workload namespaces
└──────────┬──────────┘
│ Stores backups
┌──────────▼──────────┐
│ Object Storage │ - S3-compatible
│ - MinIO/AWS S3 │ - Multi-region support
└─────────────────────┘
Deploy the full orchestration platform:
# Clone repository
git clone https://github.com/kofadam/velero-manager.git
cd velero-manager
# Deploy management components
cd orchestration
./scripts/deploy-secure-backup-system.sh deploy-all
# Add a guest cluster
./scripts/deploy-minimal-rbac.sh <cluster-name> <context>
# Access web interface
kubectl port-forward -n velero-manager svc/velero-manager 8080:8080See the Complete Deployment Guide for detailed instructions.
Deploy just the web interface:
# Deploy to Kubernetes
kubectl apply -f deployments/
# Or run locally
cd backend && go run main.go &
cd frontend && npm startdocker run -p 8080:8080 \
-v ~/.kube/config:/app/kubeconfig \
ghcr.io/kofadam/velero-manager:latest- Complete Deployment Guide - Step-by-step multi-cluster setup
- Quick Reference - Commands and troubleshooting
- Cluster Management - Adding and managing clusters
- OIDC Setup Guide - Authentication configuration
- Observability Guide - Monitoring and dashboards
- Grafana Dashboard Guide - Metrics visualization
- Security Architecture - RBAC implementation
- GitOps Workflow - ArgoCD integration
# Authentication
OIDC_ENABLED=true
OIDC_ISSUER_URL=https://your-idp.com/auth/realms/company
OIDC_CLIENT_ID=velero-manager
OIDC_CLIENT_SECRET=your-secret
# Server
GIN_MODE=release
PORT=8080
# Monitoring
METRICS_ENABLED=true
METRICS_PORT=9090Supports all S3-compatible storage:
- AWS S3
- MinIO
- Google Cloud Storage (S3 API)
- Azure Blob (with S3 compatibility)
- NetApp StorageGRID
REST API endpoints for programmatic access:
| Endpoint | Description |
|---|---|
/api/v1/auth/* |
Authentication and user management |
/api/v1/clusters/* |
Cluster management and health |
/api/v1/backups/* |
Backup operations |
/api/v1/restores/* |
Restore operations |
/api/v1/schedules/* |
Schedule management |
/api/v1/storage-locations/* |
Storage configuration |
/api/v1/dashboard/* |
Metrics and monitoring |
- Go 1.21+
- Node.js 18+
- Docker
- Kubernetes cluster with Velero
# Backend
cd backend
go mod download
go run main.go
# Frontend (separate terminal)
cd frontend
npm install
npm start
# Access at http://localhost:3000# Build all components
./build.sh
# Build specific component
cd frontend && npm run build
cd backend && go build -o velero-manager
# Docker image
docker build -t velero-manager:latest .# Backend tests
cd backend && go test ./...
# Frontend tests
cd frontend && npm test
# E2E tests
npm run test:e2evelero-manager/
├── backend/ # Go backend with Gin framework
├── frontend/ # React TypeScript frontend
├── deployments/ # Kubernetes manifests
├── orchestration/ # Multi-cluster orchestration
│ ├── security/ # RBAC and security configs
│ ├── gitops/ # ArgoCD applications
│ ├── scripts/ # Deployment automation
│ └── examples/ # Example configurations
├── docs/ # Additional documentation
└── build/ # Build scripts and Docker
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
go test ./...andnpm test) - Commit using conventional commits (
git commit -m 'feat: add amazing feature') - Push to your fork (
git push origin feature/amazing-feature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
- Helm chart for simplified deployment
- Multi-tenancy support
- Backup policies and compliance rules
- Cost optimization analytics
- Disaster recovery automation
- Backup verification and testing
- Mobile app for monitoring
- Documentation: See
/docsand/orchestrationdirectories - Issues: GitHub Issues
- Discussions: GitHub Discussions
MIT License - see LICENSE file for details.
- Velero - Kubernetes backup and disaster recovery
- Material-UI - React component library
- ArgoCD - GitOps continuous delivery
- Prometheus & Grafana - Monitoring stack
Velero Manager - Enterprise backup orchestration for Kubernetes Secure • Scalable • Simple