@zincapp/znvault-cli 2.26.4 → 2.29.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 (62) hide show
  1. package/dist/commands/group.d.ts +3 -0
  2. package/dist/commands/group.d.ts.map +1 -0
  3. package/dist/commands/group.js +319 -0
  4. package/dist/commands/group.js.map +1 -0
  5. package/dist/commands/host/bootstrap-token.d.ts.map +1 -1
  6. package/dist/commands/host/bootstrap-token.js +28 -10
  7. package/dist/commands/host/bootstrap-token.js.map +1 -1
  8. package/dist/commands/host/index.d.ts.map +1 -1
  9. package/dist/commands/host/index.js +4 -0
  10. package/dist/commands/host/index.js.map +1 -1
  11. package/dist/commands/host/link-agent.d.ts +26 -0
  12. package/dist/commands/host/link-agent.d.ts.map +1 -0
  13. package/dist/commands/host/link-agent.js +110 -0
  14. package/dist/commands/host/link-agent.js.map +1 -0
  15. package/dist/commands/host/types.d.ts +5 -0
  16. package/dist/commands/host/types.d.ts.map +1 -1
  17. package/dist/commands/ssh-ca/ca.d.ts +14 -0
  18. package/dist/commands/ssh-ca/ca.d.ts.map +1 -0
  19. package/dist/commands/ssh-ca/ca.js +169 -0
  20. package/dist/commands/ssh-ca/ca.js.map +1 -0
  21. package/dist/commands/ssh-ca/certificates.d.ts +7 -0
  22. package/dist/commands/ssh-ca/certificates.d.ts.map +1 -0
  23. package/dist/commands/ssh-ca/certificates.js +131 -0
  24. package/dist/commands/ssh-ca/certificates.js.map +1 -0
  25. package/dist/commands/ssh-ca/helpers.d.ts +37 -0
  26. package/dist/commands/ssh-ca/helpers.d.ts.map +1 -0
  27. package/dist/commands/ssh-ca/helpers.js +104 -0
  28. package/dist/commands/ssh-ca/helpers.js.map +1 -0
  29. package/dist/commands/ssh-ca/index.d.ts +7 -0
  30. package/dist/commands/ssh-ca/index.d.ts.map +1 -0
  31. package/dist/commands/ssh-ca/index.js +180 -0
  32. package/dist/commands/ssh-ca/index.js.map +1 -0
  33. package/dist/commands/ssh-ca/mappings.d.ts +11 -0
  34. package/dist/commands/ssh-ca/mappings.d.ts.map +1 -0
  35. package/dist/commands/ssh-ca/mappings.js +178 -0
  36. package/dist/commands/ssh-ca/mappings.js.map +1 -0
  37. package/dist/commands/ssh-ca/server-groups.d.ts +21 -0
  38. package/dist/commands/ssh-ca/server-groups.d.ts.map +1 -0
  39. package/dist/commands/ssh-ca/server-groups.js +252 -0
  40. package/dist/commands/ssh-ca/server-groups.js.map +1 -0
  41. package/dist/commands/ssh-ca/sign.d.ts +3 -0
  42. package/dist/commands/ssh-ca/sign.d.ts.map +1 -0
  43. package/dist/commands/ssh-ca/sign.js +79 -0
  44. package/dist/commands/ssh-ca/sign.js.map +1 -0
  45. package/dist/commands/ssh-ca/types.d.ts +135 -0
  46. package/dist/commands/ssh-ca/types.d.ts.map +1 -0
  47. package/dist/commands/ssh-ca/types.js +3 -0
  48. package/dist/commands/ssh-ca/types.js.map +1 -0
  49. package/dist/commands/ssh-ca.d.ts +7 -0
  50. package/dist/commands/ssh-ca.d.ts.map +1 -0
  51. package/dist/commands/ssh-ca.js +7 -0
  52. package/dist/commands/ssh-ca.js.map +1 -0
  53. package/dist/commands/ssh.d.ts +3 -0
  54. package/dist/commands/ssh.d.ts.map +1 -0
  55. package/dist/commands/ssh.js +814 -0
  56. package/dist/commands/ssh.js.map +1 -0
  57. package/dist/index.js +6 -0
  58. package/dist/index.js.map +1 -1
  59. package/dist/lib/client/tenants.d.ts.map +1 -1
  60. package/dist/lib/client/tenants.js +3 -6
  61. package/dist/lib/client/tenants.js.map +1 -1
  62. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/host/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/host/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { InitCAOptions } from './types.js';
