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>
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			HCL
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			HCL
		
	
	
	
	
	
| # All user sources, that is services from which Keycloak gets user
 | |
| # information (either by accessing a system like LDAP or integration
 | |
| # through protocols like OIDC).
 | |
| 
 | |
| variable "github_client_secret" {
 | |
|   type = string
 | |
| }
 | |
| 
 | |
| resource "keycloak_ldap_user_federation" "tvl_ldap" {
 | |
|   name                    = "tvl-ldap"
 | |
|   realm_id                = keycloak_realm.tvl.id
 | |
|   enabled                 = true
 | |
|   connection_url          = "ldap://localhost"
 | |
|   users_dn                = "ou=users,dc=tvl,dc=fyi"
 | |
|   username_ldap_attribute = "cn"
 | |
|   uuid_ldap_attribute     = "cn"
 | |
|   rdn_ldap_attribute      = "cn"
 | |
|   full_sync_period        = 86400
 | |
|   trust_email             = true
 | |
| 
 | |
|   user_object_classes = [
 | |
|     "inetOrgPerson",
 | |
|     "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         = ""
 | |
| }
 |