@zincapp/zn-vault-agent 1.5.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +101 -0
- package/dist/commands/certs.d.ts.map +1 -1
- package/dist/commands/certs.js +117 -87
- package/dist/commands/certs.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +41 -4
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +15 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/lib/api.d.ts +28 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +11 -0
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/config.d.ts +31 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +31 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/websocket.d.ts.map +1 -1
- package/dist/lib/websocket.js +33 -3
- package/dist/lib/websocket.js.map +1 -1
- package/dist/services/managed-key-renewal.d.ts +31 -0
- package/dist/services/managed-key-renewal.d.ts.map +1 -0
- package/dist/services/managed-key-renewal.js +212 -0
- package/dist/services/managed-key-renewal.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -220,6 +220,107 @@ The agent automatically renews API keys before they expire:
|
|
|
220
220
|
|
|
221
221
|
**Note**: The renewal service only runs when the daemon is active. For environments where the daemon runs intermittently, consider checking key status via `znvault agent status` and rotating manually if needed.
|
|
222
222
|
|
|
223
|
+
### Managed API Keys (Recommended)
|
|
224
|
+
|
|
225
|
+
Managed API keys provide **automatic rotation** handled by the vault server. When you use a managed API key, the agent automatically detects it and handles rotation seamlessly.
|
|
226
|
+
|
|
227
|
+
#### How It Works
|
|
228
|
+
|
|
229
|
+
1. **Auto-Detection**: During `login`, the agent calls `/auth/api-keys/self` to check if the key is managed
|
|
230
|
+
2. **Automatic Binding**: If managed, the agent binds to get the current key value and rotation metadata
|
|
231
|
+
3. **Background Renewal**: The daemon automatically refreshes the key before each rotation
|
|
232
|
+
4. **WebSocket Reconnection**: When the key rotates, the agent reconnects with the new key
|
|
233
|
+
|
|
234
|
+
#### Rotation Modes
|
|
235
|
+
|
|
236
|
+
| Mode | Behavior | Use Case |
|
|
237
|
+
|------|----------|----------|
|
|
238
|
+
| `scheduled` | Key rotates on a fixed schedule (e.g., every 24h) | Production services with predictable restarts |
|
|
239
|
+
| `on-use` | Key rotates after first use, then stays stable | Services that start infrequently |
|
|
240
|
+
| `on-bind` | Each bind returns a fresh key | Short-lived processes, CI/CD |
|
|
241
|
+
|
|
242
|
+
#### Creating a Managed API Key
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# Via znvault CLI
|
|
246
|
+
znvault apikey create \
|
|
247
|
+
--name "agent-prod-server1" \
|
|
248
|
+
--tenant my-tenant \
|
|
249
|
+
--managed \
|
|
250
|
+
--rotation-mode scheduled \
|
|
251
|
+
--rotation-interval 24h \
|
|
252
|
+
--grace-period 5m \
|
|
253
|
+
--permissions certificate:read:metadata,certificate:read:value
|
|
254
|
+
|
|
255
|
+
# Via API
|
|
256
|
+
curl -sk -X POST https://vault.example.com/auth/api-keys \
|
|
257
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
258
|
+
-H "Content-Type: application/json" \
|
|
259
|
+
-d '{
|
|
260
|
+
"name": "agent-prod-server1",
|
|
261
|
+
"permissions": ["certificate:read:metadata", "certificate:read:value"],
|
|
262
|
+
"managed": {
|
|
263
|
+
"rotationMode": "scheduled",
|
|
264
|
+
"rotationInterval": "24h",
|
|
265
|
+
"gracePeriod": "5m"
|
|
266
|
+
}
|
|
267
|
+
}'
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
#### Using Managed Keys with the Agent
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
# Just use the API key - agent auto-detects it's managed
|
|
274
|
+
zn-vault-agent login \
|
|
275
|
+
--url https://vault.example.com \
|
|
276
|
+
--tenant my-tenant \
|
|
277
|
+
--api-key znv_managed_key_123...
|
|
278
|
+
|
|
279
|
+
# Output shows managed key was detected:
|
|
280
|
+
# ✓ Connection successful!
|
|
281
|
+
# ✓ Configuration saved to: /etc/zn-vault-agent/config.json
|
|
282
|
+
# ✓ Found 5 certificate(s) in vault
|
|
283
|
+
# ✓ Managed API key detected and bound
|
|
284
|
+
# ✓ Managed key: agent-prod-server1 (rotates: 1/6/2026, 10:00 AM)
|
|
285
|
+
# Auto-rotation enabled - key will refresh before expiration
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
#### Grace Period
|
|
289
|
+
|
|
290
|
+
When a managed key rotates, both the old and new keys work during the **grace period** (default: 5 minutes). This ensures zero-downtime during rotation:
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
Time ──────────────────────────────────────────────────────────>
|
|
294
|
+
|
|
295
|
+
│◄─── Rotation ───►│
|
|
296
|
+
│ │
|
|
297
|
+
Key A ████████████████████░░░░░░░░ (grace period - both work)
|
|
298
|
+
Key B ████████████████████████████████████
|
|
299
|
+
|
|
300
|
+
│ │
|
|
301
|
+
rotation grace expires
|
|
302
|
+
event (old key invalid)
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
#### Log Output During Rotation
|
|
306
|
+
|
|
307
|
+
```json
|
|
308
|
+
{"level":"info","msg":"Managed key refresh scheduled","refreshInMinutes":55,"refreshAt":"2026-01-06T09:55:00Z"}
|
|
309
|
+
{"level":"info","msg":"Binding to managed key","name":"agent-prod-server1"}
|
|
310
|
+
{"level":"info","msg":"Managed key rotated","oldPrefix":"znv_abc1","newPrefix":"znv_xyz9","nextRotationAt":"2026-01-07T10:00:00Z"}
|
|
311
|
+
{"level":"info","msg":"Managed key changed, reconnecting WebSocket"}
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
#### Benefits Over Static Keys
|
|
315
|
+
|
|
316
|
+
| Feature | Static API Key | Managed API Key |
|
|
317
|
+
|---------|---------------|-----------------|
|
|
318
|
+
| Rotation | Manual (agent self-rotate) | Automatic (vault-managed) |
|
|
319
|
+
| Grace Period | None (immediate invalidation) | Configurable overlap |
|
|
320
|
+
| Audit Trail | Key rotation events | Full rotation history |
|
|
321
|
+
| Coordination | Single agent | Multiple agents can share |
|
|
322
|
+
| Expiration Handling | Agent must self-rotate | Vault handles expiration |
|
|
323
|
+
|
|
223
324
|
### Password Authentication (Development Only)
|
|
224
325
|
|
|
225
326
|
Password auth stores credentials in the config file. **Not recommended for production.**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certs.d.ts","sourceRoot":"","sources":["../../src/commands/certs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"certs.d.ts","sourceRoot":"","sources":["../../src/commands/certs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsa5D"}
|
package/dist/commands/certs.js
CHANGED
|
@@ -58,7 +58,7 @@ Examples:
|
|
|
58
58
|
program
|
|
59
59
|
.command('add')
|
|
60
60
|
.description('Add a certificate to sync')
|
|
61
|
-
.option('-c, --cert <id>', 'Certificate ID')
|
|
61
|
+
.option('-c, --cert <id>', 'Certificate ID or alias')
|
|
62
62
|
.option('-n, --name <name>', 'Local name for this certificate')
|
|
63
63
|
.option('--combined <path>', 'Path for combined cert+key file (HAProxy)')
|
|
64
64
|
.option('--cert-file <path>', 'Path for certificate file')
|
|
@@ -69,41 +69,51 @@ Examples:
|
|
|
69
69
|
.option('--mode <mode>', 'File permissions (e.g., 0640)')
|
|
70
70
|
.option('--reload-cmd <cmd>', 'Command to reload service')
|
|
71
71
|
.option('--health-cmd <cmd>', 'Health check command after reload')
|
|
72
|
+
.option('-y, --yes', 'Non-interactive mode (use defaults, skip prompts)')
|
|
72
73
|
.addHelpText('after', `
|
|
73
74
|
Examples:
|
|
74
75
|
# Interactive mode (prompts for all options)
|
|
75
76
|
zn-vault-agent add
|
|
76
77
|
|
|
77
|
-
#
|
|
78
|
+
# Non-interactive: HAProxy combined cert+key file
|
|
78
79
|
zn-vault-agent add --cert $CERT_ID \\
|
|
79
80
|
--name haproxy-frontend \\
|
|
80
81
|
--combined /etc/haproxy/certs/frontend.pem \\
|
|
81
82
|
--owner haproxy:haproxy --mode 0640 \\
|
|
82
|
-
--reload-cmd "systemctl reload haproxy"
|
|
83
|
+
--reload-cmd "systemctl reload haproxy" \\
|
|
84
|
+
--yes
|
|
83
85
|
|
|
84
|
-
#
|
|
86
|
+
# Non-interactive: Nginx separate fullchain and key files
|
|
85
87
|
zn-vault-agent add --cert $CERT_ID \\
|
|
86
88
|
--name nginx-api \\
|
|
87
89
|
--fullchain-file /etc/nginx/ssl/api-fullchain.pem \\
|
|
88
90
|
--key-file /etc/nginx/ssl/api.key \\
|
|
89
|
-
--reload-cmd "nginx -t && systemctl reload nginx"
|
|
91
|
+
--reload-cmd "nginx -t && systemctl reload nginx" \\
|
|
92
|
+
--yes
|
|
90
93
|
|
|
91
94
|
# With health check
|
|
92
95
|
zn-vault-agent add --cert $CERT_ID \\
|
|
93
96
|
--name app-server \\
|
|
94
97
|
--combined /etc/ssl/app.pem \\
|
|
95
98
|
--reload-cmd "systemctl restart app" \\
|
|
96
|
-
--health-cmd "curl -sf http://localhost:8080/health"
|
|
99
|
+
--health-cmd "curl -sf http://localhost:8080/health" \\
|
|
100
|
+
--yes
|
|
97
101
|
`)
|
|
98
102
|
.action(async (options) => {
|
|
99
103
|
if (!isConfigured()) {
|
|
100
104
|
console.error(chalk.red('Not configured. Run: zn-vault-agent login'));
|
|
101
105
|
process.exit(1);
|
|
102
106
|
}
|
|
107
|
+
// Determine if we can run non-interactively
|
|
108
|
+
const hasOutputPath = options.combined || options.certFile || options.keyFile || options.fullchainFile;
|
|
109
|
+
const nonInteractive = options.yes && options.cert && hasOutputPath;
|
|
103
110
|
// If cert ID not provided, show selection
|
|
104
111
|
let certId = options.cert;
|
|
105
|
-
let certAlias = '';
|
|
106
112
|
if (!certId) {
|
|
113
|
+
if (options.yes) {
|
|
114
|
+
console.error(chalk.red('--cert is required in non-interactive mode'));
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
107
117
|
const spinner = ora('Fetching certificates...').start();
|
|
108
118
|
const result = await listCertificates();
|
|
109
119
|
spinner.stop();
|
|
@@ -123,91 +133,111 @@ Examples:
|
|
|
123
133
|
},
|
|
124
134
|
]);
|
|
125
135
|
certId = selectedCert;
|
|
126
|
-
certAlias = result.items.find(c => c.id === certId)?.alias || '';
|
|
127
136
|
}
|
|
128
137
|
// Get certificate details
|
|
129
138
|
const spinner = ora('Fetching certificate details...').start();
|
|
130
139
|
const cert = await getCertificate(certId);
|
|
131
140
|
spinner.stop();
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
141
|
+
if (!nonInteractive) {
|
|
142
|
+
console.log();
|
|
143
|
+
console.log(chalk.bold('Certificate:'), cert.alias);
|
|
144
|
+
console.log(chalk.gray(`Subject: ${cert.subjectCn}`));
|
|
145
|
+
console.log(chalk.gray(`Expires: ${cert.daysUntilExpiry} days`));
|
|
146
|
+
console.log();
|
|
147
|
+
}
|
|
148
|
+
// In non-interactive mode, use provided options directly
|
|
149
|
+
let answers;
|
|
150
|
+
if (nonInteractive) {
|
|
151
|
+
// Use defaults and provided options
|
|
152
|
+
answers = {
|
|
153
|
+
name: options.name || cert.alias.replace(/[^a-zA-Z0-9-_]/g, '-'),
|
|
154
|
+
outputFormat: options.combined ? 'combined' : 'separate',
|
|
155
|
+
combined: options.combined || '',
|
|
156
|
+
certFile: options.certFile || '',
|
|
157
|
+
keyFile: options.keyFile || '',
|
|
158
|
+
chainFile: options.chainFile || '',
|
|
159
|
+
owner: options.owner || 'root:root',
|
|
160
|
+
mode: options.mode || '0640',
|
|
161
|
+
reloadCmd: options.reloadCmd || '',
|
|
162
|
+
healthCmd: options.healthCmd || '',
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// Gather output configuration interactively
|
|
167
|
+
answers = await inquirer.prompt([
|
|
168
|
+
{
|
|
169
|
+
type: 'input',
|
|
170
|
+
name: 'name',
|
|
171
|
+
message: 'Local name for this target:',
|
|
172
|
+
default: options.name || cert.alias.replace(/[^a-zA-Z0-9-_]/g, '-'),
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
type: 'list',
|
|
176
|
+
name: 'outputFormat',
|
|
177
|
+
message: 'Output format:',
|
|
178
|
+
choices: [
|
|
179
|
+
{ name: 'Combined (cert+key in one file) - for HAProxy', value: 'combined' },
|
|
180
|
+
{ name: 'Separate files (cert, key, chain)', value: 'separate' },
|
|
181
|
+
{ name: 'Custom', value: 'custom' },
|
|
182
|
+
],
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
type: 'input',
|
|
186
|
+
name: 'combined',
|
|
187
|
+
message: 'Combined file path:',
|
|
188
|
+
when: (ans) => ans.outputFormat === 'combined',
|
|
189
|
+
default: options.combined || `/etc/ssl/${cert.alias}.pem`,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'input',
|
|
193
|
+
name: 'certFile',
|
|
194
|
+
message: 'Certificate file path:',
|
|
195
|
+
when: (ans) => ans.outputFormat === 'separate',
|
|
196
|
+
default: options.certFile || `/etc/ssl/certs/${cert.alias}.crt`,
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
type: 'input',
|
|
200
|
+
name: 'keyFile',
|
|
201
|
+
message: 'Private key file path:',
|
|
202
|
+
when: (ans) => ans.outputFormat === 'separate',
|
|
203
|
+
default: options.keyFile || `/etc/ssl/private/${cert.alias}.key`,
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
type: 'input',
|
|
207
|
+
name: 'chainFile',
|
|
208
|
+
message: 'CA chain file path (optional):',
|
|
209
|
+
when: (ans) => ans.outputFormat === 'separate',
|
|
210
|
+
default: options.chainFile || '',
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
type: 'input',
|
|
214
|
+
name: 'owner',
|
|
215
|
+
message: 'File ownership (user:group):',
|
|
216
|
+
default: options.owner || 'root:root',
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
type: 'input',
|
|
220
|
+
name: 'mode',
|
|
221
|
+
message: 'File permissions:',
|
|
222
|
+
default: options.mode || '0640',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
type: 'input',
|
|
226
|
+
name: 'reloadCmd',
|
|
227
|
+
message: 'Reload command (run after cert update):',
|
|
228
|
+
default: options.reloadCmd || 'systemctl reload haproxy',
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
type: 'input',
|
|
232
|
+
name: 'healthCmd',
|
|
233
|
+
message: 'Health check command (optional):',
|
|
234
|
+
default: options.healthCmd || '',
|
|
235
|
+
},
|
|
236
|
+
]);
|
|
237
|
+
}
|
|
208
238
|
// Build target configuration
|
|
209
239
|
const target = {
|
|
210
|
-
certId,
|
|
240
|
+
certId: cert.id, // Use resolved ID from getCertificate
|
|
211
241
|
name: answers.name,
|
|
212
242
|
outputs: {},
|
|
213
243
|
owner: answers.owner,
|
|
@@ -230,8 +260,8 @@ Examples:
|
|
|
230
260
|
if (options.fullchainFile) {
|
|
231
261
|
target.outputs.fullchain = options.fullchainFile;
|
|
232
262
|
}
|
|
233
|
-
// Handle custom output
|
|
234
|
-
if (answers.outputFormat === 'custom') {
|
|
263
|
+
// Handle custom output (only in interactive mode)
|
|
264
|
+
if (!nonInteractive && answers.outputFormat === 'custom') {
|
|
235
265
|
const customAnswers = await inquirer.prompt([
|
|
236
266
|
{
|
|
237
267
|
type: 'input',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certs.js","sourceRoot":"","sources":["../../src/commands/certs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"certs.js","sourceRoot":"","sources":["../../src/commands/certs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmQ3D"}
|
package/dist/commands/login.js
CHANGED
|
@@ -2,7 +2,7 @@ import inquirer from 'inquirer';
|
|
|
2
2
|
import ora from 'ora';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import { loadConfig, saveConfig, getConfigPath } from '../lib/config.js';
|
|
5
|
-
import { login as apiLogin, listCertificates } from '../lib/api.js';
|
|
5
|
+
import { login as apiLogin, listCertificates, getApiKeySelf, bindManagedApiKey } from '../lib/api.js';
|
|
6
6
|
/**
|
|
7
7
|
* Check if we have all required values for non-interactive mode
|
|
8
8
|
*/
|
|
@@ -31,7 +31,7 @@ export function registerLoginCommand(program) {
|
|
|
31
31
|
.description('Configure vault connection and authenticate')
|
|
32
32
|
.option('-u, --url <url>', 'Vault server URL')
|
|
33
33
|
.option('-t, --tenant <id>', 'Tenant ID')
|
|
34
|
-
.option('-k, --api-key <key>', 'API key (
|
|
34
|
+
.option('-k, --api-key <key>', 'API key (auto-detects managed keys)')
|
|
35
35
|
.option('--username <user>', 'Username')
|
|
36
36
|
.option('--password <pass>', 'Password')
|
|
37
37
|
.option('--insecure', 'Skip TLS certificate verification')
|
|
@@ -42,7 +42,7 @@ Examples:
|
|
|
42
42
|
# Interactive login (prompts for values)
|
|
43
43
|
zn-vault-agent login
|
|
44
44
|
|
|
45
|
-
# Login with API key (
|
|
45
|
+
# Login with API key (auto-detects managed keys for auto-rotation)
|
|
46
46
|
zn-vault-agent login --url https://vault.example.com --tenant acme --api-key znv_abc123
|
|
47
47
|
|
|
48
48
|
# Login with username/password
|
|
@@ -137,7 +137,7 @@ Examples:
|
|
|
137
137
|
name: 'authMethod',
|
|
138
138
|
message: 'Authentication method:',
|
|
139
139
|
choices: [
|
|
140
|
-
{ name: 'API Key (
|
|
140
|
+
{ name: 'API Key (auto-detects managed keys)', value: 'apiKey' },
|
|
141
141
|
{ name: 'Username/Password', value: 'password' },
|
|
142
142
|
],
|
|
143
143
|
default: options.apiKey ? 'apiKey' : (config.auth.apiKey ? 'apiKey' : 'password'),
|
|
@@ -187,12 +187,14 @@ Examples:
|
|
|
187
187
|
config.insecure = insecure;
|
|
188
188
|
if (authMethod === 'apiKey') {
|
|
189
189
|
config.auth = { apiKey: apiKey };
|
|
190
|
+
config.managedKey = undefined; // Clear until we detect
|
|
190
191
|
}
|
|
191
192
|
else {
|
|
192
193
|
config.auth = {
|
|
193
194
|
username: username,
|
|
194
195
|
password: password,
|
|
195
196
|
};
|
|
197
|
+
config.managedKey = undefined; // Clear managed key config
|
|
196
198
|
}
|
|
197
199
|
// Save config first (needed for API calls)
|
|
198
200
|
saveConfig(config);
|
|
@@ -214,6 +216,41 @@ Examples:
|
|
|
214
216
|
console.log();
|
|
215
217
|
console.log(chalk.green('✓') + ` Configuration saved to: ${getConfigPath()}`);
|
|
216
218
|
console.log(chalk.green('✓') + ` Found ${certs.total} certificate(s) in vault`);
|
|
219
|
+
// For API key auth, check if it's a managed key
|
|
220
|
+
if (authMethod === 'apiKey') {
|
|
221
|
+
spinner.start('Checking API key type...');
|
|
222
|
+
try {
|
|
223
|
+
const keyInfo = await getApiKeySelf();
|
|
224
|
+
if (keyInfo.isManaged && keyInfo.managedKeyName) {
|
|
225
|
+
spinner.text = 'Binding to managed API key...';
|
|
226
|
+
// Bind to get the current key value and metadata
|
|
227
|
+
const bindResponse = await bindManagedApiKey(keyInfo.managedKeyName);
|
|
228
|
+
// Update config with bound key and managed key metadata
|
|
229
|
+
config.auth.apiKey = bindResponse.key;
|
|
230
|
+
config.managedKey = {
|
|
231
|
+
name: keyInfo.managedKeyName,
|
|
232
|
+
nextRotationAt: bindResponse.nextRotationAt,
|
|
233
|
+
graceExpiresAt: bindResponse.graceExpiresAt,
|
|
234
|
+
rotationMode: bindResponse.rotationMode,
|
|
235
|
+
lastBind: new Date().toISOString(),
|
|
236
|
+
};
|
|
237
|
+
saveConfig(config);
|
|
238
|
+
spinner.succeed('Managed API key detected and bound');
|
|
239
|
+
const nextRotation = bindResponse.nextRotationAt
|
|
240
|
+
? new Date(bindResponse.nextRotationAt).toLocaleString()
|
|
241
|
+
: 'unknown';
|
|
242
|
+
console.log(chalk.green('✓') + ` Managed key: ${keyInfo.managedKeyName} (rotates: ${nextRotation})`);
|
|
243
|
+
console.log(chalk.gray(' Auto-rotation enabled - key will refresh before expiration'));
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
spinner.succeed('Static API key configured');
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
// If self endpoint doesn't exist or fails, just continue with static key
|
|
251
|
+
spinner.info('API key configured (could not detect managed key status)');
|
|
252
|
+
}
|
|
253
|
+
}
|
|
217
254
|
console.log();
|
|
218
255
|
console.log('Next steps:');
|
|
219
256
|
console.log(' 1. Add certificates to sync: ' + chalk.cyan('zn-vault-agent add'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8M3D"}
|
package/dist/commands/start.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Path: src/commands/start.ts
|
|
2
2
|
// Start command - runs the agent daemon
|
|
3
3
|
import chalk from 'chalk';
|
|
4
|
-
import { isConfigured, loadConfig, getTargets, DEFAULT_EXEC_CONFIG, } from '../lib/config.js';
|
|
4
|
+
import { isConfigured, loadConfig, getTargets, isManagedKeyMode, DEFAULT_EXEC_CONFIG, } from '../lib/config.js';
|
|
5
5
|
import { validateConfig, formatValidationResult } from '../lib/validation.js';
|
|
6
6
|
import { startDaemon } from '../lib/websocket.js';
|
|
7
7
|
import { logger } from '../lib/logger.js';
|
|
@@ -140,6 +140,20 @@ Examples:
|
|
|
140
140
|
console.log(` Health: http://0.0.0.0:${options.healthPort}/health`);
|
|
141
141
|
console.log(` Metrics: http://0.0.0.0:${options.healthPort}/metrics`);
|
|
142
142
|
}
|
|
143
|
+
// Auth mode status
|
|
144
|
+
if (isManagedKeyMode()) {
|
|
145
|
+
const nextRotation = config.managedKey?.nextRotationAt
|
|
146
|
+
? new Date(config.managedKey.nextRotationAt).toLocaleString()
|
|
147
|
+
: 'unknown';
|
|
148
|
+
console.log(` Auth: ${chalk.cyan('Managed API Key')} (${config.managedKey?.name})`);
|
|
149
|
+
console.log(` Key rotates: ${nextRotation}`);
|
|
150
|
+
}
|
|
151
|
+
else if (config.auth.apiKey) {
|
|
152
|
+
console.log(` Auth: API Key`);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
console.log(` Auth: Username/Password`);
|
|
156
|
+
}
|
|
143
157
|
// Auto-update status
|
|
144
158
|
const updateConfig = loadUpdateConfig();
|
|
145
159
|
const autoUpdateEnabled = options.autoUpdate !== false && updateConfig.enabled;
|