kavrix 0.2.7 → 0.2.9

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 CHANGED
@@ -28,6 +28,20 @@ kavrix --help
28
28
 
29
29
  ## Quick start
30
30
 
31
+ For a new local-file setup, run:
32
+
33
+ ```sh
34
+ kavrix init
35
+ ```
36
+
37
+ The guided TTY flow preflights the profile and protected destinations, then uses
38
+ masked prompts to create an encrypted database, one default vault, and a
39
+ separate recovery kit. It verifies recovery before selecting the profile.
40
+ Protected labels and passphrases never enter argv, environment variables, or
41
+ the generated non-secret config reference.
42
+
43
+ For MongoDB or explicitly routed setup, use the database commands directly:
44
+
31
45
  ```sh
32
46
  # 1. Register and select a non-secret route to your datastore.
33
47
  kavrix db profile add work --datastore file \
@@ -38,29 +52,43 @@ kavrix db profile use work
38
52
  kavrix db init --profile work
39
53
  kavrix db vault create --profile work
40
54
 
41
- # 3. Copy the returned opaque vault ID into the flat commands.
42
- kavrix put github/token --profile work --vault <vault-id>
43
- kavrix get github/token --reveal --profile work --vault <vault-id>
55
+ # 3. Authenticate and select the returned opaque vault ID for this profile.
56
+ kavrix db vault use <vault-id> --profile work
57
+
58
+ # 4. Vault-scoped commands now use that profile default.
59
+ kavrix put github/token --profile work
60
+ kavrix get github/token --reveal --profile work
44
61
 
45
62
  # Or create an explicit project/service/item hierarchy.
46
- kavrix context create platform --environment production --profile work --vault <vault-id>
47
- kavrix service create github --context platform --profile work --vault <vault-id>
48
- kavrix item create deploy --context platform --service github --profile work --vault <vault-id>
63
+ kavrix context create platform --environment production --profile work
64
+ kavrix service create github --context platform --profile work
65
+ kavrix item create deploy --context platform --service github --profile work
49
66
  kavrix field set token --type api-key --context platform --service github \
50
- --item deploy --profile work --vault <vault-id>
67
+ --item deploy --profile work
51
68
  ```
52
69
 
53
70
  Sensitive input is prompted for or read from stdin; it is never accepted as a
54
71
  normal argument. Use `kavrix <command> --help` for the exact protected-input
55
72
  options in your installed version.
56
73
 
74
+ Interactive protected prompts show each non-secret requirement before entry
75
+ and keep `[i]`, `[OK]`, and `[X]` meaningful without color. Invalid local input
76
+ retries only that field, while a confirmation mismatch retries both passphrase
77
+ entries. ANSI color is TTY-only and respects `NO_COLOR` and `TERM=dumb`;
78
+ protected stdin remains silent and ANSI-free.
79
+
80
+ Each datastore profile keeps its own opaque default vault ID in the protected
81
+ non-secret registry. An explicit `--vault <id>` overrides it for one invocation.
82
+ Without either selection, Kavrix fails before requesting secret input. Profiles
83
+ never store MongoDB credentials, passphrases, private labels, keys, or values.
84
+
57
85
  ## Command overview
58
86
 
59
87
  | Group | Purpose |
60
88
  | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
61
89
  | `db profile ...` | Manage non-secret datastore routes. |
62
90
  | `db init`, `db status` | Initialize or authenticate a multi-vault database. |
63
- | `db vault ...` | Create, list, inspect, or rename encrypted vaults. |
91
+ | `db vault ...` | Create, list, inspect, rename, or select encrypted vaults. |
64
92
  | `db key create` | Create an exact-snapshot key for full local-file sharing. |
65
93
  | `db recovery ...` | Manage database-root recovery kits. |
66
94
  | `migrate database` | Copy one legacy version 2 vault into a database. |
@@ -69,7 +97,7 @@ options in your installed version.
69
97
  | `key status/verify/copy/replicate/assign/rewrap` | Manage protected key files. |
70
98
  | `recovery create/verify/status/revoke/use` | Manage recovery kits. |
71
99
  | `doctor`, `doctor health` | Validate a vault; repair bounded transient state safely. |
72
- | `init`, `vault`, `legacy v2 commands` | Version 2 compatibility surface. |
100
+ | `init`, `vault`, `legacy v2 commands` | Guided local setup; explicit/non-TTY init remains version 2 compatible. |
73
101
  | `run` | Execute one command with selected credentials injected as environment variables only. |
74
102
  | `policy create/list/show/remove/check/explain/lint/diff/suggest` | Stored rules plus read-only simulation, diagnostics, previews, and narrowing advice. |
75
103
  | `grant create/list/show/revoke` | Temporary consumable authorizations with live expiry, restrictions, and use caps. |
@@ -117,7 +145,7 @@ authorization sidecar.
117
145
  | Flag | What it does |
118
146
  | ----------------------------------- | -------------------------------------------------------------------------- |
119
147
  | `--profile`, `--profile-config-dir` | Select a datastore profile without storing secrets. |
120
- | `--vault <id>` | Select one opaque vault explicitly. |
148
+ | `--vault <id>` | Override the selected profile's default vault for one command. |
121
149
  | `--passphrase-stdin` | Read the key passphrase from stdin. |
122
150
  | `--database-url-stdin` | Read the MongoDB URI from stdin. |
123
151
  | `--value-stdin` | Read a credential value from stdin. |
@@ -150,8 +178,8 @@ must explicitly enable validated TLS.
150
178
  permanently unrecoverable by design; there is no reset or escrow.
151
179
  - User identities, public enrollment, per-vault grants and roles, revocation
152
180
  with rotation, and ownership transfer are not yet implemented. Structured
153
- payloads model notes, attachment ownership, and history, but 0.2.6 does not
154
- add attachment transfer or history-restore commands.
181
+ payloads model notes, attachment ownership, and history, but the current CLI
182
+ does not add attachment transfer or history-restore commands.
155
183
  - Windows command scripts (`.bat`, `.cmd`, `.com`) are refused for execution;
156
184
  invoke real executables.
157
185