Skip to content

minmzzhang/rhbk-chart

 
 

Repository files navigation

rhbk

Version: 0.0.9 Type: application

Deploys RHBK

This chart is used to serve as the template for Validated Patterns Charts

Notable changes

Homepage: https://github.com/validatedpatterns/rhbk-chart

Maintainers

Name Email Url
Validated Patterns Team validatedpatterns@googlegroups.com

Values

Key Type Default Description
defaultDenyNetworkPolicy object false Default-deny NetworkPolicy for the keycloak namespace. When enabled, deploys a namespace-wide NetworkPolicy that blocks all ingress and egress for pods without an explicit allow policy. Patterns that need zero-trust network isolation should enable this and provide per-pod allow rules via networkPolicy.
externalSecrets object disabled (regular ExternalSecret, no hooks) One-shot ExternalSecret provisioning for keycloak-users. When oneShot is true, the keycloak-users ExternalSecret becomes an ArgoCD Sync hook with BeforeHookCreation and deletionPolicy: Retain. A PostSync job in the wrapper chart (e.g. rh-keycloak in layered-zero-trust) deletes the ExternalSecret with --cascade=orphan (so the Secret survives), then cleans up Secrets labeled secretCleanupLabel=delete. When false (default), keycloak-users is a regular ExternalSecret with no hook annotations — the Secret and ExternalSecret persist.
global.localClusterDomain string "apps.example.com"
global.secretStore.kind string "ClusterSecretStore"
global.secretStore.name string "vault-backend"
keycloak.adminUser.enabled bool true
keycloak.adminUser.passwordVaultKey string "secret/data/hub/infra/keycloak/keycloak"
keycloak.adminUser.secretName string "keycloak-admin-user"
keycloak.adminUser.username string "admin"
keycloak.defaultConfig bool true
keycloak.defaultRealm.clientScopes[0].attributes."display.on.consent.screen" string "false"
keycloak.defaultRealm.clientScopes[0].attributes."include.in.token.scope" string "true"
keycloak.defaultRealm.clientScopes[0].description string "OpenID Connect built-in scope"
keycloak.defaultRealm.clientScopes[0].name string "openid"
keycloak.defaultRealm.clientScopes[0].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[0].protocolMappers[0].config."access.token.claim" string "true"
keycloak.defaultRealm.clientScopes[0].protocolMappers[0].config."id.token.claim" string "true"
keycloak.defaultRealm.clientScopes[0].protocolMappers[0].config."introspection.token.claim" string "true"
keycloak.defaultRealm.clientScopes[0].protocolMappers[0].consentRequired bool false
keycloak.defaultRealm.clientScopes[0].protocolMappers[0].name string "sub"
keycloak.defaultRealm.clientScopes[0].protocolMappers[0].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[0].protocolMappers[0].protocolMapper string "oidc-sub-mapper"
keycloak.defaultRealm.clientScopes[1].attributes."display.on.consent.screen" string "false"
keycloak.defaultRealm.clientScopes[1].attributes."include.in.token.scope" string "false"
keycloak.defaultRealm.clientScopes[1].description string "OpenID Connect basic scope"
keycloak.defaultRealm.clientScopes[1].name string "basic"
keycloak.defaultRealm.clientScopes[1].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[1].protocolMappers[0].config."access.token.claim" string "true"
keycloak.defaultRealm.clientScopes[1].protocolMappers[0].config."introspection.token.claim" string "true"
keycloak.defaultRealm.clientScopes[1].protocolMappers[0].consentRequired bool false
keycloak.defaultRealm.clientScopes[1].protocolMappers[0].name string "sub"
keycloak.defaultRealm.clientScopes[1].protocolMappers[0].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[1].protocolMappers[0].protocolMapper string "oidc-sub-mapper"
keycloak.defaultRealm.clientScopes[2].attributes."consent.screen.text" string "${emailScopeConsentText}"
keycloak.defaultRealm.clientScopes[2].attributes."display.on.consent.screen" string "true"
keycloak.defaultRealm.clientScopes[2].attributes."include.in.token.scope" string "true"
keycloak.defaultRealm.clientScopes[2].description string "OpenID Connect email scope"
keycloak.defaultRealm.clientScopes[2].name string "email"
keycloak.defaultRealm.clientScopes[2].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[2].protocolMappers[0].config."access.token.claim" string "true"
keycloak.defaultRealm.clientScopes[2].protocolMappers[0].config."claim.name" string "email"
keycloak.defaultRealm.clientScopes[2].protocolMappers[0].config."id.token.claim" string "true"
keycloak.defaultRealm.clientScopes[2].protocolMappers[0].config."jsonType.label" string "String"
keycloak.defaultRealm.clientScopes[2].protocolMappers[0].config."user.attribute" string "email"
keycloak.defaultRealm.clientScopes[2].protocolMappers[0].config."userinfo.token.claim" string "true"
keycloak.defaultRealm.clientScopes[2].protocolMappers[0].consentRequired bool false
keycloak.defaultRealm.clientScopes[2].protocolMappers[0].name string "email"
keycloak.defaultRealm.clientScopes[2].protocolMappers[0].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[2].protocolMappers[0].protocolMapper string "oidc-usermodel-attribute-mapper"
keycloak.defaultRealm.clientScopes[2].protocolMappers[1].config."access.token.claim" string "true"
keycloak.defaultRealm.clientScopes[2].protocolMappers[1].config."claim.name" string "email_verified"
keycloak.defaultRealm.clientScopes[2].protocolMappers[1].config."id.token.claim" string "true"
keycloak.defaultRealm.clientScopes[2].protocolMappers[1].config."jsonType.label" string "boolean"
keycloak.defaultRealm.clientScopes[2].protocolMappers[1].config."user.attribute" string "emailVerified"
keycloak.defaultRealm.clientScopes[2].protocolMappers[1].config."userinfo.token.claim" string "true"
keycloak.defaultRealm.clientScopes[2].protocolMappers[1].consentRequired bool false
keycloak.defaultRealm.clientScopes[2].protocolMappers[1].name string "email verified"
keycloak.defaultRealm.clientScopes[2].protocolMappers[1].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[2].protocolMappers[1].protocolMapper string "oidc-usermodel-attribute-mapper"
keycloak.defaultRealm.clientScopes[3].attributes."consent.screen.text" string "${profileScopeConsentText}"
keycloak.defaultRealm.clientScopes[3].attributes."display.on.consent.screen" string "true"
keycloak.defaultRealm.clientScopes[3].attributes."include.in.token.scope" string "true"
keycloak.defaultRealm.clientScopes[3].description string "OpenID Connect profile scope"
keycloak.defaultRealm.clientScopes[3].name string "profile"
keycloak.defaultRealm.clientScopes[3].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[3].protocolMappers[0].config."access.token.claim" string "true"
keycloak.defaultRealm.clientScopes[3].protocolMappers[0].config."claim.name" string "preferred_username"
keycloak.defaultRealm.clientScopes[3].protocolMappers[0].config."id.token.claim" string "true"
keycloak.defaultRealm.clientScopes[3].protocolMappers[0].config."jsonType.label" string "String"
keycloak.defaultRealm.clientScopes[3].protocolMappers[0].config."user.attribute" string "username"
keycloak.defaultRealm.clientScopes[3].protocolMappers[0].config."userinfo.token.claim" string "true"
keycloak.defaultRealm.clientScopes[3].protocolMappers[0].consentRequired bool false
keycloak.defaultRealm.clientScopes[3].protocolMappers[0].name string "username"
keycloak.defaultRealm.clientScopes[3].protocolMappers[0].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[3].protocolMappers[0].protocolMapper string "oidc-usermodel-attribute-mapper"
keycloak.defaultRealm.clientScopes[3].protocolMappers[1].config."access.token.claim" string "true"
keycloak.defaultRealm.clientScopes[3].protocolMappers[1].config."id.token.claim" string "true"
keycloak.defaultRealm.clientScopes[3].protocolMappers[1].config."userinfo.token.claim" string "true"
keycloak.defaultRealm.clientScopes[3].protocolMappers[1].consentRequired bool false
keycloak.defaultRealm.clientScopes[3].protocolMappers[1].name string "full name"
keycloak.defaultRealm.clientScopes[3].protocolMappers[1].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[3].protocolMappers[1].protocolMapper string "oidc-full-name-mapper"
keycloak.defaultRealm.clientScopes[4].attributes."consent.screen.text" string "${rolesScopeConsentText}"
keycloak.defaultRealm.clientScopes[4].attributes."display.on.consent.screen" string "true"
keycloak.defaultRealm.clientScopes[4].attributes."include.in.token.scope" string "false"
keycloak.defaultRealm.clientScopes[4].description string "OpenID Connect roles scope"
keycloak.defaultRealm.clientScopes[4].name string "roles"
keycloak.defaultRealm.clientScopes[4].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[4].protocolMappers[0].config."access.token.claim" string "true"
keycloak.defaultRealm.clientScopes[4].protocolMappers[0].config."claim.name" string "realm_access.roles"
keycloak.defaultRealm.clientScopes[4].protocolMappers[0].config."jsonType.label" string "String"
keycloak.defaultRealm.clientScopes[4].protocolMappers[0].config."user.attribute" string "foo"
keycloak.defaultRealm.clientScopes[4].protocolMappers[0].config.multivalued string "true"
keycloak.defaultRealm.clientScopes[4].protocolMappers[0].consentRequired bool false
keycloak.defaultRealm.clientScopes[4].protocolMappers[0].name string "realm roles"
keycloak.defaultRealm.clientScopes[4].protocolMappers[0].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[4].protocolMappers[0].protocolMapper string "oidc-usermodel-realm-role-mapper"
keycloak.defaultRealm.clientScopes[4].protocolMappers[1].consentRequired bool false
keycloak.defaultRealm.clientScopes[4].protocolMappers[1].name string "audience resolve"
keycloak.defaultRealm.clientScopes[4].protocolMappers[1].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[4].protocolMappers[1].protocolMapper string "oidc-audience-resolve-mapper"
keycloak.defaultRealm.clientScopes[5].attributes."display.on.consent.screen" string "false"
keycloak.defaultRealm.clientScopes[5].attributes."include.in.token.scope" string "false"
keycloak.defaultRealm.clientScopes[5].description string "OpenID Connect web origins scope"
keycloak.defaultRealm.clientScopes[5].name string "web-origins"
keycloak.defaultRealm.clientScopes[5].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[5].protocolMappers[0].config."access.token.claim" string "true"
keycloak.defaultRealm.clientScopes[5].protocolMappers[0].consentRequired bool false
keycloak.defaultRealm.clientScopes[5].protocolMappers[0].name string "allowed web origins"
keycloak.defaultRealm.clientScopes[5].protocolMappers[0].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[5].protocolMappers[0].protocolMapper string "oidc-allowed-origins-mapper"
keycloak.defaultRealm.clientScopes[6].attributes."display.on.consent.screen" string "false"
keycloak.defaultRealm.clientScopes[6].attributes."include.in.token.scope" string "true"
keycloak.defaultRealm.clientScopes[6].description string "Permission to create documents"
keycloak.defaultRealm.clientScopes[6].name string "create:document"
keycloak.defaultRealm.clientScopes[6].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[7].attributes."display.on.consent.screen" string "false"
keycloak.defaultRealm.clientScopes[7].attributes."include.in.token.scope" string "true"
keycloak.defaultRealm.clientScopes[7].description string "Permission to read documents"
keycloak.defaultRealm.clientScopes[7].name string "read:document"
keycloak.defaultRealm.clientScopes[7].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[8].attributes."display.on.consent.screen" string "false"
keycloak.defaultRealm.clientScopes[8].attributes."include.in.token.scope" string "true"
keycloak.defaultRealm.clientScopes[8].description string "Permission to update documents"
keycloak.defaultRealm.clientScopes[8].name string "update:document"
keycloak.defaultRealm.clientScopes[8].protocol string "openid-connect"
keycloak.defaultRealm.clientScopes[9].attributes."display.on.consent.screen" string "false"
keycloak.defaultRealm.clientScopes[9].attributes."include.in.token.scope" string "true"
keycloak.defaultRealm.clientScopes[9].description string "Permission to delete documents"
keycloak.defaultRealm.clientScopes[9].name string "delete:document"
keycloak.defaultRealm.clientScopes[9].protocol string "openid-connect"
keycloak.defaultRealm.clients[0].attributes."jwt.credential.issuer" string "spiffe"
keycloak.defaultRealm.clients[0].attributes."jwt.credential.sub" string ""
keycloak.defaultRealm.clients[0].attributes."post.logout.redirect.uris" string "+"
keycloak.defaultRealm.clients[0].clientAuthenticatorType string "federated-jwt"
keycloak.defaultRealm.clients[0].clientId string "qtodo-app"
keycloak.defaultRealm.clients[0].defaultClientScopes[0] string "web-origins"
keycloak.defaultRealm.clients[0].defaultClientScopes[1] string "roles"
keycloak.defaultRealm.clients[0].defaultClientScopes[2] string "profile"
keycloak.defaultRealm.clients[0].defaultClientScopes[3] string "basic"
keycloak.defaultRealm.clients[0].defaultClientScopes[4] string "email"
keycloak.defaultRealm.clients[0].directAccessGrantsEnabled bool false
keycloak.defaultRealm.clients[0].enabled bool true
keycloak.defaultRealm.clients[0].fullScopeAllowed bool true
keycloak.defaultRealm.clients[0].name string "qtodo"
keycloak.defaultRealm.clients[0].optionalClientScopes[0] string "offline_access"
keycloak.defaultRealm.clients[0].protocol string "openid-connect"
keycloak.defaultRealm.clients[0].publicClient bool false
keycloak.defaultRealm.clients[0].redirectUris[0] string "*"
keycloak.defaultRealm.clients[0].serviceAccountsEnabled bool true
keycloak.defaultRealm.clients[0].standardFlowEnabled bool true
keycloak.defaultRealm.clients[0].webOrigins[0] string "+"
keycloak.defaultRealm.clients[1].attributes."oauth2.device.authorization.grant.enabled" string "true"
keycloak.defaultRealm.clients[1].clientId string "trusted-artifact-signer"
keycloak.defaultRealm.clients[1].directAccessGrantsEnabled bool true
keycloak.defaultRealm.clients[1].enabled bool true
keycloak.defaultRealm.clients[1].implicitFlowEnabled bool false
keycloak.defaultRealm.clients[1].name string "Red Hat Trusted Artifact Signer Client"
keycloak.defaultRealm.clients[1].protocol string "openid-connect"
keycloak.defaultRealm.clients[1].protocolMappers[0].config."access.token.claim" string "true"
keycloak.defaultRealm.clients[1].protocolMappers[0].config."id.token.claim" string "false"
keycloak.defaultRealm.clients[1].protocolMappers[0].config."included.client.audience" string "trusted-artifact-signer"
keycloak.defaultRealm.clients[1].protocolMappers[0].name string "audience-mapper"
keycloak.defaultRealm.clients[1].protocolMappers[0].protocol string "openid-connect"
keycloak.defaultRealm.clients[1].protocolMappers[0].protocolMapper string "oidc-audience-mapper"
keycloak.defaultRealm.clients[1].protocolMappers[1].config."access.token.claim" string "true"
keycloak.defaultRealm.clients[1].protocolMappers[1].config."claim.name" string "email_verified"
keycloak.defaultRealm.clients[1].protocolMappers[1].config."claim.value" string "true"
keycloak.defaultRealm.clients[1].protocolMappers[1].config."id.token.claim" string "true"
keycloak.defaultRealm.clients[1].protocolMappers[1].config."jsonType.label" string "boolean"
keycloak.defaultRealm.clients[1].protocolMappers[1].config."userinfo.token.claim" string "false"
keycloak.defaultRealm.clients[1].protocolMappers[1].consentRequired bool false
keycloak.defaultRealm.clients[1].protocolMappers[1].name string "email-mapper"
keycloak.defaultRealm.clients[1].protocolMappers[1].protocol string "openid-connect"
keycloak.defaultRealm.clients[1].protocolMappers[1].protocolMapper string "oidc-hardcoded-claim-mapper"
keycloak.defaultRealm.clients[1].publicClient bool true
keycloak.defaultRealm.clients[1].redirectUris[0] string "*"
keycloak.defaultRealm.clients[1].redirectUris[1] string "urn:ietf:wg:oauth:2.0:oob"
keycloak.defaultRealm.clients[1].redirectUris[2] string "http://localhost:*/auth/callback"
keycloak.defaultRealm.clients[1].standardFlowEnabled bool true
keycloak.defaultRealm.clients[1].webOrigins[0] string "+"
keycloak.defaultRealm.clients[2].clientId string "acs-central"
keycloak.defaultRealm.clients[2].defaultClientScopes[0] string "openid"
keycloak.defaultRealm.clients[2].defaultClientScopes[1] string "basic"
keycloak.defaultRealm.clients[2].defaultClientScopes[2] string "email"
keycloak.defaultRealm.clients[2].defaultClientScopes[3] string "profile"
keycloak.defaultRealm.clients[2].defaultClientScopes[4] string "roles"
keycloak.defaultRealm.clients[2].defaultClientScopes[5] string "web-origins"
keycloak.defaultRealm.clients[2].directAccessGrantsEnabled bool true
keycloak.defaultRealm.clients[2].enabled bool true
keycloak.defaultRealm.clients[2].fullScopeAllowed bool true
keycloak.defaultRealm.clients[2].implicitFlowEnabled bool false
keycloak.defaultRealm.clients[2].name string "Red Hat Advanced Cluster Security Central"
keycloak.defaultRealm.clients[2].optionalClientScopes[0] string "address"
keycloak.defaultRealm.clients[2].optionalClientScopes[1] string "phone"
keycloak.defaultRealm.clients[2].optionalClientScopes[2] string "offline_access"
keycloak.defaultRealm.clients[2].protocol string "openid-connect"
keycloak.defaultRealm.clients[2].protocolMappers[0].config."access.token.claim" string "true"
keycloak.defaultRealm.clients[2].protocolMappers[0].config."claim.name" string "groups"
keycloak.defaultRealm.clients[2].protocolMappers[0].config."full.path" string "false"
keycloak.defaultRealm.clients[2].protocolMappers[0].config."id.token.claim" string "true"
keycloak.defaultRealm.clients[2].protocolMappers[0].config."userinfo.token.claim" string "true"
keycloak.defaultRealm.clients[2].protocolMappers[0].consentRequired bool false
keycloak.defaultRealm.clients[2].protocolMappers[0].name string "groups"
keycloak.defaultRealm.clients[2].protocolMappers[0].protocol string "openid-connect"
keycloak.defaultRealm.clients[2].protocolMappers[0].protocolMapper string "oidc-group-membership-mapper"
keycloak.defaultRealm.clients[2].protocolMappers[1].config."access.token.claim" string "true"
keycloak.defaultRealm.clients[2].protocolMappers[1].config."claim.name" string "roles"
keycloak.defaultRealm.clients[2].protocolMappers[1].config."id.token.claim" string "true"
keycloak.defaultRealm.clients[2].protocolMappers[1].config."jsonType.label" string "String"
keycloak.defaultRealm.clients[2].protocolMappers[1].config."userinfo.token.claim" string "true"
keycloak.defaultRealm.clients[2].protocolMappers[1].config.multivalued string "true"
keycloak.defaultRealm.clients[2].protocolMappers[1].consentRequired bool false
keycloak.defaultRealm.clients[2].protocolMappers[1].name string "roles"
keycloak.defaultRealm.clients[2].protocolMappers[1].protocol string "openid-connect"
keycloak.defaultRealm.clients[2].protocolMappers[1].protocolMapper string "oidc-usermodel-realm-role-mapper"
keycloak.defaultRealm.clients[2].publicClient bool false
keycloak.defaultRealm.clients[2].redirectUris[0] string "*"
keycloak.defaultRealm.clients[2].secret string "${ACS_CLIENT_SECRET}"
keycloak.defaultRealm.clients[2].standardFlowEnabled bool true
keycloak.defaultRealm.clients[2].webOrigins[0] string "*"
keycloak.defaultRealm.clients[3].attributes."access.token.lifespan" string "300"
keycloak.defaultRealm.clients[3].attributes."post.logout.redirect.uris" string "+"
keycloak.defaultRealm.clients[3].clientId string "rhtpa-cli"
keycloak.defaultRealm.clients[3].defaultClientScopes[0] string "basic"
keycloak.defaultRealm.clients[3].defaultClientScopes[1] string "email"
keycloak.defaultRealm.clients[3].defaultClientScopes[2] string "profile"
keycloak.defaultRealm.clients[3].defaultClientScopes[3] string "roles"
keycloak.defaultRealm.clients[3].defaultClientScopes[4] string "web-origins"
keycloak.defaultRealm.clients[3].defaultClientScopes[5] string "create:document"
keycloak.defaultRealm.clients[3].defaultClientScopes[6] string "read:document"
keycloak.defaultRealm.clients[3].defaultClientScopes[7] string "update:document"
keycloak.defaultRealm.clients[3].defaultClientScopes[8] string "delete:document"
keycloak.defaultRealm.clients[3].directAccessGrantsEnabled bool false
keycloak.defaultRealm.clients[3].enabled bool true
keycloak.defaultRealm.clients[3].fullScopeAllowed bool true
keycloak.defaultRealm.clients[3].implicitFlowEnabled bool false
keycloak.defaultRealm.clients[3].name string "RHTPA CLI Client"
keycloak.defaultRealm.clients[3].optionalClientScopes[0] string "address"
keycloak.defaultRealm.clients[3].optionalClientScopes[1] string "microprofile-jwt"
keycloak.defaultRealm.clients[3].optionalClientScopes[2] string "offline_access"
keycloak.defaultRealm.clients[3].optionalClientScopes[3] string "phone"
keycloak.defaultRealm.clients[3].protocol string "openid-connect"
keycloak.defaultRealm.clients[3].publicClient bool false
keycloak.defaultRealm.clients[3].secret string "${RHTPA_CLI_SECRET}"
keycloak.defaultRealm.clients[3].serviceAccountsEnabled bool true
keycloak.defaultRealm.clients[3].standardFlowEnabled bool false
keycloak.defaultRealm.clients[4].attributes."access.token.lifespan" string "300"
keycloak.defaultRealm.clients[4].attributes."post.logout.redirect.uris" string "+"
keycloak.defaultRealm.clients[4].clientId string "rhtpa-frontend"
keycloak.defaultRealm.clients[4].defaultClientScopes[0] string "basic"
keycloak.defaultRealm.clients[4].defaultClientScopes[1] string "email"
keycloak.defaultRealm.clients[4].defaultClientScopes[2] string "profile"
keycloak.defaultRealm.clients[4].defaultClientScopes[3] string "roles"
keycloak.defaultRealm.clients[4].defaultClientScopes[4] string "web-origins"
keycloak.defaultRealm.clients[4].defaultClientScopes[5] string "create:document"
keycloak.defaultRealm.clients[4].defaultClientScopes[6] string "read:document"
keycloak.defaultRealm.clients[4].defaultClientScopes[7] string "update:document"
keycloak.defaultRealm.clients[4].defaultClientScopes[8] string "delete:document"
keycloak.defaultRealm.clients[4].directAccessGrantsEnabled bool false
keycloak.defaultRealm.clients[4].enabled bool true
keycloak.defaultRealm.clients[4].fullScopeAllowed bool true
keycloak.defaultRealm.clients[4].implicitFlowEnabled bool true
keycloak.defaultRealm.clients[4].name string "RHTPA Frontend Client"
keycloak.defaultRealm.clients[4].optionalClientScopes[0] string "address"
keycloak.defaultRealm.clients[4].optionalClientScopes[1] string "microprofile-jwt"
keycloak.defaultRealm.clients[4].optionalClientScopes[2] string "offline_access"
keycloak.defaultRealm.clients[4].optionalClientScopes[3] string "phone"
keycloak.defaultRealm.clients[4].protocol string "openid-connect"
keycloak.defaultRealm.clients[4].publicClient bool true
keycloak.defaultRealm.clients[4].redirectUris[0] string "*"
keycloak.defaultRealm.clients[4].serviceAccountsEnabled bool false
keycloak.defaultRealm.clients[4].standardFlowEnabled bool true
keycloak.defaultRealm.clients[4].webOrigins[0] string "*"
keycloak.defaultRealm.defaultDefaultClientScopes[0] string "openid"
keycloak.defaultRealm.defaultDefaultClientScopes[1] string "basic"
keycloak.defaultRealm.defaultDefaultClientScopes[2] string "email"
keycloak.defaultRealm.defaultDefaultClientScopes[3] string "profile"
keycloak.defaultRealm.defaultDefaultClientScopes[4] string "roles"
keycloak.defaultRealm.defaultDefaultClientScopes[5] string "web-origins"
keycloak.defaultRealm.displayName string "ZTVP Realm"
keycloak.defaultRealm.enabled bool true
keycloak.defaultRealm.realm string "ztvp"
keycloak.defaultRealm.registrationAllowed bool false
keycloak.defaultRealm.roles.realm[0].description string "QTodo App Administrator"
keycloak.defaultRealm.roles.realm[0].name string "qtodo-admin"
keycloak.defaultRealm.roles.realm[1].description string "Read-only access"
keycloak.defaultRealm.roles.realm[1].name string "viewer"
keycloak.defaultRealm.roles.realm[2].description string "RHTPA SBOM Creator"
keycloak.defaultRealm.roles.realm[2].name string "create:sbom"
keycloak.defaultRealm.roles.realm[3].description string "RHTPA Document Creator"
keycloak.defaultRealm.roles.realm[3].name string "create:document"
keycloak.defaultRealm.roles.realm[4].description string "ACS Administrator"
keycloak.defaultRealm.roles.realm[4].name string "acs-admin"
keycloak.defaultRealm.users[0].createdTimestamp int 1
keycloak.defaultRealm.users[0].credentials[0].temporary bool true
keycloak.defaultRealm.users[0].credentials[0].type string "password"
keycloak.defaultRealm.users[0].credentials[0].value string "${QTODO_ADMIN_PASSWORD}"
keycloak.defaultRealm.users[0].email string "qtodo-admin@example.com"
keycloak.defaultRealm.users[0].emailVerified bool true
keycloak.defaultRealm.users[0].enabled bool true
keycloak.defaultRealm.users[0].firstName string "QTodo"
keycloak.defaultRealm.users[0].lastName string "Admin"
keycloak.defaultRealm.users[0].realmRoles[0] string "qtodo-admin"
keycloak.defaultRealm.users[0].requiredActions[0] string "UPDATE_PASSWORD"
keycloak.defaultRealm.users[0].username string "qtodo-admin"
keycloak.defaultRealm.users[1].createdTimestamp int 1
keycloak.defaultRealm.users[1].credentials[0].temporary bool true
keycloak.defaultRealm.users[1].credentials[0].type string "password"
keycloak.defaultRealm.users[1].credentials[0].value string "${QTODO_USER1_PASSWORD}"
keycloak.defaultRealm.users[1].email string "qtodo-user1@example.com"
keycloak.defaultRealm.users[1].emailVerified bool true
keycloak.defaultRealm.users[1].enabled bool true
keycloak.defaultRealm.users[1].firstName string "QTodo"
keycloak.defaultRealm.users[1].lastName string "User-1"
keycloak.defaultRealm.users[1].realmRoles[0] string "viewer"
keycloak.defaultRealm.users[1].requiredActions[0] string "UPDATE_PASSWORD"
keycloak.defaultRealm.users[1].username string "qtodo-user1"
keycloak.defaultRealm.users[2].createdTimestamp int 1
keycloak.defaultRealm.users[2].credentials[0].temporary bool false
keycloak.defaultRealm.users[2].credentials[0].type string "password"
keycloak.defaultRealm.users[2].credentials[0].value string "${RHTAS_USER_PASSWORD}"
keycloak.defaultRealm.users[2].email string "rhtas-user@example.com"
keycloak.defaultRealm.users[2].emailVerified bool true
keycloak.defaultRealm.users[2].enabled bool true
keycloak.defaultRealm.users[2].firstName string "RHTAS"
keycloak.defaultRealm.users[2].lastName string "Signer"
keycloak.defaultRealm.users[2].realmRoles[0] string "viewer"
keycloak.defaultRealm.users[2].username string "rhtas-user"
keycloak.defaultRealm.users[3].createdTimestamp int 1
keycloak.defaultRealm.users[3].credentials[0].temporary bool false
keycloak.defaultRealm.users[3].credentials[0].type string "password"
keycloak.defaultRealm.users[3].credentials[0].value string "${RHTPA_USER_PASSWORD}"
keycloak.defaultRealm.users[3].email string "rhtpa-user@example.com"
keycloak.defaultRealm.users[3].emailVerified bool true
keycloak.defaultRealm.users[3].enabled bool true
keycloak.defaultRealm.users[3].firstName string "RHTPA"
keycloak.defaultRealm.users[3].lastName string "User"
keycloak.defaultRealm.users[3].realmRoles[0] string "viewer"
keycloak.defaultRealm.users[3].realmRoles[1] string "create:sbom"
keycloak.defaultRealm.users[3].realmRoles[2] string "create:document"
keycloak.defaultRealm.users[3].username string "rhtpa-user"
keycloak.defaultRealm.users[4].createdTimestamp int 1
keycloak.defaultRealm.users[4].credentials[0].temporary bool false
keycloak.defaultRealm.users[4].credentials[0].type string "password"
keycloak.defaultRealm.users[4].credentials[0].value string "${ACS_ADMIN_PASSWORD}"
keycloak.defaultRealm.users[4].email string "acs-admin@example.com"
keycloak.defaultRealm.users[4].emailVerified bool true
keycloak.defaultRealm.users[4].enabled bool true
keycloak.defaultRealm.users[4].firstName string "ACS"
keycloak.defaultRealm.users[4].lastName string "Administrator"
keycloak.defaultRealm.users[4].realmRoles[0] string "acs-admin"
keycloak.defaultRealm.users[4].realmRoles[1] string "offline_access"
keycloak.defaultRealm.users[4].username string "acs-admin"
keycloak.ingress.enabled bool true
keycloak.ingress.hostname string ""
keycloak.ingress.service string "keycloak-service-trusted"
keycloak.ingress.termination string "reencrypt"
keycloak.name string "keycloak"
keycloak.oidcSecrets.acsClient.vaultPath string "secret/data/hub/infra/acs/acs-central"
keycloak.oidcSecrets.qtodo.enabled bool false
keycloak.oidcSecrets.qtodo.vaultPath string "secret/data/apps/qtodo/qtodo-oidc-client"
keycloak.oidcSecrets.rhtpaCli.vaultPath string "secret/data/hub/infra/rhtpa/rhtpa-oidc-cli"
keycloak.postgresqlDb.database string "keycloak"
keycloak.postgresqlDb.passwordVaultKey string "secret/data/hub/infra/keycloak/keycloak"
keycloak.postgresqlDb.secretName string "postgresql-db"
keycloak.postgresqlDb.username string "keycloak"
keycloak.realms list []
keycloak.spiffeIdentityProvider.config.alias string "spiffe"
keycloak.spiffeIdentityProvider.config.config.authorizationUrl string ""
keycloak.spiffeIdentityProvider.config.config.clientId string "keycloak"
keycloak.spiffeIdentityProvider.config.config.clientSecret string "unused"
keycloak.spiffeIdentityProvider.config.config.issuer string ""
keycloak.spiffeIdentityProvider.config.config.jwksUrl string ""
keycloak.spiffeIdentityProvider.config.config.supportsClientAssertionReuse string "true"
keycloak.spiffeIdentityProvider.config.config.supportsClientAssertions string "true"
keycloak.spiffeIdentityProvider.config.config.syncMode string "LEGACY"
keycloak.spiffeIdentityProvider.config.config.tokenUrl string ""
keycloak.spiffeIdentityProvider.config.config.useJwksUrl string "true"
keycloak.spiffeIdentityProvider.config.config.validateSignature string "true"
keycloak.spiffeIdentityProvider.config.displayName string "SPIFFE Workload Identity"
keycloak.spiffeIdentityProvider.config.enabled bool true
keycloak.spiffeIdentityProvider.config.hideOnLogin bool true
keycloak.spiffeIdentityProvider.config.providerId string "oidc"
keycloak.spiffeIdentityProvider.enabled bool true
keycloak.tls.secret string "keycloak-tls"
keycloak.tls.serviceServing bool true
keycloak.users.passwordVaultKey string "secret/data/hub/infra/users/keycloak-users"
keycloak.users.secretName string "keycloak-users"
networkPolicy object {"keycloak":{"egress":[],"enabled":false},"operator":{"egress":[],"enabled":false,"ingress":[]},"postgresql":{"egress":[],"enabled":false,"ingress":[]},"realmImport":{"egress":[],"enabled":false,"podSelector":{"app":"keycloak-realm-import"}}} Per-pod NetworkPolicy rules for keycloak, PostgreSQL, and operator pods. Only effective when defaultDenyNetworkPolicy is enabled. The RHBK operator manages its own ingress policy for keycloak pods (keycloak-network-policy) — these templates add egress rules for keycloak and full ingress/egress rules for PostgreSQL and operator pods.

