From b2063dcf30f1473fe36642234ed4c726924fd9f4 Mon Sep 17 00:00:00 2001 From: Trey Dockendorf Date: Thu, 23 Jun 2022 13:19:59 -0400 Subject: [PATCH] Release v8.0.0 --- .sync.yml | 3 +- CHANGELOG.md | 27 +-- Gemfile | 1 + REFERENCE.md | 660 ++++++++++++++++++++------------------------------ Rakefile | 3 +- metadata.json | 4 +- 6 files changed, 279 insertions(+), 419 deletions(-) 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" }