ninedeploy 0.3.4 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/branding.d.ts +31 -0
- package/dist/commands/branding.d.ts.map +1 -0
- package/dist/commands/branding.js +48 -0
- package/dist/commands/branding.js.map +1 -0
- package/dist/commands/buildCache.d.ts +27 -0
- package/dist/commands/buildCache.d.ts.map +1 -0
- package/dist/commands/buildCache.js +46 -0
- package/dist/commands/buildCache.js.map +1 -0
- package/dist/commands/certificates.d.ts +15 -0
- package/dist/commands/certificates.d.ts.map +1 -0
- package/dist/commands/certificates.js +57 -0
- package/dist/commands/certificates.js.map +1 -0
- package/dist/commands/communityTemplates.d.ts +24 -0
- package/dist/commands/communityTemplates.d.ts.map +1 -0
- package/dist/commands/communityTemplates.js +79 -0
- package/dist/commands/communityTemplates.js.map +1 -0
- package/dist/commands/configPresets.d.ts +51 -0
- package/dist/commands/configPresets.d.ts.map +1 -0
- package/dist/commands/configPresets.js +166 -0
- package/dist/commands/configPresets.js.map +1 -0
- package/dist/commands/domains.d.ts +70 -0
- package/dist/commands/domains.d.ts.map +1 -0
- package/dist/commands/domains.js +97 -0
- package/dist/commands/domains.js.map +1 -0
- package/dist/commands/egress.d.ts +43 -0
- package/dist/commands/egress.d.ts.map +1 -0
- package/dist/commands/egress.js +80 -0
- package/dist/commands/egress.js.map +1 -0
- package/dist/commands/emailTemplates.d.ts +19 -0
- package/dist/commands/emailTemplates.d.ts.map +1 -0
- package/dist/commands/emailTemplates.js +86 -0
- package/dist/commands/emailTemplates.js.map +1 -0
- package/dist/commands/housekeeping.d.ts +24 -0
- package/dist/commands/housekeeping.d.ts.map +1 -1
- package/dist/commands/housekeeping.js +62 -1
- package/dist/commands/housekeeping.js.map +1 -1
- package/dist/commands/logs.d.ts +15 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +58 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/manage.d.ts +45 -0
- package/dist/commands/manage.d.ts.map +1 -1
- package/dist/commands/manage.js +153 -0
- package/dist/commands/manage.js.map +1 -1
- package/dist/commands/manifest.d.ts +12 -6
- package/dist/commands/manifest.d.ts.map +1 -1
- package/dist/commands/manifest.js +87 -12
- package/dist/commands/manifest.js.map +1 -1
- package/dist/commands/metrics.d.ts +37 -0
- package/dist/commands/metrics.d.ts.map +1 -0
- package/dist/commands/metrics.js +43 -0
- package/dist/commands/metrics.js.map +1 -0
- package/dist/commands/misc.d.ts +35 -0
- package/dist/commands/misc.d.ts.map +1 -1
- package/dist/commands/misc.js +135 -1
- package/dist/commands/misc.js.map +1 -1
- package/dist/commands/notifications.d.ts +59 -0
- package/dist/commands/notifications.d.ts.map +1 -0
- package/dist/commands/notifications.js +157 -0
- package/dist/commands/notifications.js.map +1 -0
- package/dist/commands/pgbouncer.d.ts +17 -0
- package/dist/commands/pgbouncer.d.ts.map +1 -0
- package/dist/commands/pgbouncer.js +46 -0
- package/dist/commands/pgbouncer.js.map +1 -0
- package/dist/commands/plugins.d.ts +3 -0
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +20 -1
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/services.d.ts +14 -0
- package/dist/commands/services.d.ts.map +1 -1
- package/dist/commands/services.js +29 -0
- package/dist/commands/services.js.map +1 -1
- package/dist/commands/sso.d.ts +31 -0
- package/dist/commands/sso.d.ts.map +1 -0
- package/dist/commands/sso.js +77 -0
- package/dist/commands/sso.js.map +1 -0
- package/dist/commands/templates.d.ts +22 -0
- package/dist/commands/templates.d.ts.map +1 -0
- package/dist/commands/templates.js +122 -0
- package/dist/commands/templates.js.map +1 -0
- package/dist/commands/token.d.ts +10 -0
- package/dist/commands/token.d.ts.map +1 -1
- package/dist/commands/token.js +24 -1
- package/dist/commands/token.js.map +1 -1
- package/dist/index.js +292 -9
- package/dist/index.js.map +1 -1
- package/dist/lib/format.d.ts.map +1 -1
- package/dist/lib/format.js +19 -3
- package/dist/lib/format.js.map +1 -1
- 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 {
|
|
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.
|
|
41
|
+
.version('0.5.1')
|
|
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 (
|
|
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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"}
|
package/dist/lib/format.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AAkBD,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"}
|
package/dist/lib/format.js
CHANGED
|
@@ -69,6 +69,19 @@ export async function spinner(msg, fn) {
|
|
|
69
69
|
throw err;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
+
/** ANSI SGR escape sequence — built from a fragment so the source carries no
|
|
73
|
+
* literal control character and the regex stays a literal (biome-friendly). */
|
|
74
|
+
const ANSI_SGR = new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`, 'g');
|
|
75
|
+
/** Visible length: ANSI SGR escapes render as zero width, so they must not
|
|
76
|
+
* count toward column widths or padding budgets. */
|
|
77
|
+
function visibleLength(s) {
|
|
78
|
+
return s.replace(ANSI_SGR, '').length;
|
|
79
|
+
}
|
|
80
|
+
/** Pad a (possibly colored) cell to `width` VISIBLE characters — padding is
|
|
81
|
+
* appended after any reset escape, so escape bytes never consume the budget. */
|
|
82
|
+
function padVisible(s, width) {
|
|
83
|
+
return s + ' '.repeat(Math.max(0, width - visibleLength(s)));
|
|
84
|
+
}
|
|
72
85
|
/** Print a formatted table from an array of objects. */
|
|
73
86
|
export function table(rows, columns) {
|
|
74
87
|
if (rows.length === 0) {
|
|
@@ -76,7 +89,7 @@ export function table(rows, columns) {
|
|
|
76
89
|
return;
|
|
77
90
|
}
|
|
78
91
|
const cols = columns ?? Object.keys(rows[0] ?? {});
|
|
79
|
-
const widths = cols.map((col) => Math.max(col.length, ...rows.map((r) => String(r[col] ?? '')
|
|
92
|
+
const widths = cols.map((col) => Math.max(col.length, ...rows.map((r) => visibleLength(String(r[col] ?? '')))));
|
|
80
93
|
// Header
|
|
81
94
|
const header = cols.map((col, i) => col.padEnd(widths[i])).join(' ');
|
|
82
95
|
console.log(` ${c.bold(c.cyan(header))}`);
|
|
@@ -85,9 +98,12 @@ export function table(rows, columns) {
|
|
|
85
98
|
for (const row of rows) {
|
|
86
99
|
const cells = cols.map((col, i) => {
|
|
87
100
|
const val = String(row[col] ?? '');
|
|
101
|
+
// statusColor AFTER padding would shift shorter cells; padVisible works
|
|
102
|
+
// for BOTH colored and pre-colored-by-the-caller values (call sites
|
|
103
|
+
// pass c.dim('—') / c.gray('never') straight into table()).
|
|
88
104
|
if (col === 'status' || col === 'health')
|
|
89
|
-
return statusColor(val)
|
|
90
|
-
return val
|
|
105
|
+
return padVisible(statusColor(val), widths[i]);
|
|
106
|
+
return padVisible(val, widths[i]);
|
|
91
107
|
});
|
|
92
108
|
console.log(` ${cells.join(' ')}`);
|
|
93
109
|
}
|