@norskvideo/ctl-dev-kit 0.1.28 → 0.1.29
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/conventions/CLAUDE.core.md +18 -0
- package/package.json +1 -1
|
@@ -45,6 +45,24 @@
|
|
|
45
45
|
named capability in its manifest's `requires: [...]`; ctl refuses only if it
|
|
46
46
|
lacks that capability. Reach for a capability as rarely as possible — it is the
|
|
47
47
|
escape hatch, not the default.
|
|
48
|
+
- **Reloading a rebuilt image into a running daemon needs the remove-then-refetch
|
|
49
|
+
dance — a plain rebuild never reaches launched instances.** The daemon launches
|
|
50
|
+
from a STORED template snapshot fetched once at `product add`, and refuses to
|
|
51
|
+
overwrite a stored template by name (`product reload` refreshes only the
|
|
52
|
+
manifest; `product pull` doesn't re-render). So after `build:image` the loop is:
|
|
53
|
+
`instance delete <id> --purge` -> `template remove <t>` -> `product remove <p>`
|
|
54
|
+
(plus `docker rm -f norsk-product-<p>` if the control-plane container lingers,
|
|
55
|
+
else its host port stays allocated) -> `product add --image <img> --license-file
|
|
56
|
+
<lic>` -> `instance launch-template`. Each product ships this as
|
|
57
|
+
`deployment/iterate.sh` (`bun run iterate`); model new ones on it. Two gotchas it
|
|
58
|
+
encodes: (1) the **built image name must satisfy the license's imageRef** — the
|
|
59
|
+
licensed repo (e.g. `norskvideo/norsk-<x>-product`), not a throwaway `:dev` name;
|
|
60
|
+
`product add` 400s on a mismatch, so build UNDER that repo. (2) the **license must
|
|
61
|
+
entitle both `norsk-studio` and the product** (the runtime does the
|
|
62
|
+
studio<->media handshake as `norsk-studio`). Needs a running daemon
|
|
63
|
+
(`norsk-ctl serve`) + `norsk-ctl` on PATH (the nix shell) + `NORSK_LICENSE_FILE`.
|
|
64
|
+
Anything the daemon can't see for you — a stored template, a rebuilt image — is
|
|
65
|
+
stale until this loop re-runs; don't debug a ghost.
|
|
48
66
|
- **The shared CI workflow is single-sourced too.** `.github/workflows/upgrade-latest.yml`
|
|
49
67
|
is copied verbatim from `@norskvideo/ctl-dev-kit` (`conventions/upgrade-latest.yml`),
|
|
50
68
|
same as this core block and `flake.nix`; `check:drift` fails CI if a copy
|