@inquir/compute-cli 0.4.1 → 0.4.2

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
@@ -176,9 +176,9 @@ inquir deploy hello # streams build/deploy logs, exits non-zero
176
176
  inquir invoke hello --payload '{"name":"World"}'
177
177
  ```
178
178
 
179
- Get an API key from your Inquir Compute workspace settings. For CI, prefer the
180
- [`inquir-compute/deploy-action`](../deploy-action) GitHub Action (supports keyless
181
- OIDC auth), or run `inquir deploy --ci`.
179
+ Create a Personal Access Token under Settings → API Keys in the console. For CI,
180
+ store it as a secret, export it as `INQUIR_TOKEN` and run `inquir deploy --ci`
181
+ (see [CI usage](#ci-usage)).
182
182
 
183
183
  ## Commands
184
184
 
@@ -218,7 +218,7 @@ runtime adapter involved.
218
218
 
219
219
  - `inquir apps list` - list applications.
220
220
  - `inquir apps create <name> [--port <n>] [--tcp …] [--set K=V]` - create an application.
221
- - `inquir apps deploy <app> [--image <ref>]` - start a release and wait until it is healthy. Without `--image` the current directory (or `--dir`) is built from its Dockerfile first; `--build <id>` releases an existing build.
221
+ - `inquir apps deploy <app> [--image <ref>]` - start a release and wait until it is healthy. Without `--image` the current directory (or `--dir`) is built from its Dockerfile first; `--build <id>` releases an existing build. `services.web.env` in `inquir.yaml` holds non-secret defaults: applied where the platform enables it (`APPS_MANIFEST_ENV=on`), with an application variable of the same name winning; the deploy prints what it applied and warns about anything it ignored or overrode. Never put secrets in `inquir.yaml`.
222
222
  - `inquir apps build <app> [--dir <path>] [--dockerfile <f>] [--context <dir>] [--build-arg K=V]` - build an image from source without releasing it.
223
223
  - `inquir apps builds <app>` - build history (`--cancel <buildId>` drops a queued build).
224
224
  - `inquir apps status <app>` - endpoints (public and private), hostnames and recent releases. The `private:` lines are what another app in the workspace dials (`{slug}.apps.internal`, port per TCP service); they appear once the platform has verified the route.
@@ -228,10 +228,11 @@ runtime adapter involved.
228
228
  - `inquir apps rollback <app>` - return production to the previous release.
229
229
  - `inquir apps stop <release>` - stop any release that is not serving production.
230
230
  - `inquir apps exec <app> [--replica <name|index>] -- <command>` - run a command inside the container (owner/admin login only — it can read every secret). `--replica` picks one serving replica; without it the server picks the production container.
231
- - `inquir apps update <app> [--set K=V] [--port …] [--egress none|full] [--ingress private|public] …` - change settings; applies to the next release. `--ingress public` creates the generated public domain, `--ingress private` removes it (the private address is unaffected). New apps are private unless created with `--ingress public`.
231
+ - `inquir apps update <app> [--set K=V] [--unset K] [--port …] [--egress none|full] [--ingress private|public] …` - change settings; applies to the next release. `--unset` removes a variable and its production-only marker (e.g. so the `inquir.yaml` value applies). `--ingress public` creates the generated public domain, `--ingress private` removes it (the private address is unaffected). New apps are private unless created with `--ingress public`.
232
232
  - `inquir apps update <app> --node-selector inquir.io/region=eu [--node-selector tier=fast]` - run the next releases only on servers carrying every one of these node labels (`--clear-node-selector` removes it). Well-known labels: `inquir.io/region`, `inquir.io/zone`, `inquir.io/runtime`, `inquir.io/arch`, `inquir.io/gpu`, `inquir.io/gpu-count`; operator labels the platform publishes work too. Needs node placement enabled on the platform (`COMPUTE_NODE_AFFINITY=enforce`); a selector no server matches yet is accepted with a warning, and `inquir apps describe` says why a replica waits. Full Kubernetes-style `runtime.nodeAffinity` goes through the API or `inquir.yaml`.
233
233
  - `inquir apps update <app> --location <id|auto>` (experimental) - run the next releases in one of the platform's locations (`nl`, `ru`, ...); `auto` runs wherever there is capacity. Shown by `inquir apps status` and `inquir apps describe`; offered only where the platform enables it (`COMPUTE_SERVICE_LOCATIONS=on`). A service whose volume data lives in another location is refused: the data does not move.
234
234
  - `inquir apps domain <app> [hostname] [--verify|--remove]` - bind a custom hostname; publish the printed TXT record and point DNS at the platform, then `--verify`.
235
+ Advanced, not recommended: a quoted mask `inquir apps domain <app> '*.example.com' --yes` binds every first-level subdomain when the server enables it (`APPS_WILDCARD_DOMAINS=on`). It takes traffic from every such name, including services you may not know about, and each subdomain gets its own certificate within a weekly budget; prefer binding hostnames one by one. Proof: a wildcard CNAME `*.example.com` and TXT `_inquir-verify.example.com`.
235
236
  - `inquir apps delete <app> --yes` - archive an application (stops every release, unbinds every hostname).
236
237
 
237
238
  Project archive in the dashboard also archives every application in the project, including applications shared with another project. It requires production permissions (`projects:write` and `apps:promote`). Clearing the local project selection with `inquir projects use --clear` only changes where future applications are created; it does not archive applications.
@@ -246,21 +247,19 @@ inquir apps promote <releaseId>
246
247
  # ...or from a prebuilt image
247
248
  inquir apps deploy web --image nginx:alpine
248
249
 
249
- # a database: no HTTP port at all, published on a pinned port,
250
- # health-checked by asking the service itself
251
- inquir apps create db \
252
- --tcp postgres:5432:public:25432 \
253
- --health-command "pg_isready -h 127.0.0.1" \
254
- --set POSTGRES_PASSWORD=secret
255
- inquir apps deploy db --image postgres:16-alpine
250
+ # a database: no HTTP port at all, a persistent volume and a TCP port
251
+ # on the private network (other applications of the workspace connect to it)
252
+ inquir apps create db --template postgres
256
253
  ```
