@zincapp/znvault-cli 4.7.1 → 4.9.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 (47) hide show
  1. package/dist/commands/apikey/conditions.d.ts.map +1 -1
  2. package/dist/commands/apikey/conditions.js +1 -0
  3. package/dist/commands/apikey/conditions.js.map +1 -1
  4. package/dist/commands/apikey/create.d.ts.map +1 -1
  5. package/dist/commands/apikey/create.js +1 -0
  6. package/dist/commands/apikey/create.js.map +1 -1
  7. package/dist/commands/apikey/helpers.d.ts +1 -0
  8. package/dist/commands/apikey/helpers.d.ts.map +1 -1
  9. package/dist/commands/apikey/helpers.js +8 -0
  10. package/dist/commands/apikey/helpers.js.map +1 -1
  11. package/dist/commands/apikey/types.d.ts +3 -0
  12. package/dist/commands/apikey/types.d.ts.map +1 -1
  13. package/dist/commands/dynamic-secrets/types.d.ts +3 -0
  14. package/dist/commands/dynamic-secrets/types.d.ts.map +1 -1
  15. package/dist/commands/mysql/alias.d.ts +26 -0
  16. package/dist/commands/mysql/alias.d.ts.map +1 -0
  17. package/dist/commands/mysql/alias.js +56 -0
  18. package/dist/commands/mysql/alias.js.map +1 -0
  19. package/dist/commands/mysql/broker.d.ts +38 -0
  20. package/dist/commands/mysql/broker.d.ts.map +1 -0
  21. package/dist/commands/mysql/broker.js +171 -0
  22. package/dist/commands/mysql/broker.js.map +1 -0
  23. package/dist/commands/mysql/index.d.ts +33 -0
  24. package/dist/commands/mysql/index.d.ts.map +1 -0
  25. package/dist/commands/mysql/index.js +207 -0
  26. package/dist/commands/mysql/index.js.map +1 -0
  27. package/dist/commands/mysql/mycnf.d.ts +40 -0
  28. package/dist/commands/mysql/mycnf.d.ts.map +1 -0
  29. package/dist/commands/mysql/mycnf.js +136 -0
  30. package/dist/commands/mysql/mycnf.js.map +1 -0
  31. package/dist/commands/mysql/resolve.d.ts +18 -0
  32. package/dist/commands/mysql/resolve.d.ts.map +1 -0
  33. package/dist/commands/mysql/resolve.js +108 -0
  34. package/dist/commands/mysql/resolve.js.map +1 -0
  35. package/dist/commands/mysql/run.d.ts +156 -0
  36. package/dist/commands/mysql/run.d.ts.map +1 -0
  37. package/dist/commands/mysql/run.js +300 -0
  38. package/dist/commands/mysql/run.js.map +1 -0
  39. package/dist/commands/mysql/types.d.ts +29 -0
  40. package/dist/commands/mysql/types.d.ts.map +1 -0
  41. package/dist/commands/mysql/types.js +7 -0
  42. package/dist/commands/mysql/types.js.map +1 -0
  43. package/dist/index.js +2 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/lib/config/types.d.ts +4 -0
  46. package/dist/lib/config/types.d.ts.map +1 -1
  47. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../../src/commands/apikey/conditions.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAuDlE"}
