@zincapp/znvault-cli 2.5.0 → 2.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 +267 -215
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +25 -476
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +83 -13
- package/dist/commands/auth.js.map +1 -1
- package/dist/lib/config.d.ts +11 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +20 -1
- package/dist/lib/config.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,301 +5,363 @@ Official command-line interface for ZN-Vault secrets management.
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
#
|
|
8
|
+
# Install from npm (recommended)
|
|
9
|
+
npm install -g @zincapp/znvault-cli
|
|
10
|
+
|
|
11
|
+
# Verify installation
|
|
12
|
+
znvault --version
|
|
13
|
+
|
|
14
|
+
# Or install from source
|
|
9
15
|
cd znvault-cli
|
|
10
16
|
npm install
|
|
11
17
|
npm run build
|
|
12
18
|
npm link
|
|
13
|
-
|
|
14
|
-
# Verify
|
|
15
|
-
znvault --version
|
|
16
19
|
```
|
|
17
20
|
|
|
18
21
|
## Quick Start
|
|
19
22
|
|
|
20
23
|
```bash
|
|
21
24
|
# Create a profile for your vault server
|
|
22
|
-
znvault profile create prod --vault-url https://vault.example.com
|
|
25
|
+
znvault profile create prod --vault-url https://vault.example.com --use
|
|
23
26
|
|
|
24
|
-
# Authenticate
|
|
27
|
+
# Authenticate (session expires after JWT timeout)
|
|
25
28
|
znvault login -u admin -p 'password'
|
|
29
|
+
|
|
30
|
+
# Or use persistent login (creates long-lived API key)
|
|
31
|
+
znvault login -u admin -p 'password' --persistent
|
|
32
|
+
|
|
33
|
+
# Verify authentication
|
|
26
34
|
znvault whoami
|
|
27
35
|
|
|
28
|
-
# Check health
|
|
36
|
+
# Check vault health
|
|
29
37
|
znvault health
|
|
30
38
|
```
|
|
31
39
|
|
|
32
|
-
##
|
|
40
|
+
## Authentication
|
|
41
|
+
|
|
42
|
+
The CLI supports multiple authentication methods:
|
|
33
43
|
|
|
34
|
-
|
|
44
|
+
### Session Login (JWT-based)
|
|
35
45
|
|
|
36
|
-
|
|
46
|
+
Standard login creates a JWT session that expires (typically 1 hour):
|
|
37
47
|
|
|
38
48
|
```bash
|
|
39
|
-
|
|
40
|
-
znvault
|
|
41
|
-
|
|
49
|
+
znvault login -u admin -p 'password'
|
|
50
|
+
znvault login -u admin -p 'password' -t 123456 # With TOTP
|
|
51
|
+
```
|
|
42
52
|
|
|
43
|
-
|
|
44
|
-
znvault profile list
|
|
53
|
+
### Persistent Login (API Key)
|
|
45
54
|
|
|
46
|
-
|
|
47
|
-
znvault profile use prod
|
|
55
|
+
Use `--persistent` to automatically create an API key for long-lived sessions:
|
|
48
56
|
|
|
49
|
-
|
|
50
|
-
|
|
57
|
+
```bash
|
|
58
|
+
# Create API key valid for 365 days (default)
|
|
59
|
+
znvault login -u admin -p 'password' --persistent
|
|
51
60
|
|
|
52
|
-
#
|
|
53
|
-
znvault
|
|
61
|
+
# Custom expiration (90 days)
|
|
62
|
+
znvault login -u admin -p 'password' --persistent --expires 90
|
|
54
63
|
|
|
55
|
-
#
|
|
56
|
-
znvault
|
|
64
|
+
# Logout revokes the API key on server
|
|
65
|
+
znvault logout
|
|
57
66
|
|
|
58
|
-
#
|
|
59
|
-
znvault
|
|
67
|
+
# Keep API key but clear local session
|
|
68
|
+
znvault logout --local
|
|
69
|
+
```
|
|
60
70
|
|
|
61
|
-
|
|
62
|
-
|
|
71
|
+
### Direct API Key Login
|
|
72
|
+
|
|
73
|
+
If you already have an API key:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Store API key in profile
|
|
77
|
+
znvault login-apikey --key znv_abc123...
|
|
78
|
+
|
|
79
|
+
# Or via environment variable
|
|
80
|
+
export ZNVAULT_API_KEY=znv_abc123...
|
|
81
|
+
znvault whoami
|
|
63
82
|
```
|
|
64
83
|
|
|
65
|
-
###
|
|
84
|
+
### Environment Credentials
|
|
85
|
+
|
|
86
|
+
For CI/CD pipelines:
|
|
66
87
|
|
|
67
88
|
```bash
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
znvault
|
|
89
|
+
export ZNVAULT_URL=https://vault.example.com
|
|
90
|
+
export ZNVAULT_API_KEY=znv_abc123...
|
|
91
|
+
znvault secret list
|
|
92
|
+
```
|
|
71
93
|
|
|
72
|
-
|
|
73
|
-
znvault profile use prod
|
|
74
|
-
znvault login -u admin -p 'prod-password'
|
|
94
|
+
## Multi-Profile Support
|
|
75
95
|
|
|
76
|
-
|
|
77
|
-
znvault profile use dev
|
|
78
|
-
znvault login -u admin -p 'dev-password'
|
|
96
|
+
Manage multiple vault servers or environments with profiles:
|
|
79
97
|
|
|
80
|
-
|
|
98
|
+
```bash
|
|
99
|
+
# Create profiles for different environments
|
|
100
|
+
znvault profile create prod --vault-url https://vault.example.com
|
|
101
|
+
znvault profile create dev --vault-url https://localhost:8443 -k # -k skips TLS verify
|
|
102
|
+
|
|
103
|
+
# List profiles
|
|
104
|
+
znvault profile list
|
|
105
|
+
|
|
106
|
+
# Switch active profile
|
|
81
107
|
znvault profile use prod
|
|
82
|
-
znvault whoami # Shows prod user
|
|
83
108
|
|
|
84
|
-
|
|
85
|
-
znvault
|
|
109
|
+
# Use specific profile for one command
|
|
110
|
+
znvault --profile dev health
|
|
86
111
|
|
|
87
|
-
#
|
|
88
|
-
znvault
|
|
89
|
-
znvault --profile dev tenant list
|
|
90
|
-
```
|
|
112
|
+
# Show current profile
|
|
113
|
+
znvault profile current
|
|
91
114
|
|
|
92
|
-
|
|
115
|
+
# Delete/rename profiles
|
|
116
|
+
znvault profile delete old-profile
|
|
117
|
+
znvault profile rename staging qa
|
|
118
|
+
```
|
|
93
119
|
|
|
94
|
-
|
|
120
|
+
### Profile Workflow
|
|
95
121
|
|
|
96
122
|
```bash
|
|
97
|
-
|
|
98
|
-
|
|
123
|
+
# Setup and login to multiple environments
|
|
124
|
+
znvault profile create prod --vault-url https://vault.example.com --use
|
|
125
|
+
znvault login -u admin -p 'prod-pass' --persistent
|
|
99
126
|
|
|
100
|
-
|
|
127
|
+
znvault profile create dev --vault-url https://localhost:8443 -k --use
|
|
128
|
+
znvault login -u admin -p 'dev-pass' --persistent
|
|
101
129
|
|
|
102
|
-
|
|
130
|
+
# Switch between them - credentials stored per profile
|
|
131
|
+
znvault profile use prod && znvault whoami # prod user
|
|
132
|
+
znvault profile use dev && znvault whoami # dev user
|
|
103
133
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
| **Local Mode** | On vault nodes with sudo | None (direct DB) | On-node operations |
|
|
134
|
+
# Override with environment variable
|
|
135
|
+
ZNVAULT_PROFILE=prod znvault health
|
|
136
|
+
```
|
|
108
137
|
|
|
109
|
-
|
|
138
|
+
## Command Reference
|
|
139
|
+
|
|
140
|
+
### Health & Status
|
|
110
141
|
|
|
111
142
|
```bash
|
|
112
|
-
znvault
|
|
113
|
-
znvault
|
|
114
|
-
znvault
|
|
143
|
+
znvault health # Quick health check
|
|
144
|
+
znvault status # Detailed system status
|
|
145
|
+
znvault cluster status # HA cluster health
|
|
146
|
+
znvault cluster takeover --yes # Force leadership (HA)
|
|
115
147
|
```
|
|
116
148
|
|
|
117
|
-
###
|
|
149
|
+
### Secret Management
|
|
118
150
|
|
|
119
151
|
```bash
|
|
120
|
-
#
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
152
|
+
znvault secret list # List all secrets
|
|
153
|
+
znvault secret list --tenant acme # Filter by tenant
|
|
154
|
+
znvault secret get <alias> # Get secret value
|
|
155
|
+
znvault secret create <alias> --value "secret" # Create secret
|
|
156
|
+
znvault secret create <alias> --json '{"k":"v"}' # Create JSON secret
|
|
157
|
+
znvault secret update <alias> --value "new" # Update secret
|
|
158
|
+
znvault secret delete <alias> # Delete secret
|
|
124
159
|
```
|
|
125
160
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
### Configuration
|
|
161
|
+
### KMS (Key Management Service)
|
|
129
162
|
|
|
130
163
|
```bash
|
|
131
|
-
znvault
|
|
132
|
-
znvault
|
|
133
|
-
znvault
|
|
134
|
-
znvault
|
|
164
|
+
znvault kms list # List KMS keys
|
|
165
|
+
znvault kms create --alias my-key --usage encrypt-decrypt
|
|
166
|
+
znvault kms get <keyId> # Key details
|
|
167
|
+
znvault kms encrypt <keyId> "plaintext" # Encrypt data
|
|
168
|
+
znvault kms decrypt <keyId> "ciphertext" # Decrypt data
|
|
169
|
+
znvault kms generate-data-key <keyId> # Generate DEK
|
|
170
|
+
znvault kms rotate <keyId> # Rotate key version
|
|
171
|
+
znvault kms versions <keyId> # List key versions
|
|
172
|
+
znvault kms enable|disable <keyId> # Enable/disable key
|
|
173
|
+
znvault kms delete <keyId> # Schedule deletion
|
|
135
174
|
```
|
|
136
175
|
|
|
137
|
-
###
|
|
176
|
+
### API Key Management
|
|
138
177
|
|
|
139
178
|
```bash
|
|
140
|
-
znvault
|
|
141
|
-
znvault
|
|
179
|
+
znvault apikey list # List API keys
|
|
180
|
+
znvault apikey create my-key --permissions secret:read,secret:write
|
|
181
|
+
znvault apikey show <id> # Key details
|
|
182
|
+
znvault apikey rotate <id> # Rotate key
|
|
183
|
+
znvault apikey enable|disable <id> # Enable/disable
|
|
184
|
+
znvault apikey delete <id> # Delete key
|
|
185
|
+
znvault apikey self # Current key info
|
|
186
|
+
znvault apikey self-rotate # Rotate current key
|
|
187
|
+
|
|
188
|
+
# Managed API keys (auto-rotating)
|
|
189
|
+
znvault apikey managed list
|
|
190
|
+
znvault apikey managed create <name> --rotation-days 30
|
|
191
|
+
znvault apikey managed rotate <name> # Force rotation
|
|
142
192
|
```
|
|
143
193
|
|
|
144
|
-
###
|
|
194
|
+
### Certificate Management
|
|
145
195
|
|
|
146
196
|
```bash
|
|
147
|
-
znvault
|
|
148
|
-
znvault
|
|
149
|
-
znvault
|
|
197
|
+
znvault cert list # List certificates
|
|
198
|
+
znvault cert get <id> # Get certificate
|
|
199
|
+
znvault cert create <alias> --cn "example.com" # Create cert
|
|
200
|
+
znvault cert rotate <id> # Rotate certificate
|
|
201
|
+
znvault cert delete <id> # Delete certificate
|
|
150
202
|
```
|
|
151
203
|
|
|
152
204
|
### Tenant Management
|
|
153
205
|
|
|
154
206
|
```bash
|
|
155
|
-
znvault tenant list
|
|
156
|
-
znvault tenant create <id>
|
|
157
|
-
znvault tenant
|
|
207
|
+
znvault tenant list # List tenants
|
|
208
|
+
znvault tenant create <id> --name "Acme Corp" # Create tenant
|
|
209
|
+
znvault tenant show <id> # Tenant details
|
|
210
|
+
znvault tenant delete <id> # Delete tenant
|
|
158
211
|
```
|
|
159
212
|
|
|
160
213
|
### User Management
|
|
161
214
|
|
|
162
215
|
```bash
|
|
163
|
-
znvault user list
|
|
164
|
-
znvault user
|
|
165
|
-
znvault user
|
|
166
|
-
znvault user
|
|
216
|
+
znvault user list # List users
|
|
217
|
+
znvault user list --tenant acme # Filter by tenant
|
|
218
|
+
znvault user create <username> --role admin # Create user
|
|
219
|
+
znvault user unlock <username> # Unlock locked user
|
|
220
|
+
znvault user reset-password <username> # Reset password
|
|
221
|
+
znvault user totp-disable <username> # Disable 2FA
|
|
167
222
|
```
|
|
168
223
|
|
|
169
|
-
###
|
|
224
|
+
### RBAC Role Management
|
|
170
225
|
|
|
171
226
|
```bash
|
|
172
|
-
znvault
|
|
173
|
-
znvault
|
|
174
|
-
znvault
|
|
175
|
-
znvault
|
|
227
|
+
znvault role list # List roles
|
|
228
|
+
znvault role show <name> # Role details
|
|
229
|
+
znvault role create <name> --permissions p1,p2 # Create role
|
|
230
|
+
znvault role assign <username> <role> # Assign to user
|
|
231
|
+
znvault role revoke <username> <role> # Revoke from user
|
|
176
232
|
```
|
|
177
233
|
|
|
178
|
-
###
|
|
234
|
+
### ABAC Policy Management
|
|
179
235
|
|
|
180
236
|
```bash
|
|
181
|
-
znvault
|
|
182
|
-
znvault
|
|
183
|
-
znvault
|
|
184
|
-
znvault
|
|
185
|
-
|
|
237
|
+
znvault policy list # List policies
|
|
238
|
+
znvault policy get <id> # Policy details
|
|
239
|
+
znvault policy create --name "Read Prod" --file policy.json
|
|
240
|
+
znvault policy delete <id> # Delete policy
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Backup Management
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
znvault backup list # List backups
|
|
247
|
+
znvault backup create # Create backup
|
|
248
|
+
znvault backup get <id> # Backup details
|
|
249
|
+
znvault backup verify <id> # Verify integrity
|
|
250
|
+
znvault backup restore <id> # Restore backup
|
|
251
|
+
znvault backup config # Show config
|
|
252
|
+
znvault backup health # Check health
|
|
253
|
+
|
|
254
|
+
# Storage configuration
|
|
255
|
+
znvault backup storage show
|
|
256
|
+
znvault backup storage set-s3 --bucket my-bucket --region us-east-1
|
|
186
257
|
```
|
|
187
258
|
|
|
188
259
|
### Audit & Security
|
|
189
260
|
|
|
190
261
|
```bash
|
|
191
|
-
znvault audit list
|
|
192
|
-
znvault
|
|
262
|
+
znvault audit list # Recent audit logs
|
|
263
|
+
znvault audit list --days 7 --action LOGIN # Filter logs
|
|
264
|
+
znvault lockdown status # Lockdown state
|
|
265
|
+
znvault lockdown set <level> # Set level (admin)
|
|
193
266
|
```
|
|
194
267
|
|
|
195
268
|
### Emergency Operations
|
|
196
269
|
|
|
270
|
+
Direct database operations (requires sudo on vault nodes):
|
|
271
|
+
|
|
197
272
|
```bash
|
|
198
|
-
sudo znvault emergency reset-password <user> <
|
|
273
|
+
sudo znvault emergency reset-password <user> <newpass>
|
|
199
274
|
sudo znvault emergency unlock <user>
|
|
200
275
|
sudo znvault emergency disable-totp <user>
|
|
201
276
|
```
|
|
202
277
|
|
|
203
|
-
##
|
|
278
|
+
## Remote Agent Management
|
|
204
279
|
|
|
205
|
-
|
|
280
|
+
Manage agents connected to the vault (for local agent operations, use `zn-vault-agent`):
|
|
206
281
|
|
|
207
|
-
###
|
|
282
|
+
### List & Monitor Agents
|
|
208
283
|
|
|
209
284
|
```bash
|
|
210
|
-
#
|
|
211
|
-
znvault agent
|
|
285
|
+
znvault agent remote list # List registered agents
|
|
286
|
+
znvault agent remote list --status online # Filter by status
|
|
287
|
+
znvault agent remote connections # Active WebSocket connections
|
|
288
|
+
```
|
|
212
289
|
|
|
213
|
-
|
|
214
|
-
znvault agent add <cert-id> \
|
|
215
|
-
--alias my-cert \
|
|
216
|
-
--cert-file /etc/ssl/certs/my-cert.crt \
|
|
217
|
-
--key-file /etc/ssl/private/my-cert.key
|
|
290
|
+
### Agent Alerts
|
|
218
291
|
|
|
219
|
-
|
|
220
|
-
znvault agent
|
|
292
|
+
```bash
|
|
293
|
+
znvault agent remote alerts <agent-id> --enable --threshold 600
|
|
294
|
+
znvault agent remote alerts <agent-id> --disable
|
|
221
295
|
```
|
|
222
296
|
|
|
223
|
-
### Agent
|
|
297
|
+
### Delete Agent
|
|
224
298
|
|
|
225
299
|
```bash
|
|
226
|
-
znvault agent
|
|
227
|
-
znvault agent
|
|
228
|
-
znvault agent remove <id> # Remove certificate
|
|
229
|
-
znvault agent list # List configured certificates
|
|
230
|
-
znvault agent sync # One-time sync
|
|
231
|
-
znvault agent start # Start daemon
|
|
232
|
-
znvault agent status # Show sync status
|
|
300
|
+
znvault agent remote delete <agent-id> # Remove agent
|
|
301
|
+
znvault agent remote delete <agent-id> -y # Skip confirmation
|
|
233
302
|
```
|
|
234
303
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
- **Real-time Updates**: WebSocket-based push notifications
|
|
238
|
-
- **Resilient Connections**: Custom ping/pong with watchdog
|
|
239
|
-
- **Automatic Reconnection**: Fixed-interval reconnect on disconnect
|
|
240
|
-
- **Subscription Filtering**: Only receive events for watched certificates
|
|
241
|
-
- **Reload Hooks**: Run commands after updates (e.g., reload HAProxy)
|
|
242
|
-
- **Cross-Node Events**: Works with HA clusters via Redis pub/sub
|
|
304
|
+
## Registration Tokens
|
|
243
305
|
|
|
244
|
-
|
|
306
|
+
Create one-time tokens for bootstrapping agents with managed API keys:
|
|
245
307
|
|
|
246
308
|
```bash
|
|
247
|
-
|
|
309
|
+
# Create registration token
|
|
310
|
+
znvault agent token create --managed-key my-agent-key --expires 1h
|
|
311
|
+
znvault agent token create --managed-key my-agent-key --description "For staging server"
|
|
248
312
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
313
|
+
# List tokens
|
|
314
|
+
znvault agent token list --managed-key my-agent-key
|
|
315
|
+
znvault agent token list --managed-key my-agent-key --include-used
|
|
252
316
|
|
|
253
|
-
|
|
317
|
+
# Revoke token
|
|
318
|
+
znvault agent token revoke <token-id> --managed-key my-agent-key
|
|
254
319
|
```
|
|
255
320
|
|
|
256
|
-
###
|
|
257
|
-
|
|
258
|
-
```ini
|
|
259
|
-
[Unit]
|
|
260
|
-
Description=ZN-Vault Certificate Agent
|
|
261
|
-
After=network-online.target
|
|
262
|
-
|
|
263
|
-
[Service]
|
|
264
|
-
Type=simple
|
|
265
|
-
Environment=ZNVAULT_URL=https://vault.example.com
|
|
266
|
-
Environment=ZNVAULT_API_KEY=znv_...
|
|
267
|
-
ExecStart=/usr/local/bin/znvault agent start \
|
|
268
|
-
-c /etc/znvault/agent.json \
|
|
269
|
-
--on-update "/usr/local/bin/reload.sh"
|
|
270
|
-
Restart=always
|
|
271
|
-
RestartSec=10
|
|
272
|
-
|
|
273
|
-
[Install]
|
|
274
|
-
WantedBy=multi-user.target
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
See [Agent Guide](../docs/AGENT_GUIDE.md) for complete documentation.
|
|
321
|
+
### Bootstrap Workflow
|
|
278
322
|
|
|
279
|
-
|
|
323
|
+
```bash
|
|
324
|
+
# 1. Admin creates registration token
|
|
325
|
+
znvault agent token create --managed-key staging-agent --expires 1h
|
|
326
|
+
# Token: zrt_abc123...
|
|
280
327
|
|
|
281
|
-
|
|
328
|
+
# 2. On new server (cloud-init, Ansible, etc.)
|
|
329
|
+
curl -sSL https://vault.example.com/agent/bootstrap.sh | ZNVAULT_TOKEN=zrt_abc123... bash
|
|
282
330
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
znvault tui
|
|
331
|
+
# 3. Token is invalidated after use
|
|
332
|
+
```
|
|
286
333
|
|
|
287
|
-
|
|
288
|
-
znvault dashboard
|
|
334
|
+
## Local Agent Operations
|
|
289
335
|
|
|
290
|
-
|
|
291
|
-
znvault tui --refresh 10000
|
|
336
|
+
For local agent configuration, certificate sync, and secret injection, use the standalone `zn-vault-agent`:
|
|
292
337
|
|
|
293
|
-
|
|
294
|
-
|
|
338
|
+
```bash
|
|
339
|
+
# Install standalone agent
|
|
340
|
+
npm install -g @zincapp/zn-vault-agent
|
|
341
|
+
|
|
342
|
+
# Agent commands
|
|
343
|
+
zn-vault-agent login # Authenticate with vault
|
|
344
|
+
zn-vault-agent setup # Interactive setup
|
|
345
|
+
zn-vault-agent sync # Sync secrets/certificates
|
|
346
|
+
zn-vault-agent start # Start agent daemon
|
|
347
|
+
zn-vault-agent status # Show agent status
|
|
348
|
+
zn-vault-agent exec # Execute with secrets injected
|
|
349
|
+
|
|
350
|
+
# More info
|
|
351
|
+
zn-vault-agent --help
|
|
352
|
+
znvault agent help-local # Quick reference
|
|
295
353
|
```
|
|
296
354
|
|
|
297
|
-
|
|
355
|
+
## Interactive TUI Dashboard
|
|
356
|
+
|
|
357
|
+
Real-time terminal dashboard for monitoring:
|
|
298
358
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
359
|
+
```bash
|
|
360
|
+
znvault tui # Launch dashboard
|
|
361
|
+
znvault dashboard # Alias for tui
|
|
362
|
+
znvault tui --refresh 10000 # Custom refresh (ms)
|
|
363
|
+
znvault tui --screen secrets # Start on specific screen
|
|
364
|
+
```
|
|
303
365
|
|
|
304
366
|
### Keyboard Shortcuts
|
|
305
367
|
|
|
@@ -312,83 +374,73 @@ znvault tui --screen secrets
|
|
|
312
374
|
|
|
313
375
|
## Auto-Update
|
|
314
376
|
|
|
315
|
-
The CLI
|
|
377
|
+
The CLI checks for updates automatically (once per 24 hours):
|
|
316
378
|
|
|
317
379
|
```bash
|
|
318
|
-
#
|
|
319
|
-
znvault self-update --check
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
znvault self-update
|
|
323
|
-
|
|
324
|
-
# Skip confirmation
|
|
325
|
-
znvault self-update --yes
|
|
326
|
-
|
|
327
|
-
# Show version with update check
|
|
328
|
-
znvault version
|
|
380
|
+
znvault version # Show version + update check
|
|
381
|
+
znvault self-update --check # Check for updates
|
|
382
|
+
znvault self-update # Update to latest
|
|
383
|
+
znvault self-update --yes # Skip confirmation
|
|
329
384
|
```
|
|
330
385
|
|
|
331
386
|
## Output Modes
|
|
332
387
|
|
|
333
|
-
The CLI supports two output modes:
|
|
334
|
-
|
|
335
388
|
| Mode | Description | When |
|
|
336
389
|
|------|-------------|------|
|
|
337
|
-
| **TUI** | Rich colored output
|
|
338
|
-
| **Plain** | Simple text
|
|
339
|
-
|
|
340
|
-
### Automatic Detection
|
|
341
|
-
|
|
342
|
-
Plain mode is automatically enabled when:
|
|
343
|
-
- Running in CI environments (GitHub Actions, GitLab CI, etc.)
|
|
344
|
-
- Output is piped to another command
|
|
345
|
-
- stdin is not a TTY
|
|
390
|
+
| **TUI** | Rich colored output | Interactive terminals |
|
|
391
|
+
| **Plain** | Simple text for parsing | CI/CD, piped commands |
|
|
346
392
|
|
|
347
|
-
|
|
393
|
+
Plain mode is automatic in CI or when output is piped. Override manually:
|
|
348
394
|
|
|
349
395
|
```bash
|
|
350
|
-
# Force plain text output
|
|
351
396
|
znvault --plain health
|
|
352
|
-
|
|
353
|
-
# Via environment variable
|
|
354
397
|
ZNVAULT_PLAIN_OUTPUT=true znvault health
|
|
355
|
-
|
|
356
|
-
# Disable update checks in CI
|
|
357
|
-
ZNVAULT_NO_UPDATE_CHECK=true znvault health
|
|
358
398
|
```
|
|
359
399
|
|
|
360
400
|
## Environment Variables
|
|
361
401
|
|
|
362
402
|
| Variable | Description |
|
|
363
403
|
|----------|-------------|
|
|
364
|
-
| `ZNVAULT_URL` | Vault
|
|
365
|
-
| `ZNVAULT_USERNAME` | Username for login |
|
|
366
|
-
| `ZNVAULT_PASSWORD` | Password for login |
|
|
404
|
+
| `ZNVAULT_URL` | Vault server URL |
|
|
367
405
|
| `ZNVAULT_API_KEY` | API key for authentication |
|
|
368
|
-
| `
|
|
406
|
+
| `ZNVAULT_USERNAME` | Username for auto-login |
|
|
407
|
+
| `ZNVAULT_PASSWORD` | Password for auto-login |
|
|
408
|
+
| `ZNVAULT_INSECURE` | Skip TLS verification (`true`/`false`) |
|
|
369
409
|
| `ZNVAULT_PROFILE` | Override active profile |
|
|
370
410
|
| `ZNVAULT_PLAIN_OUTPUT` | Force plain text output |
|
|
371
411
|
| `ZNVAULT_NO_UPDATE_CHECK` | Disable auto-update checks |
|
|
372
412
|
|
|
413
|
+
## Configuration Files
|
|
414
|
+
|
|
415
|
+
Configuration is stored per-profile in the system config directory:
|
|
416
|
+
|
|
417
|
+
- **macOS**: `~/Library/Preferences/znvault-nodejs/config.json`
|
|
418
|
+
- **Linux**: `~/.config/znvault-nodejs/config.json`
|
|
419
|
+
- **Windows**: `%APPDATA%\znvault-nodejs\Config\config.json`
|
|
420
|
+
|
|
421
|
+
```bash
|
|
422
|
+
znvault config show # Show current config
|
|
423
|
+
znvault config set url <url> # Set vault URL
|
|
424
|
+
znvault config set insecure true # Skip TLS verification
|
|
425
|
+
```
|
|
426
|
+
|
|
373
427
|
## Documentation
|
|
374
428
|
|
|
375
|
-
- [Agent Guide](../docs/AGENT_GUIDE.md) - Certificate agent documentation
|
|
376
429
|
- [CLI Admin Guide](../docs/CLI_ADMIN_GUIDE.md) - Full CLI reference
|
|
430
|
+
- [Managed API Keys Guide](../docs/MANAGED_API_KEYS_GUIDE.md) - Auto-rotating keys
|
|
377
431
|
- [KMS User Guide](../docs/KMS_USER_GUIDE.md) - Key management
|
|
432
|
+
- [Agent Guide](../docs/AGENT_GUIDE.md) - Standalone agent documentation
|
|
378
433
|
|
|
379
434
|
## Development
|
|
380
435
|
|
|
381
436
|
```bash
|
|
382
|
-
#
|
|
383
|
-
npm run build
|
|
384
|
-
|
|
385
|
-
#
|
|
386
|
-
npm
|
|
387
|
-
|
|
388
|
-
# Run without building
|
|
389
|
-
npm run start -- <command>
|
|
437
|
+
npm install # Install dependencies
|
|
438
|
+
npm run build # Build TypeScript
|
|
439
|
+
npm run dev # Watch mode
|
|
440
|
+
npm run lint # Lint code
|
|
441
|
+
npm test # Run tests
|
|
390
442
|
```
|
|
391
443
|
|
|
392
444
|
## License
|
|
393
445
|
|
|
394
|
-
Proprietary - ZincApp
|
|
446
|
+
Proprietary - ZincApp SL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAuEzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuZ5D"}
|