@zincapp/znvault-plugin-payara 1.14.0 → 1.15.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 (58) hide show
  1. package/dist/cli/commands/index.d.ts +1 -0
  2. package/dist/cli/commands/index.d.ts.map +1 -1
  3. package/dist/cli/commands/index.js +1 -0
  4. package/dist/cli/commands/index.js.map +1 -1
  5. package/dist/cli/commands/tls.d.ts +7 -0
  6. package/dist/cli/commands/tls.d.ts.map +1 -0
  7. package/dist/cli/commands/tls.js +183 -0
  8. package/dist/cli/commands/tls.js.map +1 -0
  9. package/dist/cli/formatters.d.ts +4 -0
  10. package/dist/cli/formatters.d.ts.map +1 -1
  11. package/dist/cli/formatters.js +7 -0
  12. package/dist/cli/formatters.js.map +1 -1
  13. package/dist/cli/http-client.d.ts +23 -1
  14. package/dist/cli/http-client.d.ts.map +1 -1
  15. package/dist/cli/http-client.js +91 -11
  16. package/dist/cli/http-client.js.map +1 -1
  17. package/dist/cli/listr-deploy.d.ts.map +1 -1
  18. package/dist/cli/listr-deploy.js +7 -3
  19. package/dist/cli/listr-deploy.js.map +1 -1
  20. package/dist/cli/progress.d.ts.map +1 -1
  21. package/dist/cli/progress.js +4 -3
  22. package/dist/cli/progress.js.map +1 -1
  23. package/dist/cli/types.d.ts +15 -0
  24. package/dist/cli/types.d.ts.map +1 -1
  25. package/dist/cli.d.ts.map +1 -1
  26. package/dist/cli.js +3 -1
  27. package/dist/cli.js.map +1 -1
  28. package/dist/constants.d.ts +64 -0
  29. package/dist/constants.d.ts.map +1 -0
  30. package/dist/constants.js +65 -0
  31. package/dist/constants.js.map +1 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/payara-env.d.ts +14 -0
  36. package/dist/payara-env.d.ts.map +1 -1
  37. package/dist/payara-env.js +66 -8
  38. package/dist/payara-env.js.map +1 -1
  39. package/dist/payara-manager.d.ts +1 -0
  40. package/dist/payara-manager.d.ts.map +1 -1
  41. package/dist/payara-manager.js +14 -6
  42. package/dist/payara-manager.js.map +1 -1
  43. package/dist/routes/deploy.d.ts.map +1 -1
  44. package/dist/routes/deploy.js +13 -0
  45. package/dist/routes/deploy.js.map +1 -1
  46. package/dist/secrets-handler.d.ts.map +1 -1
  47. package/dist/secrets-handler.js +7 -2
  48. package/dist/secrets-handler.js.map +1 -1
  49. package/dist/session-store.d.ts.map +1 -1
  50. package/dist/session-store.js +8 -3
  51. package/dist/session-store.js.map +1 -1
  52. package/dist/types.d.ts +14 -0
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/war-deployer.d.ts +10 -0
  55. package/dist/war-deployer.d.ts.map +1 -1
  56. package/dist/war-deployer.js +46 -19
  57. package/dist/war-deployer.js.map +1 -1
  58. package/package.json +1 -1
@@ -2,6 +2,7 @@ export { registerConfigCommands } from './deploy-config.js';
2
2
  export { registerLifecycleCommands } from './lifecycle.js';
3
3
  export { registerDeployRunCommand } from './deploy-run.js';
4
4
  export { registerDeployWarCommand } from './deploy-war.js';
5
+ export { registerTLSCommands } from './tls.js';
5
6
  export { deployToHost, uploadFullWar, deployChunked, analyzeHost } from './deploy.js';
6
7
  export type { DeployOperationResult } from './deploy.js';
7
8
  export { exitWithError, getConfigOrExit, withErrorHandling, loadInquirer, confirmPrompt, saveConfigsOrExit, } from './helpers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtF,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtF,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
@@ -4,5 +4,6 @@ export { registerConfigCommands } from './deploy-config.js';
4
4
  export { registerLifecycleCommands } from './lifecycle.js';
5
5
  export { registerDeployRunCommand } from './deploy-run.js';
