diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8b7090e8..7991e2eb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -47,6 +47,7 @@ jobs: set: - "el8" - "el9" + - "el10" - "debian-11" - "debian-12" - "ubuntu-2004" diff --git a/.sync.yml b/.sync.yml index ba914941..584df85c 100644 --- a/.sync.yml +++ b/.sync.yml @@ -7,6 +7,7 @@ Rakefile: set: - el8 - el9 + - el10 - debian-11 - debian-12 - ubuntu-2004 @@ -41,8 +42,6 @@ appveyor.yml: delete: true spec/acceptance/nodesets/el7.yml: delete: true -spec/acceptance/nodesets/el10.yml: - delete: true spec/acceptance/nodesets/debian-11.yml: packages: - iproute2 diff --git a/README.md b/README.md index 8b310e4c..bd13fe4d 100644 --- a/README.md +++ b/README.md @@ -642,6 +642,7 @@ This module has been tested on: * RedHat/Rocky/AlmaLinux 8 x86_64 * RedHat/Rocky/AlmaLinux 9 x86_64 +* RedHat/Rocky/AlmaLinux 10 x86_64 * Debian 11 x86_64 * Debian 12 x86_64 * Ubuntu 20.04 x86_64 diff --git a/metadata.json b/metadata.json index 47ad8cb5..0ec7a2d9 100644 --- a/metadata.json +++ b/metadata.json @@ -42,21 +42,24 @@ "operatingsystem": "RedHat", "operatingsystemrelease": [ "8", - "9" + "9", + "10" ] }, { "operatingsystem": "Rocky", "operatingsystemrelease": [ "8", - "9" + "9", + "10" ] }, { "operatingsystem": "AlmaLinux", "operatingsystemrelease": [ "8", - "9" + "9", + "10" ] }, { diff --git a/spec/acceptance/nodesets/el10.yml b/spec/acceptance/nodesets/el10.yml new file mode 100644 index 00000000..f6d794fb --- /dev/null +++ b/spec/acceptance/nodesets/el10.yml @@ -0,0 +1,26 @@ +HOSTS: + el10: + roles: + - agent + platform: el-9-x86_64 + hypervisor: docker + image: almalinux:10 + docker_preserve_image: true + docker_cmd: + - '/usr/sbin/init' + docker_image_commands: + - 'dnf install -y dnf-utils' + - 'dnf config-manager --set-enabled crb' + - 'dnf install -y wget which cronie iproute initscripts langpacks-en glibc-all-langpacks glibc-langpack-en cpio gnupg2' + docker_env: + - LANG=en_US.UTF-8 + - LANGUAGE=en_US.UTF-8 + - LC_ALL=en_US.UTF-8 + docker_container_name: 'keycloak-el10' +CONFIG: + log_level: debug + type: foss +ssh: + password: root + auth_methods: ["password"] + diff --git a/spec/spec_helper_acceptance_setup.rb b/spec/spec_helper_acceptance_setup.rb index 11d4d70e..750f55d7 100644 --- a/spec/spec_helper_acceptance_setup.rb +++ b/spec/spec_helper_acceptance_setup.rb @@ -25,7 +25,11 @@ else '/etc/puppetlabs/puppet' end - +default_db = if fact('os.family') == 'RedHat' && fact('os.release.major').to_i >= 10 + 'postgres' + else + 'mariadb' + end hiera_yaml = <<-HIERA_YAML --- version: 5 @@ -34,7 +38,7 @@ data_hash: yaml_data hierarchy: - name: 'os family major release' - path: "os/%{facts.os.name}/%{facts.os.release.major}.yaml" + path: "os/%{facts.os.family}/%{facts.os.release.major}.yaml" - name: "Common" path: "common.yaml" HIERA_YAML @@ -43,15 +47,24 @@ keycloak::version: '#{RSpec.configuration.keycloak_version}' keycloak::http_host: '0.0.0.0' keycloak::hostname: localhost -keycloak::db: mariadb +keycloak::db: #{default_db} keycloak::proxy: edge keycloak::features: - scripts # Force only listen on IPv4 for testing keycloak::java_opts: '-Djava.net.preferIPv4Stack=true' -postgresql::server::service_status: 'service postgresql status 2>/dev/null 1>/dev/null' COMMON_YAML +# Remove logic once merged and released: +# https://github.com/puppetlabs/puppetlabs-postgresql/pull/1650 +el10_yaml = <<-EL10_YAML +--- +postgresql::globals::version: '16' +postgresql::globals::manage_package_repo: true +EL10_YAML + create_remote_file(hosts, File.join(puppet_dir, 'hiera.yaml'), hiera_yaml) on hosts, "mkdir -p #{File.join(puppet_dir, 'data')}" create_remote_file(hosts, File.join(puppet_dir, 'data/common.yaml'), common_yaml) +on hosts, "mkdir -p #{File.join(puppet_dir, 'data/os/RedHat')}" +create_remote_file(hosts, File.join(puppet_dir, 'data/os/RedHat/10.yaml'), el10_yaml)