prole/docs/layout.md

23 lines
1.1 KiB
Markdown

# Repository layout (first-pass)
This repo is being refactored toward a clearer separation between runtime scripts, reusable shell libraries, operator validation scripts, and tests.
## Top-level conventions
- `etc/`
- Runtime/bootstrap/config scripts only.
- May contain thin compatibility shims that forward to new locations.
- `etc/lib/shell/`
- Reusable shell helper libraries intended to be sourced by CLI/runtime scripts.
- Lives under `etc/` so the runtime layout does not rely on gitignored `$KNOE_HOME/lib`.
- Prefer keeping logic here deterministic/testable; keep entrypoint scripts thin.
- `scripts/validation/`
- Operator-run validation/check scripts.
- These may invoke cluster tooling (`kubectl`, etc.), but should source shared helpers from `etc/lib/shell/`.
- `tests/shellspec/`
- Shellspec tests for deterministic helper behavior only (no cluster access).
- Focus areas: config parsing, env fallback resolution, realm normalization, secret precedence, guardrails, command assembly.
- `authority/`
- Minimal Maven-backed Spring Boot service.
- Provides application startup and a basic health endpoint.