Repository Layout
This page documents the canonical root-level repository layout after issue #2851 cleanup.
Canonical Root Layout
| Directory | Owner / Purpose |
|---|---|
go/ | Go services and shared Go packages (go/cmd, go/pkg, go/internal) |
elixir/ | Elixir applications (web-ng, serviceradar_core, serviceradar_agent_gateway, others) |
rust/ | Rust services/crates (collectors, SRQL, runtime helpers) |
database/ | Database assets (age, timescaledb) |
contrib/ | Contributed/optional assets (snmp, plugins) |
build/ | Build and release infrastructure (packaging, release, build scripts) |
proto/ | Protobuf schemas and generated bindings |
docker/ | Container build contexts and packaging Dockerfiles |
k8s/ | Kubernetes manifests and environment overlays |
docs/ | User and operator documentation site sources |
helm/ | Helm charts and chart values |
scripts/ | Repository-level operational/dev scripts |
third_party/ | Bazel third-party integrations kept at root for compatibility |
Migration Notes
- Legacy root paths (
cmd/,pkg/,internal/,web-ng/,packaging/,release/,age/,timescaledb/,snmp/,plugins/) are no longer canonical. - Use
elixir/web-ngfor all Phoenix app workflows. - Use
build/packagingandbuild/releasefor package/release workflows. - Keep
third_party/at root until a compatibility-safe relocation strategy is approved.