RootGuard Core is the infrastructure engine of the RootGuard ecosystem.
It provides deterministic orchestration logic for:
- Docker stacks
- DNS services (AdGuard + Unbound)
- System service management
- Health monitoring
- Configuration generation
RootGuard Core contains no UI layer.
It is designed to be consumed by:
- CLI tools
- HTTP APIs
- Automation systems
- Future GitOps integrations
+----------------------+
| RootGuard WebApp |
| (HTTP API + UI) |
+----------+-----------+
|
v
+----------------------+
| RootGuard Core |
| (Engine Layer) |
+----------+-----------+
|
v
+----------------------+
| Docker / Systemd / |
| AdGuard / Unbound |
+----------------------+
rootguard-core/
├── cmd/
│ └── rootguard/
│ └── main.go
├── internal/
│ ├── api/
│ ├── configbuilder/
│ ├── docker/
│ ├── health/
│ ├── stack/
│ └── system/
├── go.mod
└── go.sum
go build ./...go run ./cmd/rootguardpackage main
import (
"rootguard-core/internal/stack"
)
func main() {
err := stack.DeployStack()
if err != nil {
panic(err)
}
}RootGuard Core follows strict engineering constraints:
- No UI coupling
- No framework lock-in
- No runtime shell dependency
- Deterministic state transitions
- Minimal external dependencies
- Security-first defaults
RootGuard Core is intended to evolve into:
- A full infrastructure control plane engine
- API-consumable orchestration service
- Multi-node DNS management backend
- GitOps-ready stack controller
- Extensible service abstraction layer
Licensed under the Apache License 2.0.
See the LICENSE file for full details.
This project is under active development.
Breaking changes may occur until the first stable release (v1.0.0).