Giter Site home page Giter Site logo

cti-nts / terraform-provider-keycloak Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mrparkers/terraform-provider-keycloak

0.0 0.0 0.0 2.31 MB

Terraform provider for Keycloak with support for Keycloak Gsis Providers

Home Page: https://registry.terraform.io/providers/mrparkers/keycloak/latest/docs

License: MIT License

Shell 0.14% Go 97.08% Kotlin 0.33% Makefile 0.06% HCL 2.37% Dockerfile 0.01%

terraform-provider-keycloak's Introduction

terraform-provider-keycloak

Terraform provider for Keycloak.

Docs

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

Installation

This provider can be installed automatically using Terraform >=0.13 by using the terraform configuration block:

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

If you are using 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 provider version below v2.0.0, you can also follow the old instructions for installing third-party plugins.

A note for users of the legacy Wildfly distribution

Recently, Keycloak has been updated to use Quarkus over the legacy Wildfly distribution. The only significant change here that affects this Terraform provider is the removal of /auth from the default context path for the Keycloak API.

If you are using the legacy Wildfly distribution of Keycloak, you will need to set the base_path provider argument to /auth. This can also be done by using the KEYCLOAK_BASE_PATH environment variable.

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:

  • 21.0.1 (latest)
  • 20.0.5
  • 19.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 v2.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.19 and Terraform 1.4.1. 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

terraform-provider-keycloak's People

Contributors

mrparkers avatar tomrutsaert avatar ktogias avatar andrewchubatiuk avatar bernhardberbuir avatar jermarchand avatar lathspell avatar matrixcrawler avatar hcl31415 avatar dmeyerholt avatar madddi avatar alexashley avatar vlad-kirichenko avatar filirom1 avatar elmarx avatar useurmind avatar dlechevalier avatar waldemarschmalz avatar wadahiro avatar jgrgt avatar kherock avatar ctrox avatar sl-benoitoyez avatar pths avatar oysteinhauan avatar maximepiton avatar daviddelannoy avatar chanhht avatar arminfelder avatar javefang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.