Admin backend for the Rootstock project. This is a Modal app that collects and displays environment manifests from Rootstock deployments across different clusters.
Rootstock Admin provides a central dashboard for monitoring Rootstock installations. Clusters periodically report their environment configurations via POST requests, and the dashboard displays this information in a web UI.
| Environment | Endpoint | URL |
|---|---|---|
| Dev | Dashboard | https://garden-ai-dev--rootstock-admin-dashboard.modal.run |
| Dev | Manifest API | https://garden-ai-dev--rootstock-admin-manifest.modal.run |
| Prod | Dashboard | https://garden-ai-prod--rootstock-admin-dashboard.modal.run |
| Prod | Manifest API | https://garden-ai-prod--rootstock-admin-manifest.modal.run |
Receives and stores environment manifests from Rootstock clusters. Requires proxy authentication.
Payload: JSON manifest containing cluster name, rootstock version, Python version, maintainer info, and environment details.
Public dashboard displaying all registered clusters and their environments. Shows:
- Cluster metadata (name, version, root path, maintainer)
- Environment status, dependencies, source code, and checkpoints
uv syncmodal serve modal_app.py# Development
modal deploy modal_app.py
# Production
modal deploy --env=prod modal_app.pyThe app uses separate Modal volumes for dev and prod environments (rootstock-admin-dev and rootstock-admin-prod).
├── modal_app.py # Modal app with manifest and dashboard endpoints
├── templates/
│ └── index.html.jinja # Dashboard template
├── pyproject.toml
└── uv.lock