Skip to content

Commit 74657c3

Browse files
author
Martin Jackson
committed
Update docs to reflect task locations
1 parent 0449675 commit 74657c3

3 files changed

Lines changed: 26 additions & 24 deletions

File tree

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ loading local secrets files into VP secrets stores.
1111

1212
## SS CSI workload auth notes
1313

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+
1416
`vault_utils` can read `ssCsiWorkloadAuth` entries from clustergroup values and
1517
create Vault Kubernetes auth roles for hub and spoke workloads.
1618

@@ -46,11 +48,11 @@ and a merged **`clusterGroup.managedClusterGroups`**. It collects:
4648

4749
Rows are appended to **`_ss_csi_all_entries`**, split into hub vs spoke using
4850
the computed **`cluster`** field (from stem or managed group when omitted in YAML), then **hub** identities get Vault Kubernetes
49-
auth roles via **`vault_ss_csi_apply_one_hub_sscsi_role.yaml`**. Spoke rows are
50-
normalized to **`vault_path`** later in the play (**`vault_ss_csi_normalize_spoke_entries_to_vault_path.yaml`**
51+
auth roles via **`ss_csi/vault_ss_csi_apply_one_hub_sscsi_role.yaml`**. Spoke rows are
52+
normalized to **`vault_path`** later in the play (**`ss_csi/vault_ss_csi_normalize_spoke_entries_to_vault_path.yaml`**
5153
during **`vault_spokes_init`**) and roles are written on each spoke mount
52-
(**`vault_ss_csi_apply_one_spoke_sscsi_role.yaml`**). Role names use
53-
**`<mount>-sscsi-<slug>`**; slugs come from **`vault_ss_csi_compute_role_slug.yaml`**.
54+
(**`ss_csi/vault_ss_csi_apply_one_spoke_sscsi_role.yaml`**). Role names use
55+
**`<mount>-sscsi-<slug>`**; slugs come from **`ss_csi/vault_ss_csi_compute_role_slug.yaml`**.
5456

5557
To **inspect** stems and files locally, run **`playbooks/list_clustergroups.yml`**
5658
or **`playbooks/parse_clustergroup_values.yml`** (see **`roles/clustergroup_discovery/README.md`**).

roles/vault_utils/README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ This role can create Vault Kubernetes auth roles from
6262

6363
Implementation is split into **parsing** (load YAML), **extraction** (collect
6464
`ssCsiWorkloadAuth` rows), and **projection** (normalize and write Vault
65-
Kubernetes auth roles). Task entry points:
65+
Kubernetes auth roles). Task files live under **`tasks/ss_csi/`** (other role tasks include them as **`ss_csi/<filename>`**). Entry points:
6666

6767
| Stage | Primary task files |
6868
| ----- | -------------------- |
69-
| Parsing | `vault_ss_csi_load_clustergroup_values.yaml` (router), `vault_ss_csi_load_merged_clustergroup_values.yaml`, `vault_ss_csi_load_one_clustergroup_values_fragment.yaml`, `vault_ss_csi_load_clustergroup_values_legacy.yaml` |
70-
| Extraction | `vault_ss_csi_workload_auth.yaml`, `vault_ss_csi_collect_applications_for_stem.yaml`, `vault_ss_csi_collect_one_application.yaml`, `vault_ss_csi_collect_one_entry.yaml`, `vault_ss_csi_collect_managed_group_application.yaml` |
71-
| Projection | `vault_ss_csi_apply_one_hub_sscsi_role.yaml`, `vault_ss_csi_normalize_spoke_entries_to_vault_path.yaml` (in `vault_spokes_init`), `vault_ss_csi_apply_one_spoke_sscsi_role.yaml`, `vault_ss_csi_compute_role_slug.yaml` |
69+
| Parsing | `ss_csi/vault_ss_csi_load_clustergroup_values.yaml` (router), `ss_csi/vault_ss_csi_load_merged_clustergroup_values.yaml`, `ss_csi/vault_ss_csi_load_one_clustergroup_values_fragment.yaml`, `ss_csi/vault_ss_csi_load_clustergroup_values_legacy.yaml` |
70+
| Extraction | `ss_csi/vault_ss_csi_workload_auth.yaml`, `ss_csi/vault_ss_csi_collect_applications_for_stem.yaml`, `ss_csi/vault_ss_csi_collect_one_application.yaml`, `ss_csi/vault_ss_csi_collect_one_entry.yaml`, `ss_csi/vault_ss_csi_collect_managed_group_application.yaml` |
71+
| Projection | `ss_csi/vault_ss_csi_apply_one_hub_sscsi_role.yaml`, `ss_csi/vault_ss_csi_normalize_spoke_entries_to_vault_path.yaml` (in `vault_spokes_init`), `ss_csi/vault_ss_csi_apply_one_spoke_sscsi_role.yaml`, `ss_csi/vault_ss_csi_compute_role_slug.yaml` |
7272

