ninedeploy 0.2.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.
Files changed (66) hide show
  1. package/LICENSE +21 -0
  2. package/dist/client.d.ts +5 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +11 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/commands/configCenter.d.ts +14 -0
  7. package/dist/commands/configCenter.d.ts.map +1 -0
  8. package/dist/commands/configCenter.js +56 -0
  9. package/dist/commands/configCenter.js.map +1 -0
  10. package/dist/commands/demo.d.ts +3 -0
  11. package/dist/commands/demo.d.ts.map +1 -0
  12. package/dist/commands/demo.js +18 -0
  13. package/dist/commands/demo.js.map +1 -0
  14. package/dist/commands/housekeeping.d.ts +3 -0
  15. package/dist/commands/housekeeping.d.ts.map +1 -0
  16. package/dist/commands/housekeeping.js +11 -0
  17. package/dist/commands/housekeeping.js.map +1 -0
  18. package/dist/commands/login.d.ts +3 -0
  19. package/dist/commands/login.d.ts.map +1 -0
  20. package/dist/commands/login.js +36 -0
  21. package/dist/commands/login.js.map +1 -0
  22. package/dist/commands/manage.d.ts +60 -0
  23. package/dist/commands/manage.d.ts.map +1 -0
  24. package/dist/commands/manage.js +440 -0
  25. package/dist/commands/manage.js.map +1 -0
  26. package/dist/commands/misc.d.ts +24 -0
  27. package/dist/commands/misc.d.ts.map +1 -0
  28. package/dist/commands/misc.js +183 -0
  29. package/dist/commands/misc.js.map +1 -0
  30. package/dist/commands/plugins.d.ts +15 -0
  31. package/dist/commands/plugins.d.ts.map +1 -0
  32. package/dist/commands/plugins.js +77 -0
  33. package/dist/commands/plugins.js.map +1 -0
  34. package/dist/commands/services.d.ts +22 -0
  35. package/dist/commands/services.d.ts.map +1 -0
  36. package/dist/commands/services.js +236 -0
  37. package/dist/commands/services.js.map +1 -0
  38. package/dist/commands/setup.d.ts +3 -0
  39. package/dist/commands/setup.d.ts.map +1 -0
  40. package/dist/commands/setup.js +40 -0
  41. package/dist/commands/setup.js.map +1 -0
  42. package/dist/commands/token.d.ts +5 -0
  43. package/dist/commands/token.d.ts.map +1 -0
  44. package/dist/commands/token.js +33 -0
  45. package/dist/commands/token.js.map +1 -0
  46. package/dist/commands/workspaces.d.ts +8 -0
  47. package/dist/commands/workspaces.d.ts.map +1 -0
  48. package/dist/commands/workspaces.js +52 -0
  49. package/dist/commands/workspaces.js.map +1 -0
  50. package/dist/config.d.ts +7 -0
  51. package/dist/config.d.ts.map +1 -0
  52. package/dist/config.js +31 -0
  53. package/dist/config.js.map +1 -0
  54. package/dist/index.d.ts +3 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +225 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/lib/format.d.ts +34 -0
  59. package/dist/lib/format.d.ts.map +1 -0
  60. package/dist/lib/format.js +145 -0
  61. package/dist/lib/format.js.map +1 -0
  62. package/dist/prompts.d.ts +5 -0
  63. package/dist/prompts.d.ts.map +1 -0
  64. package/dist/prompts.js +59 -0
  65. package/dist/prompts.js.map +1 -0
  66. package/package.json +41 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 NineDeploy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,5 @@
