Skip to content

Add IAM (Keycloak) configuration to credreg-prod ConfigMap#1049

Open
arielr-lt wants to merge 1 commit into
masterfrom
feat/credreg-prod-iam-configmap
Open

Add IAM (Keycloak) configuration to credreg-prod ConfigMap#1049
arielr-lt wants to merge 1 commit into
masterfrom
feat/credreg-prod-iam-configmap

Conversation

@arielr-lt
Copy link
Copy Markdown
Collaborator

@arielr-lt arielr-lt commented May 21, 2026

Summary

  • Adds the six IAM_* keys to terraform/environments/eks/k8s-manifests-prod/app-configmap.yaml.
  • Required by the upcoming production release, which carries IAM/Keycloak-backed authentication code paths (app/services/parse_iam_access_token.rb) not currently exercised in prod.
  • Without these keys, IAM_URL lookup raises (fetch_env_var is non-optional in role_map/iam_realm_url), and IAM_ISSUER falls back to nil (issuer verification disabled).

Values

Key Value Notes
IAM_CLIENT_ID RegistryAPI matches sandbox/staging
IAM_COMMUNITY_CLAIM_NAME community_name matches sandbox/staging
IAM_COMMUNITY_ROLE_ADMIN ROLE_ADMINISTRATOR matches sandbox/staging
IAM_COMMUNITY_ROLE_PUBLISHER ROLE_PUBLISHER matches sandbox/staging
IAM_COMMUNITY_ROLE_READER ROLE_READER matches sandbox/staging
IAM_URL https://login.credentialengine.org/realms/CE-Prod prod Keycloak realm — confirmed with client

Scope / non-scope

  • This PR only adds the new keys. No existing key is touched, so no current behavior changes.
  • Out of scope (follow-up): the live credreg-prod/main-app-config has ARGO_WORKFLOWS_MAX_WORKERS: "16" that is not tracked in this file (drift introduced by a manual patch). It is preserved by kubectl three-way merge but should be reconciled separately.

Related

  • Pairs with the upcoming app image release that introduces the IAM auth path, registry changeset sync, and envelope-download Argo workflow. See migration coordination note circulated to stakeholders separately.

The upcoming production release introduces IAM/Keycloak-backed
authentication paths (parse_iam_access_token, role mapping). These
read IAM_URL, IAM_CLIENT_ID, IAM_COMMUNITY_CLAIM_NAME, and the three
IAM_COMMUNITY_ROLE_* keys — none of which currently exist in the
credreg-prod ConfigMap. Without them, IAM token validation in prod
degrades silently (ENV.fetch returns nil) or raises on role lookup.

Values mirror the sandbox/staging conventions; IAM_URL points to the
prod Keycloak realm CE-Prod at login.credentialengine.org.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant