🚧 WORK IN PROGRESS 🚧
A fully dashboard interface to interact with Velero (vmware-tanzu).
This dashboard aims to implement the same functionalities as the velero CLI.
- Velero server >= 1.13.0
⚠️ This dashboard has only be tested on version 1.13.x, using an older version may cause bugs with an outdated and unmanaged API⚠️
Functionnalities | Velero CLI | Velero UI |
---|---|---|
Backups (List, Describe, Create, Delete, Logs, Restore, Download Content, Download Logs) |
✅ | 🚧 |
Schedules (List, Describe, Create, Edit, Delete, Toggle Pause) |
✅ | 🚧 |
Restore (List, Describe, Create, Delete) |
✅ | 🚧 |
Backup Repositories (List, Describe, Delete) |
❎ | 🚧 |
Backup Storage Locations (List, Describe, Create, Edit, Delete) |
✅ | ✅ |
Volume Snapshot Locations (List, Describe, Delete) |
✅ | 🚧 |
Requests (List, Describe, Delete) |
❎ | 🚧 |
Plugins (List, Add, Delete) |
✅ | 🚧 |
Settings (Cluster status, velero status, node agent status) |
❎ | ✅ |
Dashboard (Resources statistics) |
❎ | ✅ |
Authentication (Classic, OpenID, LDAP) |
❎ | 🚧 |
Starting Velero ui is simple:
- Locate your Kube Config, default location is in
~/.kube/config
- Run this docker command with your Kube config path, you can also specify context using environment variable
KUBE_CONTEXT
docker run --name velero-ui -v ~/.kube/config:/app/.kube/config -e KUBE_CONFIG_PATH=/app/.kube/config -d -p 3333:3000 otwld/velero-ui:latest
- Velero-ui is now reachable at
http://localhost:3333
All kubernetes manifests are located in kubernetes/manifests, default namespace used
is velero-ui
- Edit manifests, environment variables can be defined in kubernetes/manifests/deployment.yml
- Apply manifests with kubectl
kubectl apply -f kubernetes/manifests
- Access via kube-proxy
kubectl port-forward service/velero-ui 3333:80 -n velero-ui
- Velero-ui is now reachable at
http://localhost:3333
Helm chart is not deployed yet on artifacthub
To install the velero-ui
chart in the velero-ui
namespace:
helm repo add otwld https://otwld.github.io/helm-charts/
helm repo update
helm install velero-ui otwld/velero-ui --namespace velero-ui
Make adjustments to your values as needed, then run helm upgrade
:
# -- This pulls the latest version of the velero-ui chart from the repo.
helm repo update
helm upgrade velero-ui olwld/velero-ui --namespace velero-ui --values values.yaml
To uninstall/delete the velero-ui
deployment in the velero-ui
namespace:
helm delete velero-ui --namespace velero-ui
Substitute your values if they differ from the examples. See helm delete --help
for a full reference on delete
parameters and flags.
Name | Default Value | Allowed values | Description |
---|---|---|---|
Global | |||
LOG_LEVEL | info |
debug info error |
Logger level |
PORT | 3000 |
API port | |
VELERO_NAMESPACE | velero |
Namespace where velero runs | |
SECRET_PASSPHRASE | this is a secret passphrase |
Secret for JWT, must be changed | |
KUBE_CONFIG_PATH | |
Path to the kube config | |
KUBE_CONTEXT | |
Context to use | |
GRAFANA_URL | |
Add a link to your Grafana Dashboard | |
Built in Auth | |
||
BASIC_AUTH_ENABLED | true |
Enable builtin auth | |
BASIC_AUTH_USERNAME | admin |
Username | |
BASIC_AUTH_PASSWORD | admin |
Password | |
OIDC via PKCE | |||
OIDC_ENABLED | false |
Enable OIDC | |
OIDC_AUTHORITY | |
Authority URL server | |
OIDC_CLIENT_ID | |
Client ID | |
OIDC_JWKS_URI | |
JWKs URI URL | |
OIDC_SCOPES | |
Scopes | |
LDAP | |||
LDAP_ENABLED | false |
Enable LDAP | |
LDAP_URL | |
ldap:// ldaps:// |
LDAP URL |
LDAP_BIND_DN | |
Bind DN | |
LDAP_BIND_CREDENTIALS | |
Credentials | |
LDAP_SEARCH_BASE | |
BASE DN | |
LDAP_SEARCH_FILTER | (uid={{username}}) |
Search filters | |
LDAP_SEARCH_ATTRIBUTES | |
Attributes | |
DEVELOPMENT ONLY | |||
NODE_ENV | development |
Node environment | |
BASE_URL | http://localhost:4200 |
Base url for the WEBAPP in local | |
VITE_API_PORT | 4200 |
Local webapp PORT | |
VITE_API_URL | http://localhost:3000/api |
Local API URL |
✨ This workspace works with Nx, Smart Monorepos · Fast CI. ✨
- Backend: NodeJs, NestJs
- Frontend: VueJs, tailwindCSS
- Node >= 20
- Typescript >= 5.0.0
- Yarn
- Nx workspace >= 17.0.0
- Clone the repository
git clone git@github.com:otwld/velero-ui.git
- Install NX
npm add --global nx@latest
or
yarn global add nx@latest
- Install dependencies with yarn
yarn install
- Edit the .env.development, you can find references HERE
- Server the API
nx serve velero-ui-api
- Serve the APP
nx serve velero-ui
- Build the API
nx build velero-ui-api
- Build the APP
nx build velero-ui
- For questions, suggestions, and discussion about Velero please refer to the Velero issue page
- For questions, suggestions, and discussion about Velero UI please visite Velero-ui issue page