snix/ops/keycloak
edef d814c7afa8 feat(ops/keycloak): configure user profile declaratively
This mostly matches the default configuration, but notably does not
make the lastName field mandatory, in order to accommodate mononymy.

Change-Id: I47ca86a179eb9b7dcf5f3e761681c78e22f5265c
Fixes: https://git.snix.dev/snix/snix/issues/104
Reviewed-on: https://cl.snix.dev/c/snix/+/30289
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-04-04 16:41:12 +00:00
..
.gitignore feat(ops/keycloak): Check in initial Keycloak configuration 2021-12-26 16:45:59 +00:00
attributes.tf feat(ops/keycloak): configure user profile declaratively 2025-04-04 16:41:12 +00:00
clients.tf chore(ops/keycloak): disable buildkite keycloak SAML settings for now 2025-03-23 00:50:26 +00:00
default.nix refactor(ops/keycloak): Use tools.checks.validateTerraform 2022-06-07 09:32:13 +00:00
identity_providers.tf chore(ops/keycloak): move oauth application to snix-project org 2025-03-18 15:28:54 +00:00
main.tf feat(ops/keycloak): configure smtp settings 2025-03-23 00:49:59 +00:00
permissions.tf feat(ops/keycloak): update group memberships 2025-03-23 00:50:26 +00:00
README.md docs(ops/buildkite): Add documentation about this config 2022-06-06 11:05:12 +00:00

Terraform for Keycloak

This contains the Terraform configuration for deploying TVL's Keycloak instance (which lives at auth.tvl.fyi).

Secrets are needed for applying this. The encrypted file //ops/secrets/tf-keycloak.age contains export calls which should be sourced, for example via direnv, by users with the appropriate credentials.

An example direnv configuration used by tazjin is this:

# //ops/keycloak/.envrc
source_up
eval $(age --decrypt -i ~/.ssh/id_ed25519 $(git rev-parse --show-toplevel)/ops/secrets/tf-keycloak.age)