@runveric/cli 0.2.0 → 0.3.0

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 CHANGED
@@ -4,7 +4,7 @@
4
4
  production runner image — without pushing anything or signing in.**
5
5
 
6
6
  ```sh
7
- npx @runveric/cli@0.2.0 init --id yourteam/restart-web-tier
7
+ npx @runveric/cli@0.3.0 init --id yourteam/restart-web-tier
8
8
  ```
9
9
 
10
10
  ---
@@ -39,7 +39,7 @@ script outside the platform. Nothing in the product offered that. This does.
39
39
  ## Install
40
40
 
41
41
  ```sh
42
- npx @runveric/cli@0.2.0 <command> # no install
42
+ npx @runveric/cli@0.3.0 <command> # no install
43
43
  npm install -g @runveric/cli # or install the `runveric` bin
44
44
  ```
45
45
 
@@ -62,7 +62,7 @@ Pin the version your Runveric deployment shows you on its Author page rather tha
62
62
  Scaffold a PowerShell action, look at what you got, validate it, and run it locally:
63
63
 
64
64
  ```sh
65
- $ npx @runveric/cli@0.2.0 init restart-web-tier \
65
+ $ npx @runveric/cli@0.3.0 init restart-web-tier \
66
66
  --id acme/restart-web-tier \
67
67
  --interpreter powershell \
68
68
  --yes
@@ -168,22 +168,38 @@ Publishing does not adopt. Nobody can run it until somebody chooses to.
168
168
 
169
169
  Not part of authoring, and not something an author needs. The product's own catalog is pinned
170
170
  from immutable artifacts published by its action and catalog repositories, and their workflows
171
- publish with these two commands:
171
+ publish and verify with these commands:
172
172
 
173
173
  ```sh
174
174
  # one action's manifest, verbatim — stdout: <key>=<repository>@<digest>
175
- npx @runveric/cli@0.2.0 catalog publish-action --manifest catalog.yaml \
175
+ npx @runveric/cli@0.3.0 catalog publish-action --manifest catalog.yaml \
176
176
  --to ghcr.io/<org>/action-azure-vm-stop
177
177
 
178
+ # an ENGINE action: its manifest and the image its workflow pushed, by digest, to the same package
179
+ npx @runveric/cli@0.3.0 catalog publish-action --manifest catalog.yaml \
180
+ --to ghcr.io/<org>/action-azure-publicip-delete-unattached \
181
+ --image ghcr.io/<org>/action-azure-publicip-delete-unattached@sha256:<digest>
182
+
178
183
  # a release naming each action artifact by digest — stdout: <repository>@<digest>
179
- npx @runveric/cli@0.2.0 catalog publish-release --from release.yaml --to ghcr.io/<org>/catalog
184
+ npx @runveric/cli@0.3.0 catalog publish-release --from release.yaml --to ghcr.io/<org>/catalog
185
+
186
+ # what the release workflow may sign: each engine action's image, judged by the server's rule
187
+ # — stdout: one <repository>@<digest> per image that passed
188
+ npx @runveric/cli@0.3.0 catalog verify-image --from release.yaml
189
+ npx @runveric/cli@0.3.0 catalog verify-image <repository>@<digest> --key <action key> --commit <sha>
180
190
  ```
181
191
 
182
192
  An action's package must be named after its key (`azure.vm.stop` → `action-azure-vm-stop`); the
183
193
  CLI refuses any other name before pushing, and the server refuses it again when a release is
184
- planned or pinned. Neither command validates a manifest — the server does, every time. Publishing
194
+ planned or pinned. No command validates a manifest — the server does, every time. Publishing
185
195
  makes an artifact available; only a pin makes it live.
186
196
 
197
+ An engine action's image must be ONE `linux/amd64` image in the action's own package, carrying the
198
+ OCI `source` and `revision` labels: the repository it was built in, and the commit it was built at —
199
+ the commit its artifact's provenance names.
200
+ `publish-action --image` and `verify-image` refuse anything else with the sentence the server would
201
+ refuse the release with — they run the server's own rule, bundled.
202
+
187
203
  Credentials: `GHCR_TOKEN` (a token with `write:packages`), or in a workflow `GITHUB_TOKEN` with
188
204
  `packages: write`. Provenance comes from `--repository`/`--commit`, else GitHub Actions'
189
205
  environment, else git.