@devrouter/cli 0.5.6 → 0.6.1
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 +5 -2
- package/assets/preview/github-sweep.yml +23 -0
- package/assets/preview/github.yml +35 -0
- package/assets/preview/gitlab-template.yml +34 -0
- package/assets/preview/gitlab.yml +22 -0
- package/assets/preview/installation.json +54 -0
- package/dist/devrouter-lifecycle-worker.js +314 -77
- package/dist/devrouter-preview-gitlab-ingress.js +182 -0
- package/dist/devrouter.js +8992 -1601
- package/package.json +10 -2
- package/upgrade-prompts/0.6.0.md +57 -0
- package/upgrade-prompts/0.6.1.md +51 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devrouter/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Local dev routing CLI with shared Traefik reverse proxy",
|
|
5
5
|
"author": "Roland Schlaefli",
|
|
6
6
|
"homepage": "https://github.com/rschlaefli/devrouter#readme",
|
|
@@ -12,12 +12,17 @@
|
|
|
12
12
|
"files": [
|
|
13
13
|
"bin",
|
|
14
14
|
"dist",
|
|
15
|
-
"upgrade-prompts"
|
|
15
|
+
"upgrade-prompts",
|
|
16
|
+
"assets/preview"
|
|
16
17
|
],
|
|
17
18
|
"type": "commonjs",
|
|
18
19
|
"engines": {
|
|
19
20
|
"node": ">=24"
|
|
20
21
|
},
|
|
22
|
+
"exports": {
|
|
23
|
+
"./preview/gitlab-ingress": "./dist/devrouter-preview-gitlab-ingress.js",
|
|
24
|
+
"./*": "./*"
|
|
25
|
+
},
|
|
21
26
|
"bin": {
|
|
22
27
|
"devrouter": "dist/devrouter.js",
|
|
23
28
|
"devrouter-process": "bin/devrouter-process"
|
|
@@ -47,6 +52,9 @@
|
|
|
47
52
|
"dev": "tsx src/cli.ts",
|
|
48
53
|
"test": "vitest run && pnpm test:process",
|
|
49
54
|
"test:package": "./scripts/package-smoke.sh",
|
|
55
|
+
"qualify:preview-northflank": "node --import tsx scripts/qualify-preview-northflank.ts",
|
|
56
|
+
"qualify:preview-forge": "node --import tsx scripts/qualify-preview-forge.ts",
|
|
57
|
+
"qualify:preview-control": "node --import tsx scripts/qualify-preview-control.ts",
|
|
50
58
|
"qualify:lifecycle": "node --import tsx scripts/qualify-lifecycle.ts",
|
|
51
59
|
"qualify:capacity": "node --import tsx scripts/qualify-capacity.ts",
|
|
52
60
|
"qualify:controller": "node --import tsx scripts/qualify-controller.ts",
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Upgrade to devrouter 0.6.0
|
|
2
|
+
|
|
3
|
+
This release adds experimental, opt-in remote preview planning and installed
|
|
4
|
+
controller integrations for GitHub and GitLab, with Northflank as the first
|
|
5
|
+
provider. It also invalidates controller authority across short host sleeps.
|
|
6
|
+
Local routing and profile configuration retain their existing behavior.
|
|
7
|
+
|
|
8
|
+
## Task
|
|
9
|
+
|
|
10
|
+
Install the published 0.6.0 CLI and inspect `devrouter upgrade 0.6.0`.
|
|
11
|
+
There is no mandatory consumer schema migration. Bump `devrouter.version` only
|
|
12
|
+
within an authorized consumer adaptation, and refresh generated agent guidance
|
|
13
|
+
with `devrouter repo agents` when that repository carries it.
|
|
14
|
+
|
|
15
|
+
Remote preview adoption is separate from a CLI upgrade. `.devrouter.yml` retains
|
|
16
|
+
local routing and profile membership; `.devrouter.preview.yml` declares remote
|
|
17
|
+
resource bindings. Read `docs/PREVIEWS.md` in the release source before adopting
|
|
18
|
+
previews. Use `preview init` without `--write` to inspect a scaffold, or
|
|
19
|
+
`preview plan --list --json` and `preview plan --alias <name> --json` when a
|
|
20
|
+
reviewed manifest already exists. Offline planning requires no cloud credentials
|
|
21
|
+
or application runtime and does not authorize deployment.
|
|
22
|
+
|
|
23
|
+
Installed integrations require reviewed private policy, durable state, scoped
|
|
24
|
+
credentials and installation-specific qualification. GitHub integration generation
|
|
25
|
+
requires full immutable commit SHAs for both controller and policy references;
|
|
26
|
+
use the release commit SHA for the controller. GitLab callers pin the controller
|
|
27
|
+
commit and a controller image digest containing the reviewed policy. Before
|
|
28
|
+
creating or exposing a trigger, set the controller project's pipeline-variable
|
|
29
|
+
minimum role to `no_one_allowed` and verify it with
|
|
30
|
+
`preview doctor --live --installation <file>`. Installing this npm package alone
|
|
31
|
+
does not install a PR-comment workflow or qualify native infrastructure.
|
|
32
|
+
Keep admission disabled until each required native proof and acceptance check
|
|
33
|
+
passes. Provider output commands must be bounded, read-only and idempotent;
|
|
34
|
+
client timeout does not terminate the remote command.
|
|
35
|
+
|
|
36
|
+
## Validation
|
|
37
|
+
|
|
38
|
+
1. Run `devrouter -V` in the consumer checkout and confirm installed 0.6.0.
|
|
39
|
+
Inspect the adaptation prompt and run existing static configuration checks.
|
|
40
|
+
2. If preview adoption is authorized and a reviewed manifest exists, run offline
|
|
41
|
+
alias listing and planning. Account for every selected profile member and
|
|
42
|
+
intentional omission; an incomplete or unbound plan cannot authorize effects.
|
|
43
|
+
3. For separately authorized controller activation, verify forge-specific
|
|
44
|
+
controller and policy pins, scoped credentials, durable state and every native
|
|
45
|
+
admission proof before allocation. Source tests and a successful offline plan
|
|
46
|
+
establish neither cloud readiness nor viewer access.
|
|
47
|
+
4. Use the consumer's focused checks for any actual source adaptation. This
|
|
48
|
+
metadata upgrade and offline planning do not require an application runtime.
|
|
49
|
+
If an authorized live check touches a runtime, stop its exact checkout and
|
|
50
|
+
verify provider stopped plus zero owned routes unless explicitly kept running.
|
|
51
|
+
|
|
52
|
+
## Report
|
|
53
|
+
|
|
54
|
+
Report installed version and executable, consumer changes, offline plan results,
|
|
55
|
+
controller and policy pins when applicable, qualification still pending, and the
|
|
56
|
+
outcome of any separately authorized live checks. Distinguish CLI publication,
|
|
57
|
+
installation activation and working application acceptance.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Upgrade to devrouter 0.6.1
|
|
2
|
+
|
|
3
|
+
This patch repairs managed-state persistence and explicit stop recovery after
|
|
4
|
+
container replacement. It also makes interrupted or stalled ensure operations
|
|
5
|
+
inspectable without waiting for the lifecycle mutation lock. Repository schemas
|
|
6
|
+
and existing routing configuration remain compatible.
|
|
7
|
+
|
|
8
|
+
## Task
|
|
9
|
+
|
|
10
|
+
Install the published 0.6.1 CLI and inspect `devrouter upgrade 0.6.1`. Within an
|
|
11
|
+
authorized consumer adaptation, bump `devrouter.version` in `.devrouter.yml`
|
|
12
|
+
and refresh existing generated agent guidance with `devrouter repo agents`.
|
|
13
|
+
No schema migration, application restart or consumer data reset is required by
|
|
14
|
+
the metadata upgrade itself.
|
|
15
|
+
|
|
16
|
+
Inspect a managed operation with `devrouter status --repo <exact-checkout>
|
|
17
|
+
--json`. For explicit diagnostic output, use `devrouter logs --repo
|
|
18
|
+
<exact-checkout> --tail 100`. The ensure output snapshot is private and bounded
|
|
19
|
+
to 32 KiB, has no follow mode, and is unavailable when its operation evidence
|
|
20
|
+
cannot be validated. Stage and output freshness do not prove liveness. Worker
|
|
21
|
+
handshake and cancellation limits are distinct from execution, which has no
|
|
22
|
+
implicit deadline.
|
|
23
|
+
|
|
24
|
+
Ordinary stop continues to refuse changed immutable ownership. For a separately
|
|
25
|
+
authorized recovery of replaced containers, use `devrouter stop <exact-checkout>
|
|
26
|
+
--repair --json`. This requires complete provider, daemon, source, configuration,
|
|
27
|
+
mount, population and exact-ID proof, preserves volumes and cannot combine with
|
|
28
|
+
`--delete`. A service network namespace is equivalent only when live inspection
|
|
29
|
+
proves the exact owned target; changed or uncertain evidence still refuses.
|
|
30
|
+
`ensure --repair` remains a separate recovery operation. Do not bypass a
|
|
31
|
+
refusal with raw Docker or provider mutations.
|
|
32
|
+
|
|
33
|
+
## Validation
|
|
34
|
+
|
|
35
|
+
1. Confirm the installed CLI and executable with `devrouter -V`, and inspect
|
|
36
|
+
this adaptation prompt. Run existing static consumer checks for actual edits.
|
|
37
|
+
2. When runtime verification is separately authorized, use the exact checkout
|
|
38
|
+
for ordinary ensure, actual application work and supported recovery. Check
|
|
39
|
+
data retention and neighbour isolation rather than treating readiness as
|
|
40
|
+
proof of working application behavior.
|
|
41
|
+
3. After the last runtime check, stop that exact checkout and verify its provider
|
|
42
|
+
is stopped and its owned routes are absent unless explicitly kept running.
|
|
43
|
+
An unknown worker, ownership conflict or surviving resource remains a refusal.
|
|
44
|
+
|
|
45
|
+
## Report
|
|
46
|
+
|
|
47
|
+
Report installed version and executable, consumer metadata changes, checks and
|
|
48
|
+
producing source/package identities, any explicit recovery performed, retained
|
|
49
|
+
data proof, and final provider/route state. Distinguish publication, global
|
|
50
|
+
installation and consumer runtime acceptance. Keep private runtime data out of
|
|
51
|
+
shared source and release artifacts.
|