@zincapp/zn-vault-agent 1.20.9 → 1.20.11

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 (49) hide show
  1. package/README.md +155 -0
  2. package/dist/commands/start.d.ts.map +1 -1
  3. package/dist/commands/start.js +64 -1
  4. package/dist/commands/start.js.map +1 -1
  5. package/dist/commands/tls.d.ts +19 -0
  6. package/dist/commands/tls.d.ts.map +1 -0
  7. package/dist/commands/tls.js +245 -0
  8. package/dist/commands/tls.js.map +1 -0
  9. package/dist/commands/types.d.ts +5 -0
  10. package/dist/commands/types.d.ts.map +1 -1
  11. package/dist/index.js +2 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/api.d.ts +66 -0
  14. package/dist/lib/api.d.ts.map +1 -1
  15. package/dist/lib/api.js +53 -0
  16. package/dist/lib/api.js.map +1 -1
  17. package/dist/lib/config/index.d.ts +2 -2
  18. package/dist/lib/config/index.d.ts.map +1 -1
  19. package/dist/lib/config/index.js +1 -1
  20. package/dist/lib/config/index.js.map +1 -1
  21. package/dist/lib/config/loader.d.ts +8 -0
  22. package/dist/lib/config/loader.d.ts.map +1 -1
  23. package/dist/lib/config/loader.js +38 -0
  24. package/dist/lib/config/loader.js.map +1 -1
  25. package/dist/lib/config/types.d.ts +32 -1
  26. package/dist/lib/config/types.d.ts.map +1 -1
  27. package/dist/lib/config/types.js +9 -0
  28. package/dist/lib/config/types.js.map +1 -1
  29. package/dist/lib/config.d.ts +2 -2
  30. package/dist/lib/config.d.ts.map +1 -1
  31. package/dist/lib/config.js +1 -1
  32. package/dist/lib/config.js.map +1 -1
  33. package/dist/lib/health.d.ts +20 -0
  34. package/dist/lib/health.d.ts.map +1 -1
  35. package/dist/lib/health.js +175 -9
  36. package/dist/lib/health.js.map +1 -1
  37. package/dist/lib/websocket.d.ts +2 -1
  38. package/dist/lib/websocket.d.ts.map +1 -1
  39. package/dist/lib/websocket.js +51 -3
  40. package/dist/lib/websocket.js.map +1 -1
  41. package/dist/services/npm-auto-update.d.ts +12 -0
  42. package/dist/services/npm-auto-update.d.ts.map +1 -1
  43. package/dist/services/npm-auto-update.js +27 -7
  44. package/dist/services/npm-auto-update.js.map +1 -1
  45. package/dist/services/tls-certificate-manager.d.ts +52 -0
  46. package/dist/services/tls-certificate-manager.d.ts.map +1 -0
  47. package/dist/services/tls-certificate-manager.js +476 -0
  48. package/dist/services/tls-certificate-manager.js.map +1 -0
  49. package/package.json +1 -1
package/README.md CHANGED
@@ -981,6 +981,161 @@ znvault_agent_sync_duration_seconds{cert_name}
981
981
  znvault_agent_api_request_duration_seconds{method}
