ninedeploy 0.3.4 → 0.5.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.
Files changed (90) hide show
  1. package/dist/commands/branding.d.ts +31 -0
  2. package/dist/commands/branding.d.ts.map +1 -0
  3. package/dist/commands/branding.js +48 -0
  4. package/dist/commands/branding.js.map +1 -0
  5. package/dist/commands/buildCache.d.ts +27 -0
  6. package/dist/commands/buildCache.d.ts.map +1 -0
  7. package/dist/commands/buildCache.js +46 -0
  8. package/dist/commands/buildCache.js.map +1 -0
  9. package/dist/commands/certificates.d.ts +15 -0
  10. package/dist/commands/certificates.d.ts.map +1 -0
  11. package/dist/commands/certificates.js +57 -0
  12. package/dist/commands/certificates.js.map +1 -0
  13. package/dist/commands/communityTemplates.d.ts +24 -0
  14. package/dist/commands/communityTemplates.d.ts.map +1 -0
  15. package/dist/commands/communityTemplates.js +79 -0
  16. package/dist/commands/communityTemplates.js.map +1 -0
  17. package/dist/commands/configPresets.d.ts +51 -0
  18. package/dist/commands/configPresets.d.ts.map +1 -0
  19. package/dist/commands/configPresets.js +166 -0
  20. package/dist/commands/configPresets.js.map +1 -0
  21. package/dist/commands/domains.d.ts +70 -0
  22. package/dist/commands/domains.d.ts.map +1 -0
  23. package/dist/commands/domains.js +97 -0
  24. package/dist/commands/domains.js.map +1 -0
  25. package/dist/commands/egress.d.ts +43 -0
  26. package/dist/commands/egress.d.ts.map +1 -0
  27. package/dist/commands/egress.js +80 -0
  28. package/dist/commands/egress.js.map +1 -0
  29. package/dist/commands/emailTemplates.d.ts +19 -0
  30. package/dist/commands/emailTemplates.d.ts.map +1 -0
  31. package/dist/commands/emailTemplates.js +86 -0
  32. package/dist/commands/emailTemplates.js.map +1 -0
  33. package/dist/commands/housekeeping.d.ts +24 -0
  34. package/dist/commands/housekeeping.d.ts.map +1 -1
  35. package/dist/commands/housekeeping.js +62 -1
  36. package/dist/commands/housekeeping.js.map +1 -1
  37. package/dist/commands/logs.d.ts +15 -0
  38. package/dist/commands/logs.d.ts.map +1 -0
  39. package/dist/commands/logs.js +58 -0
  40. package/dist/commands/logs.js.map +1 -0
  41. package/dist/commands/manage.d.ts +45 -0
  42. package/dist/commands/manage.d.ts.map +1 -1
  43. package/dist/commands/manage.js +153 -0
  44. package/dist/commands/manage.js.map +1 -1
  45. package/dist/commands/manifest.d.ts +12 -6
  46. package/dist/commands/manifest.d.ts.map +1 -1
  47. package/dist/commands/manifest.js +87 -12
  48. package/dist/commands/manifest.js.map +1 -1
  49. package/dist/commands/metrics.d.ts +37 -0
  50. package/dist/commands/metrics.d.ts.map +1 -0
  51. package/dist/commands/metrics.js +43 -0
  52. package/dist/commands/metrics.js.map +1 -0
  53. package/dist/commands/misc.d.ts +35 -0
  54. package/dist/commands/misc.d.ts.map +1 -1
  55. package/dist/commands/misc.js +135 -1
  56. package/dist/commands/misc.js.map +1 -1
  57. package/dist/commands/notifications.d.ts +59 -0
  58. package/dist/commands/notifications.d.ts.map +1 -0
  59. package/dist/commands/notifications.js +157 -0
  60. package/dist/commands/notifications.js.map +1 -0
  61. package/dist/commands/pgbouncer.d.ts +17 -0
  62. package/dist/commands/pgbouncer.d.ts.map +1 -0
  63. package/dist/commands/pgbouncer.js +46 -0
  64. package/dist/commands/pgbouncer.js.map +1 -0
  65. package/dist/commands/plugins.d.ts +3 -0
  66. package/dist/commands/plugins.d.ts.map +1 -1
  67. package/dist/commands/plugins.js +20 -1
  68. package/dist/commands/plugins.js.map +1 -1
  69. package/dist/commands/services.d.ts +14 -0
  70. package/dist/commands/services.d.ts.map +1 -1
  71. package/dist/commands/services.js +29 -0
  72. package/dist/commands/services.js.map +1 -1
  73. package/dist/commands/sso.d.ts +31 -0
  74. package/dist/commands/sso.d.ts.map +1 -0
  75. package/dist/commands/sso.js +77 -0
  76. package/dist/commands/sso.js.map +1 -0
  77. package/dist/commands/templates.d.ts +22 -0
  78. package/dist/commands/templates.d.ts.map +1 -0
  79. package/dist/commands/templates.js +122 -0
  80. package/dist/commands/templates.js.map +1 -0
  81. package/dist/commands/token.d.ts +10 -0
  82. package/dist/commands/token.d.ts.map +1 -1
  83. package/dist/commands/token.js +24 -1
  84. package/dist/commands/token.js.map +1 -1
  85. package/dist/index.js +292 -9
  86. package/dist/index.js.map +1 -1
  87. package/dist/lib/format.d.ts.map +1 -1
  88. package/dist/lib/format.js +18 -3
  89. package/dist/lib/format.js.map +1 -1
  90. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -2,17 +2,23 @@