257
254
 
258
- `--tcp name:port[:public][:hostPort]` — `public` publishes beyond loopback,
259
- and a pinned `hostPort` keeps a connection string valid across restarts (an
260
- unpinned port is reassigned every time the container is recreated). A public
261
- TCP port is reachable by anyone who can reach the host: the platform
262
- terminates no TLS and checks no credentials on raw TCP, so the service must
263
- authenticate its own clients.
255
+ `--tcp name:port` declares a TCP port on the private network. The optional
256
+ modifiers `:public` and a numeric `:hostPort` pin (`name:port[:public][:hostPort]`;
257
+ a pin implies `public`) ask for a public TCP port. Public TCP ports are not
258
+ available on inquir.org at the moment: such a port is refused with
259
+ `PUBLIC_TCP_UNAVAILABLE`. Where a server
260
+ does offer them, a public TCP port is reachable by anyone who can reach the
261
+ host: the platform terminates no TLS and checks no credentials on raw TCP, so
262
+ the service must authenticate its own clients.
264
263
 
265
264
  `--drain-grace <seconds>` (`create`, `deploy`, `update`; 0–3600) — the time the
266
265
  old container gets after SIGTERM before it is killed (`runtimeSpec.drainGraceSeconds`).
@@ -326,13 +325,36 @@ inquir deploy hello --stage staging # target a deploy stage (alias: --environmen
326
325
  inquir deploy hello --set KEY=val --set OTHER=val # set environment variables (repeatable)
327
326
  inquir deploy hello --env-file .env.production # load env vars from a dotenv file
328
327
  inquir deploy hello --memory 512 --timeout 60000 # memory (MB) / timeout (ms)
329
- inquir deploy hello --layer <layerId> --layer <id2> # attach layers (repeatable)
328
+ inquir deploy hello --layer <layerId> --layer <id2> # deprecated: attach layers (repeatable)
330
329
  inquir deploy hello --no-logs # queue and wait for completion without streaming
331
330
  inquir deploy hello --ci # plain output, non-zero exit on failure (for CI)
332
331
  inquir deploy hello --dry-run # validate + package only; no create/deploy
333
332
  inquir deploy hello --json # machine-readable result
334
333
  ```
335
334
 
335
+ > Deprecated: `--layer`. Layers are being replaced by `build.dependencies` in
336
+ > `inquir.yaml`, the same key and shape for every runtime; a function has one
337
+ > runtime, so its list holds entries of that runtime only
338
+ > (see https://inquir.org/docs/inquir-yaml):
339
+ >
340
+ > ```yaml
341
+ > # inquir.yaml of a Node.js function: name@version
342
+ > build:
343
+ > dependencies:
344
+ > - "zod@3.23.8"
345
+ > ```
346
+ >
347
+ > ```yaml
348
+ > # inquir.yaml of a Python function: a pip requirement
349
+ > build:
350
+ > dependencies:
351
+ > - "requests==2.32.3"
352
+ > ```
353
+ >
354
+ > Layers already attached keep working. While the platform reports the deprecation, a
355
+ > new `--layer` attachment works and the CLI prints a warning; once it enforces it, the
356
+ > deploy is refused with `LAYERS_DEPRECATED`.
357
+
336
358
  > Note: `--env` selects a named **credential environment** from your config; `--stage`
337
359
  > (alias `--environment`) selects the **deploy stage** (production/staging/preview). They
338
360
  > are different — don't confuse them.
@@ -388,8 +410,12 @@ export INQUIR_WORKSPACE="acme-prod" # optional: target workspace
388
410
  inquir deploy hello --ci --json
389
411
  ```
