@rizom/ops 0.2.0-alpha.25 → 0.2.0-alpha.251
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -1
- package/dist/brains-ops.js +383 -288
- package/dist/cert-bootstrap.d.ts +3 -1
- package/dist/content-repo-ref.d.ts +10 -0
- package/dist/content-repo.d.ts +1 -0
- package/dist/deploy.js +99 -166
- package/dist/entries/deploy.d.ts +3 -2
- package/dist/images.d.ts +76 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +423 -287
- package/dist/legacy-pilot-migration.d.ts +11 -0
- package/dist/load-registry.d.ts +55 -6
- package/dist/observed-status.d.ts +1 -1
- package/dist/origin-ca.d.ts +1 -1
- package/dist/parse-args.d.ts +2 -10
- package/dist/preview-domain.d.ts +9 -0
- package/dist/push-secrets.d.ts +2 -9
- package/dist/push-target.d.ts +1 -2
- package/dist/reconcile-dry-run.d.ts +9 -0
- package/dist/run-command.d.ts +5 -3
- package/dist/run-subprocess.d.ts +1 -6
- package/dist/schema.d.ts +100 -162
- package/dist/secrets-encrypt.d.ts +7 -13
- package/dist/ssh-key-bootstrap.d.ts +1 -26
- package/dist/stage-legacy-crossover.d.ts +20 -0
- package/dist/user-add.d.ts +15 -0
- package/dist/verify-user.d.ts +19 -0
- package/package.json +46 -42
- package/templates/rover-pilot/.env.schema +24 -3
- package/templates/rover-pilot/.github/workflows/build.yml +64 -17
- package/templates/rover-pilot/.github/workflows/deploy.yml +128 -61
- package/templates/rover-pilot/.github/workflows/reconcile.yml +22 -2
- package/templates/rover-pilot/README.md +12 -5
- package/templates/rover-pilot/deploy/scripts/decrypt-user-secrets.ts +80 -24
- package/templates/rover-pilot/deploy/scripts/helpers.ts +3 -0
- package/templates/rover-pilot/deploy/scripts/resolve-deploy-handles.ts +12 -3
- package/templates/rover-pilot/deploy/scripts/resolve-missing-images.ts +13 -0
- package/templates/rover-pilot/deploy/scripts/resolve-user-config.ts +44 -9
- package/templates/rover-pilot/deploy/scripts/sync-content-repo.ts +51 -47
- package/templates/rover-pilot/deploy/scripts/update-dns.ts +14 -4
- package/templates/rover-pilot/deploy/scripts/validate-secrets.ts +12 -1
- package/templates/rover-pilot/docs/canonical-crossover-record.md +104 -0
- package/templates/rover-pilot/docs/onboarding-checklist.md +28 -12
- package/templates/rover-pilot/docs/operator-playbook.md +219 -24
- package/templates/rover-pilot/docs/user-onboarding.md +49 -343
- package/templates/rover-pilot/pilot.yaml +3 -4
- package/templates/rover-pilot/.kamal/hooks/pre-deploy +0 -9
- package/templates/rover-pilot/deploy/Dockerfile +0 -30
- package/templates/rover-pilot/deploy/kamal/deploy.yml +0 -40
package/README.md
CHANGED
|
@@ -5,20 +5,39 @@ Operator CLI package for managing pilot brain fleet registry repos.
|
|
|
5
5
|
## Commands
|
|
6
6
|
|
|
7
7
|
- `brains-ops init <repo>`
|
|
8
|
+
- `brains-ops crossover:stage <source-repo> <output-dir> [site-pins.yaml]` — creates a separate secret-free canonical review copy without mutating the source; a reviewed pins file is required when hosted site overrides exist
|
|
8
9
|
- `brains-ops render <repo>` — regenerates `views/users.md` and fills status columns from built-in live probes (`DNS`, `/health`, unauthenticated `/mcp`)
|
|
9
|
-
- `brains-ops
|
|
10
|
+
- `brains-ops user:add <repo> <handle> --cohort <cohort>` — scaffolds a user file, per-user secrets template, and cohort membership
|
|
11
|
+
- `brains-ops onboard <repo> <handle>` — creates/seeds the user's content repo using `CONTENT_REPO_ADMIN_TOKEN` for GitHub repo administration and `GIT_SYNC_TOKEN` for git clone/push
|
|
10
12
|
- `brains-ops age-key:bootstrap <repo>`
|
|
11
13
|
- `brains-ops ssh-key:bootstrap <repo>`
|
|
12
14
|
- `brains-ops cert:bootstrap <repo>`
|
|
13
15
|
- `brains-ops secrets:push <repo>`
|
|
14
16
|
- `brains-ops secrets:encrypt <repo> <handle>`
|
|
17
|
+
- `brains-ops verify-user <repo> <handle>` — checks `/health`, unauthenticated `/mcp`, and site-enabled browser/CMS routes
|
|
15
18
|
- `brains-ops reconcile-cohort <repo> <cohort>`
|
|
16
19
|
- `brains-ops reconcile-all <repo>`
|
|
20
|
+
- `brains-ops reconcile-all <repo> --dry-run` — reconciles an isolated copy twice with external content-repository access blocked, lists both passes' changed files, and requires second-pass zero drift
|
|
21
|
+
|
|
22
|
+
`render` owns the observational `views/users.md` projection. Onboard and reconcile commands own generated per-user config and never rewrite live observed status in that view.
|
|
17
23
|
|
|
18
24
|
## Scope
|
|
19
25
|
|
|
20
26
|
`brains-ops` lives in the `brains` monorepo and is consumed as a separate package.
|
|
21
27
|
|
|
28
|
+
The active loader accepts one unversioned canonical schema. Legacy parsing is isolated to the temporary `crossover:stage` command and is never used by render, verify, or reconciliation paths.
|
|
29
|
+
|
|
30
|
+
Crossover staging excludes source `.git`, `.operator`, `.brains-ops`, `.turbo`, `dist`, `node_modules`, plaintext `.env`/`.env.local`, and `*.secrets.yaml` artifacts. It generates fresh per-user `.env` selector files in the review copy without copying source secret values. Hosted sites must be enumerated in a separate reviewed file; staging rejects missing, extra, or identity-mismatched pins instead of inferring versions:
|
|
31
|
+
|
|
32
|
+
```yaml
|
|
33
|
+
sites:
|
|
34
|
+
example:
|
|
35
|
+
package: "@rizom/site-example"
|
|
36
|
+
version: 0.2.0-alpha.1
|
|
37
|
+
theme: "@rizom/theme-example"
|
|
38
|
+
themeVersion: 0.2.0-alpha.1
|
|
39
|
+
```
|
|
40
|
+
|
|
22
41
|
It operates on a separate private data repo, such as `rover-pilot/`, which stores:
|
|
23
42
|
|
|
24
43
|
- `pilot.yaml`
|