From 18b35512e8af2f0e07abfe7d5195e903f776bfe9 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 10 Mar 2026 07:32:38 +0100 Subject: [PATCH 1/6] Refactor build structure and add noble. --- README.md | 25 +- bootstrap.sh | 13 - build_all.sh | 17 -- build_image | 78 +++++ build_one.sh | 14 - {packagingbuild => common}/busybee | 0 {packagingbuild => common}/busybee.pub | 0 common/cmdtool | 367 +++++++++++++++++++++++ {packagingtest/focal => common}/setup.sh | 0 packagingbuild/focal/busybee | 27 -- packagingbuild/focal/busybee.pub | 1 - packagingbuild/jammy/busybee | 27 -- packagingbuild/jammy/busybee.pub | 1 - packagingbuild/noble/Dockerfile | 25 ++ packagingbuild/rockylinux8/Dockerfile | 2 + packagingbuild/rockylinux8/busybee | 27 -- packagingbuild/rockylinux8/busybee.pub | 1 - packagingbuild/rockylinux9/Dockerfile | 41 ++- packagingbuild/rockylinux9/busybee | 27 -- packagingbuild/rockylinux9/busybee.pub | 1 - packagingrunner/Dockerfile | 21 ++ packagingrunner/Dockerfile.template | 12 - packagingrunner/Gemfile | 1 + packagingrunner/docker-entrypoint.sh | 24 +- packagingrunner/suite.yml | 2 - packagingtest/busybee | 27 -- packagingtest/busybee.pub | 1 - packagingtest/focal/busybee | 27 -- packagingtest/focal/busybee.pub | 1 - packagingtest/jammy/busybee | 27 -- packagingtest/jammy/busybee.pub | 1 - packagingtest/jammy/setup.sh | 19 -- packagingtest/noble/Dockerfile | 27 ++ packagingtest/rockylinux8/busybee | 27 -- packagingtest/rockylinux8/busybee.pub | 1 - packagingtest/rockylinux9/busybee | 27 -- packagingtest/rockylinux9/busybee.pub | 1 - 37 files changed, 571 insertions(+), 369 deletions(-) delete mode 100644 bootstrap.sh delete mode 100755 build_all.sh create mode 100755 build_image delete mode 100755 build_one.sh rename {packagingbuild => common}/busybee (100%) rename {packagingbuild => common}/busybee.pub (100%) create mode 100644 common/cmdtool rename {packagingtest/focal => common}/setup.sh (100%) delete mode 100644 packagingbuild/focal/busybee delete mode 100644 packagingbuild/focal/busybee.pub delete mode 100644 packagingbuild/jammy/busybee delete mode 100644 packagingbuild/jammy/busybee.pub create mode 100644 packagingbuild/noble/Dockerfile delete mode 100644 packagingbuild/rockylinux8/busybee delete mode 100644 packagingbuild/rockylinux8/busybee.pub delete mode 100644 packagingbuild/rockylinux9/busybee delete mode 100644 packagingbuild/rockylinux9/busybee.pub create mode 100644 packagingrunner/Dockerfile delete mode 100644 packagingrunner/Dockerfile.template delete mode 100644 packagingrunner/suite.yml delete mode 100644 packagingtest/busybee delete mode 100644 packagingtest/busybee.pub delete mode 100644 packagingtest/focal/busybee delete mode 100644 packagingtest/focal/busybee.pub delete mode 100644 packagingtest/jammy/busybee delete mode 100644 packagingtest/jammy/busybee.pub delete mode 100644 packagingtest/jammy/setup.sh create mode 100644 packagingtest/noble/Dockerfile delete mode 100644 packagingtest/rockylinux8/busybee delete mode 100644 packagingtest/rockylinux8/busybee.pub delete mode 100644 packagingtest/rockylinux9/busybee delete mode 100644 packagingtest/rockylinux9/busybee.pub diff --git a/README.md b/README.md index b6a513d..cef4821 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,26 @@ See [packagingtest/](packagingtest/) # How To Build Theses Containers (developer) -If you're a developer looking to modify / test / build these containers simply, change into -the container's directory and do the following: +If you're a developer looking to modify / test / build these containers a convenience script `build_image` can +be used to setup docker and build the docker images. + ``` shell -cd st2packaging-dockerfiles/packagingbuild/focal -docker build -t stackstorm/packagingbuild:focal . +# ./build_image +Usage ./build_image + + bootstrap - Configure the system with the Docker repository and + install Docker CE and Docker Compose packages. + build [distro] - Build the Docker images for the given distro codename. + Builds all distros when no codename provided. + +# ./build_image build focal +``` + +Or by invoking docker directly -cd st2packaging-dockerfiles/packagingtest/focal -docker build -t stackstorm/packagingtest:focal . +``` +export TGT=noble +cd st2packaging-dockerfiles/packagingtest +docker build -f $TGT/Dockefile -t stackstorm/packagingtest:$TGT . ``` diff --git a/bootstrap.sh b/bootstrap.sh deleted file mode 100644 index 21a6b0c..0000000 --- a/bootstrap.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -apt-get update --quiet --quiet -apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - -apt-key fingerprint 0EBFCD88 -add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) \ - stable" -apt-get update --quiet --quiet -apt-get install --quiet --yes docker-ce docker-ce-cli docker-compose jq -usermod -a -G docker vagrant diff --git a/build_all.sh b/build_all.sh deleted file mode 100755 index 3b77159..0000000 --- a/build_all.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -set -eux - -date_suffix=$(date +%Y-%m-%d) - -for pb in $(find packagingbuild -name Dockerfile); do - path=$(dirname $pb) - flavor=$(basename $path) - (cd $path; docker build -t "stackstorm/packagingbuild:${flavor}" -t "stackstorm/packagingbuild:${flavor}-${date_suffix}" .) || exit -1 -done - -for pt in $(find packagingtest -name Dockerfile); do - path=$(dirname $pt) - flavor=$(basename $path) - (cd $path; docker build -t "stackstorm/packagingtest:${flavor}-systemd" -t "stackstorm/packagingtest:${flavor}-systemd-${date_suffix}" .) || exit -1 -done diff --git a/build_image b/build_image new file mode 100755 index 0000000..1744fb9 --- /dev/null +++ b/build_image @@ -0,0 +1,78 @@ +#!/bin/bash + +set -e +x -o pipefail + +function bootstrap_docker() +{ + usdo apt-get update --quiet --quiet + sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common jq + + export CODENAME=$(source /etc/os-release && echo "$VERSION_CODENAME") + export DISTRO=$(source /etc/os-release && echo "$ID") + export ARCH=$(dpkg --print-architecture) + # get gpg key for download.docker + curl -fsSL https://download.docker.com/linux/${DISTRO}/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/download.docker.gpg + sudo tee <<<"deb [arch=${ARCH}] https://download.docker.com/linux/${DISTRO} ${CODENAME} stable" /etc/apt/sources.list.d/download.docker.list + sudo apt update --quiet --quiet + sudo apt install docker-ce docker-ce-cli docker-compose-plugin + sudo usermod -a -G docker vagrant +} + +function build() +{ + local CODENAME="$1" + + date_suffix=$(date +%Y-%m-%d) + + echo "Building packagingbuild image..." + (docker build --progress plain -f "packagingbuild/${CODENAME}/Dockerfile" -t "stackstorm/packagingbuild:${CODENAME}" -t "stackstorm/packagingbuild:${CODENAME}-${date_suffix}" .) || exit -1 + + echo "Building packagingtest image..." + (docker build --progress plain -f "packagingtest/${CODENAME}/Dockerfile" -t "stackstorm/packagingtest:${CODENAME}" -t "stackstorm/packagingtest:${CODENAME}-${date_suffix}" .) || exit -1 +} + +function build_target() +{ + local CODENAME="$1" + for DOCKERFILE in packagingbuild/$CODENAME/Dockerfile + do + TARGET_PATH=$(dirname $DOCKERFILE) + TARGET=$(basename $TARGET_PATH) + build $TARGET + done +} + +function usage() +{ + cat < + + bootstrap - Configure the system with the Docker repository and + install Docker CE and Docker Compose packages. + build [distro] - Build the Docker images for the given distro codename. + Builds all distros when no codename provided. + +EOF +} + +if [[ $# -eq 0 ]]; then + usage + exit 1 +fi + +case "$1" in + "bootstrap") + bootstrap_docker + ;; + "build") + if [[ -n "$2" ]]; then + build_target "$2" + else + build_target '*' + fi + ;; + *) + usage + exit 1 + ;; +esac diff --git a/build_one.sh b/build_one.sh deleted file mode 100755 index b73e2c1..0000000 --- a/build_one.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -flavor="$1" - -if [[ -z "$flavor" ]]; then - flavors="$(find packagingbuild -name Dockerfile -print0 | xargs -0 dirname | xargs basename | paste -sd '|' -)" - echo "Usage: $0 [$flavors]" - exit 1 -fi - -date_suffix=$(date +%Y-%m-%d) - -(cd "packagingbuild/${flavor}"; docker build -t "stackstorm/packagingbuild:${flavor}" -t "stackstorm/packagingbuild:${flavor}-${date_suffix}" .) || exit -1 -(cd "packagingtest/${flavor}"; docker build -t "stackstorm/packagingtest:${flavor}-systemd" -t "stackstorm/packagingtest:${flavor}-systemd-${date_suffix}" .) || exit -1 diff --git a/packagingbuild/busybee b/common/busybee similarity index 100% rename from packagingbuild/busybee rename to common/busybee diff --git a/packagingbuild/busybee.pub b/common/busybee.pub similarity index 100% rename from packagingbuild/busybee.pub rename to common/busybee.pub diff --git a/common/cmdtool b/common/cmdtool new file mode 100644 index 0000000..7a67aa9 --- /dev/null +++ b/common/cmdtool @@ -0,0 +1,367 @@ +#!/bin/bash + +set -e +x -o pipefail + +# Set the TGT to identify the OS and version. +TGT=$(source /etc/os-release; echo "${ID}-${VERSION_ID}") + +distro_unsupported() +{ + echo "Unsupported distro $TGT" >&2 + exit 1 +} + +# Detect unsupported distribution early. +if [[ ! "$TGT" =~ rocky|ubuntu ]]; then + distro_unsupported +fi + + +configure_base() +{ + case "$TGT" in + rocky*) + # RedHat specific tools. + yum install -y yum-utils + dnf config-manager --enable powertools + yum install -y epel-release + PKGS=( + ImageMagick + ImageMagick-devel + libyaml-devel + glibc-langpack-en + ) + yum -y install ${PKGS[@]} + dnf config-manager --disable powertools + yum remove -y epel-release yum-utils + ;; + ubuntu*) + # Make noninteractive setting permanent + export DEBIAN_FRONTEND=noninteractive + echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections -v + apt update + ;; + *) + distro_unsupported + ;; + esac +} + + +configure_sshkeys() +{ + # Create busybee credentials and make busybee pkey available for root + mkdir -p /root/.ssh + chmod 700 /root/.ssh + # This command depends on the dockerfile copying the ssh key pair + # to /tmp before executing this script. + mv /tmp/busybee* /root/.ssh + cat /root/.ssh/busybee.pub >>/root/.ssh/authorized_keys + chmod 600 /root/.ssh/busybee + + case "$TGT" in + rocky*) + ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key + ;; + ubuntu*) + # noop - nothing to do. + true + ;; + *) + distro_unsupported + ;; + esac + + # 1. permit root logins and set simple password password and pubkey + # 2. change requiretty to !requiretty in /etc/sudoers + sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config + sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config + sed -ri 's/requiretty/!requiretty/' /etc/sudoers + echo 'root:docker.io' | chpasswd + # Enable (deprecated) RSA + echo 'HostKeyAlgorithms +ssh-rsa' >>/etc/ssh/sshd_config + echo 'PubkeyAcceptedKeyTypes +ssh-rsa' >>/etc/ssh/sshd_config + + mkdir /var/run/sshd +} + +install_locale() +{ + # install locales package and set default locale to + # 'UTF-8' for the test execution environment. + apt-get -y install locales + locale-gen en_US.UTF-8 + dpkg-reconfigure locales + update-locale LANG=en_US.UTF-8 +} + +install_download_tools() +{ + case "$TGT" in + rocky*) + PKGS=( + ca-certificates + curl + wget + nc + iproute2 + net-tools + ) + dnf -y install ${PKGS[@]} + ;; + ubuntu*) + PKGS=( + ca-certificates + apt-transport-https + gdebi-core + sshpass + cron + curl + wget + netcat-traditional + net-tools + iproute2 + netbase + ) + apt -y install ${PKGS[@]} + apt clean + ;; + *) + distro_unsupported + ;; + esac +} + +configure_testing_system() +{ + # Not sure why this is required. + find /etc/systemd/system \ + /lib/systemd/system \ + -path '*.wants/*' \ + -not -name '*journald*' \ + -not -name '*systemd-tmpfiles*' \ + -not -name '*systemd-user-sessions*' \ + -exec rm \{} \; + + systemctl set-default multi-user.target + + # The base Ubuntu 18.04 image contains a file that excludes all documentation + # from being installed by packages. Specifically /usr/share/doc/* + # This exclusion prevents our nginx config from being installed in the 'st2' package: + # /usr/share/doc/st2/conf/nginx/st2.conf + # This step removes the exclusion configuration so documentation of all future packages + # will be installed. + rm -rf /etc/dpkg/dpkg.cfg.d/excludes +} + +install_system_tools() +{ + case "$TGT" in + rocky*) + PKGS=( + git + openssh-server + sudo + ) + dnf -y install ${PKGS[@]} + ;; + ubuntu*) + PKGS=( + git + openssh-server + sudo + ) + apt -y install ${PKGS[@]} + ;; + *) + distro_unsupported + ;; + esac + + configure_sshkeys +} + + +install_build_dependencies() +{ + case "$TGT" in + rocky*) + PKGS=( + autoconf + automake + bzip2 + bzip2-devel + file + gcc + gcc-c++ + glib2-devel + glibc-devel + libcurl-devel + libevent-devel + libffi-devel + libjpeg-devel + libtool + libwebp-devel + libxml2-devel + libxslt-devel + make + mysql-devel + ncurses-devel + openssl-devel + patch + postgresql-devel + readline-devel + sqlite-devel + xz + xz-devel + zlib-devel + ) + dnf -y install ${PKGS[@]} + ;; + ubuntu*) + PKGS=( + build-essential + python3-venv + python3-setuptools + python3-mock + python3-sphinx + dh-exec + dh-python + libjs-jquery + libjs-underscore + python3-sphinx-rtd-theme + ) + apt -y install ${PKGS[@]} + apt clean + + # Use upstream dh-virtualenv master branch that includes StackStorm's + # 'python' shebang fix since 8 Dec 2020. We reset the repository to + # use the known good commit sha id 9bd6d3fac3ea9b53e12bfedeef53f0a73c57b2cd + git clone --branch master https://github.com/spotify/dh-virtualenv.git /tmp/dh-virtualenv + cd /tmp/dh-virtualenv + git reset --hard 9bd6d3fac3ea9b53e12bfedeef53f0a73c57b2cd + dpkg-buildpackage -b -uc -us && dpkg -i ../dh-virtualenv_*.deb + rm -rf /tmp/dh-virtualenv* + # apt -y install dh-systemd && apt clean + ;; + *) + distro_unsupported + ;; + esac +} + + +install_st2_build_dependencies() +{ + case "$TGT" in + rocky*) + PKGS=( + openldap-devel + ) + dnf -y install ${PKGS[@]} + ;; + ubuntu*) + PKGS=( + devscripts + debhelper + dh-make + libldap2-dev + libsasl2-dev + ) + apt -y install ${PKGS[@]} + apt clean + ;; + *) + distro_unsupported + ;; + esac +} + + +install_python() +{ + case "$TGT" in + rocky*) + PKGS=( + python38 + python38-devel + rpmdevtools + python3-virtualenv + ) + dnf -y install ${PKGS[@]} + # Install development tools and python3.8 for EL8 + PYPKGS=( + "virtualenv==20.30.0" + "pip==25.0.1" + wheel + setuptools + "requests[security]" + venvctrl + ) + pip3.8 install --upgrade ${PYPKGS[@]} + rm -rf /root/.cache + ;; + ubuntu*) + # install python development + PKGS=( + python3-dev + python3 + python3-pip + ) + apt -y install ${PKGS[@]} + apt clean + # Install fresh pip and co (pinning wheel and setuptools<60 is + # require for dh-virtualenv build to avoid pypa/setuptools#2956) + PYPKGS=( + "virtualenv==20.30.0" + "pip==25.0.1" + "wheel==0.45.1" + "setuptools==59.8.0" + cryptography + "requests[security]" + ) + # Violate system package manager and force our requirements ... Leroy Jenkins! + apt install --only-upgrade python3-pip + pip3 install --ignore-installed --break-system-packages --upgrade ${PYPKGS[@]} + rm -rf /root/.cache + ;; + *) + distro_unsupported + ;; + esac +} + + +execute_operation() +{ + test -n "$1" && test -n "$2" && test "$1" = "$2" +} +run() +{ + # Permitted operation calls to be run from docker build. + OPS=( + configure_base + install_download_tools + install_system_tools + install_python + install_build_dependencies + install_st2_build_dependencies + install_locale + configure_testing_system + ) + OP="$1" + EXEC=0 + for ALLOWED_OP in ${OPS[@]} + do + if execute_operation "$OP" "$ALLOWED_OP"; then + "$1" + EXEC=1 + fi + done + if [[ $EXEC -eq 0 ]]; then + echo "Operation $1 failed to be executed!" + exit 1 + fi +} + +run "$1" diff --git a/packagingtest/focal/setup.sh b/common/setup.sh similarity index 100% rename from packagingtest/focal/setup.sh rename to common/setup.sh diff --git a/packagingbuild/focal/busybee b/packagingbuild/focal/busybee deleted file mode 100644 index 4e24e96..0000000 --- a/packagingbuild/focal/busybee +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnQppj47DgVkV3PjynYA0a7HIjY6duc02nMs/BnZJZ9pmtOOm -6zmFwKYYaf/OQyoB7QDQQbd3JePh56Q25gH8qtqmU+4VswGzMbatEo/sshclHa3l -6HuIBCssaVeqPKf0f18xHGsL6l/7xXORCBZr03WpsWbPQ0JjhOQGTM1AdfCnq5K2 -9P2q1HGfIjIvTYPWtfGr6MPu6FBWejrm+yEs/3ZCEaI2ijv9qWiWeKfr+2S5+x6v -E1HgZIAJcfO9qIfCfJYp4SKte8yuseDBi/Korq6doZ33tHLgscHLGBsvuA3yudfh -Nr5LOhaawiHxeYSHc9unrj5+u/2KTNBdG+Z1xQIDAQABAoIBAAHd3NFbBhHkiDD/ -OIsMuhLJozOjjVZnDQ4iEFa4UzkLzIq75gEHxwI6NzITW1VLC4jQqKkPUDhAFDBX -sFtdjK5POQjoXJOrIoElxbrhwROA2O0YYxI3Xa+G/9kktJ5R9MMK05+d2h9oEqsP -K5soARIbZO/5497NzDcJKtYA3pJITEE4eTGTnrMfgZhDew6ENghnj8FgpedA5+JU -ygBohAAoSnmGXTTTsT14M43SFAdneEef7mEVlrz8LcexEWS9v5C7CelbuAg7fijh -wtsA5c3QaFNZT2q4PY4oObg6/BVtTDbgY+qtIHyvLBoCAbj/qtN9jySVm2gvZdJA -qXmfkyUCgYEAzevYy3cNdUmCvhaBwkVr5+Ha1XPiTReJhsw7p0B/4ixR1MuFH4UX -AetN0zDf57wMhs/IR0zqfWXKpcCplAPIRe2TQaG/P4mBYf2DX0ndDCqFkzmqABW5 -4NJz+YPFdi67zFk7F14I+VEfWGLvQOg3TY756o997l5+j/DBQBISyhMCgYEAwzth -Dfs0zR+7tMG5MY0ZZUKkGDOuRik9ZnD63g/nJ8TqYYD9oU8eY4kM8+jt26r4WEXj -DmIu69f1OFs9UXhWObCpT05MTB0r84YN8Um5VKRL1ENEOqZkx+AIhNwSlOxw1H39 -ePuHQjKwrMmjKyS6Dx7sC/F74kLxAlyOtcGDO8cCgYAXyqwdtf+kEX49oDQV0heJ -jxrNlroK1jFZlbc+t8EOzLgXsfwLjEEAQ8OWJwt3ps57tP4a3tQo8N3dEMmHBHjb -O3vMFXgXSzfbroLDO7GCelc8j2kI4Xm8dBRaO9NQuE2SaqzdIkw/IhRRDf0+rpXV -LDPL2hBeviQ5VUO+t1fcaQKBgQDAAjtO69wfTXFnsgt4f2QVofgPUWy51j9r6/ve -wFdAVruJD7rilhS2IgkaLeEZZUoATyOjds7c5zVmqt1grfBnpqatt7z0MtCSHirC -PxbF9xwY89s7r4B4z46xVFv2GaBSbGMJRJ/fbEk0ds9CVEmlK21Nxb9oZRvxjaRR -f7OY6wKBgBTRJqmLyv1oeyrqG9lI7nNmx86O0MHmPg2gEUvTePsvsHpXRJYEWHEX -pYIreL+HWpC8Z7dax6dRmplhJijvsC9czTXlZMDJddGkFZ7ubS7wP6fC9kuMzt2Y -IJNywmAdKiPJTaCUdizW8sjv6QJviaSPnILG8p6tVJWrqVDsW0A2 ------END RSA PRIVATE KEY----- diff --git a/packagingbuild/focal/busybee.pub b/packagingbuild/focal/busybee.pub deleted file mode 100644 index cdadca7..0000000 --- a/packagingbuild/focal/busybee.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone diff --git a/packagingbuild/jammy/busybee b/packagingbuild/jammy/busybee deleted file mode 100644 index 4e24e96..0000000 --- a/packagingbuild/jammy/busybee +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnQppj47DgVkV3PjynYA0a7HIjY6duc02nMs/BnZJZ9pmtOOm -6zmFwKYYaf/OQyoB7QDQQbd3JePh56Q25gH8qtqmU+4VswGzMbatEo/sshclHa3l -6HuIBCssaVeqPKf0f18xHGsL6l/7xXORCBZr03WpsWbPQ0JjhOQGTM1AdfCnq5K2 -9P2q1HGfIjIvTYPWtfGr6MPu6FBWejrm+yEs/3ZCEaI2ijv9qWiWeKfr+2S5+x6v -E1HgZIAJcfO9qIfCfJYp4SKte8yuseDBi/Korq6doZ33tHLgscHLGBsvuA3yudfh -Nr5LOhaawiHxeYSHc9unrj5+u/2KTNBdG+Z1xQIDAQABAoIBAAHd3NFbBhHkiDD/ -OIsMuhLJozOjjVZnDQ4iEFa4UzkLzIq75gEHxwI6NzITW1VLC4jQqKkPUDhAFDBX -sFtdjK5POQjoXJOrIoElxbrhwROA2O0YYxI3Xa+G/9kktJ5R9MMK05+d2h9oEqsP -K5soARIbZO/5497NzDcJKtYA3pJITEE4eTGTnrMfgZhDew6ENghnj8FgpedA5+JU -ygBohAAoSnmGXTTTsT14M43SFAdneEef7mEVlrz8LcexEWS9v5C7CelbuAg7fijh -wtsA5c3QaFNZT2q4PY4oObg6/BVtTDbgY+qtIHyvLBoCAbj/qtN9jySVm2gvZdJA -qXmfkyUCgYEAzevYy3cNdUmCvhaBwkVr5+Ha1XPiTReJhsw7p0B/4ixR1MuFH4UX -AetN0zDf57wMhs/IR0zqfWXKpcCplAPIRe2TQaG/P4mBYf2DX0ndDCqFkzmqABW5 -4NJz+YPFdi67zFk7F14I+VEfWGLvQOg3TY756o997l5+j/DBQBISyhMCgYEAwzth -Dfs0zR+7tMG5MY0ZZUKkGDOuRik9ZnD63g/nJ8TqYYD9oU8eY4kM8+jt26r4WEXj -DmIu69f1OFs9UXhWObCpT05MTB0r84YN8Um5VKRL1ENEOqZkx+AIhNwSlOxw1H39 -ePuHQjKwrMmjKyS6Dx7sC/F74kLxAlyOtcGDO8cCgYAXyqwdtf+kEX49oDQV0heJ -jxrNlroK1jFZlbc+t8EOzLgXsfwLjEEAQ8OWJwt3ps57tP4a3tQo8N3dEMmHBHjb -O3vMFXgXSzfbroLDO7GCelc8j2kI4Xm8dBRaO9NQuE2SaqzdIkw/IhRRDf0+rpXV -LDPL2hBeviQ5VUO+t1fcaQKBgQDAAjtO69wfTXFnsgt4f2QVofgPUWy51j9r6/ve -wFdAVruJD7rilhS2IgkaLeEZZUoATyOjds7c5zVmqt1grfBnpqatt7z0MtCSHirC -PxbF9xwY89s7r4B4z46xVFv2GaBSbGMJRJ/fbEk0ds9CVEmlK21Nxb9oZRvxjaRR -f7OY6wKBgBTRJqmLyv1oeyrqG9lI7nNmx86O0MHmPg2gEUvTePsvsHpXRJYEWHEX -pYIreL+HWpC8Z7dax6dRmplhJijvsC9czTXlZMDJddGkFZ7ubS7wP6fC9kuMzt2Y -IJNywmAdKiPJTaCUdizW8sjv6QJviaSPnILG8p6tVJWrqVDsW0A2 ------END RSA PRIVATE KEY----- diff --git a/packagingbuild/jammy/busybee.pub b/packagingbuild/jammy/busybee.pub deleted file mode 100644 index cdadca7..0000000 --- a/packagingbuild/jammy/busybee.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone diff --git a/packagingbuild/noble/Dockerfile b/packagingbuild/noble/Dockerfile new file mode 100644 index 0000000..1e42bf5 --- /dev/null +++ b/packagingbuild/noble/Dockerfile @@ -0,0 +1,25 @@ +FROM ubuntu:noble + +# Install helper command tool +COPY common/cmdtool /usr/local/bin +COPY common/busybee* /tmp +RUN chmod +x /usr/local/bin/cmdtool +ENV DEBIAN_FRONTEND=noninteractive + +RUN /usr/local/bin/cmdtool configure_base + +RUN /usr/local/bin/cmdtool install_download_tools + +RUN /usr/local/bin/cmdtool install_system_tools + +RUN /usr/local/bin/cmdtool install_build_dependencies + +RUN /usr/local/bin/cmdtool install_st2_build_dependencies + +RUN /usr/local/bin/cmdtool install_python + +VOLUME ['/home/busybee/build'] +EXPOSE 22 + +# Run ssh daemon in foreground and wait for bees to connect. +CMD ["/usr/sbin/sshd", "-D"] diff --git a/packagingbuild/rockylinux8/Dockerfile b/packagingbuild/rockylinux8/Dockerfile index 03b9e80..84ac869 100644 --- a/packagingbuild/rockylinux8/Dockerfile +++ b/packagingbuild/rockylinux8/Dockerfile @@ -6,10 +6,12 @@ RUN yum -y install \ curl \ wget +# System tools RUN yum -y install \ git \ openssh +# RedHat specific tools. RUN yum install -y yum-utils \ && dnf config-manager --enable powertools \ && yum install -y epel-release \ diff --git a/packagingbuild/rockylinux8/busybee b/packagingbuild/rockylinux8/busybee deleted file mode 100644 index 4e24e96..0000000 --- a/packagingbuild/rockylinux8/busybee +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnQppj47DgVkV3PjynYA0a7HIjY6duc02nMs/BnZJZ9pmtOOm -6zmFwKYYaf/OQyoB7QDQQbd3JePh56Q25gH8qtqmU+4VswGzMbatEo/sshclHa3l -6HuIBCssaVeqPKf0f18xHGsL6l/7xXORCBZr03WpsWbPQ0JjhOQGTM1AdfCnq5K2 -9P2q1HGfIjIvTYPWtfGr6MPu6FBWejrm+yEs/3ZCEaI2ijv9qWiWeKfr+2S5+x6v -E1HgZIAJcfO9qIfCfJYp4SKte8yuseDBi/Korq6doZ33tHLgscHLGBsvuA3yudfh -Nr5LOhaawiHxeYSHc9unrj5+u/2KTNBdG+Z1xQIDAQABAoIBAAHd3NFbBhHkiDD/ -OIsMuhLJozOjjVZnDQ4iEFa4UzkLzIq75gEHxwI6NzITW1VLC4jQqKkPUDhAFDBX -sFtdjK5POQjoXJOrIoElxbrhwROA2O0YYxI3Xa+G/9kktJ5R9MMK05+d2h9oEqsP -K5soARIbZO/5497NzDcJKtYA3pJITEE4eTGTnrMfgZhDew6ENghnj8FgpedA5+JU -ygBohAAoSnmGXTTTsT14M43SFAdneEef7mEVlrz8LcexEWS9v5C7CelbuAg7fijh -wtsA5c3QaFNZT2q4PY4oObg6/BVtTDbgY+qtIHyvLBoCAbj/qtN9jySVm2gvZdJA -qXmfkyUCgYEAzevYy3cNdUmCvhaBwkVr5+Ha1XPiTReJhsw7p0B/4ixR1MuFH4UX -AetN0zDf57wMhs/IR0zqfWXKpcCplAPIRe2TQaG/P4mBYf2DX0ndDCqFkzmqABW5 -4NJz+YPFdi67zFk7F14I+VEfWGLvQOg3TY756o997l5+j/DBQBISyhMCgYEAwzth -Dfs0zR+7tMG5MY0ZZUKkGDOuRik9ZnD63g/nJ8TqYYD9oU8eY4kM8+jt26r4WEXj -DmIu69f1OFs9UXhWObCpT05MTB0r84YN8Um5VKRL1ENEOqZkx+AIhNwSlOxw1H39 -ePuHQjKwrMmjKyS6Dx7sC/F74kLxAlyOtcGDO8cCgYAXyqwdtf+kEX49oDQV0heJ -jxrNlroK1jFZlbc+t8EOzLgXsfwLjEEAQ8OWJwt3ps57tP4a3tQo8N3dEMmHBHjb -O3vMFXgXSzfbroLDO7GCelc8j2kI4Xm8dBRaO9NQuE2SaqzdIkw/IhRRDf0+rpXV -LDPL2hBeviQ5VUO+t1fcaQKBgQDAAjtO69wfTXFnsgt4f2QVofgPUWy51j9r6/ve -wFdAVruJD7rilhS2IgkaLeEZZUoATyOjds7c5zVmqt1grfBnpqatt7z0MtCSHirC -PxbF9xwY89s7r4B4z46xVFv2GaBSbGMJRJ/fbEk0ds9CVEmlK21Nxb9oZRvxjaRR -f7OY6wKBgBTRJqmLyv1oeyrqG9lI7nNmx86O0MHmPg2gEUvTePsvsHpXRJYEWHEX -pYIreL+HWpC8Z7dax6dRmplhJijvsC9czTXlZMDJddGkFZ7ubS7wP6fC9kuMzt2Y -IJNywmAdKiPJTaCUdizW8sjv6QJviaSPnILG8p6tVJWrqVDsW0A2 ------END RSA PRIVATE KEY----- diff --git a/packagingbuild/rockylinux8/busybee.pub b/packagingbuild/rockylinux8/busybee.pub deleted file mode 100644 index cdadca7..0000000 --- a/packagingbuild/rockylinux8/busybee.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone diff --git a/packagingbuild/rockylinux9/Dockerfile b/packagingbuild/rockylinux9/Dockerfile index ef7f3c7..f5778b3 100644 --- a/packagingbuild/rockylinux9/Dockerfile +++ b/packagingbuild/rockylinux9/Dockerfile @@ -12,16 +12,16 @@ RUN yum -y install \ RUN yum install -y yum-utils \ && dnf install -y dnf-plugin-config-manager \ && dnf config-manager --enable crb \ - && yum install -y epel-release \ - && yum -y install \ + && dnf install -y epel-release \ + && dnf -y install \ ImageMagick \ ImageMagick-devel \ libyaml-devel \ glibc-langpack-en \ - && yum remove -y epel-release yum-utils + && dnf remove -y epel-release yum-utils # Build tools -RUN yum -y install \ +RUN dnf -y install \ autoconf \ automake \ bzip2 \ @@ -52,30 +52,27 @@ RUN yum -y install \ zlib-devel # St2 package build debs -RUN yum -y install \ +RUN dnf -y install \ openldap-devel -# Enable remote pubkey access -RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh && \ - echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone" >> /root/.ssh/authorized_keys - # Create busybee credentials and make busybee pkey available for root -COPY busybee* /root/.ssh/ -RUN chmod 600 /root/.ssh/busybee +RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh +COPY ../common/busybee* /root/.ssh/ +RUN chmod 600 /root/.ssh/busybee && \ + cat root/.ssh/busybee.pub >>/root/.ssh/authorized_keys RUN yum -y install openssh-server sudo && \ - ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key + ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key + +# 1. permit root logins and set simple password password and pubkey +# 2. change requiretty to !requiretty in /etc/sudoers +RUN sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \ + sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \ + sed -ri 's/requiretty/!requiretty/' /etc/sudoers && \ + echo "root:${ROOT_PW}" | chpasswd -# 1. small fix for SSH in ubuntu 13.10 (that's harmless everywhere else) -# 2. permit root logins and set simple password password and pubkey -# 3. change requiretty to !requiretty in /etc/sudoers -RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' /etc/pam.d/sshd && \ - sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \ - sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \ - sed -ri 's/requiretty/!requiretty/' /etc/sudoers && \ - echo 'root:docker.io' | chpasswd +RUN dnf -y install nc net-tools -RUN yum -y install nc net-tools #EL9 enable RSA RUN update-crypto-policies --set DEFAULT:SHA1 @@ -86,7 +83,7 @@ RUN update-crypto-policies --set DEFAULT:SHA1 # # Install development tools and python3 for EL9 -RUN yum -y install python3 python3-devel rpmdevtools && \ +RUN dnf -y install python3 python3-devel rpmdevtools && \ pip3 install virtualenv==20.30.0 pip==25.0.1 wheel setuptools RUN rm -rf /root/.cache diff --git a/packagingbuild/rockylinux9/busybee b/packagingbuild/rockylinux9/busybee deleted file mode 100644 index 4e24e96..0000000 --- a/packagingbuild/rockylinux9/busybee +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnQppj47DgVkV3PjynYA0a7HIjY6duc02nMs/BnZJZ9pmtOOm -6zmFwKYYaf/OQyoB7QDQQbd3JePh56Q25gH8qtqmU+4VswGzMbatEo/sshclHa3l -6HuIBCssaVeqPKf0f18xHGsL6l/7xXORCBZr03WpsWbPQ0JjhOQGTM1AdfCnq5K2 -9P2q1HGfIjIvTYPWtfGr6MPu6FBWejrm+yEs/3ZCEaI2ijv9qWiWeKfr+2S5+x6v -E1HgZIAJcfO9qIfCfJYp4SKte8yuseDBi/Korq6doZ33tHLgscHLGBsvuA3yudfh -Nr5LOhaawiHxeYSHc9unrj5+u/2KTNBdG+Z1xQIDAQABAoIBAAHd3NFbBhHkiDD/ -OIsMuhLJozOjjVZnDQ4iEFa4UzkLzIq75gEHxwI6NzITW1VLC4jQqKkPUDhAFDBX -sFtdjK5POQjoXJOrIoElxbrhwROA2O0YYxI3Xa+G/9kktJ5R9MMK05+d2h9oEqsP -K5soARIbZO/5497NzDcJKtYA3pJITEE4eTGTnrMfgZhDew6ENghnj8FgpedA5+JU -ygBohAAoSnmGXTTTsT14M43SFAdneEef7mEVlrz8LcexEWS9v5C7CelbuAg7fijh -wtsA5c3QaFNZT2q4PY4oObg6/BVtTDbgY+qtIHyvLBoCAbj/qtN9jySVm2gvZdJA -qXmfkyUCgYEAzevYy3cNdUmCvhaBwkVr5+Ha1XPiTReJhsw7p0B/4ixR1MuFH4UX -AetN0zDf57wMhs/IR0zqfWXKpcCplAPIRe2TQaG/P4mBYf2DX0ndDCqFkzmqABW5 -4NJz+YPFdi67zFk7F14I+VEfWGLvQOg3TY756o997l5+j/DBQBISyhMCgYEAwzth -Dfs0zR+7tMG5MY0ZZUKkGDOuRik9ZnD63g/nJ8TqYYD9oU8eY4kM8+jt26r4WEXj -DmIu69f1OFs9UXhWObCpT05MTB0r84YN8Um5VKRL1ENEOqZkx+AIhNwSlOxw1H39 -ePuHQjKwrMmjKyS6Dx7sC/F74kLxAlyOtcGDO8cCgYAXyqwdtf+kEX49oDQV0heJ -jxrNlroK1jFZlbc+t8EOzLgXsfwLjEEAQ8OWJwt3ps57tP4a3tQo8N3dEMmHBHjb -O3vMFXgXSzfbroLDO7GCelc8j2kI4Xm8dBRaO9NQuE2SaqzdIkw/IhRRDf0+rpXV -LDPL2hBeviQ5VUO+t1fcaQKBgQDAAjtO69wfTXFnsgt4f2QVofgPUWy51j9r6/ve -wFdAVruJD7rilhS2IgkaLeEZZUoATyOjds7c5zVmqt1grfBnpqatt7z0MtCSHirC -PxbF9xwY89s7r4B4z46xVFv2GaBSbGMJRJ/fbEk0ds9CVEmlK21Nxb9oZRvxjaRR -f7OY6wKBgBTRJqmLyv1oeyrqG9lI7nNmx86O0MHmPg2gEUvTePsvsHpXRJYEWHEX -pYIreL+HWpC8Z7dax6dRmplhJijvsC9czTXlZMDJddGkFZ7ubS7wP6fC9kuMzt2Y -IJNywmAdKiPJTaCUdizW8sjv6QJviaSPnILG8p6tVJWrqVDsW0A2 ------END RSA PRIVATE KEY----- diff --git a/packagingbuild/rockylinux9/busybee.pub b/packagingbuild/rockylinux9/busybee.pub deleted file mode 100644 index cdadca7..0000000 --- a/packagingbuild/rockylinux9/busybee.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone diff --git a/packagingrunner/Dockerfile b/packagingrunner/Dockerfile new file mode 100644 index 0000000..14e1da2 --- /dev/null +++ b/packagingrunner/Dockerfile @@ -0,0 +1,21 @@ +FROM ubuntu:noble + +# Additional software (needed for RSpec, serverspec) +RUN DEBIAN_FRONTEND=noninteractive && apt-get -y update +RUN apt-get -y install netcat-traditional build-essential +RUN DEBIAN_FRONTEND=noninteractive && apt-get -y install ruby-full libssl-dev git python3 python3-venv +#RUN rbenv init - +#RUN echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> /root/.bashrc +#RUN echo 'eval "$(rbenv init -)"' >> /root/.bashrc +#RUN rbenv install 3.1.1 +RUN apt-get -y clean + +ADD Gemfile /root/Gemfile +RUN gem install bundler +RUN bundle install --gemfile=/root/Gemfile + +RUN python3 -m venv /root/.venv +RUN /root/.venv/bin/python3 -m pip install testinfra fabric + +COPY docker-entrypoint.sh /entrypoint.sh +ENTRYPOINT [ "/entrypoint.sh" ] diff --git a/packagingrunner/Dockerfile.template b/packagingrunner/Dockerfile.template deleted file mode 100644 index 3510dc4..0000000 --- a/packagingrunner/Dockerfile.template +++ /dev/null @@ -1,12 +0,0 @@ -FROM quay.io/dennybaa/droneruby:{{ suite }}-rbenv - -# Additional software (needed for RSpec, serverspec) -RUN DEBIAN_FRONTEND=noninteractive && apt-get -y update && \ - apt-get -y install netcat && apt-get -y clean - -ADD Gemfile /root/Gemfile - -RUN ~/.rbenv/bin/rbenv exec bundle --gemfile=/root/Gemfile - -COPY docker-entrypoint.sh /entrypoint.sh -ENTRYPOINT [ "/entrypoint.sh" ] diff --git a/packagingrunner/Gemfile b/packagingrunner/Gemfile index f8e4038..c70aa81 100644 --- a/packagingrunner/Gemfile +++ b/packagingrunner/Gemfile @@ -1,5 +1,6 @@ source 'https://rubygems.org' +gem 'rake', '>= 0.9.2' gem 'serverspec' gem 'hashie' gem 'slop' diff --git a/packagingrunner/docker-entrypoint.sh b/packagingrunner/docker-entrypoint.sh index 348582b..f9d5704 100755 --- a/packagingrunner/docker-entrypoint.sh +++ b/packagingrunner/docker-entrypoint.sh @@ -7,16 +7,16 @@ cp /root/Gemfile* ./ operation="${1:-complete}" case "$operation" in -build) - bundle exec rake build:all - ;; -test) - bundle exec rake setup:all && bundle exec rspec - ;; -complete) - bundle exec rake && bundle exec rspec - ;; -*) - [ $# -gt 0 ] && exec "$@" - ;; + build) + rake build:all + ;; + test) + rake setup:all && rspec + ;; + complete) + rake && rspec + ;; + *) + [ $# -gt 0 ] && exec "$@" + ;; esac diff --git a/packagingrunner/suite.yml b/packagingrunner/suite.yml deleted file mode 100644 index 6a48c22..0000000 --- a/packagingrunner/suite.yml +++ /dev/null @@ -1,2 +0,0 @@ -registry: quay.io/stackstorm/ -latest: trusty diff --git a/packagingtest/busybee b/packagingtest/busybee deleted file mode 100644 index 4e24e96..0000000 --- a/packagingtest/busybee +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnQppj47DgVkV3PjynYA0a7HIjY6duc02nMs/BnZJZ9pmtOOm -6zmFwKYYaf/OQyoB7QDQQbd3JePh56Q25gH8qtqmU+4VswGzMbatEo/sshclHa3l -6HuIBCssaVeqPKf0f18xHGsL6l/7xXORCBZr03WpsWbPQ0JjhOQGTM1AdfCnq5K2 -9P2q1HGfIjIvTYPWtfGr6MPu6FBWejrm+yEs/3ZCEaI2ijv9qWiWeKfr+2S5+x6v -E1HgZIAJcfO9qIfCfJYp4SKte8yuseDBi/Korq6doZ33tHLgscHLGBsvuA3yudfh -Nr5LOhaawiHxeYSHc9unrj5+u/2KTNBdG+Z1xQIDAQABAoIBAAHd3NFbBhHkiDD/ -OIsMuhLJozOjjVZnDQ4iEFa4UzkLzIq75gEHxwI6NzITW1VLC4jQqKkPUDhAFDBX -sFtdjK5POQjoXJOrIoElxbrhwROA2O0YYxI3Xa+G/9kktJ5R9MMK05+d2h9oEqsP -K5soARIbZO/5497NzDcJKtYA3pJITEE4eTGTnrMfgZhDew6ENghnj8FgpedA5+JU -ygBohAAoSnmGXTTTsT14M43SFAdneEef7mEVlrz8LcexEWS9v5C7CelbuAg7fijh -wtsA5c3QaFNZT2q4PY4oObg6/BVtTDbgY+qtIHyvLBoCAbj/qtN9jySVm2gvZdJA -qXmfkyUCgYEAzevYy3cNdUmCvhaBwkVr5+Ha1XPiTReJhsw7p0B/4ixR1MuFH4UX -AetN0zDf57wMhs/IR0zqfWXKpcCplAPIRe2TQaG/P4mBYf2DX0ndDCqFkzmqABW5 -4NJz+YPFdi67zFk7F14I+VEfWGLvQOg3TY756o997l5+j/DBQBISyhMCgYEAwzth -Dfs0zR+7tMG5MY0ZZUKkGDOuRik9ZnD63g/nJ8TqYYD9oU8eY4kM8+jt26r4WEXj -DmIu69f1OFs9UXhWObCpT05MTB0r84YN8Um5VKRL1ENEOqZkx+AIhNwSlOxw1H39 -ePuHQjKwrMmjKyS6Dx7sC/F74kLxAlyOtcGDO8cCgYAXyqwdtf+kEX49oDQV0heJ -jxrNlroK1jFZlbc+t8EOzLgXsfwLjEEAQ8OWJwt3ps57tP4a3tQo8N3dEMmHBHjb -O3vMFXgXSzfbroLDO7GCelc8j2kI4Xm8dBRaO9NQuE2SaqzdIkw/IhRRDf0+rpXV -LDPL2hBeviQ5VUO+t1fcaQKBgQDAAjtO69wfTXFnsgt4f2QVofgPUWy51j9r6/ve -wFdAVruJD7rilhS2IgkaLeEZZUoATyOjds7c5zVmqt1grfBnpqatt7z0MtCSHirC -PxbF9xwY89s7r4B4z46xVFv2GaBSbGMJRJ/fbEk0ds9CVEmlK21Nxb9oZRvxjaRR -f7OY6wKBgBTRJqmLyv1oeyrqG9lI7nNmx86O0MHmPg2gEUvTePsvsHpXRJYEWHEX -pYIreL+HWpC8Z7dax6dRmplhJijvsC9czTXlZMDJddGkFZ7ubS7wP6fC9kuMzt2Y -IJNywmAdKiPJTaCUdizW8sjv6QJviaSPnILG8p6tVJWrqVDsW0A2 ------END RSA PRIVATE KEY----- diff --git a/packagingtest/busybee.pub b/packagingtest/busybee.pub deleted file mode 100644 index cdadca7..0000000 --- a/packagingtest/busybee.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone diff --git a/packagingtest/focal/busybee b/packagingtest/focal/busybee deleted file mode 100644 index 4e24e96..0000000 --- a/packagingtest/focal/busybee +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnQppj47DgVkV3PjynYA0a7HIjY6duc02nMs/BnZJZ9pmtOOm -6zmFwKYYaf/OQyoB7QDQQbd3JePh56Q25gH8qtqmU+4VswGzMbatEo/sshclHa3l -6HuIBCssaVeqPKf0f18xHGsL6l/7xXORCBZr03WpsWbPQ0JjhOQGTM1AdfCnq5K2 -9P2q1HGfIjIvTYPWtfGr6MPu6FBWejrm+yEs/3ZCEaI2ijv9qWiWeKfr+2S5+x6v -E1HgZIAJcfO9qIfCfJYp4SKte8yuseDBi/Korq6doZ33tHLgscHLGBsvuA3yudfh -Nr5LOhaawiHxeYSHc9unrj5+u/2KTNBdG+Z1xQIDAQABAoIBAAHd3NFbBhHkiDD/ -OIsMuhLJozOjjVZnDQ4iEFa4UzkLzIq75gEHxwI6NzITW1VLC4jQqKkPUDhAFDBX -sFtdjK5POQjoXJOrIoElxbrhwROA2O0YYxI3Xa+G/9kktJ5R9MMK05+d2h9oEqsP -K5soARIbZO/5497NzDcJKtYA3pJITEE4eTGTnrMfgZhDew6ENghnj8FgpedA5+JU -ygBohAAoSnmGXTTTsT14M43SFAdneEef7mEVlrz8LcexEWS9v5C7CelbuAg7fijh -wtsA5c3QaFNZT2q4PY4oObg6/BVtTDbgY+qtIHyvLBoCAbj/qtN9jySVm2gvZdJA -qXmfkyUCgYEAzevYy3cNdUmCvhaBwkVr5+Ha1XPiTReJhsw7p0B/4ixR1MuFH4UX -AetN0zDf57wMhs/IR0zqfWXKpcCplAPIRe2TQaG/P4mBYf2DX0ndDCqFkzmqABW5 -4NJz+YPFdi67zFk7F14I+VEfWGLvQOg3TY756o997l5+j/DBQBISyhMCgYEAwzth -Dfs0zR+7tMG5MY0ZZUKkGDOuRik9ZnD63g/nJ8TqYYD9oU8eY4kM8+jt26r4WEXj -DmIu69f1OFs9UXhWObCpT05MTB0r84YN8Um5VKRL1ENEOqZkx+AIhNwSlOxw1H39 -ePuHQjKwrMmjKyS6Dx7sC/F74kLxAlyOtcGDO8cCgYAXyqwdtf+kEX49oDQV0heJ -jxrNlroK1jFZlbc+t8EOzLgXsfwLjEEAQ8OWJwt3ps57tP4a3tQo8N3dEMmHBHjb -O3vMFXgXSzfbroLDO7GCelc8j2kI4Xm8dBRaO9NQuE2SaqzdIkw/IhRRDf0+rpXV -LDPL2hBeviQ5VUO+t1fcaQKBgQDAAjtO69wfTXFnsgt4f2QVofgPUWy51j9r6/ve -wFdAVruJD7rilhS2IgkaLeEZZUoATyOjds7c5zVmqt1grfBnpqatt7z0MtCSHirC -PxbF9xwY89s7r4B4z46xVFv2GaBSbGMJRJ/fbEk0ds9CVEmlK21Nxb9oZRvxjaRR -f7OY6wKBgBTRJqmLyv1oeyrqG9lI7nNmx86O0MHmPg2gEUvTePsvsHpXRJYEWHEX -pYIreL+HWpC8Z7dax6dRmplhJijvsC9czTXlZMDJddGkFZ7ubS7wP6fC9kuMzt2Y -IJNywmAdKiPJTaCUdizW8sjv6QJviaSPnILG8p6tVJWrqVDsW0A2 ------END RSA PRIVATE KEY----- diff --git a/packagingtest/focal/busybee.pub b/packagingtest/focal/busybee.pub deleted file mode 100644 index cdadca7..0000000 --- a/packagingtest/focal/busybee.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone diff --git a/packagingtest/jammy/busybee b/packagingtest/jammy/busybee deleted file mode 100644 index 4e24e96..0000000 --- a/packagingtest/jammy/busybee +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnQppj47DgVkV3PjynYA0a7HIjY6duc02nMs/BnZJZ9pmtOOm -6zmFwKYYaf/OQyoB7QDQQbd3JePh56Q25gH8qtqmU+4VswGzMbatEo/sshclHa3l -6HuIBCssaVeqPKf0f18xHGsL6l/7xXORCBZr03WpsWbPQ0JjhOQGTM1AdfCnq5K2 -9P2q1HGfIjIvTYPWtfGr6MPu6FBWejrm+yEs/3ZCEaI2ijv9qWiWeKfr+2S5+x6v -E1HgZIAJcfO9qIfCfJYp4SKte8yuseDBi/Korq6doZ33tHLgscHLGBsvuA3yudfh -Nr5LOhaawiHxeYSHc9unrj5+u/2KTNBdG+Z1xQIDAQABAoIBAAHd3NFbBhHkiDD/ -OIsMuhLJozOjjVZnDQ4iEFa4UzkLzIq75gEHxwI6NzITW1VLC4jQqKkPUDhAFDBX -sFtdjK5POQjoXJOrIoElxbrhwROA2O0YYxI3Xa+G/9kktJ5R9MMK05+d2h9oEqsP -K5soARIbZO/5497NzDcJKtYA3pJITEE4eTGTnrMfgZhDew6ENghnj8FgpedA5+JU -ygBohAAoSnmGXTTTsT14M43SFAdneEef7mEVlrz8LcexEWS9v5C7CelbuAg7fijh -wtsA5c3QaFNZT2q4PY4oObg6/BVtTDbgY+qtIHyvLBoCAbj/qtN9jySVm2gvZdJA -qXmfkyUCgYEAzevYy3cNdUmCvhaBwkVr5+Ha1XPiTReJhsw7p0B/4ixR1MuFH4UX -AetN0zDf57wMhs/IR0zqfWXKpcCplAPIRe2TQaG/P4mBYf2DX0ndDCqFkzmqABW5 -4NJz+YPFdi67zFk7F14I+VEfWGLvQOg3TY756o997l5+j/DBQBISyhMCgYEAwzth -Dfs0zR+7tMG5MY0ZZUKkGDOuRik9ZnD63g/nJ8TqYYD9oU8eY4kM8+jt26r4WEXj -DmIu69f1OFs9UXhWObCpT05MTB0r84YN8Um5VKRL1ENEOqZkx+AIhNwSlOxw1H39 -ePuHQjKwrMmjKyS6Dx7sC/F74kLxAlyOtcGDO8cCgYAXyqwdtf+kEX49oDQV0heJ -jxrNlroK1jFZlbc+t8EOzLgXsfwLjEEAQ8OWJwt3ps57tP4a3tQo8N3dEMmHBHjb -O3vMFXgXSzfbroLDO7GCelc8j2kI4Xm8dBRaO9NQuE2SaqzdIkw/IhRRDf0+rpXV -LDPL2hBeviQ5VUO+t1fcaQKBgQDAAjtO69wfTXFnsgt4f2QVofgPUWy51j9r6/ve -wFdAVruJD7rilhS2IgkaLeEZZUoATyOjds7c5zVmqt1grfBnpqatt7z0MtCSHirC -PxbF9xwY89s7r4B4z46xVFv2GaBSbGMJRJ/fbEk0ds9CVEmlK21Nxb9oZRvxjaRR -f7OY6wKBgBTRJqmLyv1oeyrqG9lI7nNmx86O0MHmPg2gEUvTePsvsHpXRJYEWHEX -pYIreL+HWpC8Z7dax6dRmplhJijvsC9czTXlZMDJddGkFZ7ubS7wP6fC9kuMzt2Y -IJNywmAdKiPJTaCUdizW8sjv6QJviaSPnILG8p6tVJWrqVDsW0A2 ------END RSA PRIVATE KEY----- diff --git a/packagingtest/jammy/busybee.pub b/packagingtest/jammy/busybee.pub deleted file mode 100644 index cdadca7..0000000 --- a/packagingtest/jammy/busybee.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone diff --git a/packagingtest/jammy/setup.sh b/packagingtest/jammy/setup.sh deleted file mode 100644 index b2082d7..0000000 --- a/packagingtest/jammy/setup.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -set -eu - -touch /1 - -if nsenter --mount=/host/proc/1/ns/mnt -- mount | grep /sys/fs/cgroup/systemd >/dev/null 2>&1; then - echo 'The systemd cgroup hierarchy is already mounted at /sys/fs/cgroup/systemd.' -else - if [ -d /host/sys/fs/cgroup/systemd ]; then - echo 'The mount point for the systemd cgroup hierarchy already exists at /sys/fs/cgroup/systemd.' - else - echo 'Creating the mount point for the systemd cgroup hierarchy at /sys/fs/cgroup/systemd.' - mkdir -p /host/sys/fs/cgroup/systemd - fi - - echo 'Mounting the systemd cgroup hierarchy.' - nsenter --mount=/host/proc/1/ns/mnt -- mount -t cgroup cgroup -o none,name=systemd /sys/fs/cgroup/systemd -fi -echo 'Your Docker host is now configured for running systemd containers!' diff --git a/packagingtest/noble/Dockerfile b/packagingtest/noble/Dockerfile new file mode 100644 index 0000000..5344402 --- /dev/null +++ b/packagingtest/noble/Dockerfile @@ -0,0 +1,27 @@ +FROM ubuntu:noble + +ENV container=docker +ENV TERM=xterm +ENV DEBIAN_FRONTEND=noninteractive + +# Install helper command tool +COPY common/cmdtool /usr/local/bin +COPY common/busybee* /tmp +COPY common/setup.sh /sbin/ +RUN chmod +x /usr/local/bin/cmdtool + +RUN /usr/local/bin/cmdtool configure_base + +RUN /usr/local/bin/cmdtool install_system_tools + +RUN /usr/local/bin/cmdtool install_locale +ENV LANG=en_US.UTF-8 + +RUN /usr/local/bin/cmdtool configure_testing_system + +RUN systemctl preset ssh; + +EXPOSE 22 + +VOLUME [ "/sys/fs/cgroup" ] +CMD [ "/sbin/init" ] diff --git a/packagingtest/rockylinux8/busybee b/packagingtest/rockylinux8/busybee deleted file mode 100644 index 4e24e96..0000000 --- a/packagingtest/rockylinux8/busybee +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnQppj47DgVkV3PjynYA0a7HIjY6duc02nMs/BnZJZ9pmtOOm -6zmFwKYYaf/OQyoB7QDQQbd3JePh56Q25gH8qtqmU+4VswGzMbatEo/sshclHa3l -6HuIBCssaVeqPKf0f18xHGsL6l/7xXORCBZr03WpsWbPQ0JjhOQGTM1AdfCnq5K2 -9P2q1HGfIjIvTYPWtfGr6MPu6FBWejrm+yEs/3ZCEaI2ijv9qWiWeKfr+2S5+x6v -E1HgZIAJcfO9qIfCfJYp4SKte8yuseDBi/Korq6doZ33tHLgscHLGBsvuA3yudfh -Nr5LOhaawiHxeYSHc9unrj5+u/2KTNBdG+Z1xQIDAQABAoIBAAHd3NFbBhHkiDD/ -OIsMuhLJozOjjVZnDQ4iEFa4UzkLzIq75gEHxwI6NzITW1VLC4jQqKkPUDhAFDBX -sFtdjK5POQjoXJOrIoElxbrhwROA2O0YYxI3Xa+G/9kktJ5R9MMK05+d2h9oEqsP -K5soARIbZO/5497NzDcJKtYA3pJITEE4eTGTnrMfgZhDew6ENghnj8FgpedA5+JU -ygBohAAoSnmGXTTTsT14M43SFAdneEef7mEVlrz8LcexEWS9v5C7CelbuAg7fijh -wtsA5c3QaFNZT2q4PY4oObg6/BVtTDbgY+qtIHyvLBoCAbj/qtN9jySVm2gvZdJA -qXmfkyUCgYEAzevYy3cNdUmCvhaBwkVr5+Ha1XPiTReJhsw7p0B/4ixR1MuFH4UX -AetN0zDf57wMhs/IR0zqfWXKpcCplAPIRe2TQaG/P4mBYf2DX0ndDCqFkzmqABW5 -4NJz+YPFdi67zFk7F14I+VEfWGLvQOg3TY756o997l5+j/DBQBISyhMCgYEAwzth -Dfs0zR+7tMG5MY0ZZUKkGDOuRik9ZnD63g/nJ8TqYYD9oU8eY4kM8+jt26r4WEXj -DmIu69f1OFs9UXhWObCpT05MTB0r84YN8Um5VKRL1ENEOqZkx+AIhNwSlOxw1H39 -ePuHQjKwrMmjKyS6Dx7sC/F74kLxAlyOtcGDO8cCgYAXyqwdtf+kEX49oDQV0heJ -jxrNlroK1jFZlbc+t8EOzLgXsfwLjEEAQ8OWJwt3ps57tP4a3tQo8N3dEMmHBHjb -O3vMFXgXSzfbroLDO7GCelc8j2kI4Xm8dBRaO9NQuE2SaqzdIkw/IhRRDf0+rpXV -LDPL2hBeviQ5VUO+t1fcaQKBgQDAAjtO69wfTXFnsgt4f2QVofgPUWy51j9r6/ve -wFdAVruJD7rilhS2IgkaLeEZZUoATyOjds7c5zVmqt1grfBnpqatt7z0MtCSHirC -PxbF9xwY89s7r4B4z46xVFv2GaBSbGMJRJ/fbEk0ds9CVEmlK21Nxb9oZRvxjaRR -f7OY6wKBgBTRJqmLyv1oeyrqG9lI7nNmx86O0MHmPg2gEUvTePsvsHpXRJYEWHEX -pYIreL+HWpC8Z7dax6dRmplhJijvsC9czTXlZMDJddGkFZ7ubS7wP6fC9kuMzt2Y -IJNywmAdKiPJTaCUdizW8sjv6QJviaSPnILG8p6tVJWrqVDsW0A2 ------END RSA PRIVATE KEY----- diff --git a/packagingtest/rockylinux8/busybee.pub b/packagingtest/rockylinux8/busybee.pub deleted file mode 100644 index cdadca7..0000000 --- a/packagingtest/rockylinux8/busybee.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone diff --git a/packagingtest/rockylinux9/busybee b/packagingtest/rockylinux9/busybee deleted file mode 100644 index 4e24e96..0000000 --- a/packagingtest/rockylinux9/busybee +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnQppj47DgVkV3PjynYA0a7HIjY6duc02nMs/BnZJZ9pmtOOm -6zmFwKYYaf/OQyoB7QDQQbd3JePh56Q25gH8qtqmU+4VswGzMbatEo/sshclHa3l -6HuIBCssaVeqPKf0f18xHGsL6l/7xXORCBZr03WpsWbPQ0JjhOQGTM1AdfCnq5K2 -9P2q1HGfIjIvTYPWtfGr6MPu6FBWejrm+yEs/3ZCEaI2ijv9qWiWeKfr+2S5+x6v -E1HgZIAJcfO9qIfCfJYp4SKte8yuseDBi/Korq6doZ33tHLgscHLGBsvuA3yudfh -Nr5LOhaawiHxeYSHc9unrj5+u/2KTNBdG+Z1xQIDAQABAoIBAAHd3NFbBhHkiDD/ -OIsMuhLJozOjjVZnDQ4iEFa4UzkLzIq75gEHxwI6NzITW1VLC4jQqKkPUDhAFDBX -sFtdjK5POQjoXJOrIoElxbrhwROA2O0YYxI3Xa+G/9kktJ5R9MMK05+d2h9oEqsP -K5soARIbZO/5497NzDcJKtYA3pJITEE4eTGTnrMfgZhDew6ENghnj8FgpedA5+JU -ygBohAAoSnmGXTTTsT14M43SFAdneEef7mEVlrz8LcexEWS9v5C7CelbuAg7fijh -wtsA5c3QaFNZT2q4PY4oObg6/BVtTDbgY+qtIHyvLBoCAbj/qtN9jySVm2gvZdJA -qXmfkyUCgYEAzevYy3cNdUmCvhaBwkVr5+Ha1XPiTReJhsw7p0B/4ixR1MuFH4UX -AetN0zDf57wMhs/IR0zqfWXKpcCplAPIRe2TQaG/P4mBYf2DX0ndDCqFkzmqABW5 -4NJz+YPFdi67zFk7F14I+VEfWGLvQOg3TY756o997l5+j/DBQBISyhMCgYEAwzth -Dfs0zR+7tMG5MY0ZZUKkGDOuRik9ZnD63g/nJ8TqYYD9oU8eY4kM8+jt26r4WEXj -DmIu69f1OFs9UXhWObCpT05MTB0r84YN8Um5VKRL1ENEOqZkx+AIhNwSlOxw1H39 -ePuHQjKwrMmjKyS6Dx7sC/F74kLxAlyOtcGDO8cCgYAXyqwdtf+kEX49oDQV0heJ -jxrNlroK1jFZlbc+t8EOzLgXsfwLjEEAQ8OWJwt3ps57tP4a3tQo8N3dEMmHBHjb -O3vMFXgXSzfbroLDO7GCelc8j2kI4Xm8dBRaO9NQuE2SaqzdIkw/IhRRDf0+rpXV -LDPL2hBeviQ5VUO+t1fcaQKBgQDAAjtO69wfTXFnsgt4f2QVofgPUWy51j9r6/ve -wFdAVruJD7rilhS2IgkaLeEZZUoATyOjds7c5zVmqt1grfBnpqatt7z0MtCSHirC -PxbF9xwY89s7r4B4z46xVFv2GaBSbGMJRJ/fbEk0ds9CVEmlK21Nxb9oZRvxjaRR -f7OY6wKBgBTRJqmLyv1oeyrqG9lI7nNmx86O0MHmPg2gEUvTePsvsHpXRJYEWHEX -pYIreL+HWpC8Z7dax6dRmplhJijvsC9czTXlZMDJddGkFZ7ubS7wP6fC9kuMzt2Y -IJNywmAdKiPJTaCUdizW8sjv6QJviaSPnILG8p6tVJWrqVDsW0A2 ------END RSA PRIVATE KEY----- diff --git a/packagingtest/rockylinux9/busybee.pub b/packagingtest/rockylinux9/busybee.pub deleted file mode 100644 index cdadca7..0000000 --- a/packagingtest/rockylinux9/busybee.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone From d2d72299a426aa0d7cdd572a462775eb86a7ec34 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 10 Mar 2026 11:40:20 +0100 Subject: [PATCH 2/6] Drop Focal --- packagingbuild/focal/Dockerfile | 72 ------------------------------- packagingtest/focal/Dockerfile | 75 --------------------------------- 2 files changed, 147 deletions(-) delete mode 100644 packagingbuild/focal/Dockerfile delete mode 100644 packagingtest/focal/Dockerfile diff --git a/packagingbuild/focal/Dockerfile b/packagingbuild/focal/Dockerfile deleted file mode 100644 index f01802c..0000000 --- a/packagingbuild/focal/Dockerfile +++ /dev/null @@ -1,72 +0,0 @@ -FROM buildpack-deps:focal - -# Make noninteractive setting permanent -ENV DEBIAN_FRONTEND=noninteractive -RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections -v - -# Enable remote pubkey access -RUN mkdir /root/.ssh && chmod 700 /root/.ssh && \ - echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone" >> /root/.ssh/authorized_keys - -# Create busybee credentials and make busybee pkey available for root -COPY busybee* /root/.ssh/ -RUN chmod 600 /root/.ssh/busybee - -RUN apt-get -y update && \ - apt-get install -y openssh-server sudo && \ - mkdir /var/run/sshd - -# 1. permit root logins and set simple password password and pubkey -# 2. change requiretty to !requiretty in /etc/sudoers -RUN sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \ - sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \ - sed -ri 's/requiretty/!requiretty/' /etc/sudoers && \ - echo 'root:docker.io' | chpasswd - -# install core software for packaging and ssh communication -RUN echo -e "#!/bin/sh\nexit 101\n" > /usr/sbin/policy-rc.d && \ - apt-get -y update && \ - apt-get -y install gdebi-core sshpass cron netcat net-tools - -# -# Buildenv is special environment for generating debian packages. It provides: -# - All needed pre-installed development packages -# - SSH access for build executor. -# - -# install python development -RUN apt-get update && \ - apt-get -y install build-essential python3-dev python3 - -RUN apt-get update && \ - apt-get -y install \ - devscripts debhelper dh-make libldap2-dev libsasl2-dev && apt-get clean - -# Install fresh pip and co (pinning wheel and setuptools<60 is require for dh-virtualenv build to avoid pypa/setuptools#2956) -RUN curl https://bootstrap.pypa.io/pip/3.8/get-pip.py | python3.8 - virtualenv==20.30.0 pip==25.0.1 wheel==0.45.1 setuptools==59.8.0 cryptography; \ - pip3.8 install --upgrade requests[security] && rm -rf /root/.cache - -# This line just busts Docker's cache so it re-runs the next line -# The GitHub API will return different results when the branch HEAD changes -# See https://stackoverflow.com/a/39278224 -# ADD https://api.github.com/repos/StackStorm/dh-virtualenv/git/refs/heads/stackstorm_patched version.json -# RUN rm version.json - -# Use upstream dh-virtualenv master branch that includes StackStorm's 'python' shebang fix since 8 Dec 2020. -# We reset the repository to use the known good commit sha id 9bd6d3fac3ea9b53e12bfedeef53f0a73c57b2cd -RUN apt-get -y install \ - python3.8-venv python3-setuptools python3-mock python3-sphinx dh-exec dh-python libjs-jquery libjs-underscore python3-sphinx-rtd-theme && \ - apt-get clean && \ - git clone --branch master https://github.com/spotify/dh-virtualenv.git /tmp/dh-virtualenv && \ - cd /tmp/dh-virtualenv && \ - git reset --hard 9bd6d3fac3ea9b53e12bfedeef53f0a73c57b2cd && \ - dpkg-buildpackage -b -uc -us && dpkg -i ../dh-virtualenv_*.deb && \ - rm -rf /tmp/dh-virtualenv* -RUN apt-get -y install dh-systemd && apt-get clean - - -VOLUME ['/home/busybee/build'] -EXPOSE 22 - -# Run ssh daemon in foreground and wait for bees to connect. -CMD ["/usr/sbin/sshd", "-D"] diff --git a/packagingtest/focal/Dockerfile b/packagingtest/focal/Dockerfile deleted file mode 100644 index 2cfa3c9..0000000 --- a/packagingtest/focal/Dockerfile +++ /dev/null @@ -1,75 +0,0 @@ -FROM buildpack-deps:focal - -ENV container=docker -ENV TERM=xterm - -# Make noninteractive setting permanent -ENV DEBIAN_FRONTEND=noninteractive -RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections -v - -RUN apt-get -y update - -# Enable remote pubkey access -RUN mkdir /root/.ssh && chmod 700 /root/.ssh && \ - echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone" >> /root/.ssh/authorized_keys - -# Create busybee credentials and make busybee pkey available for root -COPY busybee* /root/.ssh/ -RUN chmod 600 /root/.ssh/busybee - -RUN apt-get install -y openssh-server sudo && \ - mkdir /var/run/sshd - -# install locales package and set default locale to 'UTF-8' for the test execution environment -RUN apt-get -y install locales && \ - locale-gen en_US.UTF-8 && \ - dpkg-reconfigure locales && \ - update-locale LANG=en_US.UTF-8 -ENV LANG=en_US.UTF-8 - -# 1. small fix for SSH in ubuntu 13.10 (that's harmless everywhere else) -# 2. permit root logins and set simple password password and pubkey -# 3. change requiretty to !requiretty in /etc/sudoers -RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' /etc/pam.d/sshd && \ - sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \ - sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \ - sed -ri 's/requiretty/!requiretty/' /etc/sudoers && \ - echo 'root:docker.io' | chpasswd - -# install core software for packaging and ssh communication -RUN echo -e "#!/bin/sh\nexit 101\n" > /usr/sbin/policy-rc.d && \ - apt-get -y install gdebi-core sshpass cron netcat net-tools iproute2 - -# install apt https transport so apt sources can be added that refernece https:// URLs -RUN apt-get -y install apt-transport-https ca-certificates - -# install netbase package (includes /etc/protocols and other files we rely on) -RUN apt-get -y install netbase - -RUN find /etc/systemd/system \ - /lib/systemd/system \ - -path '*.wants/*' \ - -not -name '*journald*' \ - -not -name '*systemd-tmpfiles*' \ - -not -name '*systemd-user-sessions*' \ - -exec rm \{} \; - -RUN systemctl set-default multi-user.target - -# The base Ubuntu 18.04 image contains a file that excludes all documentation -# from being installed by packages. Specifically /usr/share/doc/* -# This exclusion prevents our nginx config from being installed in the 'st2' package: -# /usr/share/doc/st2/conf/nginx/st2.conf -# This step removes the exclusion configuration so documentation of all future packages -# will be installed. -RUN rm -rf /etc/dpkg/dpkg.cfg.d/excludes - -COPY setup.sh /sbin/ - -RUN systemctl preset ssh; - -# we can have ssh -EXPOSE 22 - -VOLUME [ "/sys/fs/cgroup" ] -CMD [ "/sbin/init" ] From 6bb0a5aafc3be8e9056f11fb77569e959fd98fc9 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 10 Mar 2026 13:25:01 +0100 Subject: [PATCH 3/6] Move jammy to restructured docker build. --- common/cmdtool | 18 ++++++-- packagingbuild/jammy/Dockerfile | 73 +++++---------------------------- packagingtest/jammy/Dockerfile | 70 +++++-------------------------- packagingtest/noble/Dockerfile | 2 + 4 files changed, 39 insertions(+), 124 deletions(-) diff --git a/common/cmdtool b/common/cmdtool index 7a67aa9..0d8cdf7 100644 --- a/common/cmdtool +++ b/common/cmdtool @@ -4,7 +4,7 @@ set -e +x -o pipefail # Set the TGT to identify the OS and version. TGT=$(source /etc/os-release; echo "${ID}-${VERSION_ID}") - +# e.g. ubuntu-22.04, ubuntu-24.04, debian-11, rocky-9.7, rocky-9.5, rocky-10.1 etc. distro_unsupported() { echo "Unsupported distro $TGT" >&2 @@ -321,8 +321,20 @@ install_python() "requests[security]" ) # Violate system package manager and force our requirements ... Leroy Jenkins! - apt install --only-upgrade python3-pip - pip3 install --ignore-installed --break-system-packages --upgrade ${PYPKGS[@]} + case $TGT in + ubuntu-22*) + apt install --only-upgrade python3-pip + pip3 install --ignore-installed --upgrade ${PYPKGS[@]} + ;; + ubuntu-24*) + apt install --only-upgrade python3-pip + pip3 install --ignore-installed --break-system-packages --upgrade ${PYPKGS[@]} + ;; + *) + echo "Unsupported Ubuntu version." + exit 1 + ;; + esac rm -rf /root/.cache ;; *) diff --git a/packagingbuild/jammy/Dockerfile b/packagingbuild/jammy/Dockerfile index ee3876c..473b0b6 100644 --- a/packagingbuild/jammy/Dockerfile +++ b/packagingbuild/jammy/Dockerfile @@ -1,73 +1,22 @@ -FROM buildpack-deps:jammy +FROM ubuntu:jammy -# Make noninteractive setting permanent +# Install helper command tool +COPY common/cmdtool /usr/local/bin +COPY common/busybee* /tmp +RUN chmod +x /usr/local/bin/cmdtool ENV DEBIAN_FRONTEND=noninteractive -RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections -v -# Enable remote pubkey access -RUN mkdir /root/.ssh && chmod 700 /root/.ssh && \ - echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone" >> /root/.ssh/authorized_keys +RUN /usr/local/bin/cmdtool configure_base -# Create busybee credentials and make busybee pkey available for root -COPY busybee* /root/.ssh/ -RUN chmod 600 /root/.ssh/busybee +RUN /usr/local/bin/cmdtool install_download_tools -RUN apt-get -y update && \ - apt-get install -y openssh-server sudo && \ - mkdir /var/run/sshd +RUN /usr/local/bin/cmdtool install_system_tools -# 1. permit root logins and set simple password password and pubkey -# 2. change requiretty to !requiretty in /etc/sudoers -RUN sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \ - sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \ - sed -ri 's/requiretty/!requiretty/' /etc/sudoers && \ - echo 'root:docker.io' | chpasswd +RUN /usr/local/bin/cmdtool install_build_dependencies -# Enable (deprecated) RSA -RUN echo 'HostKeyAlgorithms +ssh-rsa' | tee -a /etc/ssh/sshd_config && \ - echo 'PubkeyAcceptedKeyTypes +ssh-rsa' | tee -a /etc/ssh/sshd_config - -# install core software for packaging and ssh communication -RUN echo -e "#!/bin/sh\nexit 101\n" > /usr/sbin/policy-rc.d && \ - apt-get -y update && \ - apt-get -y install gdebi-core sshpass cron netcat net-tools - -# -# Buildenv is special environment for generating debian packages. It provides: -# - All needed pre-installed development packages -# - SSH access for build executor. -# - -# install python development -RUN apt-get update && \ - apt-get -y install build-essential python3-dev python3 - -RUN apt-get update && \ - apt-get -y install \ - devscripts debhelper dh-make libldap2-dev libsasl2-dev && apt-get clean - -# Install fresh pip and co (pinning wheel and setuptools<60 is require for dh-virtualenv build to avoid pypa/setuptools#2956) -RUN curl https://bootstrap.pypa.io/get-pip.py | python3.10 - virtualenv==20.30.0 pip==25.0.1 wheel==0.45.1 setuptools==59.8.0 cryptography; \ - pip3.10 install --upgrade requests[security] && rm -rf /root/.cache - -# This line just busts Docker's cache so it re-runs the next line -# The GitHub API will return different results when the branch HEAD changes -# See https://stackoverflow.com/a/39278224 -# ADD https://api.github.com/repos/StackStorm/dh-virtualenv/git/refs/heads/stackstorm_patched version.json -# RUN rm version.json - -# Use upstream dh-virtualenv master branch that includes StackStorm's 'python' shebang fix since 8 Dec 2020. -# We reset the repository to use the known good commit sha id 9bd6d3fac3ea9b53e12bfedeef53f0a73c57b2cd -RUN apt-get -y install \ - python3.10-venv python3-setuptools python3-mock python3-sphinx dh-exec dh-python libjs-jquery libjs-underscore python3-sphinx-rtd-theme && \ - apt-get clean && \ - git clone --branch master https://github.com/spotify/dh-virtualenv.git /tmp/dh-virtualenv && \ - cd /tmp/dh-virtualenv && \ - git reset --hard 9bd6d3fac3ea9b53e12bfedeef53f0a73c57b2cd && \ - dpkg-buildpackage -b -uc -us && dpkg -i ../dh-virtualenv_*.deb && \ - rm -rf /tmp/dh-virtualenv* -# RUN apt-get -y install dh-systemd && apt-get clean +RUN /usr/local/bin/cmdtool install_st2_build_dependencies +RUN /usr/local/bin/cmdtool install_python VOLUME ['/home/busybee/build'] EXPOSE 22 diff --git a/packagingtest/jammy/Dockerfile b/packagingtest/jammy/Dockerfile index 9414795..2aea1c0 100644 --- a/packagingtest/jammy/Dockerfile +++ b/packagingtest/jammy/Dockerfile @@ -1,76 +1,28 @@ -FROM buildpack-deps:jammy +FROM ubuntu:jammy ENV container=docker ENV TERM=xterm - -# Make noninteractive setting permanent ENV DEBIAN_FRONTEND=noninteractive -RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections -v - -RUN apt-get -y update -# Enable remote pubkey access -RUN mkdir /root/.ssh && chmod 700 /root/.ssh && \ - echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone" >> /root/.ssh/authorized_keys +# Install helper command tool +COPY common/cmdtool /usr/local/bin +COPY common/busybee* /tmp +COPY common/setup.sh /sbin/ +RUN chmod +x /usr/local/bin/cmdtool -# Create busybee credentials and make busybee pkey available for root -COPY busybee* /root/.ssh/ -RUN chmod 600 /root/.ssh/busybee +RUN /usr/local/bin/cmdtool configure_base -RUN apt-get install -y openssh-server sudo && \ - mkdir /var/run/sshd +RUN /usr/local/bin/cmdtool install_system_tools -# install locales package and set default locale to 'UTF-8' for the test execution environment -RUN apt-get -y install locales && \ - locale-gen en_US.UTF-8 && \ - dpkg-reconfigure locales && \ - update-locale LANG=en_US.UTF-8 +RUN /usr/local/bin/cmdtool install_locale ENV LANG=en_US.UTF-8 -# 1. permit root logins and set simple password password and pubkey -# 2. change requiretty to !requiretty in /etc/sudoers -RUN sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \ - sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \ - sed -ri 's/requiretty/!requiretty/' /etc/sudoers && \ - echo 'root:docker.io' | chpasswd - -# Enable (deprecated) RSA -RUN echo 'HostKeyAlgorithms +ssh-rsa' | tee -a /etc/ssh/sshd_config && \ - echo 'PubkeyAcceptedKeyTypes +ssh-rsa' | tee -a /etc/ssh/sshd_config - -# install core software for packaging and ssh communication -RUN echo -e "#!/bin/sh\nexit 101\n" > /usr/sbin/policy-rc.d && \ - apt-get -y install gdebi-core sshpass cron netcat net-tools iproute2 - -# install apt https transport so apt sources can be added that refernece https:// URLs -RUN apt-get -y install apt-transport-https ca-certificates - -# install netbase package (includes /etc/protocols and other files we rely on) -RUN apt-get -y install netbase - -RUN find /etc/systemd/system \ - /lib/systemd/system \ - -path '*.wants/*' \ - -not -name '*journald*' \ - -not -name '*systemd-tmpfiles*' \ - -not -name '*systemd-user-sessions*' \ - -exec rm \{} \; - -RUN systemctl set-default multi-user.target - -# The base Ubuntu 18.04 image contains a file that excludes all documentation -# from being installed by packages. Specifically /usr/share/doc/* -# This exclusion prevents our nginx config from being installed in the 'st2' package: -# /usr/share/doc/st2/conf/nginx/st2.conf -# This step removes the exclusion configuration so documentation of all future packages -# will be installed. -RUN rm -rf /etc/dpkg/dpkg.cfg.d/excludes +RUN /usr/local/bin/cmdtool install_download_tools -COPY setup.sh /sbin/ +RUN /usr/local/bin/cmdtool configure_testing_system RUN systemctl preset ssh; -# we can have ssh EXPOSE 22 VOLUME [ "/sys/fs/cgroup" ] diff --git a/packagingtest/noble/Dockerfile b/packagingtest/noble/Dockerfile index 5344402..73ab73f 100644 --- a/packagingtest/noble/Dockerfile +++ b/packagingtest/noble/Dockerfile @@ -17,6 +17,8 @@ RUN /usr/local/bin/cmdtool install_system_tools RUN /usr/local/bin/cmdtool install_locale ENV LANG=en_US.UTF-8 +RUN /usr/local/bin/cmdtool install_download_tools + RUN /usr/local/bin/cmdtool configure_testing_system RUN systemctl preset ssh; From 6dc2966e96ddabe68188d204d393ded191a82862 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 10 Mar 2026 14:04:12 +0100 Subject: [PATCH 4/6] Drop rocky8 --- packagingbuild/rockylinux8/Dockerfile | 99 -------------------- packagingtest/rockylinux8/Dockerfile | 127 -------------------------- 2 files changed, 226 deletions(-) delete mode 100644 packagingbuild/rockylinux8/Dockerfile delete mode 100644 packagingtest/rockylinux8/Dockerfile diff --git a/packagingbuild/rockylinux8/Dockerfile b/packagingbuild/rockylinux8/Dockerfile deleted file mode 100644 index 84ac869..0000000 --- a/packagingbuild/rockylinux8/Dockerfile +++ /dev/null @@ -1,99 +0,0 @@ -FROM rockylinux:8 - -# Download tools -RUN yum -y install \ - ca-certificates \ - curl \ - wget - -# System tools -RUN yum -y install \ - git \ - openssh - -# RedHat specific tools. -RUN yum install -y yum-utils \ - && dnf config-manager --enable powertools \ - && yum install -y epel-release \ - && yum -y install \ - ImageMagick \ - ImageMagick-devel \ - libyaml-devel \ - glibc-langpack-en \ - && dnf config-manager --disable powertools \ - && yum remove -y epel-release yum-utils - -# Build tools -RUN yum -y install \ - autoconf \ - automake \ - bzip2 \ - bzip2-devel \ - file \ - gcc \ - gcc-c++ \ - glib2-devel \ - glibc-devel \ - libcurl-devel \ - libevent-devel \ - libffi-devel \ - libjpeg-devel \ - libtool \ - libwebp-devel \ - libxml2-devel \ - libxslt-devel \ - make \ - mysql-devel \ - ncurses-devel \ - openssl-devel \ - patch \ - postgresql-devel \ - readline-devel \ - sqlite-devel \ - xz \ - xz-devel \ - zlib-devel - -# St2 package build debs -RUN yum -y install \ - openldap-devel - -# Enable remote pubkey access -RUN mkdir /root/.ssh && chmod 700 /root/.ssh && \ - echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone" >> /root/.ssh/authorized_keys - -# Create busybee credentials and make busybee pkey available for root -COPY busybee* /root/.ssh/ -RUN chmod 600 /root/.ssh/busybee - -RUN yum -y install openssh-server sudo && \ - ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key - -# 1. small fix for SSH in ubuntu 13.10 (that's harmless everywhere else) -# 2. permit root logins and set simple password password and pubkey -# 3. change requiretty to !requiretty in /etc/sudoers -RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' /etc/pam.d/sshd && \ - sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \ - sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \ - sed -ri 's/requiretty/!requiretty/' /etc/sudoers && \ - echo 'root:docker.io' | chpasswd - -RUN yum -y install nc net-tools - -# -# Buildenv is special environment for generating debian packages. It provides: -# - All needed pre-installed development packages -# - SSH access for build executor. -# - -# Install development tools and python3.8 for EL8 -RUN yum -y install python38 python38-devel rpmdevtools python3-virtualenv && \ - pip3.8 install virtualenv==20.30.0 pip==25.0.1 wheel setuptools - -RUN pip3.8 install requests[security] venvctrl --upgrade && rm -rf /root/.cache - -VOLUME ["/home/busybee/build"] -EXPOSE 22 - -# Run ssh daemon in foreground and wait for bees to connect. -CMD ["/usr/sbin/sshd", "-D"] diff --git a/packagingtest/rockylinux8/Dockerfile b/packagingtest/rockylinux8/Dockerfile deleted file mode 100644 index cac1495..0000000 --- a/packagingtest/rockylinux8/Dockerfile +++ /dev/null @@ -1,127 +0,0 @@ -FROM rockylinux:8 - -# Download tools -RUN yum -y install \ - ca-certificates \ - curl \ - wget - -RUN yum -y install \ - git \ - iproute \ - mercurial \ - openssh \ - procps \ - subversion \ - setup - -RUN yum install -y yum-utils \ - && dnf config-manager --enable powertools \ - && yum install -y epel-release \ - && yum -y install \ - ImageMagick \ - ImageMagick-devel \ - libyaml-devel \ - libffi-devel \ - glibc-langpack-en \ - && dnf config-manager --disable powertools \ - && yum remove -y epel-release yum-utils - -# Build tools -RUN yum -y install \ - autoconf \ - automake \ - bzip2 \ - bzip2-devel \ - file \ - gcc \ - gcc-c++ \ - glib2-devel \ - glibc-devel \ - libcurl-devel \ - libevent-devel \ - libjpeg-devel \ - libtool \ - libwebp-devel \ - libxml2-devel \ - libxslt-devel \ - make \ - mysql-devel \ - ncurses-devel \ - openssl-devel \ - patch \ - postgresql-devel \ - readline-devel \ - sqlite-devel \ - xz \ - xz-devel \ - zlib-devel \ - python38 \ - python38-devel \ - openssl-devel \ - pam \ - openssh-server \ - openssh-clients \ - setup \ - zip \ - unzip - - - -# St2 package build debs -RUN yum -y install \ - openldap-devel - -# Enable remote pubkey access -RUN mkdir /root/.ssh && chmod 700 /root/.ssh && \ - echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone" >> /root/.ssh/authorized_keys - -# Create busybee credentials and make busybee pkey available for root -COPY busybee* /root/.ssh/ -RUN chmod 600 /root/.ssh/busybee - -RUN yum -y install openssh-server sudo && \ - ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key - -# 1. small fix for SSH in ubuntu 13.10 (that's harmless everywhere else) -# 2. permit root logins and set simple password password and pubkey -# 3. change requiretty to !requiretty in /etc/sudoers -RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' /etc/pam.d/sshd && \ - sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \ - sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \ - sed -ri 's/requiretty/!requiretty/' /etc/sudoers && \ - echo 'root:docker.io' | chpasswd - -RUN yum -y install nc net-tools glibc-locale-source && \ - # -i: specify the locale definition file - # -f: specify the character set - localedef -i en_US -f UTF-8 en_US.UTF-8 - -ENV LANG=en_US.UTF-8 -ENV LANGUAGE=en_US:en -ENV LC_ALL=en_US.UTF-8 - -ENV container=docker - -RUN yum -y update; \ - yum -y install systemd; yum clean all - -RUN cd /lib/systemd/system/sysinit.target.wants/; ls -1 | grep -v systemd-tmpfiles-setup.service | xargs rm; \ - rm -f /etc/systemd/system/*.wants/*;\ - rm -f /lib/systemd/system/local-fs.target.wants/*; \ - rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ - rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ - rm -f /lib/systemd/system/basic.target.wants/*;\ - rm -f /lib/systemd/system/anaconda.target.wants/*;\ - systemctl preset sshd; - -# install doc files (/usr/share/docs) when installing yum packages -# otherwise /usr/share/docs/st2/conf/nginx/st2.conf won't be present -# https://github.com/docker-library/docs/tree/master/centos#package-documentation -RUN sed -i '/nodocs/d' /etc/yum.conf - -# we can have ssh -EXPOSE 22 - -VOLUME [ "/sys/fs/cgroup" ] -CMD [ "/usr/sbin/init" ] From cff7cf98cb32052773b6c2a332725b3579afb679 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 10 Mar 2026 21:19:53 +0100 Subject: [PATCH 5/6] Move rocky9 to restructured docker build. --- common/cmdtool | 156 +++++++++++++++++++------- packagingbuild/rockylinux9/Dockerfile | 90 ++------------- packagingtest/rockylinux9/Dockerfile | 122 ++------------------ 3 files changed, 134 insertions(+), 234 deletions(-) diff --git a/common/cmdtool b/common/cmdtool index 0d8cdf7..cad9da1 100644 --- a/common/cmdtool +++ b/common/cmdtool @@ -21,19 +21,21 @@ configure_base() { case "$TGT" in rocky*) - # RedHat specific tools. yum install -y yum-utils - dnf config-manager --enable powertools - yum install -y epel-release + dnf install -y dnf-plugin-config-manager + dnf config-manager --enable crb + dnf install -y epel-release PKGS=( ImageMagick ImageMagick-devel libyaml-devel glibc-langpack-en + mercurial ) - yum -y install ${PKGS[@]} - dnf config-manager --disable powertools - yum remove -y epel-release yum-utils + dnf -y install ${PKGS[@]} + dnf remove -y epel-release yum-utils + + dnf -y autoremove; dnf clean all ;; ubuntu*) # Make noninteractive setting permanent @@ -62,10 +64,13 @@ configure_sshkeys() case "$TGT" in rocky*) ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key + #EL9 enable RSA + update-crypto-policies --set DEFAULT:SHA1 ;; ubuntu*) - # noop - nothing to do. - true + # Enable (deprecated) RSA + echo 'HostKeyAlgorithms +ssh-rsa' >>/etc/ssh/sshd_config + echo 'PubkeyAcceptedKeyTypes +ssh-rsa' >>/etc/ssh/sshd_config ;; *) distro_unsupported @@ -78,21 +83,38 @@ configure_sshkeys() sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config sed -ri 's/requiretty/!requiretty/' /etc/sudoers echo 'root:docker.io' | chpasswd - # Enable (deprecated) RSA - echo 'HostKeyAlgorithms +ssh-rsa' >>/etc/ssh/sshd_config - echo 'PubkeyAcceptedKeyTypes +ssh-rsa' >>/etc/ssh/sshd_config mkdir /var/run/sshd } install_locale() { - # install locales package and set default locale to - # 'UTF-8' for the test execution environment. - apt-get -y install locales - locale-gen en_US.UTF-8 - dpkg-reconfigure locales - update-locale LANG=en_US.UTF-8 + case "$TGT" in + rocky*) + PKGS=( + nc + net-tools + glibc-locale-source + ) + dnf -y install ${PKGS[@]} + dnf -y autoremove; dnf clean all + + # -i: specify the locale definition file + # -f: specify the character set + localedef -i en_US -f UTF-8 en_US.UTF-8 + ;; + ubuntu*) + # install locales package and set default locale to + # 'UTF-8' for the test execution environment. + apt-get -y install locales + locale-gen en_US.UTF-8 + dpkg-reconfigure locales + update-locale LANG=en_US.UTF-8 + ;; + *) + distro_unsupported + ;; + esac } install_download_tools() @@ -101,13 +123,18 @@ install_download_tools() rocky*) PKGS=( ca-certificates - curl - wget + iproute nc - iproute2 net-tools + procps + setup + subversion + wget ) dnf -y install ${PKGS[@]} + # work around package manager confusion when installing curl. + dnf -y --allowerasing install curl + dnf -y autoremove; dnf clean all ;; ubuntu*) PKGS=( @@ -134,24 +161,48 @@ install_download_tools() configure_testing_system() { - # Not sure why this is required. - find /etc/systemd/system \ - /lib/systemd/system \ - -path '*.wants/*' \ - -not -name '*journald*' \ - -not -name '*systemd-tmpfiles*' \ - -not -name '*systemd-user-sessions*' \ - -exec rm \{} \; + case "$TGT" in + rocky*) + cd /lib/systemd/system/sysinit.target.wants/ + ls -1 | grep -v systemd-tmpfiles-setup.service | xargs rm + rm -f /etc/systemd/system/*.wants/* + rm -f /lib/systemd/system/local-fs.target.wants/* + rm -f /lib/systemd/system/sockets.target.wants/*udev* + rm -f /lib/systemd/system/sockets.target.wants/*initctl* + rm -f /lib/systemd/system/basic.target.wants/* + rm -f /lib/systemd/system/anaconda.target.wants/* + systemctl preset sshd + + # install doc files (/usr/share/docs) when installing yum packages + # otherwise /usr/share/docs/st2/conf/nginx/st2.conf won't be present + # https://github.com/docker-library/docs/tree/master/centos#package-documentation + sed -i '/nodocs/d' /etc/yum.conf + ;; + ubuntu*) + # TO DO: This may be a pre-systemd relica. + find /etc/systemd/system \ + /lib/systemd/system \ + -path '*.wants/*' \ + -not -name '*journald*' \ + -not -name '*systemd-tmpfiles*' \ + -not -name '*systemd-user-sessions*' \ + -exec rm \{} \; - systemctl set-default multi-user.target + systemctl set-default multi-user.target - # The base Ubuntu 18.04 image contains a file that excludes all documentation - # from being installed by packages. Specifically /usr/share/doc/* - # This exclusion prevents our nginx config from being installed in the 'st2' package: - # /usr/share/doc/st2/conf/nginx/st2.conf - # This step removes the exclusion configuration so documentation of all future packages - # will be installed. - rm -rf /etc/dpkg/dpkg.cfg.d/excludes + # The base Ubuntu 18.04 image contains a file that excludes + # all documentation from being installed by packages. + # Specifically /usr/share/doc/* This exclusion prevents our + # nginx config from being installed in the 'st2' package: + # /usr/share/doc/st2/conf/nginx/st2.conf + # This step removes the exclusion configuration so + # documentation of all future packages will be installed. + rm -rf /etc/dpkg/dpkg.cfg.d/excludes + ;; + *) + distro_unsupported + ;; + esac } install_system_tools() @@ -161,9 +212,11 @@ install_system_tools() PKGS=( git openssh-server + openssh-clients sudo ) dnf -y install ${PKGS[@]} + dnf -y autoremove; dnf clean all ;; ubuntu*) PKGS=( @@ -208,15 +261,33 @@ install_build_dependencies() mysql-devel ncurses-devel openssl-devel + pam patch postgresql-devel readline-devel sqlite-devel + unzip xz xz-devel + zip zlib-devel ) dnf -y install ${PKGS[@]} + dnf -y autoremove; dnf clean all + case "$TGT" in + rocky-9*) + PKGS=( + python39 + python3-devel + ) + dnf -y install ${PKGS[@]} + dnf -y autoremove; dnf clean all + ;; + *) + echo "Unsupported Redhat compatible version." + exit 1 + ;; + esac ;; ubuntu*) PKGS=( @@ -259,6 +330,7 @@ install_st2_build_dependencies() openldap-devel ) dnf -y install ${PKGS[@]} + dnf -y autoremove; dnf clean all ;; ubuntu*) PKGS=( @@ -283,22 +355,20 @@ install_python() case "$TGT" in rocky*) PKGS=( - python38 - python38-devel + python3 + python3-devel rpmdevtools - python3-virtualenv ) dnf -y install ${PKGS[@]} - # Install development tools and python3.8 for EL8 + dnf -y autoremove; dnf clean all + PYPKGS=( "virtualenv==20.30.0" "pip==25.0.1" wheel setuptools - "requests[security]" - venvctrl ) - pip3.8 install --upgrade ${PYPKGS[@]} + pip3 install --upgrade ${PYPKGS[@]} rm -rf /root/.cache ;; ubuntu*) diff --git a/packagingbuild/rockylinux9/Dockerfile b/packagingbuild/rockylinux9/Dockerfile index f5778b3..a9efab2 100644 --- a/packagingbuild/rockylinux9/Dockerfile +++ b/packagingbuild/rockylinux9/Dockerfile @@ -1,92 +1,20 @@ FROM rockylinux:9 -# Download tools -RUN yum -y install \ - ca-certificates \ - wget +# Install helper command tool +COPY common/cmdtool /usr/local/bin +COPY common/busybee* /tmp +RUN chmod +x /usr/local/bin/cmdtool -RUN yum -y install \ - git \ - openssh -RUN yum install -y yum-utils \ - && dnf install -y dnf-plugin-config-manager \ - && dnf config-manager --enable crb \ - && dnf install -y epel-release \ - && dnf -y install \ - ImageMagick \ - ImageMagick-devel \ - libyaml-devel \ - glibc-langpack-en \ - && dnf remove -y epel-release yum-utils +RUN /usr/local/bin/cmdtool install_download_tools -# Build tools -RUN dnf -y install \ - autoconf \ - automake \ - bzip2 \ - bzip2-devel \ - file \ - gcc \ - gcc-c++ \ - glib2-devel \ - glibc-devel \ - libcurl-devel \ - libevent-devel \ - libffi-devel \ - libjpeg-devel \ - libtool \ - libwebp-devel \ - libxml2-devel \ - libxslt-devel \ - make \ - mysql-devel \ - ncurses-devel \ - openssl-devel \ - patch \ - postgresql-devel \ - readline-devel \ - sqlite-devel \ - xz \ - xz-devel \ - zlib-devel +RUN /usr/local/bin/cmdtool install_system_tools -# St2 package build debs -RUN dnf -y install \ - openldap-devel +RUN /usr/local/bin/cmdtool configure_base -# Create busybee credentials and make busybee pkey available for root -RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh -COPY ../common/busybee* /root/.ssh/ -RUN chmod 600 /root/.ssh/busybee && \ - cat root/.ssh/busybee.pub >>/root/.ssh/authorized_keys +RUN /usr/local/bin/cmdtool install_build_dependencies -RUN yum -y install openssh-server sudo && \ - ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key - -# 1. permit root logins and set simple password password and pubkey -# 2. change requiretty to !requiretty in /etc/sudoers -RUN sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \ - sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \ - sed -ri 's/requiretty/!requiretty/' /etc/sudoers && \ - echo "root:${ROOT_PW}" | chpasswd - -RUN dnf -y install nc net-tools - -#EL9 enable RSA -RUN update-crypto-policies --set DEFAULT:SHA1 - -# -# Buildenv is special environment for generating debian packages. It provides: -# - All needed pre-installed development packages -# - SSH access for build executor. -# - -# Install development tools and python3 for EL9 -RUN dnf -y install python3 python3-devel rpmdevtools && \ - pip3 install virtualenv==20.30.0 pip==25.0.1 wheel setuptools - -RUN rm -rf /root/.cache +RUN /usr/local/bin/cmdtool install_st2_build_dependencies VOLUME ["/home/busybee/build"] EXPOSE 22 diff --git a/packagingtest/rockylinux9/Dockerfile b/packagingtest/rockylinux9/Dockerfile index 9580335..fc23bca 100644 --- a/packagingtest/rockylinux9/Dockerfile +++ b/packagingtest/rockylinux9/Dockerfile @@ -1,128 +1,30 @@ FROM rockylinux:9 -# Download tools -RUN yum -y install \ - ca-certificates \ - wget - -RUN yum -y install \ - git \ - iproute \ - openssh \ - procps \ - subversion \ - setup - -RUN yum install -y yum-utils \ - && dnf install -y dnf-plugin-config-manager \ - && dnf config-manager --enable crb \ - && yum install -y epel-release \ - && yum -y install \ - mercurial \ - ImageMagick \ - ImageMagick-devel \ - libyaml-devel \ - libffi-devel \ - glibc-langpack-en \ - && yum remove -y epel-release yum-utils - -# Build tools -RUN yum -y install \ - autoconf \ - automake \ - bzip2 \ - bzip2-devel \ - file \ - gcc \ - gcc-c++ \ - glib2-devel \ - glibc-devel \ - libcurl-devel \ - libevent-devel \ - libjpeg-devel \ - libtool \ - libwebp-devel \ - libxml2-devel \ - libxslt-devel \ - make \ - mysql-devel \ - ncurses-devel \ - openssl-devel \ - patch \ - postgresql-devel \ - readline-devel \ - sqlite-devel \ - xz \ - xz-devel \ - zlib-devel \ - python39 \ - python3-devel \ - openssl-devel \ - pam \ - openssh-server \ - openssh-clients \ - setup \ - zip \ - unzip - - +ENV container=docker -# St2 package build debs -RUN yum -y install \ - openldap-devel +# Install helper command tool +COPY common/cmdtool /usr/local/bin +COPY common/busybee* /tmp +RUN chmod +x /usr/local/bin/cmdtool -# Enable remote pubkey access -RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh && \ - echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdCmmPjsOBWRXc+PKdgDRrsciNjp25zTacyz8Gdkln2ma046brOYXAphhp/85DKgHtANBBt3cl4+HnpDbmAfyq2qZT7hWzAbMxtq0Sj+yyFyUdreXoe4gEKyxpV6o8p/R/XzEcawvqX/vFc5EIFmvTdamxZs9DQmOE5AZMzUB18Kerkrb0/arUcZ8iMi9Ng9a18avow+7oUFZ6Oub7ISz/dkIRojaKO/2paJZ4p+v7ZLn7Hq8TUeBkgAlx872oh8J8linhIq17zK6x4MGL8qiurp2hnfe0cuCxwcsYGy+4DfK51+E2vks6FprCIfF5hIdz26euPn67/YpM0F0b5nXF busybee@drone" >> /root/.ssh/authorized_keys +RUN /usr/local/bin/cmdtool install_download_tools -# Create busybee credentials and make busybee pkey available for root -COPY busybee* /root/.ssh/ -RUN chmod 600 /root/.ssh/busybee +RUN /usr/local/bin/cmdtool configure_base -RUN yum -y install openssh-server sudo && \ - ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key +RUN /usr/local/bin/cmdtool install_build_dependencies -# 1. small fix for SSH in ubuntu 13.10 (that's harmless everywhere else) -# 2. permit root logins and set simple password password and pubkey -# 3. change requiretty to !requiretty in /etc/sudoers -RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' /etc/pam.d/sshd && \ - sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \ - sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \ - sed -ri 's/requiretty/!requiretty/' /etc/sudoers && \ - echo 'root:docker.io' | chpasswd +RUN /usr/local/bin/cmdtool install_st2_build_dependencies -RUN yum -y install nc net-tools glibc-locale-source && \ - # -i: specify the locale definition file - # -f: specify the character set - localedef -i en_US -f UTF-8 en_US.UTF-8 +RUN /usr/local/bin/cmdtool install_system_tools -#EL9 enable RSA -RUN update-crypto-policies --set DEFAULT:SHA1 +RUN /usr/local/bin/cmdtool install_locale ENV LANG=en_US.UTF-8 ENV LANGUAGE=en_US:en ENV LC_ALL=en_US.UTF-8 -ENV container=docker - -RUN yum -y update; \ - yum -y install systemd; yum clean all - -RUN cd /lib/systemd/system/sysinit.target.wants/; ls -1 | grep -v systemd-tmpfiles-setup.service | xargs rm; \ - rm -f /etc/systemd/system/*.wants/*;\ - rm -f /lib/systemd/system/local-fs.target.wants/*; \ - rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ - rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ - rm -f /lib/systemd/system/basic.target.wants/*;\ - rm -f /lib/systemd/system/anaconda.target.wants/*;\ - systemctl preset sshd; - -# install doc files (/usr/share/docs) when installing yum packages -# otherwise /usr/share/docs/st2/conf/nginx/st2.conf won't be present -# https://github.com/docker-library/docs/tree/master/centos#package-documentation -RUN sed -i '/nodocs/d' /etc/yum.conf +RUN /usr/local/bin/cmdtool configure_testing_system -# we can have ssh EXPOSE 22 VOLUME [ "/sys/fs/cgroup" ] From a69aa5990e5ebc2010a56bd17e771e92d5138d14 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 11 Mar 2026 12:24:30 +0100 Subject: [PATCH 6/6] Typo and warning added to help message. --- build_image | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build_image b/build_image index 1744fb9..8c55f3f 100755 --- a/build_image +++ b/build_image @@ -4,7 +4,7 @@ set -e +x -o pipefail function bootstrap_docker() { - usdo apt-get update --quiet --quiet + sudo apt-get update --quiet --quiet sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common jq export CODENAME=$(source /etc/os-release && echo "$VERSION_CODENAME") @@ -48,7 +48,7 @@ function usage() Usage $0 bootstrap - Configure the system with the Docker repository and - install Docker CE and Docker Compose packages. + install Docker CE and Docker Compose packages. (Ubuntu only) build [distro] - Build the Docker images for the given distro codename. Builds all distros when no codename provided.