982
982
  ```
983
983
 
984
+ ## TLS/HTTPS Configuration
985
+
986
+ The agent can expose its health/metrics endpoints over HTTPS using TLS certificates. There are two modes:
987
+
988
+ ### Auto-Managed TLS (Recommended)
989
+
990
+ Let the vault issue and manage TLS certificates automatically:
991
+
992
+ ```bash
993
+ # Enable auto-managed TLS
994
+ zn-vault-agent tls enable
995
+
996
+ # The agent will:
997
+ # 1. Request a TLS certificate from vault on startup
998
+ # 2. Start HTTPS server on port 9443
999
+ # 3. Auto-renew certificate before expiry
1000
+ # 4. Hot-reload certificate without restart
1001
+ ```
1002
+
1003
+ **Requirements:**
1004
+ - Agent must be registered with vault (has agentId)
1005
+ - Tenant must have a CA assigned for `agent-tls` purpose
1006
+ - Agent needs permission to request certificates
1007
+
1008
+ ### Manual TLS
1009
+
1010
+ Use your own certificate files:
1011
+
1012
+ ```bash
1013
+ # Enable with explicit certificate paths
1014
+ zn-vault-agent tls enable \
1015
+ --cert-path /etc/ssl/agent.crt \
1016
+ --key-path /etc/ssl/agent.key
1017
+ ```
1018
+
1019
+ ### TLS Commands
1020
+
1021
+ | Command | Description |
1022
+ |---------|-------------|
1023
+ | `tls enable` | Enable TLS for HTTPS health server |
1024
+ | `tls disable` | Disable TLS |
1025
+ | `tls status` | Show TLS configuration and certificate status |
1026
+ | `tls ca` | Fetch CA certificate for client verification |
1027
+
1028
+ ### TLS Options
1029
+
1030
+ ```bash
1031
+ zn-vault-agent tls enable [options]
1032
+
1033
+ Options:
1034
+ -p, --port <port> HTTPS port (default: 9443)
1035
+ -r, --renew-days <days> Renew certificate before expiry (default: 7)
1036
+ --keep-http Keep HTTP server alongside HTTPS (default: true)
1037
+ --no-keep-http Disable HTTP when HTTPS is enabled
1038
+ --cert-path <path> Path to TLS certificate (manual mode)
1039
+ --key-path <path> Path to TLS private key (manual mode)
1040
+ ```
1041
+
1042
+ ### Configuration File
1043
+
1044
+ TLS can also be configured in `config.json`:
1045
+
1046
+ ```json
1047
+ {
1048
+ "vaultUrl": "https://vault.example.com",
1049
+ "tenantId": "my-tenant",
1050
+ "auth": { "apiKey": "znv_..." },
1051
+ "tls": {
1052
+ "enabled": true,
1053
+ "httpsPort": 9443,
1054
+ "renewBeforeDays": 7,
1055
+ "keepHttpServer": true
1056
+ },
1057
+ "targets": [...]
1058
+ }
1059
+ ```
1060
+
1061
+ For manual mode, add certificate paths:
1062
+
1063
+ ```json
1064
+ {
1065
+ "tls": {
1066
+ "enabled": true,
1067
+ "certPath": "/etc/ssl/agent.crt",
1068
+ "keyPath": "/etc/ssl/agent.key",
1069
+ "httpsPort": 9443
1070
+ }
1071
+ }
1072
+ ```
1073
+
1074
+ ### CLI Options
1075
+
1076
+ TLS can also be enabled via command line when starting the daemon:
1077
+
1078
+ ```bash
1079
+ # Enable auto-managed TLS
1080
+ zn-vault-agent start --tls --health-port 9100
1081
+
1082
+ # With custom HTTPS port
1083
+ zn-vault-agent start --tls --tls-https-port 8443 --health-port 9100
1084
+
1085
+ # With manual certificate paths
1086
+ zn-vault-agent start \
1087
+ --tls \
1088
+ --tls-cert /etc/ssl/agent.crt \
1089
+ --tls-key /etc/ssl/agent.key \
1090
+ --health-port 9100
1091
+
1092
+ # HTTPS only (no HTTP)
1093
+ zn-vault-agent start --tls --no-tls-keep-http
1094
+ ```
1095
+
1096
+ ### Verifying HTTPS Connections
1097
+
1098
+ After enabling TLS, you can verify using curl:
1099
+
1100
+ ```bash
1101
+ # Fetch the CA certificate for verification
1102
+ zn-vault-agent tls ca --raw > /tmp/agent-ca.crt
1103
+
1104
+ # Connect with CA verification
1105
+ curl --cacert /tmp/agent-ca.crt https://agent-host:9443/health
1106
+
1107
+ # Or skip verification for testing
1108
+ curl -k https://agent-host:9443/health
1109
+ ```
1110
+
1111
+ ### TLS Status
1112
+
1113
+ Check TLS configuration and certificate status:
1114
+
1115
+ ```bash
1116
+ zn-vault-agent tls status
1117
+
1118
+ # Output:
1119
+ # TLS Configuration
1120
+ #
1121
+ # Status: enabled
1122
+ # Mode: auto-managed (vault-issued certificate)
1123
+ # HTTPS Port: 9443
1124
+ # HTTP Server: enabled
1125
+ # Auto-Renew: 7 days before expiry
1126
+ #
1127
+ # Certificate Status
1128
+ # Cert ID: abc12345...
1129
+ # Expires: 4/26/2026 (82 days)
1130
+ # Renewed: 1/26/2026, 10:00:00 AM
1131
+ # Last Check: 1/26/2026, 5:00:00 PM
1132
+ #
1133
+ # Runtime
1134
+ # Manager: running
1135
+ # Cert Path: /var/lib/zn-vault-agent/tls/agent-001.crt
1136
+ # Key Path: /var/lib/zn-vault-agent/tls/agent-001.key
1137
+ ```
1138
+
984
1139
  ## Plugin System
985
1140
 
986
1141
  The agent supports plugins that extend functionality without modifying core code. Plugins can:
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoc3D"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqgB3D"}
@@ -35,6 +35,12 @@ export function registerStartCommand(program) {
35
35
  .option('--restart-delay <ms>', 'Delay in ms before restarting child (default: 5000)', parseInt)
36
36
  .option('--max-restarts <n>', 'Max restarts in window (default: 10)', parseInt)
37
37
  .option('--restart-window <ms>', 'Restart count window in ms (default: 300000)', parseInt)
38
+ // TLS options for HTTPS health server
39
+ .option('--tls', 'Enable HTTPS health server')
40
+ .option('--tls-cert <path>', 'Path to TLS certificate (PEM format)')
41
+ .option('--tls-key <path>', 'Path to TLS private key (PEM format)')
42
+ .option('--tls-https-port <port>', 'HTTPS port (default: 9443)', parseInt)
43
+ .option('--no-tls-keep-http', 'Disable HTTP server when HTTPS is enabled')
38
44
  .addHelpText('after', `
