feat(ops/keycloak): import github identity provider configuration
For some reason Terraform decided that it would otherwise like to *delete* this configuration, which is undesirable. Note that there is a "magic" special behaviour when the `alias` and `provider_id` are set to the name of a built-in supported provider (github, gitlab etc.), which lets us skip the authorization_url setup. Change-Id: Ib66154c2896dda162c57bdc2d7964a9fa4e15f20 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6706 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
This commit is contained in:
parent
3a1f4831a8
commit
6576c2f15f
3 changed files with 24 additions and 1 deletions
|
@ -1,6 +1,6 @@
|
||||||
# Configure TVL Keycloak instance.
|
# Configure TVL Keycloak instance.
|
||||||
#
|
#
|
||||||
# TODO(tazjin): Configure GitHub/GitLab IDP
|
# TODO(tazjin): Configure GitLab IDP
|
||||||
|
|
||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
|
|
|
@ -2,6 +2,10 @@
|
||||||
# information (either by accessing a system like LDAP or integration
|
# information (either by accessing a system like LDAP or integration
|
||||||
# through protocols like OIDC).
|
# through protocols like OIDC).
|
||||||
|
|
||||||
|
variable "github_client_secret" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
resource "keycloak_ldap_user_federation" "tvl_ldap" {
|
resource "keycloak_ldap_user_federation" "tvl_ldap" {
|
||||||
name = "tvl-ldap"
|
name = "tvl-ldap"
|
||||||
realm_id = keycloak_realm.tvl.id
|
realm_id = keycloak_realm.tvl.id
|
||||||
|
@ -19,3 +23,22 @@ resource "keycloak_ldap_user_federation" "tvl_ldap" {
|
||||||
"organizationalPerson",
|
"organizationalPerson",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# keycloak_oidc_identity_provider.github will be destroyed
|
||||||
|
# (because keycloak_oidc_identity_provider.github is not in configuration)
|
||||||
|
resource "keycloak_oidc_identity_provider" "github" {
|
||||||
|
alias = "github"
|
||||||
|
provider_id = "github"
|
||||||
|
client_id = "6d7f8bb2e82bb6739556"
|
||||||
|
client_secret = var.github_client_secret
|
||||||
|
realm = keycloak_realm.tvl.id
|
||||||
|
backchannel_supported = false
|
||||||
|
gui_order = "1"
|
||||||
|
store_token = false
|
||||||
|
sync_mode = "IMPORT"
|
||||||
|
trust_email = true
|
||||||
|
|
||||||
|
# These default to built-in values for the `github` provider_id.
|
||||||
|
authorization_url = ""
|
||||||
|
token_url = ""
|
||||||
|
}
|
||||||
|
|
Binary file not shown.
Loading…
Reference in a new issue