6
6
  export { registerDeployWarCommand } from './deploy-war.js';
7
+ export { registerTLSCommands } from './tls.js';
7
8
  export { deployToHost, uploadFullWar, deployChunked, analyzeHost } from './deploy.js';
8
9
  export { exitWithError, getConfigOrExit, withErrorHandling, loadInquirer, confirmPrompt, saveConfigsOrExit, } from './helpers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,kCAAkC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,kCAAkC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Command } from 'commander';
2
+ import type { CLIPluginContext } from '../types.js';
3
+ /**
4
+ * Register TLS commands
5
+ */
6
+ export declare function registerTLSCommands(deploy: Command, ctx: CLIPluginContext): void;
7
+ //# sourceMappingURL=tls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tls.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAmDpD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,gBAAgB,GACpB,IAAI,CAoKN"}
@@ -0,0 +1,183 @@
1
+ // Path: src/cli/commands/tls.ts
2
+ // TLS setup and verification commands
3
+ import { loadDeployConfigs } from '../config-store.js';
4
+ import { ANSI, parsePort } from '../constants.js';
5
+ import { agentGet, configureTLS } from '../http-client.js';
6
+ import { getErrorMessage } from '../../utils/error.js';
7
+ import { withErrorHandling } from './helpers.js';
8
+ import { writeFileSync, mkdirSync, existsSync, readFileSync } from 'node:fs';
9
+ import { join } from 'node:path';
10
+ import { homedir } from 'node:os';
11
+ /** Default directory for storing CA certificates */
12
+ const DEFAULT_CA_DIR = join(homedir(), '.znvault', 'ca');
13
+ /** Default CA certificate filename */
14
+ const DEFAULT_CA_FILENAME = 'agent-tls-ca.pem';
15
+ /**
16
+ * Get the default CA certificate path
17
+ */
18
+ function getDefaultCACertPath() {
19
+ return join(DEFAULT_CA_DIR, DEFAULT_CA_FILENAME);
20
+ }
21
+ /**
22
+ * Fetch and save CA certificate from vault
23
+ */
24
+ async function fetchAndSaveCA(ctx) {
25
+ ctx.output.info('Fetching agent TLS CA certificate from vault...');
26
+ // Use the vault client to get the CA certificate
27
+ const response = await ctx.client.get('/v1/agents/tls/ca');
28
+ // Ensure directory exists
29
+ if (!existsSync(DEFAULT_CA_DIR)) {
30
+ mkdirSync(DEFAULT_CA_DIR, { recursive: true, mode: 0o700 });
31
+ }
32
+ // Save CA certificate
33
+ const caPath = getDefaultCACertPath();
34
+ writeFileSync(caPath, response.certificate, { mode: 0o644 });
35
+ return caPath;
36
+ }
37
+ /**
38
+ * Register TLS commands
39
+ */
40
+ export function registerTLSCommands(deploy, ctx) {
41
+ const tlsCmd = deploy
42
+ .command('tls')
43
+ .description('TLS certificate management for secure agent connections');
44
+ // deploy tls setup
45
+ tlsCmd
46
+ .command('setup')
47
+ .description('Setup TLS for secure agent connections (fetches CA from vault)')
48
+ .option('--ca-path <path>', 'Custom path to save CA certificate')
49
+ .action(async (options) => {
50
+ await withErrorHandling(ctx, async () => {
51
+ // Fetch CA from vault
52
+ const caPath = await fetchAndSaveCA(ctx);
53
+ // Show certificate info
54
+ const cert = readFileSync(caPath, 'utf-8');
55
+ const subjectMatch = cert.match(/Subject:.*?CN\s*=\s*([^,\n]+)/);
56
+ const cn = subjectMatch?.[1]?.trim() ?? 'Unknown';
57
+ console.log(`\n${ANSI.bold}CA Certificate Saved:${ANSI.reset}`);
58
+ console.log(` Path: ${caPath}`);
59
+ console.log(` Subject CN: ${cn}`);
60
+ console.log('');
61
+ ctx.output.success('TLS setup complete. CA certificate cached locally.');
62
+ ctx.output.info('To enable TLS for a deploy config, run:');
63
+ console.log(` ${ANSI.cyan}znvault deploy config set <name> tls true${ANSI.reset}`);
64
+ }, 'TLS setup failed');
65
+ });
66
+ // deploy tls status
67
+ tlsCmd
68
+ .command('status')
69
+ .description('Show TLS configuration status')
70
+ .action(async () => {
71
+ await withErrorHandling(ctx, async () => {
72
+ const caPath = getDefaultCACertPath();
73
+ const store = await loadDeployConfigs();
74
+ console.log(`\n${ANSI.bold}TLS Status:${ANSI.reset}\n`);
75
+ // Check if CA is cached
76
+ if (existsSync(caPath)) {
77
+ console.log(` CA Certificate: ${ANSI.green}cached${ANSI.reset}`);
78
+ console.log(` CA Path: ${caPath}`);
79
+ // Show expiry info
80
+ try {
81
+ const response = await ctx.client.get('/v1/agents/tls/ca');
82
+ const expiry = new Date(response.notAfter);
83
+ const daysUntilExpiry = Math.round((expiry.getTime() - Date.now()) / (24 * 60 * 60 * 1000));
84
+ console.log(` CA Subject: ${response.subjectCn}`);
85
+ console.log(` CA Expires: ${expiry.toISOString()} (${daysUntilExpiry} days)`);
86
+ }
87
+ catch {
88
+ // Couldn't fetch from vault
89
+ }
90
+ }
91
+ else {
92
+ console.log(` CA Certificate: ${ANSI.red}not cached${ANSI.reset}`);
93
+ console.log(` Run '${ANSI.cyan}znvault deploy tls setup${ANSI.reset}' to fetch CA`);
94
+ }
95
+ console.log('');
96
+ // Show configs with TLS enabled
97
+ const tlsConfigs = Object.entries(store.configs).filter(([_, config]) => config.tls?.verify !== false);
98
+ const noTlsConfigs = Object.entries(store.configs).filter(([_, config]) => config.tls?.verify === false);
99
+ if (tlsConfigs.length > 0) {
100
+ console.log(` ${ANSI.bold}Configs with TLS verification:${ANSI.reset}`);
101
+ for (const [name, config] of tlsConfigs) {
102
+ const port = config.tls?.httpsPort ?? 9443;
103
+ console.log(` ${ANSI.green}✓${ANSI.reset} ${name} (HTTPS port: ${port})`);
104
+ }
105
+ }
106
+ if (noTlsConfigs.length > 0) {
107
+ console.log(` ${ANSI.bold}Configs without TLS:${ANSI.reset}`);
108
+ for (const [name] of noTlsConfigs) {
109
+ console.log(` ${ANSI.yellow}○${ANSI.reset} ${name} (HTTP)`);
110
+ }
111
+ }
112
+ if (Object.keys(store.configs).length === 0) {
113
+ console.log(' No deploy configs found.');
114
+ }
115
+ console.log('');
116
+ }, 'Failed to get TLS status');
117
+ });
118
+ // deploy tls verify <hostname>
119
+ tlsCmd
120
+ .command('verify <hostname>')
121
+ .description('Verify TLS connectivity to an agent')
122
+ .option('-p, --port <port>', 'HTTPS port (default: 9443)', '9443')
123
+ .option('--ca-path <path>', 'Path to CA certificate')
124
+ .option('-k, --insecure', 'Skip TLS verification')
125
+ .action(async (hostname, options) => {
126
+ await withErrorHandling(ctx, async () => {
127
+ const port = parsePort(options.port);
128
+ const caPath = options.caPath ?? getDefaultCACertPath();
129
+ // Configure TLS options
130
+ if (options.insecure) {
131
+ configureTLS({ verify: false });
132
+ console.log(`${ANSI.yellow}Warning: TLS verification disabled${ANSI.reset}\n`);
133
+ }
134
+ else if (existsSync(caPath)) {
135
+ configureTLS({ verify: true, caCertPath: caPath });
136
+ }
137
+ else {
138
+ ctx.output.error(`CA certificate not found at ${caPath}`);
139
+ ctx.output.info(`Run '${ANSI.cyan}znvault deploy tls setup${ANSI.reset}' to fetch CA from vault`);
140
+ process.exit(1);
141
+ }
142
+ ctx.output.info(`Verifying TLS connection to ${hostname}:${port}...`);
143
+ const url = `https://${hostname}:${port}/health`;
144
+ try {
145
+ const health = await agentGet(url, 10000);
146
+ console.log('');
147
+ console.log(` ${ANSI.green}✓${ANSI.reset} TLS connection successful`);
148
+ console.log(` Agent Status: ${health.status}`);
149
+ console.log(` Agent Version: ${health.version}`);
150
+ console.log('');
151
+ ctx.output.success('TLS verification passed');
152
+ }
153
+ catch (err) {
154
+ const message = getErrorMessage(err);
155
+ if (message.includes('certificate') || message.includes('SSL') || message.includes('TLS')) {
156
+ ctx.output.error('TLS verification failed - certificate issue');
157
+ ctx.output.info('The CA certificate may be incorrect or expired.');
158
+ ctx.output.info(`Run '${ANSI.cyan}znvault deploy tls setup${ANSI.reset}' to refresh CA`);
159
+ }
160
+ else if (message.includes('ECONNREFUSED')) {
161
+ ctx.output.error(`Connection refused. Is the agent running HTTPS on port ${port}?`);
162
+ }
163
+ else if (message.includes('timeout')) {
164
+ ctx.output.error('Connection timed out');
165
+ }
166
+ else {
167
+ ctx.output.error(`TLS verification failed: ${message}`);
168
+ }
169
+ process.exit(1);
170
+ }
171
+ }, 'TLS verification failed');
172
+ });
173
+ // deploy tls refresh
174
+ tlsCmd
175
+ .command('refresh')
176
+ .description('Refresh cached CA certificate from vault')
177
+ .action(async () => {
178
+ await withErrorHandling(ctx, async () => {
179
+ const caPath = await fetchAndSaveCA(ctx);
180
+ ctx.output.success(`CA certificate refreshed: ${caPath}`);
181
+ }, 'Failed to refresh CA certificate');
182
+ });
183
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tls.js","sourceRoot":"","sources":["../../../src/cli/commands/tls.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,10 @@ export declare function formatDuration(ms: number): string;
10
10
  * Format date to relative time or absolute
11
11
  */
12
12
  export declare function formatDate(date: Date): string;
13
+ /**
14
+ * Format timestamp to time only (HH:MM:SS)
15
+ */
16
+ export declare function formatTime(timestamp: number): string;
13
17
  /**
14
18
  * Create a progress bar string
15
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/cli/formatters.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIjD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAS7C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,CAM9E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAK,GAAG,MAAM,CAGjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpF"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/cli/formatters.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIjD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAS7C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,CAM9E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAK,GAAG,MAAM,CAGjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpF"}
@@ -35,6 +35,13 @@ export function formatDate(date) {
35
35
  return `${Math.floor(diff / 3600000)}h ago`;
36
36
  return date.toLocaleDateString() + ' ' + date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
37
37
  }
38
+ /**
39
+ * Format timestamp to time only (HH:MM:SS)
40
+ */
41
+ export function formatTime(timestamp) {
42
+ const date = new Date(timestamp);
43
+ return date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', second: '2-digit' });
44
+ }
38
45
  /**
39
46
  * Create a progress bar string
40
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/cli/formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/cli/formatters.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,20 @@
1
1
  import type { DeployResult } from '../types.js';
2
2
  import type { AgentPostResult } from './types.js';
3
+ /**
4
+ * TLS configuration for HTTPS connections
5
+ */
6
+ export interface TLSOptions {
7
+ /** Enable TLS verification (default: true) */
8
+ verify?: boolean;
9
+ /** Path to CA certificate file (PEM format) */
10
+ caCertPath?: string;
11
+ /** Inline CA certificate (PEM format) */
12
+ caCert?: string;
13
+ }
14
+ /**
15
+ * Configure TLS options for all HTTPS requests
16
+ */
17
+ export declare function configureTLS(options: TLSOptions): void;
3
18
  /**
4
19
  * GET request to agent endpoint
5
20
  */
@@ -33,6 +48,13 @@ export declare function pollDeploymentStatus(pluginUrl: string, startedAfter: nu
33
48
  * 1. Host already includes protocol and port (e.g., http://host:9100)
34
49
  * 2. Host includes protocol but no port (e.g., http://host)
35
50
  * 3. Host is just hostname/IP (e.g., 172.16.220.55)
51
+ *
52
+ * @param useTLS - If true, use HTTPS protocol (default: false for backwards compat)
53
+ */
54
+ export declare function buildPluginUrl(host: string, defaultPort: number, useTLS?: boolean): string;
55
+ /**
56
+ * Build plugin URL with automatic TLS detection
57
+ * Uses HTTPS if TLS is configured, otherwise HTTP
36
58
  */
37
- export declare function buildPluginUrl(host: string, defaultPort: number): string;
59
+ export declare function buildPluginUrlAuto(host: string, httpPort: number, httpsPort: number): string;
38
60
  //# sourceMappingURL=http-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/cli/http-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,YAAY,CAAC;AAS5E;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,SAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CAWrF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,OAAO,SAAwB,GAC9B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CA+B7B;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAezE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5D;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,SAA0B,GAClC,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwCtE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAiBxE"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/cli/http-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,YAAY,CAAC;AAW5E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAEtD;AA8DD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,SAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CAYrF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,OAAO,SAAwB,GAC9B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAgC7B;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBzE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5D;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,SAA0B,GAClC,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwCtE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,MAAM,CAkBxF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAM5F"}
@@ -1,16 +1,81 @@
1
1
  // Path: src/cli/http-client.ts
2
- // HTTP client for agent communication
2
+ // HTTP/HTTPS client for agent communication
3
3
  import { AGENT_TIMEOUT_MS, DEPLOYMENT_TIMEOUT_MS, STATUS_POLL_INTERVAL_MS, STATUS_POLL_MAX_WAIT_MS, } from './constants.js';
4
4
  import { getErrorMessage } from '../utils/error.js';
5
+ import { readFileSync } from 'node:fs';
6
+ // Global TLS options for all requests
7
+ let globalTLSOptions = { verify: true };
8
+ /**
9
+ * Configure TLS options for all HTTPS requests
10
+ */
11
+ export function configureTLS(options) {
12
+ globalTLSOptions = { ...globalTLSOptions, ...options };
13
+ }
14
+ /**
15
+ * Get fetch options with TLS configuration for HTTPS URLs
16
+ */
17
+ function getFetchOptions(url, baseOptions) {
18
+ // Only apply TLS options for HTTPS URLs
19
+ if (!url.startsWith('https://')) {
20
+ return baseOptions;
21
+ }
22
+ const options = { ...baseOptions };
23
+ // Note: Node.js native fetch doesn't support custom TLS options directly.
24
+ // We use undici's dispatcher option which is compatible with Node 18+
25
+ // For older Node versions or when using node-fetch, different approach is needed.
26
+ // For Bun runtime, TLS options are handled differently
27
+ if (typeof process !== 'undefined' && process.versions?.bun) {
28
+ // Bun uses native TLS options
29
+ if (!globalTLSOptions.verify) {
30
+ options.tls = { rejectUnauthorized: false };
31
+ }
32
+ else if (globalTLSOptions.caCertPath || globalTLSOptions.caCert) {
33
+ const ca = globalTLSOptions.caCert ??
34
+ (globalTLSOptions.caCertPath ? readFileSync(globalTLSOptions.caCertPath, 'utf-8') : undefined);
35
+ if (ca) {
36
+ options.tls = { ca };
37
+ }
38
+ }
39
+ return options;
40
+ }
41
+ // For Node.js, we need to use the undici dispatcher
42
+ try {
43
+ // Dynamic import to avoid issues if undici is not available
44
+ const { Agent } = require('undici');
45
+ const agentOptions = {};
46
+ if (!globalTLSOptions.verify) {
47
+ agentOptions.connect = { rejectUnauthorized: false };
48
+ }
49
+ else if (globalTLSOptions.caCertPath || globalTLSOptions.caCert) {
50
+ const ca = globalTLSOptions.caCert ??
51
+ (globalTLSOptions.caCertPath ? readFileSync(globalTLSOptions.caCertPath, 'utf-8') : undefined);
52
+ if (ca) {
53
+ agentOptions.connect = { ca };
54
+ }
55
+ }
56
+ if (Object.keys(agentOptions).length > 0) {
57
+ options.dispatcher = new Agent(agentOptions);
58
+ }
59
+ }
60
+ catch {
61
+ // undici not available, fall back to process.env workaround
62
+ if (!globalTLSOptions.verify) {
63
+ // WARNING: This disables TLS verification globally
64
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
65
+ }
66
+ }
67
+ return options;
68
+ }
5
69
  /**
6
70
  * GET request to agent endpoint
7
71
  */
8
72
  export async function agentGet(url, timeout = AGENT_TIMEOUT_MS) {
9
- const response = await fetch(url, {
73
+ const options = getFetchOptions(url, {
10
74
  method: 'GET',
11
75
  headers: { 'Accept': 'application/json' },
12
76
  signal: AbortSignal.timeout(timeout),
13
77
  });
78
+ const response = await fetch(url, options);
14
79
  if (!response.ok) {
15
80
  const text = await response.text();
16
81
  throw new Error(`Agent request failed: ${response.status} ${text}`);
@@ -23,7 +88,7 @@ export async function agentGet(url, timeout = AGENT_TIMEOUT_MS) {
23
88
  */
24
89
  export async function agentPostWithStatus(url, body, timeout = DEPLOYMENT_TIMEOUT_MS) {
25
90
  try {
26
- const response = await fetch(url, {
91
+ const options = getFetchOptions(url, {
27
92
  method: 'POST',
28
93
  headers: {
29
94
  'Content-Type': 'application/json',
@@ -32,6 +97,7 @@ export async function agentPostWithStatus(url, body, timeout = DEPLOYMENT_TIMEOU
32
97
  body: JSON.stringify(body),
33
98
  signal: AbortSignal.timeout(timeout),
34
99
  });
100
+ const response = await fetch(url, options);
35
101
  if (response.ok) {
36
102
  const data = await response.json();
37
103
  return { ok: true, data };
@@ -55,7 +121,7 @@ export async function agentPostWithStatus(url, body, timeout = DEPLOYMENT_TIMEOU
55
121
  * Legacy agentPost for backwards compatibility (throws on non-2xx)
56
122
  */
57
123
  export async function agentPost(url, body) {
58
- const response = await fetch(url, {
124
+ const options = getFetchOptions(url, {
59
125
  method: 'POST',
60
126
  headers: {
61
127
  'Content-Type': 'application/json',
@@ -64,6 +130,7 @@ export async function agentPost(url, body) {
64
130
  body: JSON.stringify(body),
65
131
  signal: AbortSignal.timeout(AGENT_TIMEOUT_MS),
66
132
  });
133
+ const response = await fetch(url, options);
67
134
  if (!response.ok) {
68
135
  const text = await response.text();
69
136
  throw new Error(`Agent request failed: ${response.status} ${text}`);
@@ -98,10 +165,9 @@ export async function pollDeploymentStatus(pluginUrl, startedAfter, progress, ma
98
165
  const elapsed = Math.round((Date.now() - pollStart) / 1000);
99
166
  progress.waitingForDeployment(elapsed, status.currentStep);
100
167
  }
101
- else if (status.appDeployed && status.healthy) {
102
- // Not deploying but app is deployed and healthy - likely completed
103
- return { success: true };
104
- }
168
+ // NOTE: We intentionally do NOT return early based on appDeployed && healthy
169
+ // because that could be from a PREVIOUS deployment. We MUST wait for
170
+ // lastCompletedAt > startedAfter to confirm THIS deployment finished.
105
171
  await new Promise(r => setTimeout(r, STATUS_POLL_INTERVAL_MS));
106
172
  }
107
173
  catch {
@@ -116,13 +182,16 @@ export async function pollDeploymentStatus(pluginUrl, startedAfter, progress, ma
116
182
  * 1. Host already includes protocol and port (e.g., http://host:9100)
117
183
  * 2. Host includes protocol but no port (e.g., http://host)
118
184
  * 3. Host is just hostname/IP (e.g., 172.16.220.55)
185
+ *
186
+ * @param useTLS - If true, use HTTPS protocol (default: false for backwards compat)
119
187
  */
120
- export function buildPluginUrl(host, defaultPort) {
188
+ export function buildPluginUrl(host, defaultPort, useTLS = false) {
121
189
  const trimmed = host.replace(/\/$/, '');
190
+ const defaultProtocol = useTLS ? 'https' : 'http';
122
191
  // Parse the URL to check for existing port
123
192
  try {
124
193
  // Add protocol if missing for URL parsing
125
- const urlString = trimmed.startsWith('http') ? trimmed : `http://${trimmed}`;
194
+ const urlString = trimmed.startsWith('http') ? trimmed : `${defaultProtocol}://${trimmed}`;
126
195
  const url = new URL(urlString);
127
196
  // If URL has a port explicitly set, use it; otherwise use defaultPort
128
197
  const effectivePort = url.port || String(defaultPort);
@@ -130,7 +199,18 @@ export function buildPluginUrl(host, defaultPort) {
130
199
  }
131
200
  catch {
132
201
  // Fallback for invalid URLs - just append port
133
- const withProtocol = trimmed.startsWith('http') ? trimmed : `http://${trimmed}`;
202
+ const withProtocol = trimmed.startsWith('http') ? trimmed : `${defaultProtocol}://${trimmed}`;
134
203
  return `${withProtocol}:${defaultPort}/plugins/payara`;
135
204
  }
136
205
  }
206
+ /**
207
+ * Build plugin URL with automatic TLS detection
208
+ * Uses HTTPS if TLS is configured, otherwise HTTP
209
+ */
210
+ export function buildPluginUrlAuto(host, httpPort, httpsPort) {
211
+ const useTLS = globalTLSOptions.caCertPath !== undefined ||
212
+ globalTLSOptions.caCert !== undefined ||
213
+ !globalTLSOptions.verify;
214
+ const port = useTLS ? httpsPort : httpPort;
215
+ return buildPluginUrl(host, port, useTLS);
216
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/cli/http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/cli/http-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"listr-deploy.d.ts","sourceRoot":"","sources":["../../src/cli/listr-deploy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM1D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACzC,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,gBAAgB,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,aAAa,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAwHD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAuHxB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,CAwBN"}
1
+ {"version":3,"file":"listr-deploy.d.ts","sourceRoot":"","sources":["../../src/cli/listr-deploy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM1D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACzC,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,gBAAgB,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,aAAa,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AA4HD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAuHxB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,CAwBN"}
@@ -4,7 +4,7 @@ import { Listr, PRESET_TIMER } from 'listr2';
4
4
  import { deployToHost } from './commands/deploy.js';
5
5
  import { performHealthCheck } from './host-checks.js';
6
6
  import { ProgressReporter } from './progress.js';
7
- import { formatSize, formatDuration } from './formatters.js';
7
+ import { formatSize, formatDuration, formatTime } from './formatters.js';
8
8
  /**
9
9
  * Create a deployment task for a single host
10
10
  */
@@ -73,9 +73,11 @@ function createHostTask(host, options) {
73
73
  }
74
74
  });
75
75
  const elapsed = formatDuration(Date.now() - startTime);
76
+ const completedAt = result.result?.completedAt;
77
+ const timeStr = completedAt ? ` @ ${formatTime(completedAt)}` : '';
76
78
  if (healthResult.success) {
77
79
  ctx.successful++;
78
- task.title = `${host} - deployed + healthy (${elapsed})`;
80
+ task.title = `${host} - deployed + healthy (${elapsed})${timeStr}`;
79
81
  }
80
82
  else {
81
83
  ctx.healthCheckFailed++;
@@ -88,8 +90,10 @@ function createHostTask(host, options) {
88
90
  else {
89
91
  // No health check configured
90
92
  const elapsed = formatDuration(Date.now() - startTime);
93
+ const completedAt = result.result?.completedAt;
94
+ const timeStr = completedAt ? ` @ ${formatTime(completedAt)}` : '';
91
95
  ctx.successful++;
92
- task.title = `${host} - deployed (${elapsed})`;
96
+ task.title = `${host} - deployed (${elapsed})${timeStr}`;
93
97
  }
94
98
  },
95
99
  rendererOptions: {
@@ -1 +1 @@
1
- {"version":3,"file":"listr-deploy.js","sourceRoot":"","sources":["../../src/cli/listr-deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listr-deploy.js","sourceRoot":"","sources":["../../src/cli/listr-deploy.ts"],"names":[],"mappings":"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"}