ninedeploy 0.16.8 → 0.16.9

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
@@ -164,6 +164,14 @@ ninedeploy status-pages publish|unpublish|rm <id>
164
164
  ninedeploy status-pages notice <id> "Maintenance at 22:00" # --clear removes it
165
165
  ```
166
166
 
167
+ ### 🐤 Canary Releases (0.16.9)
168
+ ```bash
169
+ ninedeploy canary show web [--json] # Configuration, and the running canary: step, share, 5xx %, p95
170
+ ninedeploy canary set web --steps 10,50 --max-p95 800 # Options not given keep their value; --max-p95 off stops judging it
171
+ ninedeploy canary off web # The next deploy switches all traffic at once
172
+ ninedeploy canary promote web [--deployment <id>] # Skip the remaining steps; stop one with `deploys cancel`
173
+ ```
174
+
167
175
  ---
168
176
 
169
177
  ## 📄 License
@@ -0,0 +1,37 @@
1
+ import { type CanaryConfig, type CanaryConfigInput } from '@ninedeploy/schemas';
2
+ import type { NineDeployClient } from '../client.js';
3
+ export interface CanarySetOptions {
4
+ steps?: string;
5
+ stepSeconds?: string;
6
+ maxErrorRate?: string;
7
+ maxP95?: string;
8
+ minRequests?: string;
9
+ json?: boolean;
10
+ }
11
+ /**
12
+ * The fields the user gave, as a partial canary configuration; null after
13
+ * printing why one is not valid. Ranges are left to the schema.
14
+ */
15
+ export declare function canaryOptions(opts: CanarySetOptions): Partial<CanaryConfigInput> | null;
16
+ /**
17
+ * What `canary set` sends. A service that has a configuration keeps the
18
+ * values not given (the PATCH replaces the whole object). Without one, only
19
+ * the given values go, and the server fills in the rest; `steps` has no
20
+ * server default, so the documented default (10, 50) is sent when not given.
21
+ */
22
+ export declare function canaryBody(current: CanaryConfig | null | undefined, given: Partial<CanaryConfigInput>): CanaryConfigInput;
23
+ /** Seconds as `1m 20s`. */
24
+ export declare function fmtSeconds(total: number): string;
25
+ /** `ninedeploy canary show <service> [--json]` */
26
+ export declare function canaryShow(client: NineDeployClient, ref: string, opts?: {
27
+ json?: boolean;
28
+ }): Promise<void>;
29
+ /** `ninedeploy canary set <service> [...]` */
30
+ export declare function canarySet(client: NineDeployClient, ref: string, opts?: CanarySetOptions): Promise<void>;
31
+ /** `ninedeploy canary off <service>` */
32
+ export declare function canaryOff(client: NineDeployClient, ref: string): Promise<void>;
33
+ /** `ninedeploy canary promote <service> [--deployment <id>]` */
34
+ export declare function canaryPromote(client: NineDeployClient, ref: string, opts?: {
35
+ deployment?: string;
36
+ }): Promise<void>;
37
+ //# sourceMappingURL=canary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canary.d.ts","sourceRoot":"","sources":["../../src/commands/canary.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAGvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAwBrD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAqBD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAgCvF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAGzH;AAOD,2BAA2B;AAC3B,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhD;AAwCD,kDAAkD;AAClD,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBpH;AAED,8CAA8C;AAC9C,wBAAsB,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBjH;AAED,wCAAwC;AACxC,wBAAsB,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF;AAED,gEAAgE;AAChE,wBAAsB,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B5H"}
@@ -0,0 +1,230 @@
1
+ import { CANARY_DEFAULT_STEPS, canaryConfig, } from '@ninedeploy/schemas';
2
+ import { c, error, header, info, kv, spinner, success } from '../lib/format.js';
3
+ import { plain } from './sources.js';
4
+ import { resolveServiceRef } from './uptime.js';
5
+ /**
6
+ * 0.16.9 canary releases:
7
+ *
8
+ * ninedeploy canary show <service> [--json]
9
+ * ninedeploy canary set <service> [--steps 10,50] [--step-seconds 120] [--max-error-rate 5]
10
+ * [--max-p95 <ms>|off] [--min-requests 20] [--json]
11
+ * ninedeploy canary off <service>
12
+ * ninedeploy canary promote <service> [--deployment <id>]
13
+ *
14
+ * `<service>` is an id, a slug or a name. Stopping a running canary is
15
+ * `ninedeploy deploys cancel <serviceId> <deployId>`: all traffic goes back
16
+ * to the previous release.
17
+ */
18
+ const message = (err) => plain(err instanceof Error ? err.message : String(err));
19
+ /** Skip the spinner for `--json` so stdout stays parseable. */
20
+ const load = (json, msg, fn) => (json ? fn() : spinner(msg, fn));
21
+ /** Flag names for the schema fields, so a validation failure names what the user typed. */
22
+ const FLAG = {
23
+ steps: '--steps',
24
+ stepSeconds: '--step-seconds',
25
+ maxErrorRate: '--max-error-rate',
26
+ maxP95Ms: '--max-p95',
27
+ minRequests: '--min-requests',
28
+ };
29
+ /** A number option; null after printing why not. */
30
+ function numberOption(raw, flag) {
31
+ const n = Number(raw);
32
+ if (raw.trim() === '' || !Number.isFinite(n)) {
33
+ error(`${flag} must be a number`);
34
+ return null;
35
+ }
36
+ return n;
37
+ }
38
+ /**
39
+ * The fields the user gave, as a partial canary configuration; null after
40
+ * printing why one is not valid. Ranges are left to the schema.
41
+ */
42
+ export function canaryOptions(opts) {
43
+ const out = {};
44
+ if (opts.steps !== undefined) {
45
+ const parts = opts.steps.split(',').map((s) => s.trim());
46
+ const steps = parts.map(Number);
47
+ if (parts.some((p) => p === '') || steps.some((n) => !Number.isFinite(n))) {
48
+ error('--steps must be percentages separated by commas, for example 10,50');
49
+ return null;
50
+ }
51
+ out.steps = steps;
52
+ }
53
+ const numbers = [
54
+ ['stepSeconds', 'stepSeconds'],
55
+ ['maxErrorRate', 'maxErrorRate'],
56
+ ['minRequests', 'minRequests'],
57
+ ];
58
+ for (const [opt, field] of numbers) {
59
+ const raw = opts[opt];
60
+ if (typeof raw !== 'string')
61
+ continue;
62
+ const n = numberOption(raw, FLAG[field]);
63
+ if (n === null)
64
+ return null;
65
+ out[field] = n;
66
+ }
67
+ if (opts.maxP95 !== undefined) {
68
+ if (opts.maxP95.trim().toLowerCase() === 'off')
69
+ out.maxP95Ms = null;
70
+ else {
71
+ const n = numberOption(opts.maxP95, '--max-p95');
72
+ if (n === null)
73
+ return null;
74
+ out.maxP95Ms = n;
75
+ }
76
+ }
77
+ return out;
78
+ }
79
+ /**
80
+ * What `canary set` sends. A service that has a configuration keeps the
81
+ * values not given (the PATCH replaces the whole object). Without one, only
82
+ * the given values go, and the server fills in the rest; `steps` has no
83
+ * server default, so the documented default (10, 50) is sent when not given.
84
+ */
85
+ export function canaryBody(current, given) {
86
+ if (current)
87
+ return { ...current, ...given };
88
+ return { ...given, steps: given.steps ?? [...CANARY_DEFAULT_STEPS] };
89
+ }
90
+ /** A zod failure as one line, each issue led by the flag it is about. */
91
+ function validationMessage(err) {
92
+ return err.issues.map((i) => `${FLAG[String(i.path[0])] ?? 'canary'}: ${i.message}`).join('; ');
93
+ }
94
+ /** Seconds as `1m 20s`. */
95
+ export function fmtSeconds(total) {
96
+ const s = Math.max(0, Math.round(total));
97
+ const m = Math.floor(s / 60);
98
+ return m > 0 ? `${m}m ${s % 60}s` : `${s}s`;
99
+ }
100
+ function printConfig(cfg) {
101
+ if (!cfg) {
102
+ kv('Canary', c.gray('off: a deploy switches all traffic at once'));
103
+ return;
104
+ }
105
+ kv('Steps', cfg.steps.map((s) => `${s}%`).join(', '));
106
+ kv('Step length', fmtSeconds(cfg.stepSeconds));
107
+ kv('Max 5xx rate', `${cfg.maxErrorRate}%`);
108
+ kv('Max p95', cfg.maxP95Ms === null ? c.gray('not judged') : `${cfg.maxP95Ms} ms`);
109
+ kv('Min requests', cfg.minRequests);
110
+ }
111
+ function stats(s) {
112
+ if (!s)
113
+ return c.gray('—');
114
+ const rate = s.errorRate === null ? '—' : `${s.errorRate}%`;
115
+ const p95 = s.p95Ms === null ? '—' : `${s.p95Ms} ms`;
116
+ return `${s.requests} requests, 5xx ${rate}, p95 ${p95}`;
117
+ }
118
+ function printStatus(st, now) {
119
+ console.log();
120
+ if (!st.active) {
121
+ info('No canary is running.');
122
+ return;
123
+ }
124
+ console.log(` ${c.bold('Running canary')}`);
125
+ kv('Deployment', `#${st.deploymentId}`);
126
+ kv('Step', `${st.step}/${st.steps}`);
127
+ kv('Traffic', `${st.weight}% to the new release`);
128
+ if (st.stepEndsAt)
129
+ kv('Step ends in', fmtSeconds((Date.parse(st.stepEndsAt) - now) / 1000));
130
+ kv('New release', stats(st.canary));
131
+ kv('Previous', stats(st.stable));
132
+ if (st.measured === false) {
133
+ info('Traffic analytics is off: steps are judged on the healthcheck only.');
134
+ }
135
+ if (st.promoting)
136
+ info('Promote requested: all traffic is switching to the new release.');
137
+ }
138
+ /** `ninedeploy canary show <service> [--json]` */
139
+ export async function canaryShow(client, ref, opts = {}) {
140
+ try {
141
+ const id = await resolveServiceRef(client, ref);
142
+ if (id === null)
143
+ return;
144
+ const [svc, status] = await load(opts.json, 'Loading the canary', () => Promise.all([client.services.get(id), client.deploys.canary(id)]));
145
+ if (opts.json) {
146
+ console.log(JSON.stringify({ config: svc.canary ?? null, status }, null, 2));
147
+ return;
148
+ }
149
+ header(`Canary releases: ${plain(svc.name)}`);
150
+ printConfig(svc.canary);
151
+ printStatus(status, Date.now());
152
+ console.log();
153
+ }
154
+ catch (err) {
155
+ error(message(err));
156
+ }
157
+ }
158
+ /** `ninedeploy canary set <service> [...]` */
159
+ export async function canarySet(client, ref, opts = {}) {
160
+ const given = canaryOptions(opts);
161
+ if (given === null)
162
+ return;
163
+ try {
164
+ const id = await resolveServiceRef(client, ref);
165
+ if (id === null)
166
+ return;
167
+ const svc = await client.services.get(id);
168
+ const body = canaryBody(svc.canary, given);
169
+ const parsed = canaryConfig.safeParse(body);
170
+ if (!parsed.success) {
171
+ error(validationMessage(parsed.error));
172
+ return;
173
+ }
174
+ const updated = await load(opts.json, 'Saving the canary configuration', () => client.services.update(id, { canary: body }));
175
+ if (opts.json) {
176
+ console.log(JSON.stringify(updated.canary ?? null, null, 2));
177
+ return;
178
+ }
179
+ success(`Canary releases on for ${plain(updated.name)}. The next deploy uses them.`);
180
+ printConfig(updated.canary);
181
+ }
182
+ catch (err) {
183
+ error(message(err));
184
+ }
185
+ }
186
+ /** `ninedeploy canary off <service>` */
187
+ export async function canaryOff(client, ref) {
188
+ try {
189
+ const id = await resolveServiceRef(client, ref);
190
+ if (id === null)
191
+ return;
192
+ const updated = await spinner('Turning canary releases off', () => client.services.update(id, { canary: null }));
193
+ success(`Canary releases off for ${plain(updated.name)}. A deploy switches all traffic at once.`);
194
+ }
195
+ catch (err) {
196
+ error(message(err));
197
+ }
198
+ }
199
+ /** `ninedeploy canary promote <service> [--deployment <id>]` */
200
+ export async function canaryPromote(client, ref, opts = {}) {
201
+ let depId;
202
+ if (opts.deployment !== undefined) {
203
+ const n = Number(opts.deployment);
204
+ if (!Number.isInteger(n) || n <= 0) {
205
+ error('--deployment must be a positive integer');
206
+ return;
207
+ }
208
+ depId = n;
209
+ }
210
+ try {
211
+ const id = await resolveServiceRef(client, ref);
212
+ if (id === null)
213
+ return;
214
+ if (depId === undefined) {
215
+ const status = await client.deploys.canary(id);
216
+ if (!status.active || status.deploymentId === undefined) {
217
+ error('No canary is running on this service.');
218
+ return;
219
+ }
220
+ depId = status.deploymentId;
221
+ }
222
+ const target = depId;
223
+ await spinner('Promoting the canary', () => client.deploys.promoteCanary(id, target));
224
+ success(`Deployment #${target}: all traffic is switching to the new release.`);
225
+ }
226
+ catch (err) {
227
+ error(message(err));
228
+ }
229
+ }
230
+ //# sourceMappingURL=canary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canary.js","sourceRoot":"","sources":["../../src/commands/canary.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -48,6 +48,7 @@ import { panelBackupDecryptAction, panelBackupListAction, panelBackupNowAction,
48
48
  import { serversList, serversRoles, servicesPlacement, servicesSwarm, servicesTransfers, sourcesAllowOnNodes, sourcesHostKeys, sourcesPinHostKeys, sourcesResetHostKeys, swarmInit, swarmJoin, swarmLeave, swarmSetEnabled, swarmStatus, volumesCreate, } from './commands/multiNode.js';