2
+ export declare function getStatus(options: {
3
+ json?: boolean;
4
+ }): Promise<void>;
5
+ export declare function initCA(options: InitCAOptions): Promise<void>;
6
+ export declare function deleteCA(options: {
7
+ force?: boolean;
8
+ json?: boolean;
9
+ }): Promise<void>;
10
+ export declare function getPublicKey(options: {
11
+ raw?: boolean;
12
+ json?: boolean;
13
+ }): Promise<void>;
14
+ //# sourceMappingURL=ca.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca.d.ts","sourceRoot":"","sources":["../../../src/commands/ssh-ca/ca.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAsB,aAAa,EAAE,MAAM,YAAY,CAAC;AAGpE,wBAAsB,SAAS,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC1E;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuElE;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B1F;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC5F"}
@@ -0,0 +1,169 @@
1
+ // Path: src/commands/ssh-ca/ca.ts
2
+ /**
3
+ * SSH CA management commands
4
+ */
5
+ import ora from 'ora';
6
+ import inquirer from 'inquirer';
7
+ import { client } from '../../lib/client.js';
8
+ import * as output from '../../lib/output.js';
9
+ import { formatTtl, formatKeyType, parseExtensions } from './helpers.js';
10
+ export async function getStatus(options) {
11
+ const spinner = ora('Fetching CA status...').start();
12
+ try {
13
+ const response = await client.get('/v1/ssh/ca');
14
+ spinner.stop();
15
+ if (options.json) {
16
+ output.json(response);
17
+ return;
18
+ }
19
+ if (!response.initialized) {
20
+ output.warn('SSH CA is not initialized.');
21
+ output.info('Run: znvault ssh-ca init');
22
+ return;
23
+ }
24
+ output.keyValue({
25
+ 'Status': 'Initialized',
26
+ 'Key Type': formatKeyType(response.keyType),
27
+ 'Fingerprint': response.fingerprint ?? '-',
28
+ 'Default TTL': formatTtl(response.defaultTtlSeconds),
29
+ 'Max TTL': formatTtl(response.maxTtlSeconds),
30
+ 'Extensions': response.allowedExtensions?.join(', ') ?? '-',
31
+ 'Total Certificates': String(response.totalCertificatesIssued ?? 0),
32
+ 'Active Certificates': String(response.activeCertificates ?? 0),
33
+ });
34
+ }
35
+ catch (err) {
36
+ spinner.fail('Failed to get CA status');
37
+ output.error(err instanceof Error ? err.message : String(err));
38
+ process.exit(1);
39
+ }
40
+ }
41
+ export async function initCA(options) {
42
+ // Interactive prompts if options not provided
43
+ const keyType = options.keyType ?? (await inquirer.prompt([{
44
+ type: 'list',
45
+ name: 'keyType',
46
+ message: 'Key type:',
47
+ choices: [
48
+ { name: 'Ed25519 (recommended)', value: 'ed25519' },
49
+ { name: 'RSA-4096', value: 'rsa-4096' },
50
+ ],
51
+ default: 'ed25519',
52
+ }])).keyType;
53
+ const defaultTtl = options.defaultTtl ? parseInt(options.defaultTtl, 10) : (await inquirer.prompt([{
54
+ type: 'number',
55
+ name: 'ttl',
56
+ message: 'Default TTL (seconds):',
57
+ default: 28800, // 8 hours
58
+ }])).ttl;
59
+ const maxTtl = options.maxTtl ? parseInt(options.maxTtl, 10) : (await inquirer.prompt([{
60
+ type: 'number',
61
+ name: 'ttl',
62
+ message: 'Maximum TTL (seconds):',
63
+ default: 86400, // 24 hours
64
+ }])).ttl;
65
+ const extensionsInput = options.extensions ?? (await inquirer.prompt([{
66
+ type: 'input',
67
+ name: 'ext',
68
+ message: 'Allowed extensions (comma-separated):',
69
+ default: 'permit-pty,permit-port-forwarding',
70
+ }])).ext;
71
+ const extensions = parseExtensions(extensionsInput);
72
+ const spinner = ora('Initializing SSH CA...').start();
73
+ try {
74
+ const response = await client.post('/v1/ssh/ca', {
75
+ keyType,
76
+ defaultTtlSeconds: defaultTtl,
77
+ maxTtlSeconds: maxTtl,
78
+ allowedExtensions: extensions,
79
+ });
80
+ spinner.succeed('SSH CA initialized successfully');
81
+ if (options.json) {
82
+ output.json(response);
83
+ return;
84
+ }
85
+ output.keyValue({
86
+ 'ID': response.id,
87
+ 'Key Type': formatKeyType(response.keyType),
88
+ 'Fingerprint': response.fingerprint,
89
+ 'Default TTL': formatTtl(response.defaultTtlSeconds),
90
+ 'Max TTL': formatTtl(response.maxTtlSeconds),
91
+ 'Extensions': response.allowedExtensions.join(', '),
92
+ });
93
+ console.log();
94
+ output.info('Next steps:');
95
+ output.info(' 1. Create principal mappings: znvault ssh-ca mapping create');
96
+ output.info(' 2. Create server groups: znvault ssh-ca server-group create');
97
+ output.info(' 3. Configure servers with CA public key: znvault ssh-ca public-key --raw');
98
+ }
99
+ catch (err) {
100
+ spinner.fail('Failed to initialize CA');
101
+ output.error(err instanceof Error ? err.message : String(err));
102
+ process.exit(1);
103
+ }
104
+ }
105
+ export async function deleteCA(options) {
106
+ if (!options.force) {
107
+ const { confirm } = await inquirer.prompt([{
108
+ type: 'confirm',
109
+ name: 'confirm',
110
+ message: 'Are you sure you want to delete the SSH CA? This will invalidate all issued certificates.',
111
+ default: false,
112
+ }]);
113
+ if (!confirm) {
114
+ output.info('Operation cancelled.');
115
+ return;
116
+ }
117
+ }
118
+ const spinner = ora('Deleting SSH CA...').start();
119
+ try {
120
+ await client.delete('/v1/ssh/ca');
121
+ spinner.succeed('SSH CA deleted successfully');
122
+ if (options.json) {
123
+ output.json({ success: true });
124
+ }
125
+ }
126
+ catch (err) {
127
+ spinner.fail('Failed to delete CA');
128
+ output.error(err instanceof Error ? err.message : String(err));
129
+ process.exit(1);
130
+ }
131
+ }
132
+ export async function getPublicKey(options) {
133
+ const spinner = ora('Fetching CA public key...').start();
134
+ try {
135
+ const response = await client.get('/v1/ssh/ca');
136
+ spinner.stop();
137
+ if (!response.initialized || !response.publicKey) {
138
+ output.error('SSH CA is not initialized.');
139
+ process.exit(1);
140
+ }
141
+ if (options.raw) {
142
+ console.log(response.publicKey);
143
+ return;
144
+ }
145
+ if (options.json) {
146
+ output.json({
147
+ publicKey: response.publicKey,
148
+ fingerprint: response.fingerprint,
149
+ keyType: response.keyType,
150
+ });
151
+ return;
152
+ }
153
+ output.keyValue({
154
+ 'Fingerprint': response.fingerprint ?? '-',
155
+ 'Key Type': formatKeyType(response.keyType),
156
+ });
157
+ console.log();
158
+ console.log('Public Key:');
159
+ console.log(response.publicKey);
160
+ console.log();
161
+ output.info('Add this to your servers\' /etc/ssh/trusted-user-ca-keys.pub');
162
+ }
163
+ catch (err) {
164
+ spinner.fail('Failed to get CA public key');
165
+ output.error(err instanceof Error ? err.message : String(err));
166
+ process.exit(1);
167
+ }
168
+ }
169
+ //# sourceMappingURL=ca.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca.js","sourceRoot":"","sources":["../../../src/commands/ssh-ca/ca.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { CertListOptions, RevokeOptions } from './types.js';
2
+ export declare function listCertificates(options: CertListOptions): Promise<void>;
3
+ export declare function getCertificate(certId: string, options: {
4
+ json?: boolean;
5
+ }): Promise<void>;
6
+ export declare function revokeCertificate(certId: string, options: RevokeOptions): Promise<void>;
7
+ //# sourceMappingURL=certificates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificates.d.ts","sourceRoot":"","sources":["../../../src/commands/ssh-ca/certificates.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAGV,eAAe,EACf,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD9E;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC/F;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC7F"}
@@ -0,0 +1,131 @@
1
+ // Path: src/commands/ssh-ca/certificates.ts
2
+ /**
3
+ * Certificate management commands for SSH CA
4
+ */
5
+ import ora from 'ora';
6
+ import Table from 'cli-table3';
7
+ import inquirer from 'inquirer';
8
+ import { client } from '../../lib/client.js';
9
+ import * as output from '../../lib/output.js';
10
+ import { formatDate, formatValidity, formatPrincipals } from './helpers.js';
11
+ export async function listCertificates(options) {
12
+ const spinner = ora('Fetching certificates...').start();
13
+ try {
14
+ const params = new URLSearchParams();
15
+ if (options.activeOnly)
16
+ params.set('activeOnly', 'true');
17
+ if (options.revoked)
18
+ params.set('revoked', 'true');
19
+ if (options.userId)
20
+ params.set('userId', options.userId);
21
+ if (options.limit)
22
+ params.set('limit', options.limit);
23
+ const query = params.toString();
24
+ const response = await client.get(`/v1/ssh/certificates${query ? `?${query}` : ''}`);
25
+ spinner.stop();
26
+ if (options.json) {
27
+ output.json(response);
28
+ return;
29
+ }
30
+ if (response.items.length === 0) {
31
+ output.info('No certificates found.');
32
+ return;
33
+ }
34
+ const table = new Table({
35
+ head: ['Serial', 'User', 'Principals', 'Valid Until', 'Status'],
36
+ style: { head: ['cyan'] },
37
+ });
38
+ for (const cert of response.items) {
39
+ table.push([
40
+ cert.serial,
41
+ cert.username ?? cert.userId.substring(0, 8),
42
+ formatPrincipals(cert.principals),
43
+ formatDate(cert.validBefore),
44
+ formatValidity(cert.validBefore, cert.revoked),
45
+ ]);
46
+ }
47
+ console.log(table.toString());
48
+ output.info(`${response.items.length} certificate(s) found (total: ${response.pagination.total})`);
49
+ }
50
+ catch (err) {
51
+ spinner.fail('Failed to list certificates');
52
+ output.error(err instanceof Error ? err.message : String(err));
53
+ process.exit(1);
54
+ }
55
+ }
56
+ export async function getCertificate(certId, options) {
57
+ const spinner = ora('Fetching certificate...').start();
58
+ try {
59
+ const cert = await client.get(`/v1/ssh/certificates/${certId}`);
60
+ spinner.stop();
61
+ if (options.json) {
62
+ output.json(cert);
63
+ return;
64
+ }
65
+ output.keyValue({
66
+ 'ID': cert.id,
67
+ 'Serial': cert.serial,
68
+ 'User': cert.username ?? cert.userId,
69
+ 'Fingerprint': cert.fingerprint,
70
+ 'Principals': cert.principals.join(', '),
71
+ 'Extensions': cert.extensions?.join(', ') ?? '-',
72
+ 'Valid From': formatDate(cert.validAfter),
73
+ 'Valid Until': formatDate(cert.validBefore),
74
+ 'Status': formatValidity(cert.validBefore, cert.revoked),
75
+ 'Request IP': cert.requestIp ?? '-',
76
+ 'Created': formatDate(cert.createdAt),
77
+ });
78
+ if (cert.revoked) {
79
+ console.log();
80
+ output.warn('Certificate is revoked:');
81
+ output.keyValue({
82
+ 'Revoked At': formatDate(cert.revokedAt),
83
+ 'Revoked By': cert.revokedBy ?? '-',
84
+ 'Reason': cert.revocationReason ?? '-',
85
+ });
86
+ }
87
+ }
88
+ catch (err) {
89
+ spinner.fail('Failed to get certificate');
90
+ output.error(err instanceof Error ? err.message : String(err));
91
+ process.exit(1);
92
+ }
93
+ }
94
+ export async function revokeCertificate(certId, options) {
95
+ if (!options.force) {
96
+ const { confirm } = await inquirer.prompt([{
97
+ type: 'confirm',
98
+ name: 'confirm',
99
+ message: `Revoke certificate ${certId}?`,
100
+ default: false,
101
+ }]);
102
+ if (!confirm) {
103
+ output.info('Operation cancelled.');
104
+ return;
105
+ }
106
+ }
107
+ const reason = options.reason ?? (await inquirer.prompt([{
108
+ type: 'input',
109
+ name: 'reason',
110
+ message: 'Revocation reason (optional):',
111
+ default: 'Manually revoked via CLI',
112
+ }])).reason;
113
+ const spinner = ora('Revoking certificate...').start();
114
+ try {
115
+ await client.post(`/v1/ssh/certificates/${certId}/revoke`, { reason });
116
+ spinner.succeed('Certificate revoked');
117
+ if (options.json) {
118
+ output.json({ success: true, certId, reason });
119
+ }
120
+ else {
121
+ output.info('Certificate has been added to the Key Revocation List.');
122
+ output.info('Servers should refresh their KRL: znvault ssh-ca krl');
123
+ }
124
+ }
125
+ catch (err) {
126
+ spinner.fail('Failed to revoke certificate');
127
+ output.error(err instanceof Error ? err.message : String(err));
128
+ process.exit(1);
129
+ }
130
+ }
131
+ //# sourceMappingURL=certificates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificates.js","sourceRoot":"","sources":["../../../src/commands/ssh-ca/certificates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Format TTL in human-readable form
3
+ */
4
+ export declare function formatTtl(seconds: number | undefined | null): string;
5
+ /**
6
+ * Format date in a readable format
7
+ */
8
+ export declare function formatDate(date: string | null | undefined): string;
9
+ /**
10
+ * Format certificate validity status
11
+ */
12
+ export declare function formatValidity(validBefore: string, revoked: boolean): string;
13
+ /**
14
+ * Format key type for display
15
+ */
16
+ export declare function formatKeyType(keyType: string | undefined): string;
17
+ /**
18
+ * Format principals array
19
+ */
20
+ export declare function formatPrincipals(principals: string[]): string;
21
+ /**
22
+ * Parse principals from comma-separated string
23
+ */
24
+ export declare function parsePrincipals(input: string): string[];
25
+ /**
26
+ * Parse extensions from comma-separated string
27
+ */
28
+ export declare function parseExtensions(input: string): string[];
29
+ /**
30
+ * Validate principal name
31
+ */
32
+ export declare function isValidPrincipal(name: string): boolean;
33
+ /**
34
+ * Read public key from file or stdin
35
+ */
36
+ export declare function readPublicKey(file?: string): Promise<string>;
37
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/ssh-ca/helpers.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAOpE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAIlE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAkB5E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAI7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlE"}
@@ -0,0 +1,104 @@
1
+ // Path: src/commands/ssh-ca/helpers.ts
2
+ /**
3
+ * Helper functions for SSH CA commands
4
+ */
5
+ import chalk from 'chalk';
6
+ /**
7
+ * Format TTL in human-readable form
8
+ */
9
+ export function formatTtl(seconds) {
10
+ if (seconds === undefined || seconds === null)
11
+ return '-';
12
+ if (seconds < 60)
13
+ return `${seconds}s`;
14
+ if (seconds < 3600)
15
+ return `${Math.floor(seconds / 60)}m`;
16
+ if (seconds < 86400)
17
+ return `${Math.floor(seconds / 3600)}h`;
18
+ return `${Math.floor(seconds / 86400)}d`;
19
+ }
20
+ /**
21
+ * Format date in a readable format
22
+ */
23
+ export function formatDate(date) {
24
+ if (!date)
25
+ return '-';
26
+ const d = new Date(date);
27
+ return d.toLocaleString();
28
+ }
29
+ /**
30
+ * Format certificate validity status
31
+ */
32
+ export function formatValidity(validBefore, revoked) {
33
+ if (revoked) {
34
+ return chalk.red('REVOKED');
35
+ }
36
+ const expiry = new Date(validBefore);
37
+ const now = new Date();
38
+ if (expiry < now) {
39
+ return chalk.gray('EXPIRED');
40
+ }
41
+ const hoursLeft = Math.floor((expiry.getTime() - now.getTime()) / (1000 * 60 * 60));
42
+ if (hoursLeft < 1) {
43
+ return chalk.yellow('EXPIRING');
44
+ }
45
+ return chalk.green('VALID');
46
+ }
47
+ /**
48
+ * Format key type for display
49
+ */
50
+ export function formatKeyType(keyType) {
51
+ if (!keyType)
52
+ return '-';
53
+ return keyType === 'ed25519' ? 'Ed25519' : 'RSA-4096';
54
+ }
55
+ /**
56
+ * Format principals array
57
+ */
58
+ export function formatPrincipals(principals) {
59
+ if (!principals || principals.length === 0)
60
+ return '-';
61
+ if (principals.length <= 3)
62
+ return principals.join(', ');
63
+ return `${principals.slice(0, 3).join(', ')} (+${principals.length - 3})`;
64
+ }
65
+ /**
66
+ * Parse principals from comma-separated string
67
+ */
68
+ export function parsePrincipals(input) {
69
+ return input.split(',').map(p => p.trim()).filter(p => p.length > 0);
70
+ }
71
+ /**
72
+ * Parse extensions from comma-separated string
73
+ */
74
+ export function parseExtensions(input) {
75
+ return input.split(',').map(e => e.trim()).filter(e => e.length > 0);
76
+ }
77
+ /**
78
+ * Validate principal name
79
+ */
80
+ export function isValidPrincipal(name) {
81
+ return /^[a-zA-Z0-9_-]+$/.test(name);
82
+ }
83
+ /**
84
+ * Read public key from file or stdin
85
+ */
86
+ export async function readPublicKey(file) {
87
+ const fs = await import('fs/promises');
88
+ if (file) {
89
+ const content = await fs.readFile(file, 'utf8');
90
+ return content.trim();
91
+ }
92
+ // Read from stdin if piped
93
+ if (!process.stdin.isTTY) {
94
+ return new Promise((resolve, reject) => {
95
+ let data = '';
96
+ process.stdin.setEncoding('utf8');
97
+ process.stdin.on('data', chunk => { data += chunk; });
98
+ process.stdin.on('end', () => resolve(data.trim()));
99
+ process.stdin.on('error', reject);
100
+ });
101
+ }
102
+ throw new Error('No public key provided. Use --public-key, --file, or pipe to stdin.');
103
+ }
104
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/ssh-ca/helpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAkC;IAC1D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAE1D,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,IAAI,OAAO,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC;IAC1D,IAAI,OAAO,GAAG,KAAK;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;IAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAA+B;IACxD,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC;IACtB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,OAAgB;IAClE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpF,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAA2B;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC;IACzB,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAoB;IACnD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACvD,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAa;IAC/C,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAEvC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;AACzF,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SSH CA command registration
3
+ */
4
+ import { type Command } from 'commander';
5
+ export * from './types.js';
6
+ export declare function registerSSHCACommands(program: Command): void;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/ssh-ca/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,cAAc,YAAY,CAAC;AAE3B,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgM5D"}