You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/workflows/jsonschema.yaml
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -32,4 +32,4 @@ jobs:
32
32
- name: Verify secrets json schema
33
33
run: |
34
34
set -e
35
-
for i in values-secret-v2-base values-secret-v2-generic-onlygenerate values-secret-v2-block-yamlstring values-secret-v2-bootstrap-mixed; do echo "$i"; check-jsonschema --fill-defaults --schemafile ./roles/vault_utils/values-secrets.v2.schema.json "tests/unit/v2/$i.yaml"; done
35
+
for i in values-secret-v2-base values-secret-v2-generic-onlygenerate values-secret-v2-block-yamlstring; do echo "$i"; check-jsonschema --fill-defaults --schemafile ./roles/vault_utils/values-secrets.v2.schema.json "tests/unit/v2/$i.yaml"; done
-`roles/find_vp_secrets` resolves the primary file (`tasks/main.yml`).
101
-
- v2 parsing and phase filters (`bootstrap_only`, `exclude_bootstrap`, `all`) are implemented in
102
-
`plugins/module_utils/parse_secrets_v2.py` (single `bootstrap` normalizer: off / dual / early-only).
12
+
## SS CSI workload auth notes
13
+
14
+
SS CSI task files live in **`roles/vault_utils/tasks/ss_csi/`**; paths below match **`include_tasks`** from the role (**`ss_csi/<file>`** relative to **`tasks/`**).
15
+
16
+
`vault_utils` can read `ssCsiWorkloadAuth` entries from clustergroup values and
17
+
create Vault Kubernetes auth roles for hub and spoke workloads.
18
+
19
+
### Parsing (load YAML)
20
+
21
+
With **`vault_ss_csi_aggregate_clustergroup_sources`** true (default), SS CSI
22
+
uses the **`clustergroup_discovery`** role to determine stems: **main** from
23
+
`values-global.yaml`, then **managed** names from `clusterGroup.managedClusterGroups`
24
+
in the main `values-<main>.yaml|yml`. For **each** stem it loads a document from
25
+
the in-cluster **`ConfigMap``values-<stem>`** (namespace
26
+
`openshift-gitops` by default), then falls back to **`pattern_dir/values-<stem>.yaml|yml`**
27
+
when enabled. ConfigMap data keys follow **`vault_ss_csi_clustergroup_configmap_key`**
28
+
and **`vault_ss_csi_clustergroup_configmap_key_candidates`**. Each document must
29
+
include **`clusterGroup`**. Stems are merged in **`clustergroup_load_order`**
30
+
(main first, then managed stems sorted) so later sources override duplicate
31
+
`clusterGroup.applications` keys. Set **`vault_ss_csi_aggregate_clustergroup_sources`**
32
+
to false to load only the **main** document (legacy: single ConfigMap or
33
+
`values-<main>.yaml`).
34
+
35
+
### Extraction (find `ssCsiWorkloadAuth`)
36
+
37
+
The role builds **`_vault_ss_csi_apps_by_stem`** (per-stem `clusterGroup.applications`)
38
+
and a merged **`clusterGroup.managedClusterGroups`**. It collects:
39
+
40
+
-**`clusterGroup.applications.*.ssCsiWorkloadAuth`** — per stem; omit **`cluster`**
41
+
in values: the **main** stem resolves to **hub**; **managed** stems resolve to
42
+
that **stem name** so entries under `values-<managed>.yaml` stay spoke-scoped.
0 commit comments