49
49
  // ── end 0.16 T8 ──
50
50
  import { monitorsAdd, monitorsCheck, monitorsList, monitorsRemove, monitorsSetEnabled, monitorsShow, statusPagesAdd, statusPagesList, statusPagesNotice, statusPagesRemove, statusPagesSetPublished, } from './commands/uptime.js';
51
+ import { canaryOff, canaryPromote, canarySet, canaryShow } from './commands/canary.js';
51
52
  const program = new Command();
52
53
  program
53
54
  .name('ninedeploy')
@@ -988,6 +989,28 @@ statusPagesCmd.command('rm <id>')
988
989
  .option('-y, --yes', 'Skip the confirmation prompt')
989
990
  .action((id, opts) => statusPagesRemove(getClient(), id, opts));
990
991
  /* v8 ignore stop */
992
+ // ── 0.16.9: canary releases ──────────────────────────────────────────────
993
+ const canaryCmd = program.command('canary').description('Canary releases: shift traffic to a new release in steps');
994
+ /* v8 ignore start -- exercised by test/canary.test.ts. */
995
+ canaryCmd.command('show <service>')
996
+ .description('The canary configuration and the canary running now')
997
+ .option('--json', 'Print raw JSON')
998
+ .action((service, opts) => canaryShow(getClient(), service, opts));
999
+ canaryCmd.command('set <service>')
1000
+ .description('Turn canary releases on or change them (docker services); options not given keep their value')
1001
+ .option('--steps <list>', 'Percent of requests per step, rising, 1-99, up to 5 (default 10,50)')
1002
+ .option('--step-seconds <n>', 'Seconds per step (30-3600, default 120)')
1003
+ .option('--max-error-rate <percent>', 'Highest share of 5xx responses the new release may have (default 5)')
1004
+ .option('--max-p95 <ms>', 'Highest p95 response time in ms, or off (default off)')
1005
+ .option('--min-requests <n>', 'Fewer requests in a step are not judged (default 20)')
1006
+ .option('--json', 'Print the stored configuration as JSON')
1007
+ .action((service, opts) => canarySet(getClient(), service, opts));
1008
+ canaryCmd.command('off <service>').description('Turn canary releases off').action((service) => canaryOff(getClient(), service));
1009
+ canaryCmd.command('promote <service>')
1010
+ .description('Skip the remaining steps and send all traffic to the new release now')
1011
+ .option('--deployment <id>', 'The deployment to promote (default: the one running)')
1012
+ .action((service, opts) => canaryPromote(getClient(), service, opts));
1013
+ /* v8 ignore stop */
991
1014
  deploys.command('watch <serviceId> <deployId>').description('Stream a deployment\'s build logs live').action((svcId, depId) => deploysWatch(svcId, depId));