2
2
  import { Command } from 'commander';
3
3
  import { getClient } from './client.js';
4
4
  import { loadConfig, saveConfig } from './config.js';
5
- import { banner } from './lib/format.js';
5
+ import { banner, error } from './lib/format.js';
6
6
  import { loginAction } from './commands/login.js';
7
7
  import { setupAction } from './commands/setup.js';
8
- import { servicesCompose, servicesCreate, servicesDelete, servicesDeploy, servicesExport, servicesGet, servicesInspect, servicesLifecycle, servicesList, servicesLogs, } from './commands/services.js';
9
- import { dbCreate, dbList, deploysList, deploysRollback, systemDashboard, systemInfo, systemUpdateCheck, tplDeploy, tplList, tokenCreate, tokenList, } from './commands/misc.js';
10
- import { activityList, alertsCreate, alertsList, alertsRemove, backupsCreate, backupsList, backupsRestore, deploysWatch, domainsAdd, domainsList, domainsRemove, envList, envRemove, envSet, networksCreate, networksList, networksRemove, sessionsList, sessionsRevoke, systemExport, systemImport, usersList, usersResetLink, volumesList, volumesRemove, } from './commands/manage.js';
11
- import { pluginsList, pluginsMarketplace, pluginsInstall, pluginsEnable, pluginsDisable, pluginsUninstall, pluginsInspect, pluginsReload, } from './commands/plugins.js';
8
+ import { servicesCompose, servicesCreate, servicesDelete, servicesDeploy, servicesExport, servicesGet, servicesInspect, servicesLifecycle, servicesList, servicesLogs, servicesStickyAction, } from './commands/services.js';
9
+ import { dbCreate, dbList, deploysCancel, deploysList, deploysQueue, deploysRemove, deploysRollback, systemDashboard, systemInfo, systemRotateKeys, systemUpdateCheck, tplDeploy, tplList, tokenCreate, tokenList, } from './commands/misc.js';
10
+ import { activityList, alertsCreate, alertsList, alertsRemove, backupsCreate, backupsDrill, backupsDrills, backupsList, backupsRestore, deploysWatch, domainsAcceptTransfer, domainsAdd, domainsCancelTransfer, domainsList, domainsPreviewTransfer, domainsRemove, domainsTransfer, envList, envRemove, envSet, networksCreate, networksList, networksRemove, sessionsList, sessionsRevoke, systemExport, systemImport, usersList, usersResetLink, volumesList, volumesRemove, } from './commands/manage.js';
11
+ import { notificationsCreateFcm as _notifCreateFcm, notificationsCreateWebhook as _notifCreateWebhook, notificationsList as _notifList, notificationsRemove as _notifRemove, notificationsTest as _notifTest, } from './commands/notifications.js';
12
+ import { databasePgbouncer } from './commands/pgbouncer.js';
13
+ import { logsSearch } from './commands/logs.js';
14
+ import { emailTemplatesList, emailTemplatesPreview, emailTemplatesReset, emailTemplatesSet, } from './commands/emailTemplates.js';
15
+ import { certificatesExpiring, certificatesList, } from './commands/certificates.js';
16
+ import { communityTemplatesImport, communityTemplatesList, communityTemplatesRemove, } from './commands/communityTemplates.js';
17
+ import { pluginsList, pluginsMarketplace, pluginsMarketplaceRefresh, pluginsInstall, pluginsEnable, pluginsDisable, pluginsUninstall, pluginsInspect, pluginsReload, } from './commands/plugins.js';
12
18
  import { configCenterList, configCenterGet, configCenterSet, configCenterDelete, } from './commands/configCenter.js';
13
19
  import { demoSeed } from './commands/demo.js';
14
20
  import { workspacesList, workspacesGet, workspacesCreate, workspacesDelete, } from './commands/workspaces.js';
15
- import { housekeepingPrune } from './commands/housekeeping.js';
21
+ import { housekeepingPrune, imagesList, imagesPrune } from './commands/housekeeping.js';
16
22
  import { serverStartAction, serverStopAction, serverStatusAction, serverLogsAction, } from './commands/server.js';
17
23
  import { doctorAction } from './commands/doctor.js';
18
24
  import { firewallStatus, firewallToggle, firewallAddRule, firewallDeleteRule, firewallApplyRecommended, } from './commands/firewall.js';
