diff --git a/.sync.yml b/.sync.yml
index a84ab485..a310f279 100644
--- a/.sync.yml
+++ b/.sync.yml
@@ -1,7 +1,6 @@
---
Rakefile:
- changelog_since_tag: v6.26.0
- changelog_max_issues: 1
+ changelog_since_tag: v7.0.0
.github/workflows/ci.yaml:
unit_name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }} fixtures=${{ matrix.fixtures }})
unit_includes:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 54acac5c..40f12992 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,19 @@
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).
+## [v8.0.0](https://github.com/treydock/puppet-module-keycloak/tree/v8.0.0) (2022-06-24)
+
+[Full Changelog](https://github.com/treydock/puppet-module-keycloak/compare/v7.19.0...v8.0.0)
+
+### Changed
+
+- Major rewrite to support Keycloak 18+ using Quarkus \(see README for breaking changes\) [\#247](https://github.com/treydock/puppet-module-keycloak/pull/247) ([treydock](https://github.com/treydock))
+- BREAKING: Change how id is set for keycloak\_ldap\_user\_provider \(See README\) [\#76](https://github.com/treydock/puppet-module-keycloak/pull/76) ([treydock](https://github.com/treydock))
+
+### Fixed
+
+- Fix realm and other resources to handle names with spaces [\#249](https://github.com/treydock/puppet-module-keycloak/pull/249) ([treydock](https://github.com/treydock))
+
## [v7.19.0](https://github.com/treydock/puppet-module-keycloak/tree/v7.19.0) (2022-05-13)
[Full Changelog](https://github.com/treydock/puppet-module-keycloak/compare/v7.18.0...v7.19.0)
@@ -247,20 +260,6 @@ All notable changes to this project will be documented in this file. The format
- FreeIPA/LDAP provider related regression fixes [\#189](https://github.com/treydock/puppet-module-keycloak/pull/189) ([mattock](https://github.com/mattock))
-## [v7.0.0](https://github.com/treydock/puppet-module-keycloak/tree/v7.0.0) (2021-03-10)
-
-[Full Changelog](https://github.com/treydock/puppet-module-keycloak/compare/v6.26.0...v7.0.0)
-
-### Changed
-
-- Change default Keycloak version to 12.0.4 [\#188](https://github.com/treydock/puppet-module-keycloak/pull/188) ([treydock](https://github.com/treydock))
-- Drop Puppet 5, support Puppet 7 [\#184](https://github.com/treydock/puppet-module-keycloak/pull/184) ([treydock](https://github.com/treydock))
-
-### Added
-
-- Split config.cli templates into smaller files, use epp templates [\#187](https://github.com/treydock/puppet-module-keycloak/pull/187) ([treydock](https://github.com/treydock))
-- Support Ubuntu 20.04, bump dependency requirements [\#186](https://github.com/treydock/puppet-module-keycloak/pull/186) ([treydock](https://github.com/treydock))
-
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
diff --git a/Gemfile b/Gemfile
index c9844383..b394f397 100644
--- a/Gemfile
+++ b/Gemfile
@@ -29,6 +29,7 @@ group :development do
gem "puppet-module-win-default-r#{minor_version}", '~> 1.0', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "puppet-module-win-dev-r#{minor_version}", '~> 1.0', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "puppet-lint-param-docs", require: false
+ gem "faraday", '~> 1.0', require: false
gem "github_changelog_generator", require: false
end
group :system_tests do
diff --git a/REFERENCE.md b/REFERENCE.md
index d6b5bba1..659ce08d 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -10,16 +10,15 @@
* [`keycloak`](#keycloak): Manage Keycloak
* [`keycloak::config`](#keycloakconfig): Private class.
-* [`keycloak::datasource::h2`](#keycloakdatasourceh2): Private class.
* [`keycloak::install`](#keycloakinstall): Private class.
* [`keycloak::service`](#keycloakservice): Private class.
* [`keycloak::sssd`](#keycloaksssd): Private class.
#### Private Classes
-* `keycloak::datasource::mysql`: Manage MySQL datasource
-* `keycloak::datasource::oracle`: Manage Oracle datasource
-* `keycloak::datasource::postgresql`: Manage postgresql datasource
+* `keycloak::db::mariadb`: Manage MySQL DB
+* `keycloak::db::mysql`: Manage MySQL DB
+* `keycloak::db::postgres`: Manage postgres DB
* `keycloak::resources`: Define Keycloak resources
### Defined types
@@ -50,6 +49,10 @@
* [`keycloak_role_mapping`](#keycloak_role_mapping): Attach realm roles to users and groups
* [`keycloak_sssd_user_provider`](#keycloak_sssd_user_provider): Manage Keycloak SSSD user providers
+### Data types
+
+* [`Keycloak::Configs`](#keycloakconfigs): https://www.keycloak.org/server/all-config
+
## Classes
### `keycloak`
@@ -72,16 +75,24 @@ The following parameters are available in the `keycloak` class:
* [`version`](#version)
* [`package_url`](#package_url)
* [`install_dir`](#install_dir)
+* [`java_declare_method`](#java_declare_method)
+* [`java_package`](#java_package)
+* [`java_home`](#java_home)
+* [`java_alternative_path`](#java_alternative_path)
+* [`java_alternative`](#java_alternative)
* [`service_name`](#service_name)
* [`service_ensure`](#service_ensure)
* [`service_enable`](#service_enable)
-* [`service_hasstatus`](#service_hasstatus)
-* [`service_hasrestart`](#service_hasrestart)
-* [`service_bind_address`](#service_bind_address)
-* [`management_bind_address`](#management_bind_address)
* [`java_opts`](#java_opts)
-* [`java_opts_append`](#java_opts_append)
+* [`start_command`](#start_command)
* [`service_extra_opts`](#service_extra_opts)
+* [`service_environment_file`](#service_environment_file)
+* [`configs`](#configs)
+* [`hostname`](#hostname)
+* [`http_enabled`](#http_enabled)
+* [`http_host`](#http_host)
+* [`http_port`](#http_port)
+* [`https_port`](#https_port)
* [`manage_user`](#manage_user)
* [`user`](#user)
* [`user_shell`](#user_shell)
@@ -91,31 +102,22 @@ The following parameters are available in the `keycloak` class:
* [`system_user`](#system_user)
* [`admin_user`](#admin_user)
* [`admin_user_password`](#admin_user_password)
-* [`wildfly_user`](#wildfly_user)
-* [`wildfly_user_password`](#wildfly_user_password)
-* [`manage_datasource`](#manage_datasource)
-* [`datasource_driver`](#datasource_driver)
-* [`datasource_host`](#datasource_host)
-* [`datasource_port`](#datasource_port)
-* [`datasource_url`](#datasource_url)
-* [`datasource_dbname`](#datasource_dbname)
-* [`datasource_username`](#datasource_username)
-* [`datasource_password`](#datasource_password)
-* [`datasource_package`](#datasource_package)
-* [`datasource_jar_source`](#datasource_jar_source)
-* [`datasource_jar_filename`](#datasource_jar_filename)
-* [`datasource_module_source`](#datasource_module_source)
-* [`datasource_xa_class`](#datasource_xa_class)
-* [`mysql_database_charset`](#mysql_database_charset)
-* [`proxy_https`](#proxy_https)
+* [`manage_db`](#manage_db)
+* [`manage_db_server`](#manage_db_server)
+* [`db`](#db)
+* [`db_url_host`](#db_url_host)
+* [`db_url_port`](#db_url_port)
+* [`db_url`](#db_url)
+* [`db_url_database`](#db_url_database)
+* [`db_username`](#db_username)
+* [`db_password`](#db_password)
+* [`db_charset`](#db_charset)
+* [`features`](#features)
+* [`features_disabled`](#features_disabled)
* [`truststore`](#truststore)
* [`truststore_hosts`](#truststore_hosts)
* [`truststore_password`](#truststore_password)
-* [`truststore_hostname_verification_policy`](#truststore_hostname_verification_policy)
-* [`http_port`](#http_port)
-* [`theme_static_max_age`](#theme_static_max_age)
-* [`theme_cache_themes`](#theme_cache_themes)
-* [`theme_cache_templates`](#theme_cache_templates)
+* [`proxy`](#proxy)
* [`realms`](#realms)
* [`realms_merge`](#realms_merge)
* [`oidc_client_scopes`](#oidc_client_scopes)
@@ -150,30 +152,11 @@ The following parameters are available in the `keycloak` class:
* [`manage_sssd_config`](#manage_sssd_config)
* [`sssd_ifp_user_attributes`](#sssd_ifp_user_attributes)
* [`restart_sssd`](#restart_sssd)
-* [`service_environment_file`](#service_environment_file)
-* [`operating_mode`](#operating_mode)
-* [`enable_jdbc_ping`](#enable_jdbc_ping)
-* [`jboss_bind_public_address`](#jboss_bind_public_address)
-* [`jboss_bind_private_address`](#jboss_bind_private_address)
-* [`role`](#role)
-* [`user_cache`](#user_cache)
-* [`tech_preview_features`](#tech_preview_features)
-* [`auto_deploy_exploded`](#auto_deploy_exploded)
-* [`auto_deploy_zipped`](#auto_deploy_zipped)
* [`spi_deployments`](#spi_deployments)
+* [`providers_purge`](#providers_purge)
* [`custom_config_content`](#custom_config_content)
* [`custom_config_source`](#custom_config_source)
-* [`master_address`](#master_address)
-* [`server_name`](#server_name)
-* [`syslog`](#syslog)
-* [`syslog_app_name`](#syslog_app_name)
-* [`syslog_facility`](#syslog_facility)
-* [`syslog_hostname`](#syslog_hostname)
-* [`syslog_level`](#syslog_level)
-* [`syslog_port`](#syslog_port)
-* [`syslog_server_address`](#syslog_server_address)
-* [`syslog_format`](#syslog_format)
-* [`auth_url_path`](#auth_url_path)
+* [`validator_test_url`](#validator_test_url)
##### `manage_install`
@@ -192,7 +175,7 @@ Data type: `String`
Version of Keycloak to install and manage.
-Default value: `'12.0.4'`
+Default value: `'18.0.0'`
##### `package_url`
@@ -212,6 +195,49 @@ Default is `/opt/keycloak-${version}`.
Default value: ``undef``
+##### `java_declare_method`
+
+Data type: `Enum['include','class']`
+
+How to declare the Java class within this module
+The `include` value only includes the java class
+The `class` method defines the Java class and passes necessary parameters
+For RedHat base systems this defaults to `class`, other OSes default to `include`
+
+Default value: `'class'`
+
+##### `java_package`
+
+Data type: `String[1]`
+
+Java package name, only used when `java_declare_method` is `class`
+
+Default value: `'java-11-openjdk-devel'`
+
+##### `java_home`
+
+Data type: `Stdlib::Absolutepath`
+
+Java home path, only used when `java_declare_method` is `class`
+
+Default value: `'/usr/lib/jvm/java-11-openjdk'`
+
+##### `java_alternative_path`
+
+Data type: `Stdlib::Absolutepath`
+
+Java alternative path, only used when `java_declare_method` is `class`
+
+Default value: `'/usr/lib/jvm/java-11-openjdk/bin/java'`
+
+##### `java_alternative`
+
+Data type: `String[1]`
+
+Java alternative, only used when `java_declare_method` is `class`
+
+Default value: `'/usr/lib/jvm/java-11-openjdk/bin/java'`
+
##### `service_name`
Data type: `String`
@@ -239,65 +265,85 @@ Default is `true`.
Default value: ``true``
-##### `service_hasstatus`
+##### `java_opts`
-Data type: `Boolean`
+Data type: `Optional[Variant[String, Array]]`
-Keycloak service hasstatus parameter.
-Default is `true`.
+Sets additional options to Java virtual machine environment variable.
-Default value: ``true``
+Default value: ``undef``
-##### `service_hasrestart`
+##### `start_command`
-Data type: `Boolean`
+Data type: `Enum['start','start-dev']`
-Keycloak service hasrestart parameter.
-Default is `true`.
+The start command to use to run Keycloak
-Default value: ``true``
+Default value: `'start'`
-##### `service_bind_address`
+##### `service_extra_opts`
-Data type: `Stdlib::IP::Address`
+Data type: `Optional[String]`
-Bind address for Keycloak service.
-Default is '0.0.0.0'.
+Additional options added to the end of the service command-line.
-Default value: `'0.0.0.0'`
+Default value: ``undef``
-##### `management_bind_address`
+##### `service_environment_file`
-Data type: `Stdlib::IP::Address`
+Data type: `Optional[Stdlib::Absolutepath]`
-Bind address for Keycloak management.
-Default is '0.0.0.0'.
+Path to the file with environment variables for the systemd service
-Default value: `'0.0.0.0'`
+Default value: ``undef``
-##### `java_opts`
+##### `configs`
-Data type: `Optional[Variant[String, Array]]`
+Data type: `Keycloak::Configs`
-Sets additional options to Java virtual machine environment variable.
+Define additional configs for keycloak.conf
-Default value: ``undef``
+Default value: `{}`
+
+##### `hostname`
+
+Data type: `Stdlib::Host`
+
+hostname to set in keycloak.conf
-##### `java_opts_append`
+Default value: `$facts['networking']['fqdn']`
+
+##### `http_enabled`
Data type: `Boolean`
-Determine if $JAVA_OPTS should be appended to when setting `java_opts` parameter
+Whether to enable HTTP
Default value: ``true``
-##### `service_extra_opts`
+##### `http_host`
-Data type: `Optional[String]`
+Data type: `Stdlib::IP::Address`
-Additional options added to the end of the service command-line.
+HTTP host
-Default value: ``undef``
+Default value: `'0.0.0.0'`
+
+##### `http_port`
+
+Data type: `Stdlib::Port`
+
+HTTP port
+
+Default value: `8080`
+
+##### `https_port`
+
+Data type: `Stdlib::Port`
+
+HTTPS port
+
+Default value: `8443`
##### `manage_user`
@@ -378,158 +424,102 @@ Default is `changeme`.
Default value: `'changeme'`
-##### `wildfly_user`
-
-Data type: `Optional[String]`
+##### `manage_db`
-Wildfly user. Required for domain mode.
-
-Default value: ``undef``
-
-##### `wildfly_user_password`
-
-Data type: `Optional[String]`
+Data type: `Boolean`
-Wildfly user password. Required for domain mode.
+Boolean that determines if configured database will be managed.
-Default value: ``undef``
+Default value: ``true``
-##### `manage_datasource`
+##### `manage_db_server`
Data type: `Boolean`
-Boolean that determines if configured datasource will be managed.
-Default is `true`.
+Include the DB server class for postgres, mariadb or mysql
Default value: ``true``
-##### `datasource_driver`
+##### `db`
-Data type: `Enum['h2', 'mysql', 'oracle', 'postgresql']`
+Data type: `Enum['dev-file', 'dev-mem', 'mariadb', 'mysql', 'oracle', 'postgres']`
-Datasource driver to use for Keycloak.
-Valid values are `h2`, `mysql`, 'oracle' and 'postgresql'
-Default is `h2`.
+Database driver to use for Keycloak.
-Default value: `'h2'`
+Default value: `'dev-file'`
-##### `datasource_host`
+##### `db_url_host`
-Data type: `Optional[String]`
+Data type: `Optional[Stdlib::Host]`
-Datasource host.
-Only used when datasource_driver is `mysql`, 'oracle' or 'postgresql'
-Default is `localhost` for MySQL.
+Database host.
Default value: ``undef``
-##### `datasource_port`
+##### `db_url_port`
-Data type: `Optional[Integer]`
+Data type: `Optional[Stdlib::Port]`
-Datasource port.
-Only used when datasource_driver is `mysql`, 'oracle' or 'postgresql'
-Default is `3306` for MySQL.
+Database port.
Default value: ``undef``
-##### `datasource_url`
+##### `db_url`
-Data type: `Optional[String]`
+Data type: `Optional[String[1]]`
-Datasource url.
-Default datasource URLs are defined in init class.
+Database url.
Default value: ``undef``
-##### `datasource_dbname`
+##### `db_url_database`
-Data type: `String`
+Data type: `String[1]`
-Datasource database name.
-Default is `keycloak`.
+Database name.
Default value: `'keycloak'`
-##### `datasource_username`
-
-Data type: `String`
-
-Datasource user name.
-Default is `sa`.
-
-Default value: `'sa'`
+##### `db_username`
-##### `datasource_password`
-
-Data type: `String`
-
-Datasource user password.
-Default is `sa`.
-
-Default value: `'sa'`
-
-##### `datasource_package`
-
-Data type: `Optional[String]`
+Data type: `String[1]`
-Package to add specified datasource support
+Database user name.
-Default value: ``undef``
+Default value: `'keycloak'`
-##### `datasource_jar_source`
+##### `db_password`
-Data type: `Optional[String]`
+Data type: `String[1]`
-Source for datasource JDBC driver - could be puppet link or local file on the node.
-Default is dependent on value for `datasource_driver`.
-This parameter is required if `datasource_driver` is `oracle`.
+Database user password.
-Default value: ``undef``
+Default value: `'changeme'`
-##### `datasource_jar_filename`
+##### `db_charset`
-Data type: `Optional[String]`
+Data type: `String`
-Specify the filename of the destination datasource jar in the module dir of keycloak.
-This parameter is only working at the moment if `datasource_driver` is `oracle`.
+MySQL and MariaDB database charset
-Default value: ``undef``
+Default value: `'utf8'`
-##### `datasource_module_source`
+##### `features`
-Data type: `Optional[String]`
+Data type: `Optional[Array[String[1]]]`
-Source for datasource module.xml. Default depends on `datasource_driver`.
+Keycloak features to enable
Default value: ``undef``
-##### `datasource_xa_class`
+##### `features_disabled`
-Data type: `Optional[String]`
+Data type: `Optional[Array[String[1]]]`
-MySQL Connector/J JDBC driver xa-datasource class name
+Keycloak features to disable
Default value: ``undef``
-##### `mysql_database_charset`
-
-Data type: `String`
-
-MySQL database charset
-
-Default value: `'utf8'`
-
-##### `proxy_https`
-
-Data type: `Boolean`
-
-Boolean that sets if HTTPS proxy should be enabled.
-Set to `true` if proxying traffic through Apache.
-Default is `false`.
-
-Default value: ``false``
-
##### `truststore`
Data type: `Boolean`
@@ -557,50 +547,13 @@ Default is `keycloak`.
Default value: `'keycloak'`
-##### `truststore_hostname_verification_policy`
-
-Data type: `Enum['WILDCARD', 'STRICT', 'ANY']`
-
-Valid values are `WILDCARD`, `STRICT`, and `ANY`.
-Default is `WILDCARD`.
-
-Default value: `'WILDCARD'`
+##### `proxy`
-##### `http_port`
-
-Data type: `Integer`
-
-HTTP port used by Keycloak.
-Default is `8080`.
-
-Default value: `8080`
-
-##### `theme_static_max_age`
-
-Data type: `Integer`
+Data type: `Enum['edge','reencrypt','passthrough','none']`
-Max cache age in seconds of static content.
-Default is `2592000`.
+Type of proxy to use for Keycloak
-Default value: `2592000`
-
-##### `theme_cache_themes`
-
-Data type: `Boolean`
-
-Boolean that sets if themes should be cached.
-Default is `true`.
-
-Default value: ``true``
-
-##### `theme_cache_templates`
-
-Data type: `Boolean`
-
-Boolean that sets if templates should be cached.
-Default is `true`.
-
-Default value: ``true``
+Default value: `'none'`
##### `realms`
@@ -877,103 +830,27 @@ Boolean that determines if SSSD should be restarted
Default value: ``true``
-##### `service_environment_file`
-
-Data type: `Optional[Stdlib::Absolutepath]`
-
-Path to the file with environment variables for the systemd service
-
-Default value: ``undef``
-
-##### `operating_mode`
-
-Data type: `Enum['standalone', 'clustered', 'domain']`
-
-Keycloak operating mode deployment
-
-Default value: `'standalone'`
-
-##### `enable_jdbc_ping`
-
-Data type: `Boolean`
-
-Use JDBC_PING to discover the nodes and manage the replication of data
- More info: http://jgroups.org/manual/#_jdbc_ping
-Only applies when `operating_mode` is either `clustered` or `domain`
-JDBC_PING uses port 7600 to ensure cluster members are discoverable by each other
-This module does not manage firewall changes
-
-Default value: ``false``
-
-##### `jboss_bind_public_address`
-
-Data type: `Stdlib::IP::Address`
-
-JBoss bind public IP address
-
-Default value: `$facts['networking']['ip']`
-
-##### `jboss_bind_private_address`
-
-Data type: `Stdlib::IP::Address`
-
-JBoss bind private IP address
-
-Default value: `$facts['networking']['ip']`
-
-##### `role`
-
-Data type: `Optional[Enum['master', 'slave']]`
-
-Role when operating mode is domain.
-
-Default value: ``undef``
-
-##### `user_cache`
-
-Data type: `Boolean`
-
-Boolean that determines if userCache is enabled
-
-Default value: ``true``
-
-##### `tech_preview_features`
-
-Data type: `Array`
-
-List of technology Preview features to enable
-
-Default value: `[]`
-
-##### `auto_deploy_exploded`
+##### `spi_deployments`
-Data type: `Boolean`
+Data type: `Hash`
-Set if exploded deployements will be auto deployed
+Hash used to define keycloak::spi_deployment resources
-Default value: ``false``
+Default value: `{}`
-##### `auto_deploy_zipped`
+##### `providers_purge`
Data type: `Boolean`
-Set if zipped deployments will be auto deployed
+Purge the providers directory of unmanaged SPIs
Default value: ``true``
-##### `spi_deployments`
-
-Data type: `Hash`
-
-Hash used to define keycloak::spi_deployment resources
-
-Default value: `{}`
-
##### `custom_config_content`
Data type: `Optional[String]`
-Custom configuration content to be added to config.cli
+Custom configuration content to be added to keycloak.conf
Default value: ``undef``
@@ -981,106 +858,23 @@ Default value: ``undef``
Data type: `Optional[Variant[String, Array]]`
-Custom configuration source file to be added to config.cli
+Custom configuration source file to be added to keycloak.conf
Default value: ``undef``
-##### `master_address`
-
-Data type: `Optional[Stdlib::Host]`
-
-IP address of the master in domain mode
-
-Default value: ``undef``
-
-##### `server_name`
+##### `validator_test_url`
Data type: `String`
-Server name in domain mode. Defaults to hostname.
-
-Default value: `$facts['hostname']`
-
-##### `syslog`
-
-Data type: `Boolean`
-
-Enable syslog. Default false.
-
-Default value: ``false``
-
-##### `syslog_app_name`
-
-Data type: `String`
-
-Syslog app name. Default 'keycloak'.
-
-Default value: `'keycloak'`
-
-##### `syslog_facility`
-
-Data type: `String`
-
-Syslog facility. Default 'user-level'. See https://docs.jboss.org/author/display/AS72/Logging%20Configuration.html
-
-Default value: `'user-level'`
-
-##### `syslog_hostname`
-
-Data type: `Stdlib::Host`
-
-Syslog hostname of the server. Default $facts['fqdn'].
-
-Default value: `$facts['fqdn']`
-
-##### `syslog_level`
-
-Data type: `String`
-
-Syslog level. Default 'INFO'. See https://docs.jboss.org/author/display/AS72/Logging%20Configuration.html
-
-Default value: `'INFO'`
-
-##### `syslog_port`
-
-Data type: `Stdlib::Port`
+The URL path for validator testing
+Only necessary to set if the URL path to Keycloak is modified
-The port the syslog server is listening on. Default '514'.
-
-Default value: `514`
-
-##### `syslog_server_address`
-
-Data type: `Stdlib::Host`
-
-The address of the syslog server. Default 'localhost'.
-
-Default value: `'localhost'`
-
-##### `syslog_format`
-
-Data type: `Enum['RFC3164', 'RFC5424']`
-
-Syslog format. Either 'RFC3164' or 'RFC5424' Default 'RFC3164'.
-
-Default value: `'RFC3164'`
-
-##### `auth_url_path`
-
-Data type: `String`
-
-The URL path for /auth
-
-Default value: `'/auth'`
+Default value: `'/realms/master/.well-known/openid-configuration'`
### `keycloak::config`
Private class.
-### `keycloak::datasource::h2`
-
-Private class.
-
### `keycloak::install`
Private class.
@@ -1210,12 +1004,11 @@ Roles DN
##### `parent_id`
-Data type: `Optional[String]`
+Data type: `String`
-Identifier (parentId) for the LDAP provider to add this mapper to.
-Will be passed to the $ldap parameter in keycloak_ldap_mapper.
+Used to identify the parent LDAP user provider, name used with keycloak::freeipa_user_provider
-Default value: ``undef``
+Default value: `$title`
### `keycloak::freeipa_user_provider`
@@ -1484,7 +1277,7 @@ Type that configures API connection parameters for other keycloak types that use
```puppet
keycloak_api { 'keycloak'
install_dir => '/opt/keycloak',
- server => 'http://localhost:8080/auth',
+ server => 'http://localhost:8080',
realm => 'master',
user => 'admin',
password => 'changeme',
@@ -1531,7 +1324,7 @@ Default value: `master`
Auth URL for Keycloak server
-Default value: `http://localhost:8080/auth`
+Default value: `http://localhost:8080`
##### `use_wrapper`
@@ -2799,6 +2592,7 @@ The following parameters are available in the `keycloak_ldap_mapper` type.
* [`id`](#id)
* [`ldap`](#ldap)
* [`name`](#name)
+* [`parent_id`](#parent_id)
* [`provider`](#provider)
* [`realm`](#realm)
* [`resource_name`](#resource_name)
@@ -2810,7 +2604,7 @@ Id.
##### `ldap`
-parentId
+Name of parent `keycloak_ldap_user_provider` resource
##### `name`
@@ -2818,6 +2612,10 @@ namevar
The LDAP mapper name
+##### `parent_id`
+
+parentId
+
##### `provider`
The specific backend to use for this `keycloak_ldap_mapper` resource. You will seldom need to specify this --- Puppet
@@ -3021,7 +2819,7 @@ The following parameters are available in the `keycloak_ldap_user_provider` type
##### `id`
-Id. Defaults to "`resource_name`-`realm`"
+Id
##### `name`
@@ -3904,3 +3702,67 @@ parentId
The SSSD user provider name. Defaults to `name`.
+## Data types
+
+### `Keycloak::Configs`
+
+https://www.keycloak.org/server/all-config
+
+Alias of
+
+```puppet
+Struct[{
+ Optional['cache'] => Enum['local', 'ispn'],
+ Optional['cache-config-file'] => Stdlib::Absolutepath,
+ Optional['cache-stack'] => Enum['tcp','udp','kubernetes','ec2','azure','google'],
+ Optional['db'] => Enum['dev-file','dev-mem','mariadb','mysql','oracle','postgres'],
+ Optional['db-password'] => String[1],
+ Optional['db-pool-initial-size'] => Integer,
+ Optional['db-pool-max-size'] => Integer,
+ Optional['db-pool-min-size'] => Integer,
+ Optional['db-schema'] => String[1],
+ Optional['db-url'] => String[1],
+ Optional['db-url-database'] => String[1],
+ Optional['db-url-host'] => Stdlib::Host,
+ Optional['db-url-port'] => Stdlib::Port,
+ Optional['db-url-properties'] => String[1],
+ Optional['db-username'] => String[1],
+ Optional['transaction-xa-enabled'] => Boolean,
+ Optional['features'] => Array[String[1]],
+ Optional['features-disabled'] => Array[String[1]],
+ Optional['hostname'] => Stdlib::Host,
+ Optional['hostname-path'] => String[1],
+ Optional['hostname-port'] => Stdlib::Port,
+ Optional['hostname-strict'] => Boolean,
+ Optional['hostname-strict-backchannel'] => Boolean,
+ Optional['hostname-strict-https'] => Boolean,
+ Optional['http-enabled'] => Boolean,
+ Optional['http-host'] => Stdlib::Host,
+ Optional['http-port'] => Stdlib::Port,
+ Optional['http-relative-path'] => String[1],
+ Optional['https-certificate-file'] => Stdlib::Absolutepath,
+ Optional['https-certificate-key-file'] => Stdlib::Absolutepath,
+ Optional['https-cipher-suites'] => Array[String[1]],
+ Optional['https-client-auth'] => Enum['none','request','required'],
+ Optional['https-key-store-file'] => Stdlib::Absolutepath,
+ Optional['https-key-store-password'] => String[1],
+ Optional['https-key-store-type'] => String[1],
+ Optional['https-port'] => Stdlib::Port,
+ Optional['https-protocols'] => Array[String[1]],
+ Optional['https-trust-store-file'] => Stdlib::Absolutepath,
+ Optional['https-trust-store-password'] => String[1],
+ Optional['https-trust-store-type'] => String[1],
+ Optional['health-enabled'] => Boolean,
+ Optional['metrics-enabled'] => Boolean,
+ Optional['proxy'] => Enum['edge','reencrypt','passthrough','none'],
+ Optional['vault'] => Enum['vault','vault-dir'],
+ Optional['log'] => Array[Enum['console','file']],
+ Optional['log-console-color'] => Boolean,
+ Optional['log-console-format'] => String[1],
+ Optional['log-console-output'] => Enum['default','json'],
+ Optional['log-file'] => Stdlib::Absolutepath,
+ Optional['log-file-format'] => String[1],
+ Optional['log-level'] => String[1],
+ }]
+```
+
diff --git a/Rakefile b/Rakefile
index 0cedc45c..e11a41d0 100644
--- a/Rakefile
+++ b/Rakefile
@@ -47,8 +47,7 @@ if Bundler.rubygems.find_name('github_changelog_generator').any?
raise "Set CHANGELOG_GITHUB_TOKEN environment variable eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'" if Rake.application.top_level_tasks.include? "changelog" and ENV['CHANGELOG_GITHUB_TOKEN'].nil?
config.user = "#{changelog_user}"
config.project = "#{changelog_project}"
- config.since_tag = "v6.26.0"
- config.max_issues = 1
+ config.since_tag = "v7.0.0"
config.future_release = "#{changelog_future_release}"
config.exclude_labels = ['maintenance']
config.header = "# Change log\n\nAll notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org)."
diff --git a/metadata.json b/metadata.json
index c4914292..5d4e004e 100644
--- a/metadata.json
+++ b/metadata.json
@@ -1,6 +1,6 @@
{
"name": "treydock-keycloak",
- "version": "7.19.0",
+ "version": "8.0.0",
"author": "treydock",
"summary": "Keycloak Puppet module",
"license": "Apache-2.0",
@@ -80,5 +80,5 @@
],
"pdk-version": "2.1.0",
"template-url": "https://github.com/treydock/pdk-templates.git#master",
- "template-ref": "heads/master-0-g3ff6177"
+ "template-ref": "heads/master-0-gc7a5ca2"
}