1
+ import { type NineDeployClient } from '@ninedeploy/sdk';
2
+ export type { NineDeployClient };
3
+ /** Build an SDK client configured from the saved CLI config. */
4
+ export declare function getClient(): NineDeployClient;
5
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,gEAAgE;AAChE,wBAAgB,SAAS,IAAI,gBAAgB,CAM5C"}
package/dist/client.js ADDED
@@ -0,0 +1,11 @@
1
+ import { createClient } from '@ninedeploy/sdk';
2
+ import { loadConfig } from './config.js';
3
+ /** Build an SDK client configured from the saved CLI config. */
4
+ export function getClient() {
5
+ const cfg = loadConfig();
6
+ return createClient({
7
+ baseUrl: cfg.baseUrl,
8
+ getToken: () => cfg.token,
9
+ });
10
+ }
11
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,gEAAgE;AAChE,MAAM,UAAU,SAAS;IACvB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK;KAC1B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { NineDeployClient } from '@ninedeploy/sdk';
2
+ export declare function configCenterList(client: NineDeployClient, opts: {
3
+ category?: string;
4
+ plugin?: string;
5
+ reveal?: boolean;
6
+ }): Promise<void>;
7
+ export declare function configCenterGet(client: NineDeployClient, key: string): Promise<void>;
8
+ export declare function configCenterSet(client: NineDeployClient, key: string, value: string, opts: {
9
+ secret?: boolean;
10
+ desc?: string;
11
+ tags?: string;
12
+ }): Promise<void>;
13
+ export declare function configCenterDelete(client: NineDeployClient, key: string): Promise<void>;
14
+ //# sourceMappingURL=configCenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configCenter.d.ts","sourceRoot":"","sources":["../../src/commands/configCenter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW1F;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7F"}
@@ -0,0 +1,56 @@
1
+ import { table } from '../lib/format.js';
2
+ export async function configCenterList(client, opts) {
3
+ const { entries } = await client.config.list({
4
+ category: opts.category,
5
+ pluginId: opts.plugin,
6
+ reveal: opts.reveal,
7
+ });
8
+ if (entries.length === 0) {
9
+ console.log(' No configuration entries found.');
10
+ return;
11
+ }
12
+ table(entries.map((e) => ({
13
+ key: e.key,
14
+ category: e.category,
15
+ type: e.type,
16
+ secret: e.isSecret ? 'yes' : 'no',
17
+ value: String(e.value ?? ''),
18
+ status: e.isConfigured ? 'configured' : 'default',
19
+ })), ['key', 'category', 'type', 'secret', 'value', 'status']);
20
+ }
21
+ export async function configCenterGet(client, key) {
22
+ const item = await client.config.get(key);
23
+ console.log(` Key: ${item.key}`);
24
+ console.log(` Label: ${item.label}`);
25
+ console.log(` Category: ${item.category}`);
26
+ console.log(` Type: ${item.type}`);
27
+ console.log(` Secret: ${item.isSecret ? 'yes' : 'no'}`);
28
+ console.log(` Value: ${String(item.value ?? '')}`);
29
+ console.log(` Status: ${item.isConfigured ? 'configured' : 'default'}`);
30
+ if (item.description)
31
+ console.log(` Description: ${item.description}`);
32
+ if (item.tags.length > 0)
33
+ console.log(` Tags: ${item.tags.join(', ')}`);
34
+ }
35
+ export async function configCenterSet(client, key, value, opts) {
36
+ let parsedValue = value;
37
+ if (value === 'true')
38
+ parsedValue = true;
39
+ else if (value === 'false')
40
+ parsedValue = false;
41
+ else if (!Number.isNaN(Number(value)) && value.trim() !== '')
42
+ parsedValue = Number(value);
43
+ const tags = opts.tags ? opts.tags.split(',').map((t) => t.trim()).filter(Boolean) : undefined;
44
+ const res = await client.config.set(key, {
45
+ value: parsedValue,
46
+ isSecret: opts.secret,
47
+ description: opts.desc,
48
+ tags,
49
+ });
50
+ console.log(` ✓ Configuration key "${res.key}" saved.`);
51
+ }
52
+ export async function configCenterDelete(client, key) {
53
+ const res = await client.config.delete(key);
54
+ console.log(` ✓ Configuration key "${res.key}" deleted.`);
55
+ }
56
+ //# sourceMappingURL=configCenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configCenter.js","sourceRoot":"","sources":["../../src/commands/configCenter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { NineDeployClient } from '@ninedeploy/sdk';
2
+ export declare function demoSeed(client: NineDeployClient): Promise<void>;
3
+ //# sourceMappingURL=demo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../src/commands/demo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBtE"}
@@ -0,0 +1,18 @@
1
+ import { table } from '../lib/format.js';
2
+ export async function demoSeed(client) {
3
+ console.log(' Seeding Next.js Docker + PM2 Demo Environment…');
4
+ const res = await client.demo.seed();
5
+ console.log(` ✓ Project created: ${res.projectName} (#${res.projectId})`);
6
+ if (res.database) {
7
+ console.log(` ✓ Database created: ${res.database.name} (${res.database.engine})`);
8
+ }
9
+ table(res.services.map((s) => ({
10
+ id: s.id,
11
+ name: s.name,
12
+ type: s.type,
13
+ port: s.port ? `:${s.port}` : '—',
14
+ status: s.status,
15
+ })), ['id', 'name', 'type', 'port', 'status']);
16
+ console.log(' ✓ Demo environment deployed and running successfully.');
17
+ }
18
+ //# sourceMappingURL=demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/commands/demo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAwB;IACrD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,WAAW,MAAM,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAC3E,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,KAAK,CACH,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC,EACH,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CACzC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;AACzE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { NineDeployClient } from '@ninedeploy/sdk';
2
+ export declare function housekeepingPrune(client: NineDeployClient): Promise<void>;
3
+ //# sourceMappingURL=housekeeping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"housekeeping.d.ts","sourceRoot":"","sources":["../../src/commands/housekeeping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/E"}
@@ -0,0 +1,11 @@
1
+ import { fmtBytes, spinner } from '../lib/format.js';
2
+ export async function housekeepingPrune(client) {
3
+ const res = await spinner('Running system prune', () => client.housekeeping.runPrune());
4
+ console.log(' ✓ System housekeeping prune completed.');
5
+ console.log(` Space reclaimed: ${fmtBytes(res.freedBytes)}`);
6
+ console.log(` Disk used after: ${res.diskUsedPercentAfter}%`);
7
+ if (res.details?.imagesFreed) {
8
+ console.log(` Images freed: ${res.details.imagesFreed}`);
9
+ }
10
+ }
11
+ //# sourceMappingURL=housekeeping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"housekeeping.js","sourceRoot":"","sources":["../../src/commands/housekeeping.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAwB;IAC9D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,wBAAwB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,oBAAoB,GAAG,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** `ninedeploy login` — authenticate and persist the access token locally. */
2
+ export declare function loginAction(): Promise<void>;
3
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAIA,8EAA8E;AAC9E,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BjD"}
@@ -0,0 +1,36 @@
1
+ import { createClient, NineDeployError } from '@ninedeploy/sdk';
2
+ import { loadConfig, saveConfig } from '../config.js';
3
+ import { prompt, promptHidden } from '../prompts.js';
4
+ /** `ninedeploy login` — authenticate and persist the access token locally. */
5
+ export async function loginAction() {
6
+ const existing = loadConfig();
7
+ const baseUrl = await prompt('Server URL', existing.baseUrl);
8
+ const email = await prompt('Email');
9
+ if (!email) {
10
+ console.error('Email is required.');
11
+ process.exitCode = 1;
12
+ return;
13
+ }
14
+ const password = await promptHidden('Password');
15
+ if (!password) {
16
+ console.error('Password is required.');
17
+ process.exitCode = 1;
18
+ return;
19
+ }
20
+ const client = createClient({ baseUrl });
21
+ try {
22
+ const session = await client.auth.login({ email, password });
23
+ saveConfig({ baseUrl, token: session.tokens.accessToken });
24
+ console.log(`✓ Logged in as ${session.user.email} (${session.user.role})`);
25
+ }
26
+ catch (err) {
27
+ if (err instanceof NineDeployError) {
28
+ console.error(`✗ Login failed (${err.status}): ${err.message}`);
29
+ }
30
+ else {
31
+ console.error('✗ Login failed:', err instanceof Error ? err.message : err);
32
+ }
33
+ process.exitCode = 1;
34
+ }
35
+ }
36
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAErD,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -0,0 +1,60 @@
1
+ import type { NineDeployClient } from '../client.js';
2
+ /** `ninedeploy env list <serviceId>` */
3
+ export declare function envList(client: NineDeployClient, idStr: string): Promise<void>;
4
+ /** `ninedeploy env set <serviceId> <key> <value> [--public]` */
5
+ export declare function envSet(client: NineDeployClient, idStr: string, key: string, value: string, opts: {
6
+ public?: boolean;
7
+ }): Promise<void>;
8
+ /** `ninedeploy env rm <serviceId> <key>` */
9
+ export declare function envRemove(client: NineDeployClient, idStr: string, key: string): Promise<void>;
10
+ /** `ninedeploy domains list` */
11
+ export declare function domainsList(client: NineDeployClient): Promise<void>;
12
+ /** `ninedeploy domains add <serviceId> <host> [--path p] [--no-ssl]` */
13
+ export declare function domainsAdd(client: NineDeployClient, idStr: string, host: string, opts: {
14
+ path?: string;
15
+ ssl?: boolean;
16
+ }): Promise<void>;
17
+ /** `ninedeploy domains rm <domainId>` */
18
+ export declare function domainsRemove(client: NineDeployClient, idStr: string, domainIdStr: string): Promise<void>;
19
+ /** `ninedeploy volumes list` */
20
+ export declare function volumesList(client: NineDeployClient): Promise<void>;
21
+ /** `ninedeploy volumes rm <name>` */
22
+ export declare function volumesRemove(client: NineDeployClient, name: string): Promise<void>;
23
+ /** `ninedeploy networks list` */
24
+ export declare function networksList(client: NineDeployClient): Promise<void>;
25
+ /** `ninedeploy networks create <name> [driver]` */
26
+ export declare function networksCreate(client: NineDeployClient, name: string, driver: 'bridge' | 'overlay'): Promise<void>;
27
+ /** `ninedeploy networks rm <name>` */
28
+ export declare function networksRemove(client: NineDeployClient, name: string): Promise<void>;
29
+ /** `ninedeploy sessions list` */
30
+ export declare function sessionsList(client: NineDeployClient): Promise<void>;
31
+ /** `ninedeploy sessions revoke <id>` */
32
+ export declare function sessionsRevoke(client: NineDeployClient, idStr: string): Promise<void>;
33
+ /** `ninedeploy backups list [databaseId]` */
34
+ export declare function backupsList(client: NineDeployClient, idStr?: string): Promise<void>;
35
+ /** `ninedeploy backups create <databaseId>` */
36
+ export declare function backupsCreate(client: NineDeployClient, idStr: string): Promise<void>;
37
+ /** `ninedeploy backups restore <databaseId> <backupId>` */
38
+ export declare function backupsRestore(client: NineDeployClient, idStr: string, backupIdStr: string): Promise<void>;
39
+ /** `ninedeploy alerts list` */
40
+ export declare function alertsList(client: NineDeployClient): Promise<void>;
41
+ /** `ninedeploy alerts create <name> <metric> <operator> <threshold> [--windows n] [--service id]` */
42
+ export declare function alertsCreate(client: NineDeployClient, name: string, metric: string, operator: string, thresholdStr: string, opts: {
43
+ windows?: string;
44
+ service?: string;
45
+ }): Promise<void>;
46
+ /** `ninedeploy alerts rm <id>` */
47
+ export declare function alertsRemove(client: NineDeployClient, idStr: string): Promise<void>;
48
+ /** `ninedeploy users list` */
49
+ export declare function usersList(client: NineDeployClient): Promise<void>;
50
+ /** `ninedeploy users reset-link <id|email>` — mint a one-time reset link. */
51
+ export declare function usersResetLink(client: NineDeployClient, who: string): Promise<void>;
52
+ /** `ninedeploy activity list` */
53
+ export declare function activityList(client: NineDeployClient): Promise<void>;
54
+ /** `ninedeploy system export [file]` — downloads the full system bundle. */
55
+ export declare function systemExport(file?: string): Promise<void>;
56
+ /** `ninedeploy deploys watch <serviceId> <deployId>` — stream deploy logs over WebSocket. */
57
+ export declare function deploysWatch(serviceIdStr: string, deployIdStr: string, timeoutMs?: number): Promise<void>;
58
+ /** `ninedeploy system import <file>` — restores a system bundle (destructive). */
59
+ export declare function systemImport(file: string): Promise<void>;
60
+ //# sourceMappingURL=manage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/commands/manage.ts"],"names":[],"mappings":"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"}