A Terraform provider for managing Keycloak identity and access management resources as infrastructure-as-code.
Terraform provider for Keycloak is an open-source Terraform plugin that enables infrastructure-as-code management of Keycloak identity and access management resources. It allows users to define, provision, and manage Keycloak configurations—such as realms, clients, users, and authentication flows—using Terraform's declarative configuration language. This solves the problem of manual, error-prone Keycloak administration by providing automated, version-controlled, and repeatable deployment workflows.
DevOps engineers, platform teams, and developers who manage Keycloak deployments and need to automate identity and access management configurations as part of their infrastructure. It's particularly valuable for organizations using Terraform for infrastructure provisioning.
Developers choose this provider because it integrates Keycloak management into their existing Terraform workflows, providing consistency with other infrastructure components. Its comprehensive resource coverage, multi-version support, and robust testing framework make it a reliable choice for production environments.
Terraform provider for Keycloak
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports a wide range of Keycloak resources including realms, clients, users, groups, and authentication flows, enabling full IAM configuration as code, as highlighted in the README's feature list.
Officially tests and supports the latest three minor versions of Keycloak, with specific versions like 26.5.5 to 26.0.8 listed in the README, ensuring compatibility with current releases.
Provides multiple authentication methods such as client credentials, password grants, access tokens, and mTLS, detailed in the development and testing sections for varied use cases.
Includes debugging support with Delve, local Docker Compose environments, and comprehensive acceptance tests, making development and testing easier as described in the README.
Users migrating from the legacy mrparkers/keycloak provider must handle state replacement with 'terraform state replace-provider', which can be complex and error-prone for large configurations.
Relies on Keycloak's API stability; changes in Keycloak versions outside the supported range may break functionality or require provider updates, as implied by the limited version support.
Configuring advanced features like mTLS authentication involves multiple environment variables and steps, as shown in the testing instructions, adding overhead for production deployments.