Skip to content

Commit

Permalink
updates for v2.0.0 release
Browse files Browse the repository at this point in the history
mrparkers committed Sep 20, 2020
1 parent f16f846 commit 8e2b6ab
Showing 3 changed files with 89 additions and 19 deletions.
62 changes: 51 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,43 @@
## 2.0.0 (September 20, 2020)

BREAKING CHANGES:

- migrate to v2 of the terraform-plugin-sdk, which [drops support for Terraform 0.11 and below](https://www.terraform.io/docs/extend/guides/v2-upgrade-guide.html#dropped-support-for-terraform-0-11-and-below) ([#369](https://github.com/mrparkers/terraform-provider-keycloak/pull/369))

DEPRECATIONS:

- the `cache_policy` attribute within the `keycloak_ldap_user_federation` resource has been deprecated in favor of a new `cache` attribute ([#376](https://github.com/mrparkers/terraform-provider-keycloak/pull/376))
- the `federated_identities` computed attribute within the `keycloak_user` data source has been deprecated in favor of a new `federated_identity` computed attribute ([1b6284c](https://github.com/mrparkers/terraform-provider-keycloak/commit/1b6284c70dbdb67f42fafe16abeb681541d06cbf))
- the `session_note_label` attribute within the `keycloak_openid_user_session_note_protocol_mapper` resource has been deprecated in favor of a new `session_note` attribute ([#365](https://github.com/mrparkers/terraform-provider-keycloak/pull/365))

FEATURES:

- this provider can now be installed automatically with Terraform 0.13 via the Terraform registry: https://registry.terraform.io/providers/mrparkers/keycloak/latest
- new data source: `keycloak_user` ([#360](https://github.com/mrparkers/terraform-provider-keycloak/pull/360))
- new data source: `keycloak_authentication_execution` ([#360](https://github.com/mrparkers/terraform-provider-keycloak/pull/360))

IMPROVEMENTS:

- add remember me timeout attributes to `keycloak_realm` resource ([#374](https://github.com/mrparkers/terraform-provider-keycloak/pull/374))
- add `offline_session_max_lifespan_enabled` attribute to `keycloak_realm` resource ([#377](https://github.com/mrparkers/terraform-provider-keycloak/pull/377))
- add `web_authn_policy` and `web_authn_passwordless_policy` attributes to `keycloak_realm` resource ([#356](https://github.com/mrparkers/terraform-provider-keycloak/pull/356))

BUG FIXES:

- fix `keycloak_group` data source to support more than one returned group ([#351](https://github.com/mrparkers/terraform-provider-keycloak/pull/351))
- fix import syntax for `keycloak_openid_client_*_policy` resources ([#367](https://github.com/mrparkers/terraform-provider-keycloak/pull/367))
- fix `parent_id` attribute not being set when importing `keycloak_group` resource ([#372](https://github.com/mrparkers/terraform-provider-keycloak/pull/372))
- automatically register an unregistered required action when using the `keycloak_required_action` resource ([#385](https://github.com/mrparkers/terraform-provider-keycloak/pull/385))
- fix `keycloak_openid_user_session_note_protocol_mapper` resource API call to correctly set the session note ([#365](https://github.com/mrparkers/terraform-provider-keycloak/pull/365))
- add missing attributes for `keycloak_group` data source ([#369](https://github.com/mrparkers/terraform-provider-keycloak/pull/369))
- add missing attributes for `keycloak_openid_client_service_account_user` data source ([#369](https://github.com/mrparkers/terraform-provider-keycloak/pull/369))
- add missing attributes for `keycloak_realm` data source ([#369](https://github.com/mrparkers/terraform-provider-keycloak/pull/369))
- fix `config` attribute for `keycloak_custom_user_federation` resource ([#369](https://github.com/mrparkers/terraform-provider-keycloak/pull/369))
- fix `kerberos` attribute for `keycloak_ldap_user_federation` resource ([#369](https://github.com/mrparkers/terraform-provider-keycloak/pull/369))
- add missing `disable_user_info` attribute for `keycloak_oidc_identity_provider` resource ([#369](https://github.com/mrparkers/terraform-provider-keycloak/pull/369))
- fix empty `path` sub-attribute under `groups` attribute within `keycloak_openid_client_authorization_group_policy` resource ([#369](https://github.com/mrparkers/terraform-provider-keycloak/pull/369))
- fix `role` attribute for `keycloak_openid_client_authorization_role_policy` resource ([#369](https://github.com/mrparkers/terraform-provider-keycloak/pull/369))

## 1.20.0 (July 20, 2020)

FEATURES:
@@ -8,13 +48,13 @@ FEATURES:

IMPROVEMENTS:

- adds `default_signature_algorithm` attribute for `keycloak_realm` resource ([#282](https://github.com/mrparkers/terraform-provider-keycloak/pull/282))
- adds `parent_id` attribute to `keycloak_custom_user_federation` resource ([#325](https://github.com/mrparkers/terraform-provider-keycloak/pull/325))
- adds `extra_config` attribute to identity provider mapper resources ([#316](https://github.com/mrparkers/terraform-provider-keycloak/pull/316))
- adds `include_in_token_scope` and `gui_order` attributes to `keycloak_openid_client_scope` resource ([#320](https://github.com/mrparkers/terraform-provider-keycloak/pull/320))
- adds `base_path` provider attribute, improve login error messages ([#332](https://github.com/mrparkers/terraform-provider-keycloak/pull/332))
- adds encryption attributes to `keycloak_saml_client` resource ([#342](https://github.com/mrparkers/terraform-provider-keycloak/pull/342))
- adds `signature_algorithm` attribute to `keycloak_saml_client` resource ([#345](https://github.com/mrparkers/terraform-provider-keycloak/pull/345))
- add `default_signature_algorithm` attribute for `keycloak_realm` resource ([#282](https://github.com/mrparkers/terraform-provider-keycloak/pull/282))
- add `parent_id` attribute to `keycloak_custom_user_federation` resource ([#325](https://github.com/mrparkers/terraform-provider-keycloak/pull/325))
- add `extra_config` attribute to identity provider mapper resources ([#316](https://github.com/mrparkers/terraform-provider-keycloak/pull/316))
- add `include_in_token_scope` and `gui_order` attributes to `keycloak_openid_client_scope` resource ([#320](https://github.com/mrparkers/terraform-provider-keycloak/pull/320))
- add `base_path` provider attribute, improve login error messages ([#332](https://github.com/mrparkers/terraform-provider-keycloak/pull/332))
- add encryption attributes to `keycloak_saml_client` resource ([#342](https://github.com/mrparkers/terraform-provider-keycloak/pull/342))
- add `signature_algorithm` attribute to `keycloak_saml_client` resource ([#345](https://github.com/mrparkers/terraform-provider-keycloak/pull/345))

BUG FIXES:

@@ -106,9 +146,9 @@ IMPROVEMENTS:

* add base_url attribute to `keycloak_openid_client` resource ([#201](https://github.com/mrparkers/terraform-provider-keycloak/pull/201))
* allow configuration of the client timeout by an environment variable ([#206](https://github.com/mrparkers/terraform-provider-keycloak/pull/206))
* adds consent_required attribute to `keycloak_openid_client` resource ([#207](https://github.com/mrparkers/terraform-provider-keycloak/pull/207))
* adds admin_url attribute to `keycloak_openid_client` resource ([#203](https://github.com/mrparkers/terraform-provider-keycloak/pull/203))
* adds display_name_html attribute to `keycloak_realm` resource and data source ([#209](https://github.com/mrparkers/terraform-provider-keycloak/pull/209))
* add consent_required attribute to `keycloak_openid_client` resource ([#207](https://github.com/mrparkers/terraform-provider-keycloak/pull/207))
* add admin_url attribute to `keycloak_openid_client` resource ([#203](https://github.com/mrparkers/terraform-provider-keycloak/pull/203))
* add display_name_html attribute to `keycloak_realm` resource and data source ([#209](https://github.com/mrparkers/terraform-provider-keycloak/pull/209))
* switch to terraform-plugin-sdk ([#214](https://github.com/mrparkers/terraform-provider-keycloak/pull/214))

BUG FIXES:
@@ -272,7 +312,7 @@ FEATURES:

FEATURES:

* adds support for non-master realms and resource owner password grant for Keycloak authentication ([#88](https://github.com/mrparkers/terraform-provider-keycloak/pull/88))
* add support for non-master realms and resource owner password grant for Keycloak authentication ([#88](https://github.com/mrparkers/terraform-provider-keycloak/pull/88))

IMPROVEMENTS:

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2018 Michael Parker
Copyright (c) 2018-2020 Michael Parker

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
44 changes: 37 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -5,31 +5,61 @@ Terraform provider for [Keycloak](https://www.keycloak.org/).

## Docs

All documentation for setting up the provider, along with the data sources and resources can be found at https://mrparkers.github.io/terraform-provider-keycloak/.
All documentation for this provider can now be found on the Terraform Registry: https://registry.terraform.io/providers/mrparkers/keycloak/latest/docs

Make sure you follow the Terraform documentation for setting up a third party provider: https://www.terraform.io/docs/configuration/providers.html#third-party-plugins
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:

```hcl
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](https://www.terraform.io/docs/commands/cli-config.html#implied-local-mirror-directories).
Or, follow the [old instructions for installing third-party plugins](https://www.terraform.io/docs/configuration-0-11/providers.html#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](https://www.terraform.io/docs/configuration-0-11/providers.html#third-party-plugins).

## 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:

- 10.0.2 (latest)
- 11.0.1 (latest)
- 10.0.2
- 9.0.3
- 8.0.2

## Releases

Each release published to GitHub contains binary files for Linux, macOS (darwin), and Windows. There is also a statically
linked build that is built with `CGO_ENABLED=0`, which can be used in Alpine Linux.
This provider uses [GoReleaser](https://goreleaser.com/) 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`](https://github.com/mrparkers/terraform-provider-keycloak/blob/master/.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](https://github.com/mrparkers/terraform-provider-keycloak/releases).
You can find the changelog for each version [here](https://github.com/mrparkers/terraform-provider-keycloak/blob/master/CHANGELOG.md).

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](https://goreleaser.com/limitations/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.13 and Terraform 0.12.
This project requires Go 1.13 and Terraform 0.13.
This project uses [Go Modules](https://github.com/golang/go/wiki/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`.

0 comments on commit 8e2b6ab

Please sign in to comment.