@devrouter/cli 0.0.68 → 0.0.69

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrouter/cli",
3
- "version": "0.0.68",
3
+ "version": "0.0.69",
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",
@@ -0,0 +1,41 @@
1
+ # Upgrade to devrouter 0.0.69
2
+
3
+ This patch release teaches managed `ensure` to refuse — in seconds, with
4
+ attribution — when a consumer-declared fixed published host port is already
5
+ bound by another running container, and adds a read-only doctor check for the
6
+ same drift. It exists because two workspaces collided on one fixed binding and
7
+ the second burned a full provider bootstrap before failing with Docker's raw
8
+ "port is already allocated" and no holder attribution.
9
+
10
+ ## Task
11
+
12
+ Install the published release and update `.devrouter.yml` devrouter.version to
13
+ 0.0.69. No schema migration or configuration change is required. Do not rewrite
14
+ consumer compose files, host ports, or environment defaults to satisfy the
15
+ check: the refusal is intentional, and devrouter never regenerates or offsets
16
+ consumer-declared bindings. When an ensure is refused, resolve the collision on
17
+ the holding side — stop the named workspace with `devrouter stop <path>`, or
18
+ change the consumer's own binding through its declared escape hatch (for
19
+ example its compose interpolation variable) — then run ensure again.
20
+
21
+ ## Validation
22
+
23
+ On a repository whose managed overlay declares a fixed binding (for example
24
+ `127.0.0.1:${SOME_HOST_PORT:-10003}:10000`), run
25
+ `devrouter doctor --repo <path> --json`: with no live holder,
26
+ `repo.host-port-claims` is `ok`; with another workspace already bound to that
27
+ port it is `error` naming the holding container and owning workspace; with
28
+ Docker unavailable it is `warn` without failing doctor. While the port is
29
+ held, run `devrouter ensure <path> --json`: it must refuse within seconds with
30
+ `hostPortConflicts` populated and a nonzero exit, and no provider bootstrap may
31
+ start. Free or override the port and re-run: ensure completes with routes as
32
+ before. Confirm repositories without fixed published bindings and non-managed
33
+ repositories behave exactly as before.
34
+
35
+ ## Report
36
+
37
+ Report the tested CLI version, the repository and binding exercised, the
38
+ doctor check level and details before and after, the ensure refusal JSON
39
+ (`hostPortConflicts`) or its absence, the remediation used (stop versus env
40
+ override), and whether any fixed-binding or non-managed regression was
41
+ observed.