krkn Dashboard is the visualization component of krkn-hub. It offers a set of user-friendly web interfaces through which users can manipulate and observe Chaos experiments.
Before building or running, check available releases at: https://github.com/krkn-chaos/krkn-dashboard/releases
For installation and run instructions (standalone and container), see the Krkn documentation.
Contains the root application index.html and React template artifacts.
The source for an NPM express server that's used in developer mode.
The krkn dashboard Javascript source plus additional CSS/LESS and artifacts.
Assets placed in the src/assets/images directory are only referenced within component or layout definitions and are packaged in the generated ***.js file during the build process.
Contains functions that manage store via actions.
Helper functions for the dashboard.
krkn dashboard stores data using local browser storage and cookies. When run in a container, the SQLite database is stored in the mounted database directory (or /data inside the container).
On first startup the server creates SQLite tables for users, groups, policies, past runs, and kubeconfigs. An initial admin account is generated automatically; credentials are printed once to the server log and written to database/INITIAL_ADMIN.txt (gitignored). Sign in at /login. You can change your password anytime under Account Settings.
Optional initial admin credentials (only when the database has no users yet):
| Variable | Description |
|---|---|
DASHBOARD_ADMIN_USERNAME |
Username for the first admin (default: random admin-xxxx) |
DASHBOARD_ADMIN_PASSWORD |
Password for the first admin (default: random) |
For local development, set these in a .env file in the project root (npm run dev loads it automatically). Example:
DASHBOARD_ADMIN_USERNAME=admin
DASHBOARD_ADMIN_PASSWORD=your-secure-passwordFor Podman, export them or pass arguments to containers/podman-run.sh:
./containers/podman-run.sh admin 'your-secure-password'- Platform roles:
admin(user/group administration, full access) oruser(run experiments, view data; may upload group kubeconfigs only). - Groups: Past runs are scoped to groups; members have a group role (group user or group viewer for platform user accounts; platform admins may also be group admins). Roles control run/view/cancel within that group via policies.
- Policies: Grant
view,run,cancel, oradminper cluster key (API server URL from kubeconfig) to groups in Administration. - Kubeconfigs: Platform admins manage kubeconfigs in Administration. Any group member can upload kubeconfigs for their groups under Account Settings; group admins can rename or delete them on Manage group.
Set SESSION_SECRET in production for session cookie signing.
This application is based on v5 of PatternFly which is a production-ready UI solution for admin interfaces. For more information regarding the foundation and template of the application, please visit PatternFly