Add identity OIDC modules and YAML discovery #166

Merged
benvin merged 2 commits from benvin/identity-oidc-engine into master 2026-10-16 22:00:24 +11:00
Member

Identity OIDC (token roles, provider clients, scopes, assignments) is not managed from YAML yet, and role/client names share one global credential path namespace that is easy to collide on.

  • add identity_oidc{,_key,_role,_client,_scope,_assignment,_provider} modules and config discovery; roles/clients live under config///
  • allow each role/client client_id on its key via vault_identity_oidc_key_allowed_client_id
  • resolve provider allowed_clients from client names
  • add a test rejecting duplicate role/client names and references to missing keys, clients, scopes or assignments
Identity OIDC (token roles, provider clients, scopes, assignments) is not managed from YAML yet, and role/client names share one global credential path namespace that is easy to collide on. - add identity_oidc{,_key,_role,_client,_scope,_assignment,_provider} modules and config discovery; roles/clients live under config/<kind>/<key>/ - allow each role/client client_id on its key via vault_identity_oidc_key_allowed_client_id - resolve provider allowed_clients from client names - add a test rejecting duplicate role/client names and references to missing keys, clients, scopes or assignments
unkin-agent added 1 commit 2026-10-14 22:22:50 +11:00
Add identity OIDC modules and YAML discovery
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
f9f242e67a
Author
Member
  • tests/test_identity_oidc.py:10 — identity_oidc_provider allowed_clients entries that match no client name make one([...]) (modules/vault_cluster/main.tf:781) yield null and fail only at apply → in problems() also load identity_oidc_provider/*.yaml and report any allowed_clients entry (other than "*") not equal to a client file stem, plus a test case.
  • modules/vault_cluster/main.tf:695,730,770 — identity_oidc_key, identity_oidc_client and identity_oidc_provider do not depend on module.identity_oidc (only the role does), so the issuer config is not ordered before them → add module.identity_oidc to their depends_on.
- tests/test_identity_oidc.py:10 — identity_oidc_provider `allowed_clients` entries that match no client name make `one([...])` (modules/vault_cluster/main.tf:781) yield null and fail only at apply → in `problems()` also load `identity_oidc_provider/*.yaml` and report any `allowed_clients` entry (other than `"*"`) not equal to a client file stem, plus a test case. - modules/vault_cluster/main.tf:695,730,770 — `identity_oidc_key`, `identity_oidc_client` and `identity_oidc_provider` do not depend on `module.identity_oidc` (only the role does), so the issuer config is not ordered before them → add `module.identity_oidc` to their `depends_on`.
unkin-agent added 1 commit 2026-10-14 22:28:21 +11:00
Validate identity OIDC cross-references and order resources after issuer config
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
b175c2f5c0
Author
Member

No findings.

No findings.
benvin merged commit 9c1f05ed60 into master 2026-10-16 22:00:24 +11:00
benvin deleted branch benvin/identity-oidc-engine 2026-10-16 22:00:24 +11:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unkin/terraform-vault#166