390
412
 
391
- For GitHub Actions, prefer the [`@inquir/deploy-action`](../deploy-action) GitHub Action
392
- (supports keyless OIDC auth).
413
+ In GitHub Actions, run the CLI with `npx --yes @inquir/compute-cli@<version>` after
414
+ `actions/setup-node` (Node.js 22) and pass the token from the repository secrets:
415
+ `inquir deploy ./functions/hello --ci` for a function, or
416
+ `inquir apps deploy web --dir . --promote` for a container application (promotion
417
+ needs the token of a workspace owner or admin). The docs page
418
+ https://inquir.org/docs/ci-cd has complete workflows.
393
419
 
394
420
  ## Payload Input
395
421
 
@@ -519,6 +545,15 @@ while a redeploy waits), which SDK 0.4.1 does not export; its dependency
519
545
  floor is `^0.4.2`. Publish SDK 0.4.2 first and
520
546
  confirm it on the registry, then the CLI.
521
547
 
548
+ Release after that (the CLI after 0.4.1; its version is bumped together with
549
+ the published command snapshot, `frontend/src/pages/Docs/cliCommandHelp.json`):
550
+ `inquir apps domain <app> '*.example.com' --yes`
551
+ passes `acknowledgeWildcardRisks` as the new fourth argument of
552
+ `addApplicationDomain`. SDK 0.4.2 accepts the call but silently drops the
553
+ argument, so the server answers 400 `DOMAIN_WILDCARD_NOT_ACKNOWLEDGED`; the
554
+ dependency floor is `^0.4.3`. Publish SDK 0.4.3 first and confirm it on the
555
+ registry, then the CLI.
556
+
522
557
  New `inquir init` scaffolds inherit this SDK range and require Node.js 22+.
523
558
  Existing `package.json` files are preserved; update their dependencies explicitly
