Terraform
This repo ships two AWS modules under terraform/modules/.
aws_oidc_provider
Creates the IAM OIDC provider for the bridge issuer URL.
Inputs
issuer_urlclient_id_listdefault["sts.amazonaws.com"]thumbprint_listoptionaltags
Outputs
arnissuer_urlissuer_hostthumbprint_list
aws_oidc_role
Creates a role trusted by the OIDC provider for one or more Kubernetes service-account subjects.
Inputs
role_nameoidc_provider_arnissuer_hostservice_account_subjectsaudiencesdefault["sts.amazonaws.com"]managed_policy_arnsinline_policy_jsonmax_session_durationtags
Outputs
role_arnrole_nameservice_account_subjects
Why the split exists
The OIDC provider is account-level and unique per issuer URL. Roles are workload-level. Most consumers should create the provider once and reuse it.