Generate cfg/dev.yaml via a Make target

Committing a fully-materialised cfg/dev.yaml hid the dev
configuration surface and blocked the OAuth2 signing-key inlining
change: the new config requires a per-dev private key that must
not be committed. Replace the checked-in file with a dev-config
Make target that shells out to probod-bootstrap with dev-safe
defaults and a stable RSA signing key stashed under
cfg/.dev-oauth2-signing-key.pem on first run.

The recipe sources cfg/dev.env when present so devs can override
any setting without editing the Makefile; cfg/dev.env.example
ships the full list of overridable knobs. cfg/dev.yaml,
cfg/dev.env, and the signing key are all gitignored.

Update README, CONTRIBUTING, and contrib/claude/config.md to
describe the new workflow.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2026-04-21 18:20:07 +02:00
parent c4e81ed092
commit ab0e59ad71
7 changed files with 130 additions and 148 deletions

View File

@@ -84,7 +84,18 @@ Signed-off-by: John Doe <john.doe@example.org>
make stack-up
```
6. Start the development servers:
6. Generate the local dev config (writes `cfg/dev.yaml`):
```bash
# Optional: override any dev default (secrets, OAuth clients, LLM keys).
# cp cfg/dev.env.example cfg/dev.env && $EDITOR cfg/dev.env
make dev-config
```
The target stashes a dev-only RSA signing key under `cfg/.dev-oauth2-signing-key.pem` so tokens survive probod restarts, and sources `cfg/dev.env` if present so you can override defaults without editing the Makefile. `cfg/dev.yaml`, `cfg/dev.env`, and the signing key are all gitignored. Re-run the target to regenerate.
7. Start the development servers:
```bash
# In one terminal - start the API server