992
1015
  // ── Diagnostics ───────────────────────────────────────────────────────────
993
1016
  program
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ninedeploy",
3
- "version": "0.16.8",
3
+ "version": "0.16.9",
4
4
  "description": "Interactive CLI for NineDeploy self-hosted PaaS",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -20,8 +20,8 @@
20
20
  "ninedeploy": "./dist/index.js"
21
21
  },
22
22
  "dependencies": {
23
- "@ninedeploy/sdk": "0.16.8",
24
- "@ninedeploy/schemas": "0.16.8",
23
+ "@ninedeploy/sdk": "0.16.9",
24
+ "@ninedeploy/schemas": "0.16.9",
25
25
  "commander": "^15.0.0",
26
26
  "ws": "^8.21.3"
27
27
  },
@@ -0,0 +1,245 @@
1
+ import {
2
+ CANARY_DEFAULT_STEPS,
3
+ canaryConfig,
4
+ type CanaryConfig,
5
+ type CanaryConfigInput,
6
+ type CanaryReleaseStats,
7
+ type CanaryStatusView,
8
+ } from '@ninedeploy/schemas';
9
+ import type { NineDeployClient } from '../client.js';
10
+ import { c, error, header, info, kv, spinner, success } from '../lib/format.js';
11
+ import { plain } from './sources.js';
12
+ import { resolveServiceRef } from './uptime.js';
13
+
14
+ /**
15
+ * 0.16.9 canary releases:
16
+ *
17
+ * ninedeploy canary show <service> [--json]
18
+ * ninedeploy canary set <service> [--steps 10,50] [--step-seconds 120] [--max-error-rate 5]
19
+ * [--max-p95 <ms>|off] [--min-requests 20] [--json]
20
+ * ninedeploy canary off <service>
21
+ * ninedeploy canary promote <service> [--deployment <id>]
22
+ *
23
+ * `<service>` is an id, a slug or a name. Stopping a running canary is
24
+ * `ninedeploy deploys cancel <serviceId> <deployId>`: all traffic goes back
25
+ * to the previous release.
26
+ */
27
+
28
+ const message = (err: unknown): string => plain(err instanceof Error ? err.message : String(err));
29
+
30
+ /** Skip the spinner for `--json` so stdout stays parseable. */
31
+ const load = <T>(json: boolean | undefined, msg: string, fn: () => Promise<T>): Promise<T> => (json ? fn() : spinner(msg, fn));
32
+
33
+ export interface CanarySetOptions {
34
+ steps?: string;
35
+ stepSeconds?: string;
36
+ maxErrorRate?: string;
37
+ maxP95?: string;
38
+ minRequests?: string;
39
+ json?: boolean;
40
+ }
41
+
42
+ /** Flag names for the schema fields, so a validation failure names what the user typed. */
43
+ const FLAG: Record<string, string> = {
44
+ steps: '--steps',
45
+ stepSeconds: '--step-seconds',
46
+ maxErrorRate: '--max-error-rate',
47
+ maxP95Ms: '--max-p95',
48
+ minRequests: '--min-requests',
49
+ };
50
+
51
+ /** A number option; null after printing why not. */
52
+ function numberOption(raw: string, flag: string): number | null {
53
+ const n = Number(raw);
54
+ if (raw.trim() === '' || !Number.isFinite(n)) {
55
+ error(`${flag} must be a number`);
56
+ return null;
57
+ }
58
+ return n;
59
+ }
60
+
61
+ /**
62
+ * The fields the user gave, as a partial canary configuration; null after
63
+ * printing why one is not valid. Ranges are left to the schema.
64
+ */
65
+ export function canaryOptions(opts: CanarySetOptions): Partial<CanaryConfigInput> | null {
66
+ const out: Partial<CanaryConfigInput> = {};
67
+ if (opts.steps !== undefined) {
68
+ const parts = opts.steps.split(',').map((s) => s.trim());
69
+ const steps = parts.map(Number);
70
+ if (parts.some((p) => p === '') || steps.some((n) => !Number.isFinite(n))) {
71
+ error('--steps must be percentages separated by commas, for example 10,50');
72
+ return null;
73
+ }
74
+ out.steps = steps;
75
+ }
76
+ const numbers: Array<[keyof CanarySetOptions, 'stepSeconds' | 'maxErrorRate' | 'minRequests']> = [
77
+ ['stepSeconds', 'stepSeconds'],
78
+ ['maxErrorRate', 'maxErrorRate'],
79
+ ['minRequests', 'minRequests'],
80
+ ];
81
+ for (const [opt, field] of numbers) {
82
+ const raw = opts[opt];
83
+ if (typeof raw !== 'string') continue;
84
+ const n = numberOption(raw, FLAG[field]!);
85
+ if (n === null) return null;
86
+ out[field] = n;
87
+ }
88
+ if (opts.maxP95 !== undefined) {
89
+ if (opts.maxP95.trim().toLowerCase() === 'off') out.maxP95Ms = null;
90
+ else {
91
+ const n = numberOption(opts.maxP95, '--max-p95');
92
+ if (n === null) return null;
93
+ out.maxP95Ms = n;
94
+ }
95
+ }
96
+ return out;
97
+ }
98
+
99
+ /**
100
+ * What `canary set` sends. A service that has a configuration keeps the
101
+ * values not given (the PATCH replaces the whole object). Without one, only
102
+ * the given values go, and the server fills in the rest; `steps` has no
103
+ * server default, so the documented default (10, 50) is sent when not given.
104
+ */
105
+ export function canaryBody(current: CanaryConfig | null | undefined, given: Partial<CanaryConfigInput>): CanaryConfigInput {
106
+ if (current) return { ...current, ...given };
107
+ return { ...given, steps: given.steps ?? [...CANARY_DEFAULT_STEPS] };
108
+ }
109
+
110
+ /** A zod failure as one line, each issue led by the flag it is about. */
111
+ function validationMessage(err: { issues: Array<{ path: PropertyKey[]; message: string }> }): string {
112
+ return err.issues.map((i) => `${FLAG[String(i.path[0])] ?? 'canary'}: ${i.message}`).join('; ');
113
+ }
114
+
115
+ /** Seconds as `1m 20s`. */
116
+ export function fmtSeconds(total: number): string {
117
+ const s = Math.max(0, Math.round(total));
118
+ const m = Math.floor(s / 60);
119
+ return m > 0 ? `${m}m ${s % 60}s` : `${s}s`;
120
+ }
121
+
122
+ function printConfig(cfg: CanaryConfig | null | undefined): void {
123
+ if (!cfg) {
124
+ kv('Canary', c.gray('off: a deploy switches all traffic at once'));
125
+ return;
126
+ }
127
+ kv('Steps', cfg.steps.map((s) => `${s}%`).join(', '));
128
+ kv('Step length', fmtSeconds(cfg.stepSeconds));
129
+ kv('Max 5xx rate', `${cfg.maxErrorRate}%`);
130
+ kv('Max p95', cfg.maxP95Ms === null ? c.gray('not judged') : `${cfg.maxP95Ms} ms`);
131
+ kv('Min requests', cfg.minRequests);
132
+ }
133
+
134
+ function stats(s: CanaryReleaseStats | undefined): string {
135
+ if (!s) return c.gray('—');
136
+ const rate = s.errorRate === null ? '—' : `${s.errorRate}%`;
137
+ const p95 = s.p95Ms === null ? '—' : `${s.p95Ms} ms`;
138
+ return `${s.requests} requests, 5xx ${rate}, p95 ${p95}`;
139
+ }
140
+
141
+ function printStatus(st: CanaryStatusView, now: number): void {
142
+ console.log();
143
+ if (!st.active) {
144
+ info('No canary is running.');
145
+ return;
146
+ }
147
+ console.log(` ${c.bold('Running canary')}`);
148
+ kv('Deployment', `#${st.deploymentId}`);
149
+ kv('Step', `${st.step}/${st.steps}`);
150
+ kv('Traffic', `${st.weight}% to the new release`);
151
+ if (st.stepEndsAt) kv('Step ends in', fmtSeconds((Date.parse(st.stepEndsAt) - now) / 1000));
152
+ kv('New release', stats(st.canary));
153
+ kv('Previous', stats(st.stable));
154
+ if (st.measured === false) {
155
+ info('Traffic analytics is off: steps are judged on the healthcheck only.');
156
+ }
157
+ if (st.promoting) info('Promote requested: all traffic is switching to the new release.');
158
+ }
159
+
160
+ /** `ninedeploy canary show <service> [--json]` */
161
+ export async function canaryShow(client: NineDeployClient, ref: string, opts: { json?: boolean } = {}): Promise<void> {
162
+ try {
163
+ const id = await resolveServiceRef(client, ref);
164
+ if (id === null) return;
165
+ const [svc, status] = await load(opts.json, 'Loading the canary', () => Promise.all([client.services.get(id), client.deploys.canary(id)]));
166
+ if (opts.json) {
167
+ console.log(JSON.stringify({ config: svc.canary ?? null, status }, null, 2));
168
+ return;
169
+ }
170
+ header(`Canary releases: ${plain(svc.name)}`);
171
+ printConfig(svc.canary);
172
+ printStatus(status, Date.now());
173
+ console.log();
174
+ } catch (err) {
175
+ error(message(err));
176
+ }
177
+ }
178
+
179
+ /** `ninedeploy canary set <service> [...]` */
180
+ export async function canarySet(client: NineDeployClient, ref: string, opts: CanarySetOptions = {}): Promise<void> {
181
+ const given = canaryOptions(opts);
182
+ if (given === null) return;
183
+ try {
184
+ const id = await resolveServiceRef(client, ref);
185
+ if (id === null) return;
186
+ const svc = await client.services.get(id);
187
+ const body = canaryBody(svc.canary, given);
188
+ const parsed = canaryConfig.safeParse(body);
189
+ if (!parsed.success) {
190
+ error(validationMessage(parsed.error));
191
+ return;
192
+ }
193
+ const updated = await load(opts.json, 'Saving the canary configuration', () => client.services.update(id, { canary: body }));
194
+ if (opts.json) {
195
+ console.log(JSON.stringify(updated.canary ?? null, null, 2));
196
+ return;
197
+ }
198
+ success(`Canary releases on for ${plain(updated.name)}. The next deploy uses them.`);
199
+ printConfig(updated.canary);
200
+ } catch (err) {
201
+ error(message(err));
202
+ }
203
+ }
204
+
205
+ /** `ninedeploy canary off <service>` */
206
+ export async function canaryOff(client: NineDeployClient, ref: string): Promise<void> {
207
+ try {
208
+ const id = await resolveServiceRef(client, ref);
209
+ if (id === null) return;
210
+ const updated = await spinner('Turning canary releases off', () => client.services.update(id, { canary: null }));
211
+ success(`Canary releases off for ${plain(updated.name)}. A deploy switches all traffic at once.`);
212
+ } catch (err) {
213
+ error(message(err));
214
+ }
215
+ }
216
+
217
+ /** `ninedeploy canary promote <service> [--deployment <id>]` */
218
+ export async function canaryPromote(client: NineDeployClient, ref: string, opts: { deployment?: string } = {}): Promise<void> {
219
+ let depId: number | undefined;
220
+ if (opts.deployment !== undefined) {
221
+ const n = Number(opts.deployment);
222
+ if (!Number.isInteger(n) || n <= 0) {
223
+ error('--deployment must be a positive integer');
224
+ return;
225
+ }
226
+ depId = n;
227
+ }
228
+ try {
229
+ const id = await resolveServiceRef(client, ref);
230
+ if (id === null) return;
231
+ if (depId === undefined) {
232
+ const status = await client.deploys.canary(id);
233
+ if (!status.active || status.deploymentId === undefined) {
234
+ error('No canary is running on this service.');
235
+ return;
236
+ }
237
+ depId = status.deploymentId;
238
+ }
239
+ const target = depId;
240
+ await spinner('Promoting the canary', () => client.deploys.promoteCanary(id, target));
241
+ success(`Deployment #${target}: all traffic is switching to the new release.`);
242
+ } catch (err) {
243
+ error(message(err));
244
+ }
245
+ }
package/src/index.ts CHANGED
@@ -143,6 +143,7 @@ import {
143
143
  statusPagesAdd, statusPagesList, statusPagesNotice, statusPagesRemove, statusPagesSetPublished,
144
144
  type MonitorAddOptions,
145
145
  } from './commands/uptime.js';
146
+ import { canaryOff, canaryPromote, canarySet, canaryShow, type CanarySetOptions } from './commands/canary.js';
146
147
 
147
148
  const program = new Command();
148
149
 
@@ -1209,6 +1210,29 @@ statusPagesCmd.command('rm <id>')
1209
1210
  .action((id: string, opts: { yes?: boolean }) => statusPagesRemove(getClient(), id, opts));
1210
1211
  /* v8 ignore stop */
1211
1212
 
1213
+ // ── 0.16.9: canary releases ──────────────────────────────────────────────
1214
+ const canaryCmd = program.command('canary').description('Canary releases: shift traffic to a new release in steps');
1215
+ /* v8 ignore start -- exercised by test/canary.test.ts. */
1216
+ canaryCmd.command('show <service>')
1217
+ .description('The canary configuration and the canary running now')
1218
+ .option('--json', 'Print raw JSON')
1219
+ .action((service: string, opts: { json?: boolean }) => canaryShow(getClient(), service, opts));
1220
+ canaryCmd.command('set <service>')
1221
+ .description('Turn canary releases on or change them (docker services); options not given keep their value')
1222
+ .option('--steps <list>', 'Percent of requests per step, rising, 1-99, up to 5 (default 10,50)')
1223
+ .option('--step-seconds <n>', 'Seconds per step (30-3600, default 120)')
1224
+ .option('--max-error-rate <percent>', 'Highest share of 5xx responses the new release may have (default 5)')
1225
+ .option('--max-p95 <ms>', 'Highest p95 response time in ms, or off (default off)')
1226
+ .option('--min-requests <n>', 'Fewer requests in a step are not judged (default 20)')
1227
+ .option('--json', 'Print the stored configuration as JSON')
1228
+ .action((service: string, opts: CanarySetOptions) => canarySet(getClient(), service, opts));
1229
+ canaryCmd.command('off <service>').description('Turn canary releases off').action((service: string) => canaryOff(getClient(), service));
1230
+ canaryCmd.command('promote <service>')
1231
+ .description('Skip the remaining steps and send all traffic to the new release now')
1232
+ .option('--deployment <id>', 'The deployment to promote (default: the one running)')
1233
+ .action((service: string, opts: { deployment?: string }) => canaryPromote(getClient(), service, opts));
1234
+ /* v8 ignore stop */
1235
+
1212
1236
  deploys.command('watch <serviceId> <deployId>').description('Stream a deployment\'s build logs live').action((svcId: string, depId: string) => deploysWatch(svcId, depId));
1213
1237
 
1214
1238
  // ── Diagnostics ───────────────────────────────────────────────────────────