7373
### Parsing
7474

@@ -100,33 +100,33 @@ and `vault_ss_csi_clustergroup_configmap_key_candidates` as needed for your patt
100100

101101
### Extraction
102102

103-
**`vault_ss_csi_workload_auth.yaml`** (included from `vault_secrets_init.yaml`):
103+
**`ss_csi/vault_ss_csi_workload_auth.yaml`** (included from `vault_secrets_init.yaml`):
104104

105105
1. Parses **`_vault_ss_csi_values_root`** into **`_vault_ss_csi_cluster_apps`**
106106
and **`_vault_ss_csi_managed_cluster_groups`** (merged views).
107107
2. Ensures **`_vault_ss_csi_apps_by_stem`** exists: after a multi-stem merge it is
108108
filled by fragments; for legacy single-document load it is set to
109109
`{ <main>: <applications> }`.
110110
3. Walks **`clustergroup_load_order`** (or `[main]` if unset) via
111-
**`vault_ss_csi_collect_applications_for_stem.yaml`**: for each stem, every
111+
**`ss_csi/vault_ss_csi_collect_applications_for_stem.yaml`**: for each stem, every
112112
application that defines **`ssCsiWorkloadAuth`** is passed to
113-
**`vault_ss_csi_collect_one_entry.yaml`**. Omit **`cluster`** in values: Ansible
113+
**`ss_csi/vault_ss_csi_collect_one_entry.yaml`**. Omit **`cluster`** in values: Ansible
114114
sets **`cluster`** to **`hub`** when the stem is the main clustergroup, else to
115115
the **stem string** (entries under `values-<managed>.yaml` default to that managed context).
116-
4. Walks merged **`managedClusterGroups`** via **`vault_ss_csi_collect_managed_group_application.yaml`**
116+
4. Walks merged **`managedClusterGroups`** via **`ss_csi/vault_ss_csi_collect_managed_group_application.yaml`**
117117
(omit **`cluster`**: nested apps default to the group **`name`**, else the group YAML key).
118118

119119
### Projection
120120

121121
Collected rows become **`_ss_csi_all_entries`**, then:
122122

123123
- **Hub mount** (`auth/<vault_hub>/role/...`): entries whose computed **`cluster`** is
124-
`hub`, `local-cluster`, or empty — **`vault_ss_csi_apply_one_hub_sscsi_role.yaml`**
125-
runs on the hub (**`vault_ss_csi_compute_role_slug.yaml`** for slug).
124+
`hub`, `local-cluster`, or empty — **`ss_csi/vault_ss_csi_apply_one_hub_sscsi_role.yaml`**
125+
runs on the hub (**`ss_csi/vault_ss_csi_compute_role_slug.yaml`** for slug).
126126
- **Spoke mounts**: other entries stay in **`_ss_csi_spoke_entries_raw`** until
127-
**`vault_spokes_init`** runs **`vault_ss_csi_normalize_spoke_entries_to_vault_path.yaml`**
127+
**`vault_spokes_init`** runs **`ss_csi/vault_ss_csi_normalize_spoke_entries_to_vault_path.yaml`**
128128
(match ACM / ESO, set internal **`cluster`** to **`vault_path`**), then
129-
**`vault_ss_csi_apply_one_spoke_sscsi_role.yaml`** per spoke.
129+
**`ss_csi/vault_ss_csi_apply_one_spoke_sscsi_role.yaml`** per spoke.
130130

131131
Vault Kubernetes auth **role names** use the form **auth mount + `-sscsi-` + slug**. They must satisfy
132132
Vault path rules (non-empty slug, no trailing `-`, bounded length on some versions).

secrets-initialization-and-vault-unseal.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This document describes how Vault and application secrets are bootstrapped when
1010
1. **`pattern_settings`** — Resolves `pattern_dir` (extra var, `PATTERN_DIR`,
1111
then `PWD` / `pwd`) and loads `values-global.yaml` (including
1212
`main.clusterGroupName` as `main_clustergroup`). When `pattern_settings` is
13-
not in the play, **`vault_ss_csi_workload_auth`** repeats the same
13+
not in the play, **`ss_csi/vault_ss_csi_workload_auth.yaml`** repeats the same
1414
`pattern_dir` resolution and, if needed, reads `values-global.yaml` under
1515
that directory to set `main_clustergroup` / `main_clustergroupname` before
1616
loading merged clustergroup values.
@@ -111,23 +111,23 @@ Summary:
111111
SS CSI workload auth runs from **`include_tasks: ss_csi/vault_ss_csi_workload_auth.yaml`**
112112
(inside **`vault_secrets_init.yaml`**). The pipeline is:
113113

