Skip to content

Velero Dashboard Documentation

Welcome to the Velero Dashboard documentation! This is a comprehensive guide for deploying, configuring, and using the Velero Dashboard application.

What is Velero Dashboard?

Velero Dashboard is a Flask-based web application that provides centralized management of Velero backup and restore operations across multiple Kubernetes clusters. It offers an intuitive interface for managing your disaster recovery and data protection workflows.

graph LR
    A[User] --> B[Velero Dashboard]
    B --> C[OIDC/Dex Auth]
    B --> D[Cluster 1]
    B --> E[Cluster 2]
    B --> F[Cluster N]
    D --> G[Velero]
    E --> H[Velero]
    F --> I[Velero]
    G --> J[S3/Object Storage]
    H --> J
    I --> J

Key Features

  • Multi-Cluster Management: Connect and manage multiple Kubernetes clusters from a single dashboard
  • Velero Resource Management: Create, view, and manage backups, restores, and schedules
  • Kopia Repository Browser: Browse backup snapshots and files without performing a restore
  • OIDC Authentication: Secure login with OpenID Connect (Dex integration included)
  • Fine-Grained RBAC: Domain-based access control using Casbin
  • Hot-Reload Configuration: Update cluster configs and policies without restart
  • Modern UI: Responsive Bootstrap-based interface

Architecture Overview

The Velero Dashboard uses a modern architecture:

  • Frontend: Jinja2 templates with Bootstrap UI
  • Backend: Flask 3.0+ with Python 3.13
  • Authentication: OIDC via Authlib + Dex
  • Authorization: Casbin RBAC with domain-based policies
  • Kubernetes Client: Official Python Kubernetes client
  • Storage: Stateless (no database required)

Use Cases

The Velero Dashboard is ideal for:

  • Platform Teams: Centralized backup management across multiple clusters
  • DevOps Engineers: Self-service backup/restore capabilities
  • SREs: Disaster recovery operations and testing
  • Compliance: Audit trail and access control for backup operations

Getting Help

License

This project is licensed under the terms specified in the repository.