39
45
  Examples:
40
46
  # Start in foreground (default)
@@ -76,6 +82,16 @@ Examples:
76
82
  --secrets-to-files \\
77
83
  --health-port 9100
78
84
 
85
+ # Enable HTTPS health server with TLS
86
+ zn-vault-agent start \\
87
+ --health-port 9100 \\
88
+ --tls --tls-cert /etc/znvault/tls.crt --tls-key /etc/znvault/tls.key
89
+
90
+ # HTTPS only (disable HTTP server)
91
+ zn-vault-agent start \\
92
+ --tls --tls-cert /etc/znvault/tls.crt --tls-key /etc/znvault/tls.key \\
93
+ --no-tls-keep-http
94
+
79
95
  # Production setup (systemd)
80
96
  # See docs/GUIDE.md for systemd service file
81
97
  `)
@@ -138,7 +154,7 @@ Examples:
138
154
  logger.info({ agentId: identity.agentId }, 'Agent ID discovered from vault');
139
155
  // Persist agentId to config so future restarts don't need to discover
140
156
  try {
141
- await saveConfig({
157
+ saveConfig({
142
158
  ...config,
143
159
  agentId: identity.agentId,
144
160
  });
@@ -295,6 +311,45 @@ Examples:
295
311
  console.log(` Health: http://0.0.0.0:${options.healthPort}/health`);
296
312
  console.log(` Metrics: http://0.0.0.0:${options.healthPort}/metrics`);
297
313
  }
314
+ // TLS status (from CLI options or config)
315
+ const tlsEnabled = options.tls ?? config.tls?.enabled ?? false;
316
+ const tlsCertPath = options.tlsCert ?? config.tls?.certPath;
317
+ const tlsKeyPath = options.tlsKey ?? config.tls?.keyPath;
318
+ const tlsHttpsPort = options.tlsHttpsPort ?? config.tls?.httpsPort ?? 9443;
319
+ const tlsKeepHttp = options.tlsKeepHttp ?? config.tls?.keepHttpServer ?? true;
320
+ const tlsRenewBeforeDays = config.tls?.renewBeforeDays ?? 7;
321
+ if (tlsEnabled) {
322
+ const hasExplicitPaths = tlsCertPath && tlsKeyPath;
323
+ const hasExistingCert = config.tls?.agentTlsCertId;
324
+ if (hasExplicitPaths) {
325
+ // Using explicit cert paths (manual mode)
326
+ console.log(` TLS Mode: ${chalk.green('manual')} (using provided certificate paths)`);
327
+ console.log(` HTTPS: https://0.0.0.0:${tlsHttpsPort}/health`);
328
+ console.log(` Cert Path: ${tlsCertPath}`);
329
+ console.log(` Key Path: ${tlsKeyPath}`);
330
+ }
331
+ else if (hasExistingCert) {
332
+ // Auto-managed with existing cert
333
+ const expiresAt = config.tls?.certExpiresAt ? new Date(config.tls.certExpiresAt) : null;
334
+ const daysLeft = expiresAt ? Math.ceil((expiresAt.getTime() - Date.now()) / (24 * 60 * 60 * 1000)) : null;
335
+ console.log(` TLS Mode: ${chalk.cyan('auto-managed')} (vault-issued certificate)`);
336
+ console.log(` HTTPS: https://0.0.0.0:${tlsHttpsPort}/health`);
337
+ if (expiresAt && daysLeft !== null) {
338
+ const expiryColor = daysLeft <= tlsRenewBeforeDays ? chalk.yellow : chalk.green;
339
+ console.log(` Cert Expiry: ${expiresAt.toLocaleDateString()} (${expiryColor(`${daysLeft} days`)})`);
340
+ }
341
+ console.log(` Auto-Renew: ${tlsRenewBeforeDays} days before expiry`);
342
+ }
343
+ else {
344
+ // Auto-fetch mode - will request cert from vault on startup
345
+ console.log(` TLS Mode: ${chalk.cyan('auto-managed')} (will fetch from vault)`);
346
+ console.log(` HTTPS: https://0.0.0.0:${tlsHttpsPort}/health ${chalk.gray('(pending cert)')}`);
347
+ console.log(` Auto-Renew: ${tlsRenewBeforeDays} days before expiry`);
348
+ }
349
+ if (!tlsKeepHttp && !options.healthPort) {
350
+ console.log(` HTTP: ${chalk.gray('disabled')}`);
351
+ }
352
+ }
298
353
  // Auth mode status
