feat: VpEngOps identity + SBOM/GLPI plans wired into lifecycle [#834]

Commits now authored as VpEngOps (vault: creds/vpengops-vpentops);
reachableceo is the human personal account. grind-stack gains `sbom`
(CycloneDX via pinned syft container, run before sweep) per #834;
GLPI catalog entries planned in #835 gated on #801 write access.
AGENTS.md packaging steps extended; questions-v1.md opened for the
founder (netbird scope, SigNoz reopen, SBOM format).
This commit is contained in:
2026-09-06 20:08:41 -05:00
parent c1d42bb58b
commit e5a758ec6e
4 changed files with 72 additions and 11 deletions
+18 -4
View File
@@ -138,12 +138,26 @@ auth app.
2. Write `Dockerfile` + `CloudronManifest.json` (+ `start.sh` if runtime setup needed).
3. Verify with the grind lifecycle (below): `scripts/grind-stack.sh up <pkg-dir>`
`curl` / `logs``down`.
4. Write `README.md` + `CHANGELOG.md` + `logo.png` (+ `.env.example`).
5. Commit as `feat: add <app> Cloudron package (<Category>)`, push.
6. Run the gardening protocol above (update STATUS / README / JOURNAL).
7. `scripts/grind-stack.sh sweep <pkg-dir>` — drop the test image + dangling
4. Generate the SBOM ([#834](https://projects.knownelement.com/issues/834)):
`scripts/grind-stack.sh sbom <pkg-dir>` → commits
`sbom.cyclonedx.json` beside the package (syft via pinned container).
5. GLPI software catalog entry ([#835](https://projects.knownelement.com/issues/835)):
staged on the ticket until #801 grants agent write access, then
`mglpi software create` per package.
6. Write `README.md` + `CHANGELOG.md` + `logo.png` (+ `.env.example`).
7. Commit as `feat: add <app> Cloudron package (<Category>)`, push.
8. Run the gardening protocol above (update STATUS / README / JOURNAL).
9. `scripts/grind-stack.sh sweep <pkg-dir>` — drop the test image + dangling
build cache so disk usage stays flat across the grind.
**Agent identity (MANDATORY, 2026-09-06):** commits from this repo are authored
as **VpEngOps** `<tsgstaff-coo-vpengops@turnsys.com>` (repo-local git config;
identity fields vaulted at `creds/vpengops-vpentops` in the TSGCOO Bitwarden
vault via `sm`). NEVER commit as the `reachableceo` personal account — that
account is the human's. Global git config stays the human's; set repo-local
identity in every repo the agent works. Cloudron-side logins use the
`vpentops` platform account (same vault item).
**Grind lifecycle** ([`scripts/grind-stack.sh`](scripts/grind-stack.sh)): serial
verify-stack harness. `up` builds the image under `ukrrs-batch.slice` and starts
ephemeral postgres/redis/mysql matching the manifest's addons, plus the app