RootGuard WebApp is the HTTP API and UI layer of the RootGuard ecosystem.
It exposes infrastructure orchestration capabilities provided by RootGuard Core and delivers a modern web-based control plane for DNS stack management.
The WebApp is intentionally separated from the engine layer to maintain:
- Clear responsibility boundaries
- Replaceable transport layers
- Modular evolution
- Security isolation
Browser
↓
RootGuard WebApp
├── REST API (Go)
└── UI (React + Vite)
↓
RootGuard Core (Engine)
↓
Docker / System Services
RootGuard WebApp acts purely as a presentation and API transport layer.
rootguard-webapp/
├── backend/
│ ├── cmd/
│ │ └── rootguard-webapp/
│ ├── internal/
│ │ ├── httpapi/
│ │ └── unboundctl/
│ └── go.mod
│
├── frontend/
│ ├── src/
│ ├── public/
│ ├── package.json
│ └── vite.config.ts
│
└── Dockerfile
cd backend
go run ./cmd/rootguard-webappcd frontend
npm install
npm run devdocker build -t rootguard-webapp:dev .docker run -p 8080:8080 rootguard-webapp:devcurl http://localhost:8080/health
curl http://localhost:8080/versionRootGuard WebApp follows strict design constraints:
- No orchestration logic duplication
- No direct system-level manipulation
- API-only exposure of infrastructure actions
- Minimal runtime surface (distroless container)
- Deterministic build process
Planned development stages:
- Core module integration via Go modules
- DNS configuration UI
- Stack deployment interface
- Live container monitoring
- Role-based authentication
- Multi-architecture image builds
- GitHub Actions CI/CD
- GHCR image distribution
RootGuard WebApp is licensed under the Apache License 2.0.
See the LICENSE file for full details.
This project is currently under active development.
Breaking changes may occur prior to v1.0.0.