299
354
  if (isManagedKeyMode()) {
300
355
  const nextRotation = config.managedKey?.nextRotationAt
@@ -418,6 +473,14 @@ Examples:
418
473
  pluginAutoUpdateService,
419
474
  npmAutoUpdateService: autoUpdateService,
420
475
  configFromVault: isConfigFromVaultEnabled(config),
476
+ // TLS options
477
+ tls: tlsEnabled ? {
478
+ enabled: tlsEnabled,
479
+ certPath: tlsCertPath,
480
+ keyPath: tlsKeyPath,
481
+ httpsPort: tlsHttpsPort,
482
+ keepHttpServer: tlsKeepHttp,
483
+ } : undefined,
421
484
  });
422
485
  }
423
486
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,wCAAwC;AAGxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,UAAU,EAGV,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAmB,MAAM,sBAAsB,CAAC;AAG9F,uCAAuC;AACvC,SAAS,OAAO,CAAC,KAAa,EAAE,QAAkB;IAChD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;SACjD,MAAM,CAAC,sBAAsB,EAAE,qDAAqD,EAAE,QAAQ,CAAC;SAC/F,MAAM,CAAC,YAAY,EAAE,wCAAwC,CAAC;SAC9D,MAAM,CAAC,cAAc,EAAE,6BAA6B,CAAC;SACrD,MAAM,CAAC,eAAe,EAAE,8CAA8C,CAAC;SACvE,MAAM,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;SACvD,MAAM,CAAC,sBAAsB,EAAE,oDAAoD,CAAC;SACpF,MAAM,CAAC,yBAAyB,EAAE,kCAAkC,CAAC;QACtE,oBAAoB;SACnB,MAAM,CAAC,kBAAkB,EAAE,iDAAiD,CAAC;SAC7E,MAAM,CAAC,wBAAwB,EAAE,kDAAkD,EAAE,OAAO,EAAE,EAAE,CAAC;SACjG,MAAM,CAAC,6BAA6B,EAAE,oEAAoE,EAAE,OAAO,EAAE,EAAE,CAAC;SACxH,MAAM,CAAC,oBAAoB,EAAE,sEAAsE,CAAC;SACpG,MAAM,CAAC,qBAAqB,EAAE,sDAAsD,CAAC;SACrF,MAAM,CAAC,wBAAwB,EAAE,6CAA6C,CAAC;SAC/E,MAAM,CAAC,sBAAsB,EAAE,qDAAqD,EAAE,QAAQ,CAAC;SAC/F,MAAM,CAAC,oBAAoB,EAAE,sCAAsC,EAAE,QAAQ,CAAC;SAC9E,MAAM,CAAC,uBAAuB,EAAE,8CAA8C,EAAE,QAAQ,CAAC;QAC1F,sCAAsC;SACrC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC;SAC7C,MAAM,CAAC,mBAAmB,EAAE,sCAAsC,CAAC;SACnE,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;SAClE,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,EAAE,QAAQ,CAAC;SACzE,MAAM,CAAC,oBAAoB,EAAE,2CAA2C,CAAC;SACzE,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDzB,CAAC;SACG,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC7C,sBAAsB;QACtB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC;QAE1B,2EAA2E;QAC3E,kDAAkD;QAClD,2EAA2E;QAC3E,4EAA4E;QAC5E,IAAI,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,iCAAiC,CAAC,CAAC;YAEzG,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBAEpD,sCAAsC;gBACtC,MAAM,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEjD,iEAAiE;gBACjE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;gBAEd,MAAM,CAAC,IAAI,CACT;oBACE,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,cAAc,EAAE,MAAM,CAAC,cAAc;iBACtC,EACD,mDAAmD,CACpD,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7G,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,+EAA+E,CAAC,CAAC,CAAC;gBAC7G,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,qEAAqE;YACrE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;gBACpE,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC;oBAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;oBAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B,CAAC,CAAC;gBAEH,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACrE,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,gCAAgC,CAAC,CAAC;oBAE7E,sEAAsE;oBACtE,IAAI,CAAC;wBACH,UAAU,CAAC;4BACT,GAAG,MAAM;4BACT,OAAO,EAAE,QAAQ,CAAC,OAAO;yBAC1B,CAAC,CAAC;wBACH,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,8BAA8B,CAAC,CAAC;oBAC9E,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,qDAAqD;wBACrD,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,qCAAqC,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2DAA2D,CAAC,CAAC,CAAC;oBACvF,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;YACzF,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,4BAA4B,CAAC,CAAC;YAEzE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;gBACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE;gBAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,uEAAuE,CAAC,CAAC,CAAC;gBACrG,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,mCAAmC,CAAC,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,0DAA0D;gBAC1D,MAAM,GAAG;oBACP,GAAG,MAAM,CAAC,MAAM;oBAChB,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,kBAAkB;oBACrC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,sBAAsB;iBAChD,CAAC;gBAEF,6DAA6D;gBAC7D,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAE1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAClF,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;oBACpC,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;oBAChD,OAAO,EAAG,MAAgD,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;iBAChF,EAAE,0BAA0B,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QAEzC,oDAAoD;QACpD,IAAI,UAAkC,CAAC;QAEvC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,8BAA8B;YAC9B,MAAM,OAAO,GAAiB,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC;YAErD,kDAAkD;YAClD,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,SAAkB,EAAc,EAAE;gBAC3E,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC3C,MAAM,kBAAkB,GAAG,SAAS,IAAI,CAAC,YAAY,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAE3F,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;gBAC3F,CAAC;qBAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC7B,kDAAkD;oBAClD,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;gBAC7F,CAAC;qBAAM,CAAC;oBACN,yDAAyD;oBACzD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG;wBAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,EAAE;wBACpC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACpB,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;gBACrF,CAAC;YACH,CAAC,CAAC;YAEF,mFAAmF;YACnF,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC7D,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,0DAA0D;YAC1D,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,CAAC;oBAClE,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACxC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEnB,UAAU,GAAG;gBACX,OAAO;gBACP,OAAO;gBACP,UAAU,EAAE,IAAI,EAAE,yBAAyB;gBAC3C,eAAe,EAAE,OAAO,CAAC,eAAe,KAAK,KAAK;gBAClD,cAAc,EAAE,OAAO,CAAC,YAAY,IAAI,mBAAmB,CAAC,cAAc;gBAC1E,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,mBAAmB,CAAC,WAAW;gBACnE,eAAe,EAAE,OAAO,CAAC,aAAa,IAAI,mBAAmB,CAAC,eAAe;aAC9E,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,mCAAmC;YACnC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;gBACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,+BAA+B,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QAClC,CAAC;QAED,uBAAuB;QACvB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,MAAM,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC;QACnG,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,kBAAkB,aAAa,CAAC,MAAM,YAAY,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,YAAY,IAAI,IAAI,GAAG,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,UAAU,SAAS,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,UAAU,UAAU,CAAC,CAAC;QAC7E,CAAC;QAED,0CAA0C;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,IAAI,KAAK,CAAC;QAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC;QACzD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC;QAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,GAAG,EAAE,cAAc,IAAI,IAAI,CAAC;QAC9E,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,EAAE,eAAe,IAAI,CAAC,CAAC;QAE5D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,gBAAgB,GAAG,WAAW,IAAI,UAAU,CAAC;YACnD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC;YAEnD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,0CAA0C;gBAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;gBAC1F,OAAO,CAAC,GAAG,CAAC,kCAAkC,YAAY,SAAS,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,eAAe,EAAE,CAAC;gBAC3B,kCAAkC;gBAClC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1G,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,kCAAkC,YAAY,SAAS,CAAC,CAAC;gBACrE,IAAI,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACnC,MAAM,WAAW,GAAG,QAAQ,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;oBAChF,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,kBAAkB,EAAE,KAAK,WAAW,CAAC,GAAG,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvG,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,kBAAkB,qBAAqB,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,4DAA4D;gBAC5D,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,kCAAkC,YAAY,WAAW,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACrG,OAAO,CAAC,GAAG,CAAC,kBAAkB,kBAAkB,qBAAqB,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,IAAI,gBAAgB,EAAE,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,cAAc;gBACpD,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,cAAc,EAAE;gBAC7D,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,SAAS,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAClD,CAAC;QAED,qBAAqB;QACrB,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,kBAAkB,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAEzF,oEAAoE;QAEpE,mBAAmB;QACnB,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,CAAC,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC;YACvE,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,gDAAgD,UAAU,CAAC,cAAc,IAAI,IAAI,KAAK,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QASD,MAAM,aAAa,GAAG,CAAE,MAAuD,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/F,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;QACtE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,IAAI,sBAAsB,EAAE,CAAC,OAAO,CAAC;YACnG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,oBAAoB,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC/C,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,0BAA0B;QAC1B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC/C,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACnE,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAEnE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBACvD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;oBAC3B,IAAI,MAAc,CAAC;oBACnB,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,GAAG,SAAS,CAAC;oBACrB,CAAC;yBAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;wBACpB,MAAM,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC;oBACnC,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBACzE,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;oBAC5B,IAAI,MAAc,CAAC;oBACnB,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,GAAG,SAAS,CAAC;oBACrB,CAAC;yBAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;wBACpB,MAAM,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC;oBACnC,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,WAAW,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,uCAAuC;QACvC,IAAI,iBAAiB,GAAgC,IAAI,CAAC;QAC1D,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,iBAAiB,GAAG,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAAC;YAC3D,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,yEAAyE;QACzE,IAAI,uBAAuB,GAAmC,IAAI,CAAC;QACnE,MAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAC;QACpD,MAAM,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,IAAI,kBAAkB,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9H,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,EAAE,qCAAqC,CAAC,CAAC;YACvF,uBAAuB,GAAG,IAAI,uBAAuB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;YACzF,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,CAAC;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,IAAI,EAAE,UAAU;gBAChB,uBAAuB;gBACvB,oBAAoB,EAAE,iBAAiB;gBACvC,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC;gBACjD,cAAc;gBACd,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;oBAChB,OAAO,EAAE,UAAU;oBACnB,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,UAAU;oBACnB,SAAS,EAAE,YAAY;oBACvB,cAAc,EAAE,WAAW;iBAC5B,CAAC,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Options for the 'tls enable' command
4
+ */
5
+ export interface TLSEnableCommandOptions {
6
+ port?: number;
7
+ renewDays?: number;
8
+ keepHttp?: boolean;
9
+ certPath?: string;
10
+ keyPath?: string;
11
+ }
12
+ /**
13
+ * Options for the 'tls status' command
14
+ */
15
+ export interface TLSStatusCommandOptions {
16
+ json?: boolean;
17
+ }
18
+ export declare function registerTLSCommands(program: Command): void;
19
+ //# sourceMappingURL=tls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tls.d.ts","sourceRoot":"","sources":["../../src/commands/tls.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4Q1D"}
@@ -0,0 +1,245 @@
1
+ // Path: src/commands/tls.ts
2
+ // TLS configuration commands for agent HTTPS server
3
+ import chalk from 'chalk';
4
+ import { existsSync } from 'node:fs';
5
+ import { loadConfig, saveConfig, isConfigured } from '../lib/config.js';
6
+ import { DEFAULT_TLS_CONFIG } from '../lib/config/types.js';
7
+ import { getAgentTLSCA } from '../lib/api.js';
8
+ import { getTLSManagerStatus } from '../services/tls-certificate-manager.js';
9
+ export function registerTLSCommands(program) {
10
+ const tlsCommand = program
11
+ .command('tls')
12
+ .description('Manage TLS configuration for agent HTTPS server');
13
+ // tls enable
14
+ tlsCommand
15
+ .command('enable')
16
+ .description('Enable TLS for the agent HTTPS server')
17
+ .option('-p, --port <port>', 'HTTPS port (default: 9443)', parseInt)
18
+ .option('-r, --renew-days <days>', 'Renew certificate before expiry (default: 7)', parseInt)
19
+ .option('--keep-http', 'Keep HTTP server running alongside HTTPS (default: true)')
20
+ .option('--no-keep-http', 'Disable HTTP server when HTTPS is enabled')
21
+ .option('--cert-path <path>', 'Path to TLS certificate (for manual mode)')
22
+ .option('--key-path <path>', 'Path to TLS private key (for manual mode)')
23
+ .addHelpText('after', `
24
+ Examples:
25
+ # Enable auto-managed TLS (certificate fetched from vault)
26
+ zn-vault-agent tls enable
27
+
28
+ # Enable with custom HTTPS port
29
+ zn-vault-agent tls enable --port 8443
30
+
31
+ # Enable HTTPS only (disable HTTP)
32
+ zn-vault-agent tls enable --no-keep-http
33
+
34
+ # Enable with manual certificate paths
35
+ zn-vault-agent tls enable --cert-path /etc/ssl/agent.crt --key-path /etc/ssl/agent.key
36
+
37
+ # Customize auto-renewal threshold
38
+ zn-vault-agent tls enable --renew-days 14
39
+
40
+ Notes:
41
+ Auto-managed mode requires:
42
+ - Agent registered with vault (has agentId)
43
+ - Tenant has a CA assigned for 'agent-tls' purpose
44
+ - Agent has permission to request certificates
45
+
46
+ The agent will automatically:
47
+ - Request a TLS certificate from vault on startup
48
+ - Renew the certificate before expiry
49
+ - Hot-reload the HTTPS server when certificate is renewed
50
+ `)
51
+ .action(async (options) => {
52
+ if (!isConfigured()) {
53
+ console.error(chalk.red('Agent not configured. Run: zn-vault-agent login'));
54
+ process.exit(1);
55
+ }
56
+ const config = loadConfig();
57
+ // Determine mode: manual (explicit paths) or auto (vault-managed)
58
+ const manualMode = options.certPath && options.keyPath;
59
+ if (manualMode) {
60
+ // Validate paths exist
61
+ if (!existsSync(options.certPath)) {
62
+ console.error(chalk.red(`Certificate file not found: ${options.certPath}`));
63
+ process.exit(1);
64
+ }
65
+ if (!existsSync(options.keyPath)) {
66
+ console.error(chalk.red(`Key file not found: ${options.keyPath}`));
67
+ process.exit(1);
68
+ }
69
+ }
70
+ // Update config
71
+ config.tls = {
72
+ ...config.tls,
73
+ enabled: true,
74
+ httpsPort: options.port ?? config.tls?.httpsPort ?? DEFAULT_TLS_CONFIG.httpsPort,
75
+ renewBeforeDays: options.renewDays ?? config.tls?.renewBeforeDays ?? DEFAULT_TLS_CONFIG.renewBeforeDays,
76
+ keepHttpServer: options.keepHttp ?? config.tls?.keepHttpServer ?? DEFAULT_TLS_CONFIG.keepHttpServer,
77
+ ...(manualMode ? {
78
+ certPath: options.certPath,
79
+ keyPath: options.keyPath,
80
+ } : {}),
81
+ };
82
+ saveConfig(config);
83
+ console.log();
84
+ console.log(chalk.green.bold('TLS enabled!'));
85
+ console.log();
86
+ if (manualMode) {
87
+ console.log(` Mode: ${chalk.cyan('manual')} (using provided certificate)`);
88
+ console.log(` Certificate: ${options.certPath}`);
89
+ console.log(` Key: ${options.keyPath}`);
90
+ }
91
+ else {
92
+ console.log(` Mode: ${chalk.cyan('auto-managed')} (vault-issued certificate)`);
93
+ console.log(` Certificate: Will be fetched from vault on startup`);
94
+ if (!config.agentId) {
95
+ console.log();
96
+ console.log(chalk.yellow(' Warning: Agent not registered yet.'));
97
+ console.log(chalk.yellow(' The agent will attempt to register on first startup.'));
98
+ }
99
+ }
100
+ console.log(` HTTPS Port: ${config.tls?.httpsPort}`);
101
+ console.log(` Auto-Renew: ${config.tls?.renewBeforeDays} days before expiry`);
102
+ console.log(` HTTP Server: ${config.tls?.keepHttpServer ? 'kept' : chalk.gray('disabled')}`);
103
+ console.log();
104
+ console.log(`Restart the agent to apply: ${chalk.cyan('sudo systemctl restart zn-vault-agent')}`);
105
+ console.log();
106
+ });
107
+ // tls disable
108
+ tlsCommand
109
+ .command('disable')
110
+ .description('Disable TLS for the agent HTTPS server')
111
+ .action(async () => {
112
+ if (!isConfigured()) {
113
+ console.error(chalk.red('Agent not configured. Run: zn-vault-agent login'));
114
+ process.exit(1);
115
+ }
116
+ const config = loadConfig();
117
+ if (!config.tls?.enabled) {
118
+ console.log(chalk.yellow('TLS is already disabled.'));
119
+ return;
120
+ }
121
+ // Disable but keep other settings (cert paths, etc.) for easy re-enable
122
+ config.tls = {
123
+ ...config.tls,
124
+ enabled: false,
125
+ };
126
+ saveConfig(config);
127
+ console.log();
128
+ console.log(chalk.green('TLS disabled.'));
129
+ console.log();
130
+ console.log(`Restart the agent to apply: ${chalk.cyan('sudo systemctl restart zn-vault-agent')}`);
131
+ console.log();
132
+ });
133
+ // tls status
134
+ tlsCommand
135
+ .command('status')
136
+ .description('Show TLS configuration and certificate status')
137
+ .option('--json', 'Output as JSON')
138
+ .action(async (options) => {
139
+ if (!isConfigured()) {
140
+ console.error(chalk.red('Agent not configured. Run: zn-vault-agent login'));
141
+ process.exit(1);
142
+ }
143
+ const config = loadConfig();
144
+ const tlsConfig = config.tls;
145
+ const managerStatus = getTLSManagerStatus();
146
+ if (options.json) {
147
+ console.log(JSON.stringify({
148
+ config: tlsConfig ?? { enabled: false },
149
+ runtime: managerStatus,
150
+ }, null, 2));
151
+ return;
152
+ }
153
+ console.log();
154
+ console.log(chalk.bold('TLS Configuration'));
155
+ console.log();
156
+ if (!tlsConfig?.enabled) {
157
+ console.log(` Status: ${chalk.gray('disabled')}`);
158
+ console.log();
159
+ console.log(`Enable TLS: ${chalk.cyan('zn-vault-agent tls enable')}`);
160
+ console.log();
161
+ return;
162
+ }
163
+ const hasExplicitPaths = tlsConfig.certPath && tlsConfig.keyPath;
164
+ console.log(` Status: ${chalk.green('enabled')}`);
165
+ console.log(` Mode: ${hasExplicitPaths ? chalk.cyan('manual') : chalk.cyan('auto-managed')}`);
166
+ console.log(` HTTPS Port: ${tlsConfig.httpsPort ?? 9443}`);
167
+ console.log(` HTTP Server: ${tlsConfig.keepHttpServer !== false ? 'enabled' : chalk.gray('disabled')}`);
168
+ console.log(` Auto-Renew: ${tlsConfig.renewBeforeDays ?? 7} days before expiry`);
169
+ if (hasExplicitPaths) {
170
+ console.log();
171
+ console.log(chalk.bold('Certificate Paths'));
172
+ console.log(` Certificate: ${tlsConfig.certPath}`);
173
+ console.log(` Key: ${tlsConfig.keyPath}`);
174
+ }
175
+ // Show certificate status if available
176
+ if (tlsConfig.agentTlsCertId || managerStatus.certExpiresAt) {
177
+ console.log();
178
+ console.log(chalk.bold('Certificate Status'));
179
+ if (tlsConfig.agentTlsCertId) {
180
+ console.log(` Cert ID: ${tlsConfig.agentTlsCertId.substring(0, 8)}...`);
181
+ }
182
+ if (managerStatus.certExpiresAt) {
183
+ const expiresAt = new Date(managerStatus.certExpiresAt);
184
+ const daysLeft = managerStatus.daysUntilExpiry ?? 0;
185
+ const renewThreshold = tlsConfig.renewBeforeDays ?? 7;
186
+ const expiryColor = daysLeft <= renewThreshold ? chalk.yellow : chalk.green;
187
+ console.log(` Expires: ${expiresAt.toLocaleDateString()} (${expiryColor(`${Math.ceil(daysLeft)} days`)})`);
188
+ }
189
+ if (managerStatus.lastRenewalAt) {
190
+ console.log(` Renewed: ${new Date(managerStatus.lastRenewalAt).toLocaleString()}`);
191
+ }
192
+ if (managerStatus.lastCheckAt) {
193
+ console.log(` Last Check: ${new Date(managerStatus.lastCheckAt).toLocaleString()}`);
194
+ }
195
+ }
196
+ // Runtime status
197
+ console.log();
198
+ console.log(chalk.bold('Runtime'));
199
+ console.log(` Manager: ${managerStatus.isRunning ? chalk.green('running') : chalk.gray('stopped')}`);
200
+ console.log(` Cert Path: ${managerStatus.certPath}`);
201
+ console.log(` Key Path: ${managerStatus.keyPath}`);
202
+ console.log();
203
+ });
204
+ // tls ca
205
+ tlsCommand
206
+ .command('ca')
207
+ .description('Fetch and display the CA certificate for TLS verification')
208
+ .option('--raw', 'Output raw PEM without formatting')
209
+ .action(async (options) => {
210
+ if (!isConfigured()) {
211
+ console.error(chalk.red('Agent not configured. Run: zn-vault-agent login'));
212
+ process.exit(1);
213
+ }
214
+ try {
215
+ const ca = await getAgentTLSCA();
216
+ if (options.raw) {
217
+ console.log(ca.certificate);
218
+ return;
219
+ }
220
+ console.log();
221
+ console.log(chalk.bold('Agent TLS CA Certificate'));
222
+ console.log();
223
+ console.log(` CA ID: ${ca.caId.substring(0, 8)}...`);
224
+ console.log(` Subject: ${ca.subjectCn}`);
225
+ console.log(` Fingerprint: ${ca.fingerprintSha256.substring(0, 16)}...`);
226
+ console.log(` Valid From: ${new Date(ca.notBefore).toLocaleDateString()}`);
227
+ console.log(` Valid Until: ${new Date(ca.notAfter).toLocaleDateString()}`);
228
+ console.log();
229
+ console.log(chalk.bold('PEM Certificate:'));
230
+ console.log();
231
+ console.log(ca.certificate);
232
+ console.log();
233
+ console.log(chalk.gray('Use this CA certificate to verify connections to agents.'));
234
+ console.log(chalk.gray(`Save with: ${chalk.cyan('zn-vault-agent tls ca --raw > ca.crt')}`));
235
+ console.log();
236
+ }
237
+ catch (err) {
238
+ console.error(chalk.red('Failed to fetch CA certificate:'), err instanceof Error ? err.message : String(err));
239
+ console.error();
240
+ console.error(chalk.yellow('Ensure your tenant has a CA assigned for agent TLS.'));
241
+ process.exit(1);
242
+ }
243
+ });
244
+ }
245
+ //# sourceMappingURL=tls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tls.js","sourceRoot":"","sources":["../../src/commands/tls.ts"],"names":[],"mappings":"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"}
@@ -124,6 +124,11 @@ export interface StartCommandOptions {
124
124
  restartDelay?: number;
125
125
  maxRestarts?: number;
126
126
  restartWindow?: number;
127
+ tls?: boolean;
128
+ tlsCert?: string;
129
+ tlsKey?: string;
130
+ tlsHttpsPort?: number;
131
+ tlsKeepHttp?: boolean;
127
132
  }
128
133
  /**
129
134
  * Options for the 'sync' command