@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.
@@ -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 it prints a warning prompt before continuing
42
+ - it prints explicit risk warnings and, in interactive terminals, asks `Do you want to continue?` before continuing
@@ -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.
@@ -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.
@@ -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 masking intact
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.
@@ -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 super-secret --vault default
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
@@ -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 super-secret --vault default
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
@@ -1,7 +1,7 @@
1
1
  product: cnos
2
2
  title: CNOS Documentation
3
3
  tagline: Configuration orchestration for apps, monorepos, and deployment pipelines
4
- version: "1.8.4"
4
+ version: "1.9.2"
5
5
 
6
6
  sidebar:
7
7
  - group: Getting Started
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitsy/cnos-docs",
3
- "version": "1.9.0",
3
+ "version": "1.9.2",
4
4
  "description": "Source-of-truth CNOS documentation content for Astro Starlight and other static docs consumers.",
5
5
  "type": "module",
6
6
  "exports": {