@mutmutco/codex-plugin 4.3.26 → 4.3.28
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/.codex-plugin/plugin.json +1 -1
- package/package.json +1 -1
- package/skills/stage/SKILL.md +17 -4
package/package.json
CHANGED
package/skills/stage/SKILL.md
CHANGED
|
@@ -29,9 +29,20 @@ facts all live in the Hub registry — no repo-local control-plane file.
|
|
|
29
29
|
**Secrets are vault-native — no `.env` on disk (#2655).** The org forbids *using* `.env` files, not just
|
|
30
30
|
committing them. A repo **without** `.env.example` stages vault-native: `mmi-cli stage --apply` resolves the
|
|
31
31
|
declared dev runtime secrets (registry `requiredRuntimeSecrets[dev]`) from the vault and injects them straight
|
|
32
|
-
into the compose **process environment
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
into the compose **process environment**, which Compose interpolates the file with — no secret ever touches
|
|
33
|
+
disk. A repo that still ships `.env.example` keeps the legacy `.env` bootstrap for back-compat until its
|
|
34
|
+
compose migrates to passthrough; new repos should ship **no** `.env.example`.
|
|
35
|
+
|
|
36
|
+
**Runtime env reaches the container through the generated passthrough (#6345).** Interpolation is not
|
|
37
|
+
delivery: a container receives only what its own `environment:` declares. So `/stage` mirrors the box deploy —
|
|
38
|
+
it generates `tmp/stage/runtime-env.override.yml` (gitignored, **key names only**, values stay in the process
|
|
39
|
+
env) passing every runtime key through to each service the compose marks `labels: {"mmi.runtime-env": "true"}`,
|
|
40
|
+
and loads it beside `docker-compose.yml` for the whole stage. Mark the app service with that label; a repo
|
|
41
|
+
that hand-declares its variables needs nothing. Unmarked sidecars (db, cache) keep getting only what they
|
|
42
|
+
interpolate themselves. Never wrap an individual `docker compose` call in `mmi-cli vault secrets use` to work
|
|
43
|
+
around a missing value (#6344) — that value is scoped to the one child process it wraps, so the next `docker
|
|
44
|
+
compose logs`/`down` fails the same `required variable … is missing a value`. Declare the key in registry
|
|
45
|
+
`requiredRuntimeSecrets[dev]` and let `/stage` carry it across the whole lifecycle.
|
|
35
46
|
|
|
36
47
|
**Build-time secrets (#5381).** When META declares `requiredBuildSecrets` (e.g. Katip's
|
|
37
48
|
`NODE_AUTH_TOKEN=@github-packages-token` for `@mutmutco/fofu-ds` on GitHub Packages), `/stage` injects those
|
|
@@ -108,7 +119,9 @@ Stop the stage when the work is done, before switching context, or before replac
|
|
|
108
119
|
If the user clearly wants the preview to stay up, leave it running and report that. The next `/stage` also
|
|
109
120
|
stops the previous recorded stage before starting, so a stale server does not linger between runs. For the
|
|
110
121
|
registry-derived Docker Compose default, stop also runs the recorded compose teardown (`docker compose down`)
|
|
111
|
-
from the original stage working directory.
|
|
122
|
+
from the original stage working directory. Stop re-fetches the declared dev runtime secrets so that `down`
|
|
123
|
+
can interpolate the same file (`${POSTGRES_PASSWORD:?}`, `${PORT:?}`) — secrets never come from the state
|
|
124
|
+
file (#6351). A vault-native repo with no `.env` gets `PORT` defaulted to the bound stage port.
|
|
112
125
|
|
|
113
126
|
## /stage --live — personal cloud dev stage
|
|
114
127
|
|