1
+ {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../../src/commands/apikey/conditions.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAwDlE"}
@@ -12,6 +12,7 @@ export function registerConditionsCommand(apiKeyCmd) {
12
12
  .option('--resources <ids>', 'Resource IDs (type:id,...) or "clear"')
13
13
  .option('--aliases <patterns>', 'Alias patterns (glob) or "clear"')
14
14
  .option('--tags <tags>', 'Resource tags (key=value,...) or "clear"')
15
+ .option('--ssh-principals <principals>', 'Comma-separated SSH principal allowlist (for ssh:ca:sign-as keys)')
15
16
  .option('--clear-all', 'Remove all conditions')
16
17
  .option('-t, --tenant <id>', 'Tenant ID')
17
18
  .option('--json', 'Output as JSON')
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../src/commands/apikey/conditions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../src/commands/apikey/conditions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/apikey/create.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAkH9D"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/apikey/create.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAmH9D"}
@@ -15,6 +15,7 @@ export function registerCreateCommand(apiKeyCmd) {
15
15
  .option('--resources <ids>', 'Specific resource IDs (type:id,...): secrets:id1,certificates:id2')
16
16
  .option('--aliases <patterns>', 'Comma-separated alias patterns (glob): prod/*,api/*')
17
17
  .option('--tags <tags>', 'Required resource tags: key=value,key2=value2')
18
+ .option('--ssh-principals <principals>', 'Comma-separated SSH principal allowlist (for ssh:ca:sign-as keys)')
18
19
  .option('-t, --tenant <id>', 'Tenant ID (superadmin only)')
19
20
  .option('--json', 'Output as JSON')
20
21
  .action(async (name, options, cmd) => {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/apikey/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/apikey/create.ts"],"names":[],"mappings":"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"}
@@ -34,5 +34,6 @@ export declare function parseConditionsFromOptions(options: {
34
34
  resources?: string;
35
35
  aliases?: string;
36
36
  tags?: string;
37
+ sshPrincipals?: string;
37
38
  }): ApiKeyConditions;
38
39
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/apikey/helpers.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,UAAU,aAAa;IACrB,IAAI,IAAI,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAOjF;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAI/D;AAED,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAc7E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAU9D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,gBAAgB,CA4DnB"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/apikey/helpers.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,UAAU,aAAa;IACrB,IAAI,IAAI,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAOjF;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAI/D;AAED,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAe7E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAW9D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,gBAAgB,CAiEnB"}
@@ -52,6 +52,8 @@ export function formatConditionsSummary(conditions) {
52
52
  parts.push('Aliases');
53
53
  if (conditions.resourceTags)
54
54
  parts.push('Tags');
55
+ if (conditions.sshPrincipals)
56
+ parts.push('SSH Principals');
55
57
  if (parts.length === 0)
56
58
  return '-';
57
59
  if (parts.length <= 2)
@@ -73,6 +75,8 @@ export function displayConditions(cond) {
73
75
  console.log(` - Aliases: ${cond.aliases.join(', ')}`);
74
76
  if (cond.resourceTags)
75
77
  console.log(` - Tags: ${JSON.stringify(cond.resourceTags)}`);
78
+ if (cond.sshPrincipals)
79
+ console.log(` - SSH Principals: ${cond.sshPrincipals.join(', ')}`);
76
80
  }
77
81
  /**
78
82
  * Parse conditions from command options into ApiKeyConditions object
@@ -116,6 +120,10 @@ export function parseConditionsFromOptions(options) {
116
120
  if (options.aliases && options.aliases !== 'clear') {
117
121
  conditions.aliases = options.aliases.split(',').map((a) => a.trim());
118
122
  }
123
+ // SSH principal allowlist (ssh:ca:sign-as)
124
+ if (options.sshPrincipals && options.sshPrincipals !== 'clear') {
125
+ conditions.sshPrincipals = options.sshPrincipals.split(',').map((p) => p.trim());
126
+ }
119
127
  // Resource tags condition
120
128
  if (options.tags && options.tags !== 'clear') {
121
129
  const tags = {};
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/apikey/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/apikey/helpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAQvC,wDAAwD;AACxD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAkB/E,MAAM,UAAU,kBAAkB,CAAC,GAAqC;IACtE,IAAI,IAAI,GAAqC,GAAG,CAAC;IACjD,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,WAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;IAC1D,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC;IACvC,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC1C,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,cAAc,IAAI,WAAW,CAAC;IACpD,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,cAAc,IAAI,OAAO,CAAC;IACjD,OAAO,cAAc,IAAI,OAAO,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAqB;IACrD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5C,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAA6B;IACnE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,UAAU,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,UAAU,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,UAAU,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAsB;IACtD,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,IAAI,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACpF,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,IAAI,IAAI,CAAC,YAAY;QAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACrF,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAQ1C;IACC,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,eAAe;IACf,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;QACzC,UAAU,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,2CAA2C,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClF,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,CAAC,SAAS,GAAG;gBACrB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACf,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACb,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK;aAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QACnD,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,yBAAyB;IACzB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACvD,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;gBACf,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACnC,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QACnD,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,2CAA2C;IAC3C,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;QAC/D,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,0BAA0B;IAC1B,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7C,MAAM,IAAI,GAA2B,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -15,6 +15,7 @@ export interface CreateOptions {
15
15
  resources?: string;
16
16
  aliases?: string;
17
17
  tags?: string;
18
+ sshPrincipals?: string;
18
19
  tenant?: string;
19
20
  json?: boolean;
20
21
  }
@@ -48,6 +49,7 @@ export interface UpdateConditionsOptions {
48
49
  resources?: string;
49
50
  aliases?: string;
50
51
  tags?: string;
52
+ sshPrincipals?: string;
51
53
  clearAll?: boolean;
52
54
  tenant?: string;
53
55
  json?: boolean;
@@ -78,6 +80,7 @@ export interface ApiKeyConditions {
78
80
  resources?: Record<string, string[]>;
79
81
  aliases?: string[];
80
82
  resourceTags?: Record<string, string>;
83
+ sshPrincipals?: string[];
81
84
  [key: string]: unknown;
82
85
  }
83
86
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/apikey/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/apikey/types.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,9 @@ export interface GeneratedCredential {
63
63
  maxExpiresAt: string;
64
64
  ttlSeconds: number;
65
65
  renewalCount: number;
66
+ host?: string;
67
+ port?: number;
68
+ database?: string;
66
69
  }
67
70
  export interface TestConnectionResult {
68
71
  success: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/dynamic-secrets/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/dynamic-secrets/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Add or overwrite a MySQL alias in the active profile.
3
+ */
4
+ export declare function addAlias(name: string, connection: string, role: string): void;
5
+ /**
6
+ * Get a MySQL alias from the active profile.
7
+ * Returns undefined if the alias does not exist.
8
+ */
9
+ export declare function getAlias(name: string): {
10
+ connection: string;
11
+ role: string;
12
+ } | undefined;
13
+ /**
14
+ * List all MySQL aliases in the active profile.
15
+ */
16
+ export declare function listAliases(): Array<{
17
+ name: string;
18
+ connection: string;
19
+ role: string;
20
+ }>;
21
+ /**
22
+ * Remove a MySQL alias from the active profile.
23
+ * No-op if the alias does not exist.
24
+ */
25
+ export declare function removeAlias(name: string): void;
26
+ //# sourceMappingURL=alias.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alias.d.ts","sourceRoot":"","sources":["../../../src/commands/mysql/alias.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAM7E;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAGvF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAQvF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAO9C"}
@@ -0,0 +1,56 @@
1
+ // src/commands/mysql/alias.ts
2
+ /**
3
+ * Per-profile MySQL alias store.
4
+ *
5
+ * Aliases map a short name (e.g. "staging-rw") to a dynamic-secrets connection
6
+ * name and role name so that `znvault mysql exec staging-rw` can be used instead
7
+ * of spelling out the full --connection / --role flags every time.
8
+ *
9
+ * Aliases are stored under the active profile in the CLI config:
10
+ * profile.mysqlAliases: Record<string, { connection: string; role: string }>
11
+ */
12
+ import { getCurrentProfile, saveProfile } from '../../lib/config/profile.js';
13
+ import { getActiveProfileName } from '../../lib/config/profile.js';
14
+ /**
15
+ * Add or overwrite a MySQL alias in the active profile.
16
+ */
17
+ export function addAlias(name, connection, role) {
18
+ const profileName = getActiveProfileName();
19
+ const profile = getCurrentProfile();
20
+ const aliases = profile.mysqlAliases ?? {};
21
+ aliases[name] = { connection, role };
22
+ saveProfile(profileName, { ...profile, mysqlAliases: aliases });
23
+ }
24
+ /**
25
+ * Get a MySQL alias from the active profile.
26
+ * Returns undefined if the alias does not exist.
27
+ */
28
+ export function getAlias(name) {
29
+ const profile = getCurrentProfile();
30
+ return profile.mysqlAliases?.[name];
31
+ }
32
+ /**
33
+ * List all MySQL aliases in the active profile.
34
+ */
35
+ export function listAliases() {
36
+ const profile = getCurrentProfile();
37
+ const aliases = profile.mysqlAliases ?? {};
38
+ return Object.entries(aliases).map(([name, { connection, role }]) => ({
39
+ name,
40
+ connection,
41
+ role,
42
+ }));
43
+ }
44
+ /**
45
+ * Remove a MySQL alias from the active profile.
46
+ * No-op if the alias does not exist.
47
+ */
48
+ export function removeAlias(name) {
49
+ const profileName = getActiveProfileName();
50
+ const profile = getCurrentProfile();
51
+ const aliases = profile.mysqlAliases ?? {};
52
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
53
+ delete aliases[name];
54
+ saveProfile(profileName, { ...profile, mysqlAliases: aliases });
55
+ }
56
+ //# sourceMappingURL=alias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alias.js","sourceRoot":"","sources":["../../../src/commands/mysql/alias.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,UAAkB,EAAE,IAAY;IACrE,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACrC,WAAW,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI;QACJ,UAAU;QACV,IAAI;KACL,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IAC3C,gEAAgE;IAChE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,WAAW,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { GeneratedCredential } from '../dynamic-secrets/types.js';
2
+ /**
3
+ * Options for runBrokered.
4
+ */
5
+ export interface RunBrokeredOptions {
6
+ /** The dynamic-secrets role ID to generate credentials from. */
7
+ roleId: string;
8
+ /**
9
+ * Requested TTL in seconds. The server may cap this to the role's maxTtl.
10
+ * Defaults to DEFAULT_TTL_SECONDS (600).
11
+ */
12
+ ttlSeconds?: number;
13
+ /**
14
+ * Callback that receives the credential + the open cnf fd and its /dev/fd
15
+ * path. Should return the numeric child process exit code.
16
+ *
17
+ * The cnf inode is valid (reachable via `fdPath`) for the duration of this
18
+ * callback — its directory entry is already unlinked, so the child mysql must
19
+ * inherit `fd` at the same number (runMysql does this). The fd is closed and
20
+ * the lease is revoked immediately after the callback returns (or throws).
21
+ */
22
+ run: (ctx: {
23
+ credential: GeneratedCredential;
24
+ fd: number;
25
+ fdPath: string;
26
+ }) => Promise<number>;
27
+ }
28
+ /**
29
+ * Generate a lease, write its credentials to a temp my.cnf, run the callback,
30
+ * then revoke the lease and shred the my.cnf on EVERY exit path.
31
+ *
32
+ * @returns The numeric exit code returned by `run`.
33
+ * @throws If `run` throws, the error is rethrown after cleanup.
34
+ * @throws If the server does not return host/port in the credential,
35
+ * an upgrade error is thrown before `run` is called.
36
+ */
37
+ export declare function runBrokered(opts: RunBrokeredOptions): Promise<number>;
38
+ //# sourceMappingURL=broker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/commands/mysql/broker.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AA8DvE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,GAAG,EAAE,CAAC,GAAG,EAAE;QAAE,UAAU,EAAE,mBAAmB,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChG;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4F3E"}
@@ -0,0 +1,171 @@
1
+ // src/commands/mysql/broker.ts
2
+ /**
3
+ * Brokered lease lifecycle for `znvault mysql exec/connect`.
4
+ *
5
+ * runBrokered:
6
+ * 1. Generates a short-lived dynamic-secret credential.
7
+ * 2. Writes credentials to a 0600 temp my.cnf on a memory-backed fs, then
8
+ * unlinks the directory entry immediately, keeping it alive via an open fd
9
+ * (spec F1 — no plaintext name on disk for the run).
10
+ * 3. Calls the injected `run` callback with { credential, fd, fdPath }.
11
+ * 4. In ALL exit paths (normal return, run error, SIGINT/SIGTERM/SIGHUP,
12
+ * uncaughtException) — calls a single idempotent cleanup() that:
13
+ * a. Closes the cnf fd (releasing the unlinked inode) + rmdir's the dir.
14
+ * b. Revokes the lease (3 retries: 1s/2s/4s backoff).
15
+ * "Already revoked" errors are treated as success.
16
+ * All retries exhausted → loud WARN with leaseId (TTL backstop).
17
+ * 5. Returns the numeric exit code from run, or rethrows run's error.
18
+ *
19
+ * Security guarantees (spec F1–F12):
20
+ * - Password only in 0600 temp file, never in argv/env/stdout.
21
+ * - host/port MUST come from the server; no --host fallback (spec F2).
22
+ * - Lease is always revoked; TTL is the backstop, not the primary mechanism.
23
+ * - Signal handlers are removed in the finally block to avoid leaks.
24
+ */
25
+ import { client } from '../../lib/client.js';
26
+ import { createMyCnf } from './mycnf.js';
27
+ /** Default lease TTL in seconds (spec F12 — may be capped by role maxTtl). */
28
+ const DEFAULT_TTL_SECONDS = 600;
29
+ /** Backoff delays in ms for revoke retries. */
30
+ const REVOKE_BACKOFF_MS = [1_000, 2_000, 4_000];
31
+ /** Maximum retries for revoke (length of REVOKE_BACKOFF_MS + 1 initial attempt). */
32
+ const REVOKE_MAX_ATTEMPTS = 1 + REVOKE_BACKOFF_MS.length; // 4 total
33
+ function sleep(ms) {
34
+ return new Promise((resolve) => setTimeout(resolve, ms));
35
+ }
36
+ /**
37
+ * Returns true if the error message indicates the lease is already revoked.
38
+ * The server throws "Cannot revoke <id>: lease is already REVOKED" (or similar).
39
+ *
40
+ * TODO: also check the HTTP status code (e.g. 404/409) once the client surfaces
41
+ * it on the error object — matching solely on err.message is fragile if the
42
+ * server error wording changes.
43
+ */
44
+ function isAlreadyRevoked(err) {
45
+ if (!(err instanceof Error))
46
+ return false;
47
+ const msg = err.message.toLowerCase();
48
+ return msg.includes('cannot revoke') || msg.includes('already revoked') || msg.includes('already_revoked');
49
+ }
50
+ /**
51
+ * Attempt to revoke the lease with up to REVOKE_MAX_ATTEMPTS tries.
52
+ * "Already revoked" errors are silently treated as success.
53
+ * If all attempts fail for other reasons, emits a loud WARN (does not throw).
54
+ */
55
+ async function revokeWithRetry(leaseId) {
56
+ let lastErr;
57
+ for (let attempt = 1; attempt <= REVOKE_MAX_ATTEMPTS; attempt++) {
58
+ try {
59
+ await client.post(`/v1/dynamic-secrets/leases/${leaseId}/revoke`, {
60
+ reason: 'znvault-mysql-exec-cleanup',
61
+ });
62
+ return; // success
63
+ }
64
+ catch (err) {
65
+ if (isAlreadyRevoked(err)) {
66
+ return; // treat as success
67
+ }
68
+ lastErr = err;
69
+ // Sleep between retries; no sleep after the last attempt.
70
+ if (attempt < REVOKE_MAX_ATTEMPTS) {
71
+ await sleep(REVOKE_BACKOFF_MS[attempt - 1] ?? 1_000);
72
+ }
73
+ }
74
+ }
75
+ // All retries exhausted — log loud WARN so the operator can manually revoke.
76
+ // Do NOT throw: the TTL backstop will clean up the DB user.
77
+ const errMsg = lastErr instanceof Error ? lastErr.message : String(lastErr);
78
+ console.warn(`[znvault] WARN: failed to revoke lease ${leaseId} after ${REVOKE_MAX_ATTEMPTS.toString()} attempts. ` +
79
+ `It will expire at its TTL. Last error: ${errMsg}`);
80
+ }
81
+ /**
82
+ * Generate a lease, write its credentials to a temp my.cnf, run the callback,
83
+ * then revoke the lease and shred the my.cnf on EVERY exit path.
84
+ *
85
+ * @returns The numeric exit code returned by `run`.
86
+ * @throws If `run` throws, the error is rethrown after cleanup.
87
+ * @throws If the server does not return host/port in the credential,
88
+ * an upgrade error is thrown before `run` is called.
89
+ */
90
+ export async function runBrokered(opts) {
91
+ const { roleId, run } = opts;
92
+ const requestedTtl = opts.ttlSeconds ?? DEFAULT_TTL_SECONDS;
93
+ // ── 1. Generate lease ───────────────────────────────────────────────────────
94
+ const credential = await client.post(`/v1/dynamic-secrets/roles/${roleId}/credentials`, { ttlSeconds: requestedTtl });
95
+ // Log the effective TTL (may differ from requested due to role maxTtl cap — spec F12).
96
+ if (credential.ttlSeconds !== requestedTtl) {
97
+ console.warn(`[znvault] Requested TTL ${requestedTtl.toString()}s was capped to ${credential.ttlSeconds.toString()}s by the role's maxTtl.`);
98
+ }
99
+ // ── 2. Validate host/port (spec F2 — no --host fallback) ───────────────────
100
+ if (!credential.host || credential.port === undefined) {
101
+ // Revoke the just-minted lease before throwing. revokeWithRetry applies the
102
+ // same retry/backoff as the main cleanup path (it does NOT skip retries).
103
+ await revokeWithRetry(credential.leaseId);
104
+ throw new Error(`Vault did not return host/port in the credential for role '${roleId}'. ` +
105
+ `Please upgrade vault to a version that returns host/port in dynamic-secret credentials.`);
106
+ }
107
+ // ── 3. Write temp my.cnf (open fd + immediate unlink — spec F1) ────────────
108
+ // The lease is minted but the idempotent cleanup()/try-finally below is not
109
+ // installed yet. If createMyCnf throws (disk full, mkdir race, EMFILE) here,
110
+ // the lease would be orphaned (only the TTL backstop would save it). Revoke it
111
+ // first, then rethrow. No double-revoke risk: cleanup() is not installed until
112
+ // after this succeeds, so on this path revoke fires exactly once (I-2).
113
+ let cnfFd;
114
+ let cnfFdPath;
115
+ let cleanupCnf;
116
+ try {
117
+ ({ fd: cnfFd, fdPath: cnfFdPath, cleanup: cleanupCnf } = await createMyCnf({
118
+ user: credential.username,
119
+ password: credential.password,
120
+ host: credential.host,
121
+ port: credential.port,
122
+ }));
123
+ }
124
+ catch (err) {
125
+ await revokeWithRetry(credential.leaseId);
126
+ throw err;
127
+ }
128
+ // ── 4. Idempotent cleanup (guarded by `cleaned` boolean) ───────────────────
129
+ let cleaned = false;
130
+ async function cleanup() {
131
+ if (cleaned)
132
+ return;
133
+ cleaned = true;
134
+ cleanupCnf();
135
+ await revokeWithRetry(credential.leaseId);
136
+ }
137
+ // ── 5. Signal handlers ──────────────────────────────────────────────────────
138
+ // SIGPIPE is intentionally not handled — treat as normal (don't crash).
139
+ // Each handler uses an async IIFE so cleanup() is properly awaited before
140
+ // process.exit. The outer `void` is the lint-clean way to fire-and-forget an
141
+ // async function from a synchronous signal handler — cleanup() cannot throw
142
+ // (revokeWithRetry eats errors, cleanupCnf is try/caught), so there is no
143
+ // unhandled rejection risk.
144
+ const onSIGINT = () => { void (async () => { await cleanup(); process.exit(130); })(); };
145
+ const onSIGTERM = () => { void (async () => { await cleanup(); process.exit(143); })(); };
146
+ const onSIGHUP = () => { void (async () => { await cleanup(); process.exit(129); })(); };
147
+ const onUncaughtException = (err) => {
148
+ console.error('[znvault] Uncaught exception during mysql exec:', err.stack ?? err);
149
+ void (async () => { await cleanup(); process.exit(1); })();
150
+ };
151
+ process.once('SIGINT', onSIGINT);
152
+ process.once('SIGTERM', onSIGTERM);
153
+ process.once('SIGHUP', onSIGHUP);
154
+ process.once('uncaughtException', onUncaughtException);
155
+ // ── 6. Run callback + cleanup in finally ────────────────────────────────────
156
+ try {
157
+ const exitCode = await run({ credential, fd: cnfFd, fdPath: cnfFdPath });
158
+ return exitCode;
159
+ }
160
+ finally {
161
+ // Remove signal handlers BEFORE awaiting cleanup so that a signal arriving
162
+ // during cleanup does not re-enter the handler (which would be a no-op due
163
+ // to the `cleaned` guard but would also leak across repeated runBrokered calls).
164
+ process.off('SIGINT', onSIGINT);
165
+ process.off('SIGTERM', onSIGTERM);
166
+ process.off('SIGHUP', onSIGHUP);
167
+ process.off('uncaughtException', onUncaughtException);
168
+ await cleanup();
169
+ }
170
+ }
171
+ //# sourceMappingURL=broker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../src/commands/mysql/broker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Register `znvault mysql` commands: exec, connect, alias.
3
+ *
4
+ * Security guarantees (spec F1–F12):
5
+ * - assertMysqlOnPath() is called BEFORE generating a lease (fail-fast, no
6
+ * wasted credentials if mysql is absent — spec F1).
7
+ * - Password never in argv/env/stdout (broker writes 0600 my.cnf — spec F3).
8
+ * - host/port come from the vault server; no --host fallback (spec F2).
9
+ * If the server credential lacks host, runBrokered throws a clear upgrade
10
+ * error — surfaced here, never swallowed.
11
+ * - process.exit(code) propagates the mysql exit code so CI scripts can rely
12
+ * on non-zero exit to detect SQL failures.
13
+ */
14
+ import type { Command } from 'commander';
15
+ /**
16
+ * Parse and validate the `--ttl <seconds>` option (M-2).
17
+ *
18
+ * `parseInt('abc', 10)` is `NaN`, and `NaN ?? 600` stays `NaN` — which would be
19
+ * sent to the server as the requested TTL and produce a confusing bad request.
20
+ * Validate locally and fail fast with a clear message BEFORE any lease is
21
+ * generated.
22
+ *
23
+ * @param raw The raw `--ttl` option value, or undefined when not provided.
24
+ * @returns The parsed positive integer, or undefined when `--ttl` is absent
25
+ * (so the server/role default applies).
26
+ * @throws If `--ttl` is provided but is not a positive integer.
27
+ */
28
+ export declare function parseTtlSeconds(raw: string | undefined): number | undefined;
29
+ /**
30
+ * Register the `mysql` command group and all subcommands on `program`.
31
+ */
32
+ export declare function registerMysqlCommands(program: Command): void;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/mysql/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAS3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmL5D"}