diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c2db7724..6db008340 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,6 +30,7 @@ jobs: - "ubuntu-1804" - "ubuntu-2004" - "ubuntu-2204" + - "ubuntu-2404" suite: - "client-install-57" - "client-install-80" @@ -68,6 +69,12 @@ jobs: suite: smoke57 - os: ubuntu-2204 suite: resources-57 + - os: ubuntu-2404 + suite: client-install-57 + - os: ubuntu-2404 + suite: smoke57 + - os: ubuntu-2404 + suite: resources-57 - os: rockylinux-8 suite: client-install-57 - os: rockylinux-8 diff --git a/CHANGELOG.md b/CHANGELOG.md index da8b67ca4..cb9e12559 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. ## Unreleased +- feat: add support for ubuntu 24.04 (noble numbat) + ## 11.1.8 - *2024-11-18* ## 11.1.7 - *2024-11-18* diff --git a/README.md b/README.md index e527d5c24..d05e505df 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ The following platforms have been tested with Test Kitchen: | ubuntu-18.04 | | X | | | ubuntu-20.04 | | | X | | ubuntu-22.04 | | | X | +| ubuntu-24.04 | | | X | ## Cookbook Dependencies diff --git a/libraries/helpers.rb b/libraries/helpers.rb index ad96fee62..17ecc8978 100644 --- a/libraries/helpers.rb +++ b/libraries/helpers.rb @@ -52,6 +52,11 @@ def jammy? false end + def noble? + return true if platform?('ubuntu') && node['platform_version'] == '24.04' + false + end + def defaults_file "#{etc_dir}/my.cnf" end @@ -85,6 +90,7 @@ def default_major_version return '5.7' if bionic? return '8.0' if focal? return '8.0' if jammy? + return '8.0' if noble? # misc return '5.6' if platform?('freebsd') diff --git a/templates/default/apparmor/ubuntu-24.04/usr.sbin.mysqld.erb b/templates/default/apparmor/ubuntu-24.04/usr.sbin.mysqld.erb new file mode 100644 index 000000000..2619e7d39 --- /dev/null +++ b/templates/default/apparmor/ubuntu-24.04/usr.sbin.mysqld.erb @@ -0,0 +1,68 @@ +# vim:syntax=apparmor +# Last Modified: Tue Feb 09 15:28:30 2016 +#include + +/usr/sbin/mysqld { + #include + #include + #include + #include + #include + +# Allow system resource access + /sys/devices/system/cpu/ r, + capability sys_resource, + capability dac_override, + capability setuid, + capability setgid, + +# Allow network access + network tcp, + + /etc/hosts.allow r, + /etc/hosts.deny r, + +# Allow config access + /etc/mysql/** r, + +# Allow pid, socket, socket lock file access + /var/run/mysqld/mysqld.pid rw, + /var/run/mysqld/mysqld.sock rw, + /var/run/mysqld/mysqld.sock.lock rw, + /run/mysqld/mysqld.pid rw, + /run/mysqld/mysqld.sock rw, + /run/mysqld/mysqld.sock.lock rw, + +# Allow execution of server binary + /usr/sbin/mysqld mr, + /usr/sbin/mysqld-debug mr, + +# Allow plugin access + /usr/lib/mysql/plugin/ r, + /usr/lib/mysql/plugin/*.so* mr, + +# Allow error msg and charset access + /usr/share/mysql/ r, + /usr/share/mysql/** r, + +# Allow data dir access + /var/lib/mysql/ r, + /var/lib/mysql/** rwk, + +# Allow data files dir access + /var/lib/mysql-files/ r, + /var/lib/mysql-files/** rwk, + +# Allow keyring dir access + /var/lib/mysql-keyring/ r, + /var/lib/mysql-keyring/** rwk, + +# Allow log file access + /var/log/mysql.err rw, + /var/log/mysql.log rw, + /var/log/mysql/ r, + /var/log/mysql/** rw, + + # Site-specific additions and overrides. See local/README for details. + #include +}