diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 860cf935..e18c699f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -66,6 +66,7 @@ jobs: - "puppet8" keycloak_version: - "22.0.0" + - "24.0.3" keycloak_full: - "no" include: @@ -77,6 +78,14 @@ jobs: puppet: "puppet8" keycloak_version: "22.0.0" keycloak_full: "yes" + - set: "el8" + puppet: "puppet7" + keycloak_version: "24.0.3" + keycloak_full: "yes" + - set: "el8" + puppet: "puppet8" + keycloak_version: "24.0.3" + keycloak_full: "yes" env: BUNDLE_WITHOUT: development:release BEAKER_debug: true diff --git a/.sync.yml b/.sync.yml index d919c452..433d3eec 100644 --- a/.sync.yml +++ b/.sync.yml @@ -26,15 +26,24 @@ Rakefile: - puppet8 keycloak_version: - '22.0.0' + - '24.0.3' keycloak_full: ['no'] acceptance_includes: - set: el8 puppet: puppet7 - keycloak_version: 22.0.0 + keycloak_version: '22.0.0' keycloak_full: 'yes' - set: el8 puppet: puppet8 - keycloak_version: 22.0.0 + keycloak_version: '22.0.0' + keycloak_full: 'yes' + - set: el8 + puppet: puppet7 + keycloak_version: '24.0.3' + keycloak_full: 'yes' + - set: el8 + puppet: puppet8 + keycloak_version: '24.0.3' keycloak_full: 'yes' .gitignore: paths: @@ -52,11 +61,11 @@ appveyor.yml: delete: true spec/acceptance/nodesets/el7.yml: delete: true -spec/acceptance/nodesets/debian-10.yml: - delete: true spec/acceptance/nodesets/debian-11.yml: packages: - iproute2 +spec/acceptance/nodesets/debian-12.yml: + delete: true spec/acceptance/nodesets/ubuntu-2004.yml: packages: - iproute2 diff --git a/Gemfile b/Gemfile index 60f20008..300688d3 100644 --- a/Gemfile +++ b/Gemfile @@ -29,8 +29,8 @@ group :system_tests do gem "beaker-pe", require: false gem "beaker-hostgenerator" gem "beaker-rspec" - gem "beaker-docker" - gem "beaker-puppet" + gem "beaker-docker", git: 'https://github.com/treydock/beaker-docker.git', branch: 'amazon-2023' + gem "beaker-puppet", git: 'https://github.com/puppetlabs/beaker-puppet.git', ref: '6063d22b6c4449df795731f5853c3c75241240c4' gem "beaker-puppet_install_helper", require: false gem "beaker-module_install_helper", require: false end diff --git a/README.md b/README.md index 5cde2bb7..9a971a23 100644 --- a/README.md +++ b/README.md @@ -175,7 +175,7 @@ This module may work on earlier versions but this is the only version tested. | 18.x | 8.x | | 19.x - 21.x | 9.x | | 21.x | 10.x | -| 22.x | 11.x | +| 22.x - 24.x | 11.x | ## Usage diff --git a/metadata.json b/metadata.json index a1764c70..bfa02dfe 100644 --- a/metadata.json +++ b/metadata.json @@ -81,5 +81,5 @@ ], "pdk-version": "2.7.1", "template-url": "https://github.com/treydock/pdk-templates.git#master", - "template-ref": "heads/master-0-g76f4dbb" + "template-ref": "heads/master-0-g5a59870" } diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index d0d3a82b..09cf9fad 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -9,7 +9,8 @@ Dir["#{dir}/acceptance/shared_examples/**/*.rb"].sort.each { |f| require f } require 'spec_helper_acceptance_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_acceptance_local.rb')) -run_puppet_install_helper +run_puppet_install_helper unless ENV['BEAKER_set'] == 'debian-12' +on hosts, 'apt install -y puppet-agent' if ENV['BEAKER_set'] == 'debian-12' install_module_on(hosts) install_module_dependencies_on(hosts) diff --git a/types/configs.pp b/types/configs.pp index 48abf35f..eb1462e2 100644 --- a/types/configs.pp +++ b/types/configs.pp @@ -3,6 +3,15 @@ { Optional['cache'] => Enum['local', 'ispn'], Optional['cache-config-file'] => String[1], + Optional['cache-embedded-mtls-enabled'] => Boolean, + Optional['cache-embedded-mtls-key-store-file'] => String[1], + Optional['cache-embedded-mtls-key-store-password'] => Variant[String[1], Sensitive], + Optional['cache-embedded-mtls-trust-store-file'] => String[1], + Optional['cache-embedded-mtls-trust-store-password'] => Variant[String[1], Sensitive], + Optional['cache-remote-host'] => Variant[Stdlib::Host, Stdlib::IP::Address], + Optional['cache-remote-password'] => Variant[String[1], Sensitive], + Optional['cache-remote-port'] => Stdlib::Port, + Optional['cache-remote-username'] => String[1], 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], @@ -22,6 +31,7 @@ Optional['hostname'] => Stdlib::Host, Optional['hostname-admin'] => Stdlib::Host, Optional['hostname-admin-url'] => String[1], + Optional['hostname-debug'] => Boolean, Optional['hostname-path'] => String[1], Optional['hostname-port'] => Stdlib::Port, Optional['hostname-strict'] => Boolean, @@ -30,6 +40,8 @@ Optional['hostname-url'] => String[1], Optional['http-enabled'] => Boolean, Optional['http-host'] => Stdlib::Host, + Optional['http-max-queued-requests'] => Integer, + Optional['http-pool-max-threads'] => Integer, Optional['http-port'] => Stdlib::Port, Optional['http-relative-path'] => String[1], Optional['https-certificate-file'] => Stdlib::Absolutepath, @@ -37,23 +49,30 @@ 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-password'] => Variant[String[1], Sensitive], 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-password'] => Variant[String[1], Sensitive], Optional['https-trust-store-type'] => String[1], Optional['health-enabled'] => Boolean, + Optional['config-keystore'] => String[1], + Optional['config-keystore-password'] => Variant[String[1], Sensitive], + Optional['config-keystore-type'] => Enum['PKCS12'], Optional['metrics-enabled'] => Boolean, Optional['proxy'] => Enum['edge','reencrypt','passthrough','none'], - Optional['vault'] => Enum['file','hashicorp'], + Optional['proxy-headers'] => Enum['forwarded', 'xforwarded'], + Optional['vault'] => Enum['file','keystore'], Optional['vault-dir'] => Stdlib::Absolutepath, + Optional['vault-file'] => Stdlib::Absolutepath, + Optional['vault-pass'] => Variant[String[1], Sensitive], + Optional['vault-type'] => Enum['PKCS12'], Optional['log'] => Array[Enum['console','file','gelf']], 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'] => String[1], Optional['log-file-format'] => String[1], Optional['log-file-output'] => Enum['default','json'], Optional['log-gelf-facility'] => String[1], @@ -66,5 +85,14 @@ Optional['log-gelf-port'] => Stdlib::Port, Optional['log-gelf-timestamp-format'] => String[1], Optional['log-level'] => String[1], + Optional['tls-hostname-verifier'] => Enum['ANY','WILDCARD','STRICT'], + Optional['truststore-paths'] => Array[String[1]], + Optional['fips-mode'] => Enum['non-strict','strict'], + Optional['dir'] => Stdlib::Absolutepath, + Optional['realm'] => String[1], + Optional['users'] => Enum['skip','realm_file','same_file','different_files'], + Optional['users-per-file'] => Integer, + Optional['file'] => Stdlib::Absolutepath, + Optional['override'] => Boolean, } ]