@kitsy/cnos-docs 1.9.0 → 1.9.2
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/docs/cli/build.mdx +1 -1
- package/docs/cli/doctor.mdx +5 -0
- package/docs/cli/promote.mdx +5 -0
- package/docs/cli/secret.mdx +5 -0
- package/docs/cli/ui.mdx +3 -2
- package/docs/cli/vault.mdx +2 -0
- package/docs/getting-started/your-first-project.mdx +3 -1
- package/docs/guides/secrets.mdx +7 -1
- package/manifest.yml +1 -1
- package/package.json +1 -1
package/docs/cli/build.mdx
CHANGED
|
@@ -39,4 +39,4 @@ cnos build env --profile prod --reveal --to .env.production.local
|
|
|
39
39
|
CNOS protects this path in two ways:
|
|
40
40
|
|
|
41
41
|
- it verifies that the target file is gitignored before writing secrets
|
|
42
|
-
- in interactive terminals
|
|
42
|
+
- it prints explicit risk warnings and, in interactive terminals, asks `Do you want to continue?` before continuing
|
package/docs/cli/doctor.mdx
CHANGED
|
@@ -8,4 +8,9 @@ description: Run diagnostics across workspaces, exports, and security rules.
|
|
|
8
8
|
```bash
|
|
9
9
|
cnos doctor
|
|
10
10
|
cnos doctor --json
|
|
11
|
+
cnos doctor --fix-secret-env-mappings
|
|
11
12
|
```
|
|
13
|
+
|
|
14
|
+
The security diagnostics now flag explicit `secret.*` env mappings as a risk because they enable plaintext secret emission into private env surfaces.
|
|
15
|
+
|
|
16
|
+
If those mappings were added by mistake, `cnos doctor --fix-secret-env-mappings` removes them from `envMapping.explicit` in one shot and then reruns diagnostics.
|
package/docs/cli/promote.mdx
CHANGED
|
@@ -8,4 +8,9 @@ description: Promote shareable values into public or env export surfaces.
|
|
|
8
8
|
```bash
|
|
9
9
|
cnos promote value.flag.auth.upi_enabled --to public
|
|
10
10
|
cnos promote value.server.port --to env --as PORT
|
|
11
|
+
cnos promote secret.db.password --to env --as POSTGRES_PASSWORD --allow-secret
|
|
11
12
|
```
|
|
13
|
+
|
|
14
|
+
`public` promotion never allows `secret.*`.
|
|
15
|
+
|
|
16
|
+
`env` mapping can allow `secret.*`, but only when you opt in explicitly with `--allow-secret`. This is intentionally narrow: it declares that a private env surface may carry plaintext secrets for runtimes that do not use the CNOS client directly.
|
package/docs/cli/secret.mdx
CHANGED
|
@@ -7,7 +7,12 @@ description: Set, get, list, and delete secrets through configured vaults.
|
|
|
7
7
|
|
|
8
8
|
```bash
|
|
9
9
|
cnos secret set app.token super-secret --vault default
|
|
10
|
+
cnos secret set app.token --vault default
|
|
11
|
+
printf "super-secret" | cnos secret set app.token --vault default --stdin
|
|
10
12
|
cnos secret get app.token --vault default --reveal
|
|
11
13
|
cnos secret list
|
|
14
|
+
cnos secret list --reveal
|
|
12
15
|
cnos secret delete app.token
|
|
13
16
|
```
|
|
17
|
+
|
|
18
|
+
If you omit `[value]`, CNOS prompts for a masked value interactively so the secret does not have to appear in shell history. In non-interactive environments, pass the value explicitly or use `--stdin`.
|
package/docs/cli/ui.mdx
CHANGED
|
@@ -18,7 +18,7 @@ cnos ui --port 4400 --api-port 4401
|
|
|
18
18
|
Use it when you want a faster adoption path than raw CLI output for:
|
|
19
19
|
|
|
20
20
|
- value and meta browsing
|
|
21
|
-
- secret listing with
|
|
21
|
+
- secret listing, with optional reveal using a supplied vault passphrase
|
|
22
22
|
- env mapping review
|
|
23
23
|
- public promotion review
|
|
24
24
|
- inspect/provenance tracing
|
|
@@ -38,5 +38,6 @@ Workspace and profile switching now happen inside the UI itself.
|
|
|
38
38
|
## Notes
|
|
39
39
|
|
|
40
40
|
- The UI is read-only in this first cut.
|
|
41
|
-
- Secret keys stay masked in the browser.
|
|
41
|
+
- Secret keys stay masked by default in the browser.
|
|
42
|
+
- Revealing secrets is local-only and uses the supplied passphrase or existing vault auth state.
|
|
42
43
|
- Use `cnos inspect` or `cnos read --reveal` when you need terminal-first detail.
|
package/docs/cli/vault.mdx
CHANGED
|
@@ -16,3 +16,5 @@ cnos vault remove default
|
|
|
16
16
|
For local vaults, `cnos vault create <name>` initializes the encrypted keystore immediately. CNOS prompts for a passphrase if one is not already available through `CNOS_SECRET_PASSPHRASE_<VAULT>`, `CNOS_SECRET_PASSPHRASE`, or the OS keychain.
|
|
17
17
|
|
|
18
18
|
`cnos vault auth <name>` re-authenticates an existing vault and fails on wrong credentials. Successful auth writes a derived session key under `~/.cnos/secrets/sessions`, so later CNOS commands can reuse it across shells until you run `cnos vault logout <name>` or `cnos vault logout --all`. With `--store-keychain`, CNOS also stores the derived key in the OS keychain.
|
|
19
|
+
|
|
20
|
+
After local vault auth, `cnos secret set <path> --vault <name>` can prompt for a masked secret value interactively when you omit `[value]`.
|
|
@@ -31,9 +31,11 @@ Create a local vault and authenticate it:
|
|
|
31
31
|
```bash
|
|
32
32
|
cnos vault create default
|
|
33
33
|
cnos vault auth default
|
|
34
|
-
cnos secret set app.token
|
|
34
|
+
cnos secret set app.token --vault default
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
+
CNOS prompts for the secret with masked input when you omit the value, which keeps it out of shell history. For non-interactive scripts, pass the secret over `--stdin`.
|
|
38
|
+
|
|
37
39
|
If the project later becomes a monorepo, do not create a second `.cnos`. Convert the existing repo and add children:
|
|
38
40
|
|
|
39
41
|
```bash
|
package/docs/guides/secrets.mdx
CHANGED
|
@@ -10,11 +10,17 @@ Local vault:
|
|
|
10
10
|
```bash
|
|
11
11
|
cnos vault create default
|
|
12
12
|
cnos vault auth default
|
|
13
|
-
cnos secret set app.token
|
|
13
|
+
cnos secret set app.token --vault default
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
`cnos vault create default` initializes the local encrypted vault immediately. If CNOS cannot resolve a passphrase from env or keychain, it prompts interactively. `cnos vault auth default` is only for re-authenticating an existing vault and rejects wrong passphrases.
|
|
17
17
|
|
|
18
|
+
When `[value]` is omitted, `cnos secret set` prompts for a masked secret value so it does not have to appear in shell history. For non-interactive pipelines, use `--stdin` instead:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
printf "super-secret" | cnos secret set app.token --vault default --stdin
|
|
22
|
+
```
|
|
23
|
+
|
|
18
24
|
Environment-backed vault:
|
|
19
25
|
|
|
20
26
|
```bash
|
package/manifest.yml
CHANGED