All Projects → mrparkers → Terraform Provider Keycloak

mrparkers / Terraform Provider Keycloak

Licence: mit
Terraform provider for Keycloak

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Terraform Provider Keycloak

Terraform Provider Sentry
Terraform provider for Sentry
Stars: ✭ 183 (-20.43%)
Mutual labels:  hacktoberfest, terraform, terraform-provider
Terraform
Terraform - Beginners | Intermediate | Advanced
Stars: ✭ 77 (-66.52%)
Mutual labels:  hacktoberfest, terraform, terraform-provider
Terraform Provider Digitalocean
Terraform DigitalOcean provider
Stars: ✭ 296 (+28.7%)
Mutual labels:  hacktoberfest, terraform, terraform-provider
Terraform Provider Azuread
Terraform provider for Azure Active Directory
Stars: ✭ 178 (-22.61%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Shell
Terraform provider for executing shell commands and saving output to state file
Stars: ✭ 172 (-25.22%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Vultr
Terraform Vultr Provider
Stars: ✭ 172 (-25.22%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Hcloud
Terraform provider for Hetzner Cloud
Stars: ✭ 138 (-40%)
Mutual labels:  terraform, terraform-provider
Checkov
Prevent cloud misconfigurations during build-time for Terraform, Cloudformation, Kubernetes, Serverless framework and other infrastructure-as-code-languages with Checkov by Bridgecrew.
Stars: ✭ 3,572 (+1453.04%)
Mutual labels:  hacktoberfest, terraform
Terraform Plugin Sdk
Terraform Plugin SDK enables building plugins (providers) to manage any service providers or custom in-house solutions
Stars: ✭ 201 (-12.61%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Ibm
Terraform on IBM provider https://cloud.ibm.com/docs/ibm-cloud-provider-for-terraform?topic=ibm-cloud-provider-for-terraform-getting-started
Stars: ✭ 210 (-8.7%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Azurerm
Terraform provider for Azure Resource Manager
Stars: ✭ 3,007 (+1207.39%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Cloudflare
Cloudflare Terraform Provider
Stars: ✭ 208 (-9.57%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Lxd
LXD Resource provider for Terraform
Stars: ✭ 164 (-28.7%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Stripe
A Terraform Provider for Stripe
Stars: ✭ 143 (-37.83%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Kubectl
Terraform provider to handle raw kubernetes manifest yaml files
Stars: ✭ 174 (-24.35%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Scaffolding
Quick start repository for creating a Terraform provider
Stars: ✭ 129 (-43.91%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Docker
As part of our introduction to self-service publishing in the Terraform Registry, this copy of the provider has been archived, and ownership has been transferred to active maintainers in the community. Please see the new location on the Terraform Registry: https://registry.terraform.io/providers/kreuzwerker/docker/latest
Stars: ✭ 131 (-43.04%)
Mutual labels:  terraform, terraform-provider
Tfsec
Security scanner for your Terraform code
Stars: ✭ 3,622 (+1474.78%)
Mutual labels:  hacktoberfest, terraform
Terraform Provider Mongodbatlas
Terraform provider for MongoDB Atlas
Stars: ✭ 126 (-45.22%)
Mutual labels:  terraform, terraform-provider
Terraform Provider Rancher2
Terraform Rancher2 provider
Stars: ✭ 129 (-43.91%)
Mutual labels:  terraform, terraform-provider

terraform-provider-keycloak

Terraform provider for Keycloak.

CircleCI

Docs

All documentation for this provider can now be found on the Terraform Registry: https://registry.terraform.io/providers/mrparkers/keycloak/latest/docs

The old documentation can still be found at https://mrparkers.github.io/terraform-provider-keycloak, but these docs will no longer be kept up to date.

Installation

v2.0.0 and above can be installed automatically using Terraform 0.13 by using the terraform configuration block:

terraform {
  required_providers {
    keycloak = {
      source = "mrparkers/keycloak"
      version = ">= 2.0.0"
    }
  }
}

If you are using v2.0.0 and above with Terraform 0.12, you can use this provider by downloading it and placing it within one of the implied local mirror directories. Or, follow the old instructions for installing third-party plugins.

If you are using any version below v2.0.0, you can also follow the old instructions for installing third-party plugins.

Upgrade from terraform 0.12 and keycloak provider 1.x

Please read https://www.terraform.io/upgrade-guides/0-13.html first. For a keycloak project follow the following steps in order:

  1. terraform -v should print 0.13 and list no keycloak provider
  2. terraform state replace-provider registry.terraform.io/-/keycloak mrparkers/keycloak
  3. find all provider keycloak {...} blocks in *.tf (also in all modules you are including) and delete the version line
  4. add the terraform { required_provides { keycloak = { ... block mentioned in "Installation" to terraform.tf (also in all module directories you are including). Be sure to also always add "source" or else the Terraform looks for "hashicorp/keycloak"!
  5. terraform 0.13upgrade
  6. terraform init

Supported Versions

This provider will officially support the latest three major versions of Keycloak, although older versions may still work.

The following versions are used when running acceptance tests in CI:

  • 12.0.4 (latest)
  • 11.0.3
  • 10.0.2

Releases

This provider uses GoReleaser to build and publish releases. Each release published to GitHub contains binary files for Linux, macOS (darwin), and Windows, as configured within the .goreleaser.yml file.

Each release also contains a terraform-provider-keycloak_${RELEASE_VERSION}_SHA256SUMS file, accompanied by a signature created by a PGP key with the fingerprint C508 6791 5E11 6CD2. This key can be found on my Keybase account at https://keybase.io/mrparkers.

You can find the list of releases here. You can find the changelog for each version here.

Note: Prior to 2.0.0, a statically linked build for use within Alpine linux was included with each release. This is no longer done due to GoReleaser not supporting CGO. Instead of using a statically linked, build you can use the linux_amd64 build as long as libc6-compat is installed.

Development

This project requires Go 1.15 and Terraform 0.13. This project uses Go Modules for dependency management, which allows this project to exist outside of an existing GOPATH.

After cloning the repository, you can build the project by running make build.

Local Environment

You can spin up a local developer environment via Docker Compose by running make local. This will spin up a few containers for Keycloak, PostgreSQL, and OpenLDAP, which can be used for testing the provider. This environment and its setup via make local is not intended for production use.

Note: The setup scripts require the jq command line utility.

Tests

Every resource supported by this provider will have a reasonable amount of acceptance test coverage.

You can run acceptance tests against a Keycloak instance by running make testacc. You will need to supply some environment variables in order to set up the provider during tests. Here is an example for running tests against a local environment that was created via make local:

KEYCLOAK_CLIENT_ID=terraform \
KEYCLOAK_CLIENT_SECRET=884e0f95-0f42-4a63-9b1f-94274655669e \
KEYCLOAK_CLIENT_TIMEOUT=5 \
KEYCLOAK_REALM=master \
KEYCLOAK_URL="http://localhost:8080" \
make testacc

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].