524
559
  when adopting a newer SDK.
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"AAsYA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFhE"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"AAuYA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoFhE"}
@@ -48,8 +48,9 @@ const USAGE = [
48
48
  function printAdminHelp() {
49
49
  printCommandHelp('admin', 'admin <cluster|allocations|functions|tenants|containerd-tenants> <command> [options]', [
50
50
  'cluster status Members, the controllers lease, hosts and grants (GET /admin/v1/cluster)',
51
- 'cluster hold Set controllers_hold: the holder releases and nobody acquires',
52
- 'cluster release Lift controllers_hold',
51
+ 'cluster hold Set controllers_hold: the holder steps down and no controllers run anywhere',
52
+ ' until release (an all-roles holder, vps1, restarts its whole process)',
53
+ 'cluster release Lift controllers_hold (the first eligible member acquires; not necessarily the old one)',
53
54
  'cluster move <member> Hand the controllers lease to a live, eligible member',
54
55
  'cluster host register Register (or re-register) a host and its /etc/machine-id',
55
56
  'cluster grant <h> <c> Grant a host capability (takes effect when that member restarts)',
@@ -383,7 +384,8 @@ export async function adminCommand(args) {
383
384
  }
384
385
  case 'hold': {
385
386
  const body = await callAdmin(args, { method: 'POST', path: 'admin/v1/cluster/hold', body: { ...reasonOf(args), actor: actor() } });
386
- done(body, 'controllers_hold is set: the holder releases and nobody acquires until `inquir admin cluster release`');
387
+ done(body, 'controllers_hold is set: the holder steps down and no controllers run anywhere until `inquir admin cluster release` ' +
388
+ '(an all-roles holder restarts its process); to change the leader use `inquir admin cluster move <member>`');
387
389
  return;
388
390
  }
389
391
  case 'release': {
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,11 @@ import { type AppNetworkPolicy, type AppPortSpec, type AppRuntimeSpec, type AppS
2
2
  import { type AppLogHistoryResponse, type AppRuntimeLogEntry, type AppRuntimeLogQuery } from '../sdk.js';
3
3
  export declare function appsCommand(args: string[]): Promise<void>;
4
4
  /**
5
- * `--tcp name:port[:public][:hostPort]` — ordinary usage stops at `public` and
6
- * lets the platform lease a stable endpoint port. The final numeric modifier
7
- * remains an API/CLI compatibility escape hatch for an existing installation.
5
+ * `--tcp name:port[:public][:hostPort]` — ordinary usage stops at `name:port`
6
+ * (private) or `public` (the platform leases a stable endpoint port). The
7
+ * final numeric modifier remains an API/CLI compatibility escape hatch for an
8
+ * existing installation; it implies `public`, so a server without public TCP
9
+ * refuses it exactly like `:public` (400 PUBLIC_TCP_UNAVAILABLE).
8
10
  */
9
11
  export declare function parseTcpPortFlag(value: string): AppPortSpec;
10
12
  /**
@@ -79,6 +81,12 @@ export declare function selectConnectionUrl(result: {
79
81
  url: string;
80
82
  visibility: 'private' | 'public';
81
83
  };
84
+ /**
85
+ * What the server did with inquir.yaml `services.web.env` (docs/MANIFEST_ENV.md).
86
+ * Read structurally: a control plane that predates manifest env sends neither
87
+ * field, and then nothing is printed.
88
+ */
89
+ export declare function printManifestEnvOutcome(queued: object): void;
82
90
  /** Authoritative phase observation, independent of an open or broken log stream. */
83
91
  export declare function waitForBuild(buildId: string, apiOptions: ApiRequestOptions, options?: {
84
92
  json?: boolean;
@@ -170,5 +178,7 @@ export declare function updateTimingLines(appName: string, changed: {
170
178
  nextRelease: boolean;
171
179
  hasProduction?: boolean;
172
180
  }): string[];
181
+ /** The warning a wildcard bind must be confirmed against (dashboard text, CLI words). */
182
+ export declare function wildcardRiskWarning(hostname: string): string[];
173
183
  export {};
174
184
  //# sourceMappingURL=apps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/commands/apps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/commands/apps.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ const VALUE_FLAGS = [
29
29
  '--volume-runner',
30
30
  '--env',
31
31
  '--set',
32
+ '--unset',
32
33
  '--memory',
33
34
  '--cpu',
34
35
  '--drain-grace',
@@ -165,7 +166,7 @@ function printAppsHelp() {
165
166
  'scale <app> [mode] Set always/http/manual scaling (--replicas for always)',
166
167
  'wake <app> Start a sleeping application',
167
168
  'pause <app> Stop an http/manual app (HTTP wakes only http mode)',
168
- 'domain <app> [hostname] Bind a hostname (or list them); --verify / --remove',
169
+ "domain <app> [hostname] Bind a hostname (or list them); --verify / --remove; '*.example.com' needs --yes (not recommended)",
169
170
  'delete <app> Archive an application (stops every release)',
170
171
  '',
171
172
  'Create/deploy flags:',
@@ -179,14 +180,17 @@ function printAppsHelp() {
179
180
  '--build-arg KEY=VALUE Docker build argument (repeatable)',
180
181
  '--build <buildId> Release an existing successful build',
181
182
  '--port <n> HTTP port (omit for a TCP-only service)',
182
- '--tcp <name:port[:public]> Extra TCP port; endpoint port is platform-managed (repeatable)',
183
+ '--tcp <name:port[:public]> Extra TCP port on the private network (repeatable); :public (or a\n' +
184
+ ' numeric host-port pin, which implies it) is refused while the server\n' +
185
+ ' offers no public TCP (inquir.org: not at the moment)',
183
186
  '--volume <name:/path[:ro]> Persistent volume mount (repeatable)',
184
187
  '--volume-runner <id> Pin volumes (and the container) to a worker runner',
185
188
  '--node-selector KEY=VALUE update: run only on servers with this node label (repeatable),',
186
189
  ' e.g. inquir.io/region=eu; --clear-node-selector removes it',
187
190
  '--location <id|auto> update (experimental): run in this location, e.g. nl or ru; auto',
188
191
  ' runs wherever there is capacity. Applies from the next deploy',
189
- '--set KEY=VALUE Environment variable (repeatable)',
192
+ '--set KEY=VALUE create/update: environment variable (repeatable)',
193
+ '--unset KEY update: remove an environment variable and its production-only marker (repeatable)',
190
194
  '--memory <mb> Memory ceiling (default 512)',
191
195
  '--cpu <vcpus> CPU ceiling (default 0.5)',
192
196
  '--drain-grace <seconds> Time the old container gets after SIGTERM before it is killed (0-3600)',
@@ -207,8 +211,7 @@ function printAppsHelp() {
207
211
  'inquir apps create web --port 3000',
208
212
  'inquir apps deploy web # builds ./Dockerfile, then releases it',
209
213
  'inquir apps deploy web --image nginx:alpine',
210
- 'inquir apps deploy cache --image redis:7-alpine --tcp redis:6379:public \\',
211
- ' --health-command "redis-cli ping"',
214
+ 'inquir apps create cache --template redis # volume + private TCP endpoint',
212
215
  'inquir apps deploy db --image postgres:16 --volume data:/var/lib/postgresql/data',
213
216
  'inquir apps scale web http --idle-timeout 15m',
214
217
  'inquir apps wake web',
@@ -219,16 +222,24 @@ function printAppsHelp() {
219
222
  ]);
220
223
  }
221
224
  /**
222
- * `--tcp name:port[:public][:hostPort]` — ordinary usage stops at `public` and
223
- * lets the platform lease a stable endpoint port. The final numeric modifier
224
- * remains an API/CLI compatibility escape hatch for an existing installation.
225
+ * Public TCP availability, for hints. Grep marker for when cluster L4 ingress
226
+ * lands: PUBLIC_TCP_UNAVAILABLE (server error code, docs and copy say "not
227
+ * available at the moment").
228
+ */
229
+ const PUBLIC_TCP_NOTE = 'public TCP ports are not available on inquir.org at the moment (PUBLIC_TCP_UNAVAILABLE), so a client outside the platform has no public URL: run it as an application of this workspace';
230
+ /**
231
+ * `--tcp name:port[:public][:hostPort]` — ordinary usage stops at `name:port`
232
+ * (private) or `public` (the platform leases a stable endpoint port). The
233
+ * final numeric modifier remains an API/CLI compatibility escape hatch for an
234
+ * existing installation; it implies `public`, so a server without public TCP
235
+ * refuses it exactly like `:public` (400 PUBLIC_TCP_UNAVAILABLE).
225
236
  */
226
237
  export function parseTcpPortFlag(value) {
227
238
  const parts = value.split(':');
228
239
  const [name, portRaw, ...flags] = parts;
229
240
  const port = Number(portRaw);
230
241
  if (!name || !Number.isInteger(port) || port < 1 || port > 65535) {
231
- throw usageError(`Invalid --tcp value '${value}'`, 'inquir apps deploy <app> --tcp postgres:5432:public');
242
+ throw usageError(`Invalid --tcp value '${value}'`, 'inquir apps deploy <app> --tcp postgres:5432');
232
243
  }
233
244
  const spec = { name, port, protocol: 'tcp' };
234
245
  for (const flag of flags) {
@@ -243,7 +254,7 @@ export function parseTcpPortFlag(value) {
243
254
  spec.public = true;
244
255
  continue;
245
256
  }
246
- throw usageError(`Invalid --tcp modifier '${flag}' in '${value}'`, 'inquir apps deploy <app> --tcp postgres:5432:public');
257
+ throw usageError(`Invalid --tcp modifier '${flag}' in '${value}'`, 'inquir apps deploy <app> --tcp postgres:5432');
247
258
  }
248
259
  return spec;
249
260
  }
@@ -714,7 +725,14 @@ export const SUBCOMMAND_HELP = {
714
725
  ' --dockerfile, --context, --target, --build-arg KEY=VALUE Build options',
715
726
  ' --promote Take production by itself once healthy (needs apps:promote)',
716
727
  ' --no-wait Return as soon as the release is queued',
717
- ' Runtime flags (--port, --tcp, --volume, --set, --memory, --cpu, ...) as in apps --help.',
728
+ ' Runtime flags (--port, --tcp, --volume, --memory, --cpu, ...) as in apps --help.',
729
+ ' Environment variables are not deploy flags: set them with',
730
+ ' inquir apps update <app> --set KEY=VALUE, then deploy or redeploy.',
731
+ '',
732
+ ' inquir.yaml services.web.env: non-secret defaults, applied by the next release',
733
+ ' where the platform enables it (APPS_MANIFEST_ENV=on); an application variable',
734
+ ' (apps update --set, dashboard, API) with the same name wins. Otherwise the deploy warns that',
735
+ ' the section was not applied. Never put secrets in inquir.yaml.',
718
736
  ],
719
737
  status: [
720
738
  'Usage: inquir apps status <app> [--json]',
@@ -746,11 +764,11 @@ export const SUBCOMMAND_HELP = {
746
764
  ' Lists the application\'s image builds; --cancel stops a queued or running one.',
747
765
  ],
748
766
  update: [
749
- 'Usage: inquir apps update <app> [--set KEY=VALUE] [--port <n>] [--memory <mb>] [--cpu <vcpus>] [--ingress private|public] [flags]',
767
+ 'Usage: inquir apps update <app> [--set KEY=VALUE] [--unset KEY] [--port <n>] [--memory <mb>] [--cpu <vcpus>] [--ingress private|public] [flags]',
750
768
  '',
751
769
  ' Applied now: --ingress (the generated public domain is created or removed',
752
770
  ' at once) and --description.',
753
- ' Applied by the next release (inquir apps redeploy <app>): --set, --port,',
771
+ ' Applied by the next release (inquir apps redeploy <app>): --set, --unset, --port,',
754
772
  ' --tcp, --volume, --memory, --cpu, --drain-grace, --health-path,',
755
773
  ' --health-command, --egress, --location, --node-selector / --clear-node-selector.',
756
774
  ],
@@ -777,10 +795,15 @@ export const SUBCOMMAND_HELP = {
777
795
  ' Stops an http or manual application; an http one wakes on the next request.',
778
796
  ],
779
797
  domain: [
780
- 'Usage: inquir apps domain <app> [hostname] [--verify | --remove] [--json]',
798
+ 'Usage: inquir apps domain <app> [hostname] [--verify | --remove] [--yes] [--json]',
781
799
  '',
782
800
  ' Without a hostname, lists the bound domains. With one, binds it and prints',
783
801
  ' the DNS records to create; --verify checks them, --remove unbinds it.',
802
+ '',
803
+ " Advanced, not recommended: a quoted mask '*.example.com' binds every",
804
+ ' first-level subdomain (a.example.com, not a.b.example.com) when the server',
805
+ ' enables it. It asks for confirmation, or --yes. Prove it with a wildcard',
806
+ ' CNAME *.example.com and TXT _inquir-verify.example.com.',
784
807
  ],
785
808
  delete: [
786
809
  'Usage: inquir apps delete <app>',
@@ -1127,8 +1150,10 @@ export function explainDatabaseConnectionError(error, context) {
1127
1150
  ...base,
1128
1151
  cause: 'The control plane offers no private address for this database.',
1129
1152
  fix: target
1130
- ? 'connect writes private URLs only. A client outside the platform can use the public URL once Public Access is enabled on the database. If other apps have private addresses here, the database\'s may just not be verified yet: retry in a minute.'
1131
- : 'Enable Public Access on the database and ask for its public URL. If other apps have private addresses here, the database\'s may just not be verified yet: retry in a minute.',
1153
+ ? 'connect writes private URLs only. If other apps have private addresses here, the database\'s may just not be verified yet: retry in a minute. ' +
1154
+ 'A public URL exists only where the server offers public TCP and Public Access is on; ' + PUBLIC_TCP_NOTE + '.'
1155
+ : 'If other apps have private addresses here, the database\'s may just not be verified yet: retry in a minute. ' +
1156
+ 'A public URL exists only where the server offers public TCP and Public Access is on; ' + PUBLIC_TCP_NOTE + '.',
1132
1157
  command: `inquir apps connection-url ${database} --public`,
1133
1158
  });
1134
1159
  case 'APP_NO_PRODUCTION_RELEASE':
@@ -1225,10 +1250,10 @@ export function selectConnectionUrl(result, preference = 'auto') {
1225
1250
  const requested = preference === 'auto' ? 'private or public' : preference;
1226
1251
  const reason = preference !== 'public' ? result.privateUnavailable : undefined;
1227
1252
  throw usageError(`No ${requested} database connection URL is available${reason ? `: ${reason.message}` : ''}`, preference === 'public'
1228
- ? 'Enable Public Access in the application Networking settings.'
1253
+ ? `A public URL needs public TCP and Public Access on the database; ${PUBLIC_TCP_NOTE}.`
1229
1254
  : reason?.code === 'APP_PRIVATE_ENDPOINT_NOT_READY'
1230
1255
  ? 'Retry in a minute; the private address is verified once the database serves.'
1231
- : 'Configure private networking, or use --public after explicitly enabling Public Access.');
1256
+ : `Configure private networking. --public works only where the server offers public TCP; ${PUBLIC_TCP_NOTE}.`);
1232
1257
  }
1233
1258
  async function deploySubcommand(args, positionals, apiOptions) {
1234
1259
  const [identifier] = positionals;
@@ -1277,6 +1302,7 @@ async function deploySubcommand(args, positionals, apiOptions) {
1277
1302
  printInfo(`Release ${queued.releaseId.slice(0, 8)} queued for ${app.name} (${image ?? `build ${buildId.slice(0, 8)}`})`);
1278
1303
  if (promote)
1279
1304
  printInfo(dim(' it takes production by itself once healthy'));
1305
+ printManifestEnvOutcome(queued);
1280
1306
  }
1281
1307
  if (hasFlag(args, '--no-wait')) {
1282
1308
  if (json)
@@ -1287,6 +1313,20 @@ async function deploySubcommand(args, positionals, apiOptions) {
1287
1313
  }
1288
1314
  await followQueuedRelease(app, queued, promote, json, apiOptions);
1289
1315
  }
1316
+ /**
1317
+ * What the server did with inquir.yaml `services.web.env` (docs/MANIFEST_ENV.md).
1318
+ * Read structurally: a control plane that predates manifest env sends neither
1319
+ * field, and then nothing is printed.
1320
+ */
1321
+ export function printManifestEnvOutcome(queued) {
1322
+ const outcome = queued;
1323
+ const applied = Array.isArray(outcome.manifestEnv?.applied) ? outcome.manifestEnv.applied : [];
1324
+ if (applied.length > 0)
1325
+ printInfo(dim(` inquir.yaml env applied: ${applied.join(', ')}`));
1326
+ const warnings = Array.isArray(outcome.warnings) ? outcome.warnings : [];
1327
+ for (const warning of warnings)
1328
+ printWarning(` warning: ${warning}`);
1329
+ }
1290
1330
  /**
1291
1331
  * Wait for a queued release to settle and say where it ended up; with
1292
1332
  * promote-on-ready, also wait for production to point at it.
@@ -1378,6 +1418,7 @@ async function redeploySubcommand(args, positionals, apiOptions) {
1378
1418
  printInfo(`Release ${queued.releaseId.slice(0, 8)} queued for ${app.name} (redeploy of ${queued.redeployOf.slice(0, 8)})`);
1379
1419
  if (promote)
1380
1420
  printInfo(dim(' it takes production by itself once healthy'));
1421
+ printManifestEnvOutcome(queued);
1381
1422
  }
1382
1423
  if (hasFlag(args, '--no-wait')) {
1383
1424
  if (json)
@@ -2361,6 +2402,21 @@ async function updateSubcommand(args, positionals, apiOptions) {
2361
2402
  await requireAuth(apiOptions);
2362
2403
  const app = await resolveApplication(identifier, apiOptions);
2363
2404
  const envVars = parseSetFlags(readMultiFlag(args, '--set'));
2405
+ const unset = readMultiFlag(args, '--unset');
2406
+ const productionOnly = app.productionOnlyEnvKeys ?? [];
2407
+ for (const key of unset) {
2408
+ if (Object.hasOwn(envVars, key))
2409
+ throw usageError(`--set and --unset both name ${key}`, `inquir apps update <app> --unset ${key}`);
2410
+ // A production-only marker without a value is still worth clearing: it
2411
+ // would refuse the same key from inquir.yaml (docs/MANIFEST_ENV.md).
2412
+ if (!Object.hasOwn(app.envVars ?? {}, key) && !productionOnly.includes(key)) {
2413
+ throw usageError(`${app.name} has no variable ${key}`, `inquir apps update ${app.name} --unset <KEY>`);
2414
+ }
2415
+ }
2416
+ const unsetVariables = unset.filter((key) => Object.hasOwn(app.envVars ?? {}, key));
2417
+ const envChanged = Object.keys(envVars).length > 0 || unsetVariables.length > 0;
2418
+ // --unset removes the production-only marker with the variable.
2419
+ const unsetMarkers = unset.filter((key) => productionOnly.includes(key));
2364
2420
  const flagsRuntime = buildRuntimeFromFlags(args, app.runtime);
2365
2421
  const runtimeSpec = applyNodeSelectorFlags(args, flagsRuntime ?? app.runtime) ?? flagsRuntime;
2366
2422
  const description = readFlagValue(args, '--description');
@@ -2378,7 +2434,14 @@ async function updateSubcommand(args, positionals, apiOptions) {
2378
2434
  ...(runtimeSpec ? { runtime: runtimeSpec } : {}),
2379
2435
  // Only the keys given here change; the server merges masked values, so
2380
2436
  // untouched secrets survive.
2381
- ...(Object.keys(envVars).length > 0 ? { envVars: { ...(app.envVars ?? {}), ...envVars } } : {}),
2437
+ // The map replaces the stored set, so a key left out is removed (--unset).
2438
+ ...(envChanged ? {
2439
+ envVars: {
2440
+ ...Object.fromEntries(Object.entries(app.envVars ?? {}).filter(([key]) => !unset.includes(key))),
2441
+ ...envVars,
2442
+ },
2443
+ } : {}),
2444
+ ...(unsetMarkers.length > 0 ? { productionOnlyEnvKeys: productionOnly.filter((key) => !unsetMarkers.includes(key)) } : {}),
2382
2445
  ...(networkPolicy ? { networkPolicy } : {}),
2383
2446
  };
2384
2447
  if (Object.keys(patch).length === 0) {
@@ -2397,7 +2460,7 @@ async function updateSubcommand(args, positionals, apiOptions) {
2397
2460
  for (const line of updateTimingLines(updated.name, {
2398
2461
  hasProduction: Boolean(updated.productionReleaseId ?? app.productionReleaseId),
2399
2462
  ingress: ingress === 'public' || ingress === 'private' ? ingress : undefined,
2400
- nextRelease: Object.keys(envVars).length > 0 || runtimeSpec !== undefined
2463
+ nextRelease: envChanged || unsetMarkers.length > 0 || runtimeSpec !== undefined
2401
2464
  || readFlagValue(args, '--egress') !== undefined || volumeRunner !== undefined
2402
2465
  || location !== undefined,
2403
2466
  })) {
@@ -2505,8 +2568,25 @@ async function resolveExecApplication(identifier, apiOptions, json) {
2505
2568
  printInfo(dim(note));
2506
2569
  return detail;
2507
2570
  }
2571
+ /** The warning a wildcard bind must be confirmed against (dashboard text, CLI words). */
2572
+ export function wildcardRiskWarning(hostname) {
2573
+ return [
2574
+ `${hostname} is a mask — not recommended.`,
2575
+ ' It sends every first-level subdomain to this application, including services you may not',
2576
+ ' know about (APIs, webhooks, integrations), and those stop working. Requests meant for them',
2577
+ ' start arriving at the application with their cookies and tokens. Each subdomain gets its own',
2578
+ " certificate on its first request, and only a limited number of new ones per week (the Let's",
2579
+ ' Encrypt limit is shared by the whole domain); anyone can use that allowance up by requesting',
2580
+ ' random names, and new subdomains then get no certificate for up to a week.',
2581
+ ' Prefer binding the subdomains you need one by one; a mask suits',
2582
+ ' an application that serves many hosts itself (for example, a subdomain per customer).',
2583
+ ];
2584
+ }
2508
2585
  function printVerificationInstructions(domain) {
2509
2586
  const v = domain.verification;
2587
+ if (domain.certificates) {
2588
+ printInfo(dim(` ${domain.hostname} — ${domain.certificates.issuedThisWeek} of ${domain.certificates.weeklyLimit} new certificates this week`));
2589
+ }
2510
2590
  if (!v)
2511
2591
  return;
2512
2592
  // A verified hostname keeps its records on display: they are what gets compared with the
@@ -2580,7 +2660,20 @@ async function domainSubcommand(args, positionals, apiOptions) {
2580
2660
  }
2581
2661
  return;
2582
2662
  }
2583
- const domain = await addApplicationDomain(app.id, hostname, apiOptions);
2663
+ const wildcard = hostname.trim().startsWith('*.');
2664
+ if (wildcard) {
2665
+ // Not recommended, so never by accident: the API refuses it unless the
2666
+ // request says the risks were confirmed, which only happens here.
2667
+ for (const line of wildcardRiskWarning(hostname.trim()))
2668
+ printWarning(line);
2669
+ if (!runtime().yes) {
2670
+ const approved = await confirm(`Bind every subdomain matched by ${hostname.trim()} to ${app.name}?`, false);
2671
+ if (!approved) {
2672
+ throw usageError(`Refusing to bind the mask ${hostname.trim()} without confirmation`, `inquir apps domain ${app.name} '${hostname.trim()}' --yes`);
2673
+ }
2674
+ }
2675
+ }
2676
+ const domain = await addApplicationDomain(app.id, hostname, apiOptions, wildcard ? { acknowledgeWildcardRisks: true } : {});
2584
2677
  if (readJsonFlag(args)) {
2585
2678
  printLine(JSON.stringify(domain, null, 2));
2586
2679
  return;