prole/docs/layout.md

1.1 KiB

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.