114-
1. **Parsing****`vault_ss_csi_load_clustergroup_values.yaml`** chooses merged
114+
1. **Parsing****`ss_csi/vault_ss_csi_load_clustergroup_values.yaml`** chooses merged
115115
multi-stem loading (**`vault_ss_csi_aggregate_clustergroup_sources`**, default
116116
true) or **legacy** single-document loading. Merged mode runs
117117
**`clustergroup_discovery`** then, for each stem in **`clustergroup_load_order`**,
118118
loads **`ConfigMap` `values-<stem>`** (then optional **`values-<stem>.yaml|yml`**
119119
under **`pattern_dir`**) and merges **`clusterGroup.applications`** and
120120
**`clusterGroup.managedClusterGroups`**. See **`roles/vault_utils/README.md`**
121-
(SS CSI) for variables and task filenames.
121+
(SS CSI) for variables and task filenames under **`tasks/ss_csi/`**.
122122
2. **Extraction** — Builds per-stem **`_vault_ss_csi_apps_by_stem`** and collects
123123
**`ssCsiWorkloadAuth`** from **`clusterGroup.applications`** per stem (omit
124124
**`cluster`** in values: main stem resolves to **hub**; other stems to the
125125
**stem name**) and from merged **`clusterGroup.managedClusterGroups.*.applications`**
126126
(omit **`cluster`**; defaults to managed group **`name`** or YAML key).
127-
3. **Projection** — Hub-classified rows get **`vault_ss_csi_apply_one_hub_sscsi_role`**;
127+
3. **Projection** — Hub-classified rows get **`ss_csi/vault_ss_csi_apply_one_hub_sscsi_role.yaml`**;
128128
spoke rows are normalized to **`vault_path`** during **`vault_spokes_init`**
129-
(**`vault_ss_csi_normalize_spoke_entries_to_vault_path`**) and written with
130-
**`vault_ss_csi_apply_one_spoke_sscsi_role`**.
129+
(**`ss_csi/vault_ss_csi_normalize_spoke_entries_to_vault_path.yaml`**) and written with
130+
**`ss_csi/vault_ss_csi_apply_one_spoke_sscsi_role.yaml`**.
131131

132132
**Defaults:** ConfigMaps live in **`openshift-gitops`** unless
133133
**`vault_ss_csi_clustergroup_configmap_namespace`** is changed; YAML is read from
@@ -136,10 +136,10 @@ data keys in **`vault_ss_csi_clustergroup_configmap_key_candidates`** unless
136136
**`clusterGroup`**. Set **`vault_ss_csi_clustergroup_values_from_configmap`** to
137137
false to force file-only reads. When **`vault_ss_csi_fallback_local_clustergroup_file`**
138138
is true, missing or unusable cluster data falls back to local files as implemented
139-
in **`vault_ss_csi_load_one_clustergroup_values_fragment.yaml`** / legacy tasks.
139+
in **`ss_csi/vault_ss_csi_load_one_clustergroup_values_fragment.yaml`** / legacy tasks.
140140

141141
**Spoke cluster ID and charts:** Omit **`cluster`** in pattern `ssCsiWorkloadAuth` lists; Ansible derives it from stem or managed group. Before applying SS CSI roles on spokes,
142-
`**vault_ss_csi_normalize_spoke_entries_to_vault_path.yaml`** rewrites each spoke row so **`cluster` equals `vault_path`**
142+
**`ss_csi/vault_ss_csi_normalize_spoke_entries_to_vault_path.yaml`** rewrites each spoke row so **`cluster` equals `vault_path`**
143143
(spoke FQDN) for every cluster that has External Secrets token data (`esoToken`).
144144
That matches Vault Kubernetes auth mounts and ESO.
145145
Pattern charts that render **`SecretProviderClass`** via **vp-sscsi-spc** should keep **`global.clusterDomain`** set to that same FQDN on the spoke; the library builds **`spec.parameters.roleName`** as **`<vaultKubernetesMountPath>-sscsi-<roleSlug>`**, using the FQDN mount path (not a short clustergroup label).

0 commit comments

Comments
 (0)