Autogenerated from chart metadata using helm-docs v1.14.2

Network Policies

This chart supports deploying Kubernetes NetworkPolicies for network isolation in the Keycloak namespace. Three layers are available:

Default-deny policy

A namespace-wide default-deny NetworkPolicy that blocks all ingress and egress traffic for every pod in the namespace unless an explicit allow policy exists. Enable it by setting:

defaultDenyNetworkPolicy:
  enabled: true

Operator-managed ingress policy

The RHBK operator automatically creates and manages a keycloak-network-policy that controls ingress to keycloak pods (ports 8443, 9000, and JGroups 7800/57800). This policy is owned by the operator and should not be modified — the operator will revert any changes.

Per-pod allow rules

When the default-deny policy is enabled, additional NetworkPolicy templates allow defining fine-grained rules for each pod type:

  • networkPolicy.keycloak — egress rules for keycloak pods (ingress is managed by the operator policy above)
  • networkPolicy.postgresql — ingress and egress rules for PostgreSQL pods
  • networkPolicy.operator — ingress and egress rules for rhbk-operator pods

Example — allow keycloak egress to DNS and PostgreSQL, PostgreSQL ingress from keycloak, and operator egress to Kubernetes API:

defaultDenyNetworkPolicy:
  enabled: true

networkPolicy:
  keycloak:
    enabled: true
    egress:
      - ports:
          - protocol: UDP
            port: 5353
          - protocol: TCP
            port: 5353
        to:
          - namespaceSelector:
              matchLabels:
                kubernetes.io/metadata.name: openshift-dns
      - ports:
          - protocol: TCP
            port: 5432
        to:
          - podSelector:
              matchLabels:
                app: postgresql-db
  postgresql:
    enabled: true
    ingress:
      - ports:
          - protocol: TCP
            port: 5432
        from:
          - podSelector:
              matchLabels:
                app: keycloak
    egress:
      - ports:
          - protocol: UDP
            port: 5353
          - protocol: TCP
            port: 5353
        to:
          - namespaceSelector:
              matchLabels:
                kubernetes.io/metadata.name: openshift-dns
  operator:
    enabled: true
    egress:
      - ports:
          - protocol: TCP
            port: 443
          - protocol: TCP
            port: 6443

Patterns can supply these values via extraValueFiles in their values-hub.yaml to keep network policy configuration separate from the main chart values.

About

Red Hat Build of Keycloak Helm Chart

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Makefile 74.7%
  • Go Template 25.3%