@@ -20,11 +26,19 @@ import { sourcesAdd, sourcesKeygen, sourcesList, sourcesRemove, sourcesShow, sou
20
26
  import { webhooksAdd, webhooksList, webhooksRemove, webhooksShow, } from './commands/webhooks.js';
21
27
  import { deployFromGithub } from './commands/deploy.js';
22
28
  import { manifestApply, manifestInit, manifestShow, manifestValidate } from './commands/manifest.js';
29
+ import { templatesInit } from './commands/templates.js';
30
+ import { domainsPresetAddNamecheapAction, domainsPresetApplyAction, domainsPresetListAction, } from './commands/domains.js';
31
+ import { configPresetApplyAction, configPresetGetAction, configPresetListAction, configPresetRegisterAction, configPresetRemoveAction, } from './commands/configPresets.js';
32
+ import { metricsFlushAction, metricsShowAction, } from './commands/metrics.js';
33
+ import { buildCacheStatsAction, } from './commands/buildCache.js';
34
+ import { brandingGetAction, brandingSetAction, } from './commands/branding.js';
35
+ import { egressClearAction, egressListAction, egressSetAction, } from './commands/egress.js';
36
+ import { ssoAddAction, ssoListAction, ssoRemoveAction, } from './commands/sso.js';
23
37
  const program = new Command();
24
38
  program
25
39
  .name('ninedeploy')
26
40
  .description('NineDeploy — self-hosted deployment platform CLI\n\n Deploy apps from Git or Docker Hub in one click.')
27
- .version('0.3.4')
41
+ .version('0.5.0')
28
42
  .helpOption('-h, --help', 'Display this help');
29
43
  // ── Auth ──────────────────────────────────────────────────────────────────
30
44
  program
@@ -100,18 +114,53 @@ services.command('delete <id>').description('Delete a service (with confirmation
100
114
  services.command('export <id>').description('Export a service as a JSON bundle').action((id) => servicesExport(getClient(), id));
101
115
  services.command('compose <id>').description('Show generated runtime Docker Compose YAML').action((id) => servicesCompose(getClient(), id));
102
116
  services.command('inspect <id>').description('Inspect runtime container and Traefik tags').action((id) => servicesInspect(getClient(), id));
117
+ services.command('sticky <id>')
118
+ .description('Toggle sticky-session routing (Traefik sticky cookie, G-28)')
119
+ .option('--enable', 'Route every request to the same backend container')
120
+ .option('--disable', 'Remove the sticky-cookie middleware')
121
+ .action((id, opts) => servicesStickyAction(getClient(), id, opts));
103
122
  // ── Databases ────────────────────────────────────────────────────────────
104
123
  const databases = program.command('databases').description('Manage databases');
105
124
  databases.command('list').description('List all databases').action(() => dbList(getClient()));
106
125
  databases.command('create').description('Create a database (interactive)').action(() => dbCreate(getClient()));
126
+ // ── PgBouncer sidecar (G-32) ─────────────────────────────────────────────
127
+ databases
128
+ .command('pgbouncer <dbId> <action>')
129
+ .description('Manage the PgBouncer sidecar: enable | disable | status (postgres only)')
130
+ .option('--port <port>', 'Override the listen port (enable only)', (v) => Number(v))
131
+ .action((dbId, action, opts) => databasePgbouncer(getClient(), dbId, action, opts));
107
132
  // ── Templates ─────────────────────────────────────────────────────────────
108
- const templates = program.command('templates').description('Browse the template hub');
133
+ const templates = program.command('templates').description('Browse the template hub and scaffold starter manifests from it');
109
134
  templates.command('list').description('List all templates').action(() => tplList(getClient()));
110
135
  templates.command('deploy <id>').description('Deploy a template by ID').action((id) => tplDeploy(getClient(), id));
136
+ // ── Community templates (G-13) ───────────────────────────────────────────
137
+ const community = templates.command('community').description('Manage per-instance community template contributions');
138
+ community
139
+ .command('list')
140
+ .description('List every community template (curated + community merged in the regular `list`)')
141
+ .action(() => communityTemplatesList(getClient()));
142
+ community
143
+ .command('import <file>')
144
+ .description('Import a community template (file path, or `-` for stdin)')
145
+ .option('--replace', 'Overwrite an existing template with the same id')
146
+ .action((file, opts) => communityTemplatesImport(getClient(), file, opts));
147
+ community
148
+ .command('remove <id>')
149
+ .description('Remove a community template by id')
150
+ .action((id) => communityTemplatesRemove(getClient(), id));
111
151
  // ── Deploys ───────────────────────────────────────────────────────────────
112
152
  const deploys = program.command('deploys').description('Manage deployments');
153
+ deploys
154
+ .command('queue')
155
+ .description('List every in-flight (queued / building / deploying) deploy across all services you can see')
156
+ .action(() => deploysQueue(getClient()));
113
157
  deploys.command('list <serviceId>').description('List deployments for a service').action((id) => deploysList(getClient(), id));
114
158
  deploys.command('rollback <serviceId> <deployId>').description('Rollback to a previous deployment').action((svcId, depId) => deploysRollback(getClient(), svcId, depId));
159
+ deploys.command('cancel <serviceId> <deployId>').description('Cancel a queued or in-flight deployment').action((svcId, depId) => deploysCancel(getClient(), svcId, depId));
160
+ deploys.command('rm <serviceId> <deployId>')
161
+ .description('Remove a finished deployment from history, with its build log')
162
+ .option('-y, --yes', 'Skip the confirmation prompt')
163
+ .action((svcId, depId, opts) => deploysRemove(getClient(), svcId, depId, opts.yes === true));
115
164
  // ── Token ─────────────────────────────────────────────────────────────────
116
165
  const token = program.command('token').description('Manage API tokens');
117
166
  token.command('create').description('Create a new API token').action(() => tokenCreate(getClient()));
@@ -123,6 +172,9 @@ system.command('dashboard').description('Live dashboard with service health').ac
123
172
  system.command('update-check').description('Compare the running version with the latest release')
124
173
  .option('-f, --force', 'Bypass the 6h cache')
125
174
  .action((opts) => systemUpdateCheck(getClient(), opts.force === true));
175
+ system.command('rotate-keys')
176
+ .description('Re-encrypt every stored secret onto the newest NINEDEPLOY_MASTER_KEYS version')
177
+ .action(() => systemRotateKeys(getClient()));
126
178
  // ── Env vars ──────────────────────────────────────────────────────────────
127
179
  const envCmd = program.command('env').description('Manage service environment variables');
128
180
  envCmd.command('list <serviceId>').description('List a service\'s env vars').action((id) => envList(getClient(), id));
@@ -140,6 +192,134 @@ domainsCmd.command('add <serviceId> <host>')
140
192
  .option('--no-ssl', 'Serve over plain HTTP (no TLS)')
141
193
  .action((id, host, opts) => domainsAdd(getClient(), id, host, opts));
142
194
  domainsCmd.command('rm <serviceId> <domainId>').description('Remove a domain').action((svcId, domId) => domainsRemove(getClient(), svcId, domId));
195
+ // Domain transfer (G-29) — start / preview / accept / cancel.
196
+ domainsCmd
197
+ .command('transfer <domainId>')
198
+ .description('Start a domain transfer to a target email; prints an accept URL')
199
+ .requiredOption('--to <email>', 'Email of the target user (existing or future)')
200
+ .action((domainId, opts) => domainsTransfer(getClient(), domainId, opts));
201
+ domainsCmd
202
+ .command('preview-transfer <token>')
203
+ .description('Preview a pending transfer by token (no auth required)')
204
+ .action((token) => domainsPreviewTransfer(getClient(), token));
205
+ domainsCmd
206
+ .command('accept-transfer <token>')
207
+ .description('Accept a transfer as the target user; the domain moves to the given service')
208
+ .requiredOption('--service-id <id>', 'Target service id (must be one the caller can admin)')
209
+ .action((token, opts) => domainsAcceptTransfer(getClient(), token, opts));
210
+ domainsCmd
211
+ .command('cancel-transfer <token>')
212
+ .description('Cancel a pending transfer (source user or instance operator only)')
213
+ .action((token) => domainsCancelTransfer(getClient(), token));
214
+ const domainsPresetsCmd = domainsCmd.command('preset').description('Manage DNS presets (IDomainProvider automation)');
215
+ domainsPresetsCmd.command('list').description('List registered IDomainProvider drivers').action(() => domainsPresetListAction(getClient()));
216
+ domainsPresetsCmd.command('apply <hostname>')
217
+ .description('Create a DNS record for the given hostname via the active provider')
218
+ .option('-c, --content <content>', 'Override the record content (A record IPv4 or CNAME hostname)')
219
+ .action((hostname, opts) => domainsPresetApplyAction(getClient(), hostname, { content: opts.content }));
220
+ domainsPresetsCmd
221
+ .command('add namecheap')
222
+ .description('Save Namecheap API credentials so dns_records_provider=namecheap can be used')
223
+ .requiredOption('--api-user <user>', 'Namecheap username (account owner)')
224
+ .requiredOption('--api-key <key>', 'Namecheap API key (the key itself; the server encrypts it at rest)')
225
+ .requiredOption('--client-ip <ip>', 'Public IPv4 of this server, already whitelisted on the Namecheap account panel')
226
+ .action((opts) => domainsPresetAddNamecheapAction(getClient(), { apiUser: opts.apiUser, apiKey: opts.apiKey, clientIp: opts.clientIp }));
227
+ // ── Config Presets ───────────────────────────────────────────────────────
228
+ const configPresetsCmd = program.command('config-preset').description('Manage named configCenter bundles that can be re-applied to a fresh instance');
229
+ configPresetsCmd.command('list').description('List every registered preset id').action(() => configPresetListAction(getClient()));
230
+ configPresetsCmd.command('get <id>').description('Show a preset\'s values and description').action((id) => configPresetGetAction(getClient(), id));
231
+ configPresetsCmd.command('register <id>')
232
+ .description('Register a preset from a JSON values file (key → value object)')
233
+ .option('-f, --file <file>', 'JSON file with key → value pairs (required, validated inside the action)')
234
+ .option('-d, --description <text>', 'Optional human description (max 500 chars)')
235
+ .action((id, opts) => configPresetRegisterAction(getClient(), id, { file: opts.file, description: opts.description }));
236
+ configPresetsCmd.command('apply <id>')
237
+ .description('Write every value in the preset to configCenter (idempotent)')
238
+ .option('--override <json>', 'Inline JSON object of one-shot overrides for this call only')
239
+ .action((id, opts) => {
240
+ let override;
241
+ if (opts.override) {
242
+ try {
243
+ override = JSON.parse(opts.override);
244
+ }
245
+ catch (err) {
246
+ error(`Invalid --override JSON: ${err instanceof Error ? err.message : String(err)}`);
247
+ process.exitCode = 1;
248
+ return;
249
+ }
250
+ }
251
+ void configPresetApplyAction(getClient(), id, { override });
252
+ });
253
+ configPresetsCmd.command('remove <id>').description('Unregister a preset (does NOT undo the live apply)').action((id) => configPresetRemoveAction(getClient(), id));
254
+ // ── Metrics (G-09) ────────────────────────────────────────────────────────
255
+ const metricsCmd = program.command('metrics').description('Metric history plugin — archive kernel events to a pluggable backend (G-09)');
256
+ metricsCmd.command('show').description('Show the active backend, events, and last flush marker').action(() => metricsShowAction(getClient()));
257
+ metricsCmd.command('flush').description('Run the built-in backend retention sweep').action(() => metricsFlushAction(getClient()));
258
+ // ── Build Cache (G-01) ────────────────────────────────────────────────────
259
+ const buildCacheCmd = program.command('build-cache').description('Build cache plugin — per-backend LRU stats (G-01)');
260
+ buildCacheCmd.command('stats').description('Show per-backend cache counters and the merged totals').action(() => buildCacheStatsAction(getClient()));
261
+ // ── Branding (G-30) ───────────────────────────────────────────────────────
262
+ const brandingCmd = program.command('branding').description('Override the panel logo, color, support email and footer (G-30)');
263
+ brandingCmd.command('get').description('Show the current branding overrides').action(() => brandingGetAction(getClient()));
264
+ brandingCmd
265
+ .command('set')
266
+ .description('Override one or more branding fields')
267
+ .option('--logo-url <url>', 'Logo URL (use --logo-url="" to clear)')
268
+ .option('--primary-color <hex>', 'Primary color (hex code, e.g. #1d4ed8)')
269
+ .option('--support-email <addr>', 'Support email shown in the help menu')
270
+ .option('--footer-html <html>', 'Custom footer HTML for the sign-in page')
271
+ .action((opts) => {
272
+ // Empty strings map to `null` so the operator can clear a value.
273
+ const cleaned = {};
274
+ if (opts.logoUrl !== undefined)
275
+ cleaned.logoUrl = opts.logoUrl;
276
+ if (opts.primaryColor !== undefined)
277
+ cleaned.primaryColor = opts.primaryColor;
278
+ if (opts.supportEmail !== undefined)
279
+ cleaned.supportEmail = opts.supportEmail;
280
+ if (opts.footerHtml !== undefined)
281
+ cleaned.footerHtml = opts.footerHtml;
282
+ void brandingSetAction(getClient(), cleaned);
283
+ });
284
+ // ── Egress IP (G-15) ─────────────────────────────────────────────────────
285
+ const egressCmd = program.command('egress').description('Manage per-project outbound IP rules (G-15)');
286
+ egressCmd.command('list').description('Show every egress IP rule across every registered driver').action(() => egressListAction(getClient()));
287
+ egressCmd
288
+ .command('set <projectId> <ip>')
289
+ .description('Attach a stable outbound IP to a project (e.g. after creating a VPS)')
290
+ .option('--driver <name>', 'Target a specific driver (default: first registered)')
291
+ .action((projectId, ip, opts) => egressSetAction(getClient(), projectId, ip, opts));
292
+ egressCmd.command('clear <projectId>').description('Detach the egress rule for a project').action((projectId) => egressClearAction(getClient(), projectId));
293
+ // ── SSO (G-22) ───────────────────────────────────────────────────────────
294
+ const ssoCmd = program.command('sso').description('Manage OIDC / SAML SSO providers (G-22)');
295
+ ssoCmd.command('list').description('List every configured provider').action(() => ssoListAction(getClient()));
296
+ ssoCmd
297
+ .command('add <oidc|saml> <name>')
298
+ .description('Register a new OIDC or SAML provider (config flags become the config_json blob)')
299
+ .option('--issuer <url>', 'OIDC issuer URL (OIDC only)')
300
+ .option('--client-id <id>', 'OIDC client id (OIDC only)')
301
+ .option('--client-secret <secret>', 'OIDC client secret (OIDC only)')
302
+ .option('--redirect-uri <uri>', 'OIDC redirect URI (OIDC only)')
303
+ .option('--metadata-url <url>', 'SAML IdP metadata URL (SAML only)')
304
+ .action((type, name, opts) => {
305
+ const config = {};
306
+ if (type === 'oidc') {
307
+ if (opts.issuer)
308
+ config.issuer = opts.issuer;
309
+ if (opts.clientId)
310
+ config.clientId = opts.clientId;
311
+ if (opts.clientSecret)
312
+ config.clientSecret = opts.clientSecret;
313
+ if (opts.redirectUri)
314
+ config.redirectUri = opts.redirectUri;
315
+ }
316
+ else {
317
+ if (opts.metadataUrl)
318
+ config.metadataUrl = opts.metadataUrl;
319
+ }
320
+ void ssoAddAction(getClient(), type, name, config);
321
+ });
322
+ ssoCmd.command('remove <id>').description('Remove a provider by id').action((id) => ssoRemoveAction(getClient(), id));
143
323
  // ── Volumes ────────────────────────────────────────────────────────────────
144
324
  const volumesCmd = program.command('volumes').description('Manage Docker volumes');
145
325
  volumesCmd.command('list').description('List all volumes').action(() => volumesList(getClient()));
@@ -158,6 +338,14 @@ const backupsCmd = program.command('backups').description('Manage database backu
158
338
  backupsCmd.command('list [databaseId]').description('List backups (all, or one database\'s)').action((id) => backupsList(getClient(), id));
159
339
  backupsCmd.command('create <databaseId>').description('Back a database up now').action((id) => backupsCreate(getClient(), id));
160
340
  backupsCmd.command('restore <databaseId> <backupId>').description('Restore a backup (destructive)').action((id, bId) => backupsRestore(getClient(), id, bId));
341
+ backupsCmd
342
+ .command('drill <databaseId> <backupId>')
343
+ .description('Smoke-test a backup without restoring it into a live database')
344
+ .action((id, bId) => backupsDrill(getClient(), id, bId));
345
+ backupsCmd
346
+ .command('drills <databaseId>')
347
+ .description('List recent backup drills for a database')
348
+ .action((id) => backupsDrills(getClient(), id));
161
349
  // ── Alerts ─────────────────────────────────────────────────────────────────
162
350
  const alertsCmd = program.command('alerts').description('Manage alert rules');
163
351
  alertsCmd.command('list').description('List alert rules').action(() => alertsList(getClient()));
@@ -167,6 +355,25 @@ alertsCmd.command('create <name> <metric> <operator> <threshold>')
167
355
  .option('-s, --service <id>', 'Scope to a service (default: host-wide)')
168
356
  .action((name, metric, op, threshold, opts) => alertsCreate(getClient(), name, metric, op, threshold, opts));
169
357
  alertsCmd.command('rm <id>').description('Delete an alert rule').action((id) => alertsRemove(getClient(), id));
358
+ // ── Notifications (G-06) ───────────────────────────────────────────────────
359
+ const notificationsCmd = program.command('notifications').description('Manage notification channels (admin)');
360
+ notificationsCmd.command('list').description('List configured channels').action(() => _notifList(getClient()));
361
+ notificationsCmd
362
+ .command('create-webhook <name> <url>')
363
+ .description('Create a webhook channel (HMAC-signed POST; G-06)')
364
+ .option('--secret <s>', 'HMAC secret used to sign the body')
365
+ .option('--header <h>', 'Signature header name (default: X-NineDeploy-Signature)')
366
+ .option('--algo <algo>', 'Hash algorithm: sha256 (default) or sha1', 'sha256')
367
+ .option('--event-filter <prefix>', 'Comma-separated event prefixes to match (default: all)')
368
+ .option('--template <kv>', 'Body template field (key=value, repeatable)', (v, prev = []) => [...prev, v])
369
+ .action((name, url, opts) => _notifCreateWebhook(getClient(), name, url, opts));
370
+ notificationsCmd
371
+ .command('create-fcm <name> <deviceToken>')
372
+ .description('Create an FCM push channel (Firebase Cloud Messaging HTTP v1; G-22)')
373
+ .requiredOption('--service-account <file>', 'Path to a Firebase service account JSON file')
374
+ .action((name, deviceToken, opts) => _notifCreateFcm(getClient(), name, deviceToken, opts));
375
+ notificationsCmd.command('test <id>').description('Fire a test event through the channel').action((id) => _notifTest(getClient(), id));
376
+ notificationsCmd.command('rm <id>').description('Remove a channel').action((id) => _notifRemove(getClient(), id));
170
377
  // ── Users & activity ───────────────────────────────────────────────────────
171
378
  program.command('users').description('List users (admin)').action(() => usersList(getClient()));
172
379
  program.command('reset-link <idOrEmail>').description('Generate a one-time password reset link (admin)')
@@ -176,6 +383,7 @@ program.command('activity').description('Show recent activity').action(() => act
176
383
  const plugins = program.command('plugins').description('Manage plugins and marketplace extensions');
177
384
  plugins.command('list').description('List all installed plugins').action(() => pluginsList(getClient()));
178
385
  plugins.command('marketplace').description('Browse verified marketplace extensions').action(() => pluginsMarketplace(getClient()));
386
+ plugins.command('marketplace-refresh').description('Bypass the cache and re-fetch the live signed marketplace index').action(() => pluginsMarketplaceRefresh(getClient()));
179
387
  plugins.command('inspect <id>').description('Inspect plugin manifest and runtime telemetry').action((id) => pluginsInspect(getClient(), id));
180
388
  plugins.command('install <target>').description('Install a plugin (marketplace, npm, git, local)')
181
389
  .option('-s, --source <source>', 'Source type (marketplace, npm, git, local)', 'marketplace')
@@ -211,6 +419,26 @@ workspaces.command('create <name>').description('Create a new workspace')
211
419
  workspaces.command('delete <id>').description('Delete a workspace').action((id) => workspacesDelete(getClient(), id));
212
420
  // ── Housekeeping ────────────────────────────────────────────────────────────
213
421
  system.command('prune').description('Run system housekeeping prune (images, containers, build artifacts)').action(() => housekeepingPrune(getClient()));
422
+ // ── Images (G-12) ───────────────────────────────────────────────────────────
423
+ const images = program.command('images').description('Inspect and prune Docker images on the host');
424
+ images
425
+ .command('ls')
426
+ .description('List every image on the host with size / age / in-use metadata')
427
+ .option('--sort <field>', 'Sort by `size` (default) or `age`', 'size')
428
+ .action((opts) => imagesList(getClient(), { sort: opts.sort }));
429
+ images
430
+ .command('prune')
431
+ .description('Prune images. Refuses to run with no filter; pass --dry-run first.')
432
+ .option('--keep-last <n>', 'Keep the newest N images per repo:tag (rest are candidates)', (v) => Number(v))
433
+ .option('--older-than <hours>', 'Only prune images older than N hours', (v) => Number(v))
434
+ .option('--dangling', 'Only prune dangling images (repo/tag both <none>)')
435
+ .option('--dry-run', 'Report what would be deleted without actually deleting')
436
+ .action((opts) => imagesPrune(getClient(), {
437
+ keepLast: opts.keepLast,
438
+ olderThan: opts.olderThan,
439
+ dangling: opts.dangling,
440
+ dryRun: opts.dryRun,
441
+ }));
214
442
  // ── Demo Mode ──────────────────────────────────────────────────────────────
215
443
  const demo = program.command('demo').description('Demo mode operations');
216
444
  demo.command('seed').description('Seed Next.js Docker + PM2 demo environment with PostgreSQL database').action(() => demoSeed(getClient()));
@@ -236,9 +464,52 @@ serverCmd.command('logs')
236
464
  .option('-n, --lines <lines>', 'Number of lines to show', '50')
237
465
  .option('-c, --name <name>', 'Container name', 'ninedeploy')
238
466
  .action((opts) => serverLogsAction(opts));
467
+ // ── Cluster log search (G-16) ─────────────────────────────────────────────
468
+ const logsCmd = program.command('logs').description('Search the configured log drain (Loki)');
469
+ logsCmd
470
+ .command('search <query>')
471
+ .description('Full-text search across the configured Loki drain')
472
+ .option('--service <id>', 'Restrict to one service id')
473
+ .option('--since <window>', 'How far back to search (e.g. 15m, 2h, 1d)', '15m')
474
+ .option('--limit <n>', 'Max lines to return (default 200, max 1000)')
475
+ .option('--drain <id>', 'Query a specific drain (default: first enabled Loki drain)')
476
+ .option('--json', 'Print raw JSON instead of the human-readable table')
477
+ .action((query, opts) => logsSearch(getClient(), query, opts));
478
+ // ── Email templates (G-30) ─────────────────────────────────────────────────
479
+ const emailTemplatesCmd = program.command('email-templates').description('Manage per-workspace email template overrides');
480
+ emailTemplatesCmd
481
+ .command('list <workspaceId>')
482
+ .description('List the built-in templates and whether the workspace has overridden each')
483
+ .action((wid) => emailTemplatesList(getClient(), wid));
484
+ emailTemplatesCmd
485
+ .command('preview <workspaceId> <name> [vars...]')
486
+ .description('Render a template with the supplied vars (key=value pairs)')
487
+ .action((wid, name, vars) => emailTemplatesPreview(getClient(), wid, name, vars));
488
+ emailTemplatesCmd
489
+ .command('set <workspaceId> <name>')
490
+ .description('Upsert the workspace override for a template (admin only)')
491
+ .requiredOption('--subject <subject>', 'Override subject line')
492
+ .requiredOption('--text <text>', 'Override plain-text body (use {{var}} placeholders)')
493
+ .action((wid, name, opts) => emailTemplatesSet(getClient(), wid, name, opts));
494
+ emailTemplatesCmd
495
+ .command('reset <workspaceId> <name>')
496
+ .description('Drop the workspace override and fall back to the built-in default')
497
+ .action((wid, name) => emailTemplatesReset(getClient(), wid, name));
239
498
  // ── System export/import + deploy log streaming ────────────────────────────
240
499
  system.command('export [file]').description('Export the full system state as JSON').action((file) => systemExport(file));
241
500
  system.command('import <file>').description('Import a system bundle (destructive)').action((file) => systemImport(file));
501
+ // ── Certificates (G-15) ─────────────────────────────────────────────────────
502
+ const certificates = program.command('certificates').description('Traefik certificate inventory and renewal status');
503
+ certificates
504
+ .command('list')
505
+ .description('List every certificate the panel knows about with days-to-expiry and status')
506
+ .option('--threshold <days>', 'Expiring-soon threshold in days (default 30)')
507
+ .action((opts) => certificatesList(getClient(), opts));
508
+ certificates
509
+ .command('expiring')
510
+ .description('Focused list of certificates expiring within N days')
511
+ .option('--days <days>', 'Window in days (default 30)')
512
+ .action((opts) => certificatesExpiring(getClient(), opts));
242
513
  deploys.command('watch <serviceId> <deployId>').description('Stream a deployment\'s build logs live').action((svcId, depId) => deploysWatch(svcId, depId));
243
514
  // ── Diagnostics ───────────────────────────────────────────────────────────
244
515
  program
@@ -314,8 +585,20 @@ manifest
314
585
  .action(() => manifestShow(process.cwd()));
315
586
  manifest
316
587
  .command('apply <serviceId>')
317
- .description('Apply the manifest to a service (placeholder — wired in the next release)')
588
+ .description('Apply the .ninedeploy manifest to a service (requires admin role)')
318
589
  .action((serviceId) => manifestApply(getClient(), process.cwd(), Number(serviceId)));
590
+ // ── Templates (one-click starter manifests from the panel registry) ───────
591
+ templates
592
+ .command('init <templateId>')
593
+ .description('Fetch a template from the panel and emit a starter .ninedeploy')
594
+ .option('--host <host>', 'Default `routes[0].host` for the starter manifest')
595
+ .option('--filename <name>', 'Filename to write when --write is set (default .ninedeploy)')
596
+ .option('--write', 'Write to a file in the current directory instead of stdout')
597
+ .action((templateId, opts) => templatesInit(getClient(), templateId, process.cwd(), {
598
+ host: opts.host,
599
+ filename: opts.filename,
600
+ write: Boolean(opts.write),
601
+ }));
319
602
  // ── Banner on bare `ninedeploy` ───────────────────────────────────────────
320
603
  if (process.argv.length <= 2) {
321
604
  banner();
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAapE,eAAO,MAAM,CAAC;IACZ,KAAK,MAAM,MAAM;IACjB,IAAI,MAAM,MAAM;IAChB,GAAG,MAAM,MAAM;IACf,GAAG,MAAM,MAAM;IACf,KAAK,MAAM,MAAM;IACjB,MAAM,MAAM,MAAM;IAClB,IAAI,MAAM,MAAM;IAChB,OAAO,MAAM,MAAM;IACnB,IAAI,MAAM,MAAM;IAChB,IAAI,MAAM,MAAM;CACjB,CAAC;AAoBF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,MAAM,IAAI,IAAI,CAO7B;AAED,oEAAoE;AACpE,wBAAsB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAiB9E;AAED,wDAAwD;AACxD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAoB/E;AAED,6CAA6C;AAC7C,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAI,GAAG,IAAI,CAIhE;AAED,8BAA8B;AAC9B,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI1C;AAED,iFAAiF;AACjF,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,IAAI,CAGjD;AAED,+BAA+B;AAC/B,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,6BAA6B;AAC7B,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,sCAAsC;AACtC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM1C;AAED,4BAA4B;AAC5B,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAO7D"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAapE,eAAO,MAAM,CAAC;IACZ,KAAK,MAAM,MAAM;IACjB,IAAI,MAAM,MAAM;IAChB,GAAG,MAAM,MAAM;IACf,GAAG,MAAM,MAAM;IACf,KAAK,MAAM,MAAM;IACjB,MAAM,MAAM,MAAM;IAClB,IAAI,MAAM,MAAM;IAChB,OAAO,MAAM,MAAM;IACnB,IAAI,MAAM,MAAM;IAChB,IAAI,MAAM,MAAM;CACjB,CAAC;AAoBF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,MAAM,IAAI,IAAI,CAO7B;AAED,oEAAoE;AACpE,wBAAsB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAiB9E;AAiBD,wDAAwD;AACxD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAuB/E;AAED,6CAA6C;AAC7C,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAI,GAAG,IAAI,CAIhE;AAED,8BAA8B;AAC9B,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI1C;AAED,iFAAiF;AACjF,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,IAAI,CAGjD;AAED,+BAA+B;AAC/B,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,6BAA6B;AAC7B,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,sCAAsC;AACtC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM1C;AAED,4BAA4B;AAC5B,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAO7D"}
@@ -69,6 +69,18 @@ export async function spinner(msg, fn) {
69
69
  throw err;
70
70
  }
71
71
  }
72
+ /** ANSI SGR escape sequence (built via RegExp so no literal control char). */
73
+ const ANSI_SGR = new RegExp('\\x1b\\[[0-9;]*m', 'g');
74
+ /** Visible length: ANSI SGR escapes render as zero width, so they must not
75
+ * count toward column widths or padding budgets. */
76
+ function visibleLength(s) {
77
+ return s.replace(ANSI_SGR, '').length;
78
+ }
79
+ /** Pad a (possibly colored) cell to `width` VISIBLE characters — padding is
80
+ * appended after any reset escape, so escape bytes never consume the budget. */
81
+ function padVisible(s, width) {
82
+ return s + ' '.repeat(Math.max(0, width - visibleLength(s)));
83
+ }
72
84
  /** Print a formatted table from an array of objects. */
73
85
  export function table(rows, columns) {
74
86
  if (rows.length === 0) {
@@ -76,7 +88,7 @@ export function table(rows, columns) {
76
88
  return;
77
89
  }
78
90
  const cols = columns ?? Object.keys(rows[0] ?? {});
79
- const widths = cols.map((col) => Math.max(col.length, ...rows.map((r) => String(r[col] ?? '').length)));
91
+ const widths = cols.map((col) => Math.max(col.length, ...rows.map((r) => visibleLength(String(r[col] ?? '')))));
80
92
  // Header
81
93
  const header = cols.map((col, i) => col.padEnd(widths[i])).join(' ');
82
94
  console.log(` ${c.bold(c.cyan(header))}`);
@@ -85,9 +97,12 @@ export function table(rows, columns) {
85
97
  for (const row of rows) {
86
98
  const cells = cols.map((col, i) => {
87
99
  const val = String(row[col] ?? '');
100
+ // statusColor AFTER padding would shift shorter cells; padVisible works
101
+ // for BOTH colored and pre-colored-by-the-caller values (call sites
102
+ // pass c.dim('—') / c.gray('never') straight into table()).
88
103
  if (col === 'status' || col === 'health')
89
- return statusColor(val).padEnd(widths[i]);
90
- return val.padEnd(widths[i]);
104
+ return padVisible(statusColor(val), widths[i]);
105
+ return padVisible(val, widths[i]);
91
106
  });
92
107
  console.log(` ${cells.join(' ')}`);
93
108
  }