From 23e975a4f9c72a5ef453b33346e52ec188303b82 Mon Sep 17 00:00:00 2001 From: Joseph Ferguson Date: Fri, 24 Apr 2026 11:02:21 -0700 Subject: [PATCH] Remove EOL 3.1 --- 3.1/Dockerfile | 111 -------------------------------- 3.1/alpine/Dockerfile | 104 ------------------------------ 3.1/alpine/docker-entrypoint.sh | 17 ----- 3.1/docker-entrypoint.sh | 17 ----- Dockerfile.template | 2 +- versions.json | 7 -- 6 files changed, 1 insertion(+), 257 deletions(-) delete mode 100644 3.1/Dockerfile delete mode 100644 3.1/alpine/Dockerfile delete mode 100755 3.1/alpine/docker-entrypoint.sh delete mode 100755 3.1/docker-entrypoint.sh diff --git a/3.1/Dockerfile b/3.1/Dockerfile deleted file mode 100644 index 439303f0..00000000 --- a/3.1/Dockerfile +++ /dev/null @@ -1,111 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:trixie-slim - -# runtime dependencies -RUN set -eux; \ - apt-get install --update -y --no-install-recommends \ -# @system-ca: https://github.com/docker-library/haproxy/pull/216 - ca-certificates \ -# https://github.com/docker-library/haproxy/issues/59#issuecomment-3418639873 - socat \ - ; \ - apt-get dist-clean - -# roughly, https://salsa.debian.org/haproxy-team/haproxy/-/blob/732b97ae286906dea19ab5744cf9cf97c364ac1d/debian/haproxy.postinst#L5-6 -RUN set -eux; \ - groupadd --gid 99 --system haproxy; \ - useradd \ - --gid haproxy \ - --home-dir /var/lib/haproxy \ - --no-create-home \ - --system \ - --uid 99 \ - haproxy \ - ; \ - mkdir /var/lib/haproxy; \ - chown haproxy:haproxy /var/lib/haproxy - -ENV HAPROXY_VERSION 3.1.17 -ENV HAPROXY_URL https://www.haproxy.org/download/3.1/src/haproxy-3.1.17.tar.gz -ENV HAPROXY_SHA256 5f875a297032bb68f100363d034574694313a59fc5b699adf647063bbfe5e7a7 - -# see https://sources.debian.net/src/haproxy/jessie/debian/rules/ for some helpful navigation of the possible "make" arguments -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get install --update -y --no-install-recommends \ - gcc \ - libc6-dev \ - liblua5.4-dev \ - libpcre2-dev \ - libssl-dev \ - make \ - wget \ - ; \ - \ - wget -O haproxy.tar.gz "$HAPROXY_URL"; \ - echo "$HAPROXY_SHA256 *haproxy.tar.gz" | sha256sum -c; \ - mkdir -p /usr/src/haproxy; \ - tar -xzf haproxy.tar.gz -C /usr/src/haproxy --strip-components=1; \ - rm haproxy.tar.gz; \ - \ - makeOpts=' \ - TARGET=linux-glibc \ - USE_GETADDRINFO=1 \ - USE_LUA=1 LUA_INC=/usr/include/lua5.4 \ - USE_OPENSSL=1 \ - USE_PCRE2=1 USE_PCRE2_JIT=1 \ - USE_PROMEX=1 \ - # https://github.com/haproxy/haproxy/blob/a203ce685464988afbd92c8a376fcafae9bab5b5/INSTALL#L368-L373 - USE_PTHREAD_EMULATION=1 \ - '; \ -# https://salsa.debian.org/haproxy-team/haproxy/-/commit/53988af3d006ebcbf2c941e34121859fd6379c70 - dpkgArch="$(dpkg --print-architecture)"; \ - case "$dpkgArch" in \ - armel) makeOpts="$makeOpts ADDLIB=-latomic" ;; \ - esac; \ - \ - nproc="$(nproc)"; \ - eval "make -C /usr/src/haproxy -j '$nproc' all $makeOpts"; \ - eval "make -C /usr/src/haproxy install-bin $makeOpts"; \ - \ - mkdir -p /usr/local/etc/haproxy; \ - cp -R /usr/src/haproxy/examples/errorfiles /usr/local/etc/haproxy/errors; \ - rm -rf /usr/src/haproxy; \ - \ - apt-mark auto '.*' > /dev/null; \ - [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \ - find /usr/local -type f -executable -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - apt-get dist-clean; \ - \ -# smoke test - haproxy -v - -# https://www.haproxy.org/download/1.8/doc/management.txt -# "4. Stopping and restarting HAProxy" -# "when the SIGTERM signal is sent to the haproxy process, it immediately quits and all established connections are closed" -# "graceful stop is triggered when the SIGUSR1 signal is sent to the haproxy process" -STOPSIGNAL SIGUSR1 - -COPY docker-entrypoint.sh /usr/local/bin/ -ENTRYPOINT ["docker-entrypoint.sh"] - -USER haproxy - -# https://github.com/docker-library/haproxy/issues/200 -WORKDIR /var/lib/haproxy - -CMD ["haproxy", "-f", "/usr/local/etc/haproxy/haproxy.cfg"] diff --git a/3.1/alpine/Dockerfile b/3.1/alpine/Dockerfile deleted file mode 100644 index dd211285..00000000 --- a/3.1/alpine/Dockerfile +++ /dev/null @@ -1,104 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.23 - -# runtime dependencies -RUN set -eux; \ - apk add --no-cache \ -# @system-ca: https://github.com/docker-library/haproxy/pull/216 - ca-certificates \ -# https://github.com/docker-library/haproxy/issues/59#issuecomment-3418639873 - socat \ - ; - -# roughly, https://git.alpinelinux.org/aports/tree/main/haproxy/haproxy.pre-install?h=3.12-stable -RUN set -eux; \ - addgroup --gid 99 --system haproxy; \ - adduser \ - --disabled-password \ - --home /var/lib/haproxy \ - --ingroup haproxy \ - --no-create-home \ - --system \ - --uid 99 \ - haproxy \ - ; \ - mkdir /var/lib/haproxy; \ - chown haproxy:haproxy /var/lib/haproxy - -ENV HAPROXY_VERSION 3.1.17 -ENV HAPROXY_URL https://www.haproxy.org/download/3.1/src/haproxy-3.1.17.tar.gz -ENV HAPROXY_SHA256 5f875a297032bb68f100363d034574694313a59fc5b699adf647063bbfe5e7a7 - -# see https://sources.debian.net/src/haproxy/jessie/debian/rules/ for some helpful navigation of the possible "make" arguments -RUN set -eux; \ - \ - apk add --no-cache --virtual .build-deps \ - gcc \ - libc-dev \ - linux-headers \ - lua5.4-dev \ - make \ - openssl \ - openssl-dev \ - pcre2-dev \ - readline-dev \ - tar \ - ; \ - \ - wget -O haproxy.tar.gz "$HAPROXY_URL"; \ - echo "$HAPROXY_SHA256 *haproxy.tar.gz" | sha256sum -c; \ - mkdir -p /usr/src/haproxy; \ - tar -xzf haproxy.tar.gz -C /usr/src/haproxy --strip-components=1; \ - rm haproxy.tar.gz; \ - \ - makeOpts=' \ - TARGET=linux-musl \ - USE_GETADDRINFO=1 \ - USE_LUA=1 LUA_INC=/usr/include/lua5.4 LUA_LIB=/usr/lib/lua5.4 \ - USE_OPENSSL=1 \ - USE_PCRE2=1 USE_PCRE2_JIT=1 \ - USE_PROMEX=1 \ - # https://github.com/haproxy/haproxy/blob/a203ce685464988afbd92c8a376fcafae9bab5b5/INSTALL#L368-L373 - USE_PTHREAD_EMULATION=1 \ - '; \ - \ - nproc="$(getconf _NPROCESSORS_ONLN)"; \ - eval "make -C /usr/src/haproxy -j '$nproc' all $makeOpts"; \ - eval "make -C /usr/src/haproxy install-bin $makeOpts"; \ - \ - mkdir -p /usr/local/etc/haproxy; \ - cp -R /usr/src/haproxy/examples/errorfiles /usr/local/etc/haproxy/errors; \ - rm -rf /usr/src/haproxy; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .haproxy-rundeps $runDeps; \ - apk del --no-network .build-deps; \ - \ -# smoke test - haproxy -v - -# https://www.haproxy.org/download/1.8/doc/management.txt -# "4. Stopping and restarting HAProxy" -# "when the SIGTERM signal is sent to the haproxy process, it immediately quits and all established connections are closed" -# "graceful stop is triggered when the SIGUSR1 signal is sent to the haproxy process" -STOPSIGNAL SIGUSR1 - -COPY docker-entrypoint.sh /usr/local/bin/ -ENTRYPOINT ["docker-entrypoint.sh"] - -USER haproxy - -# https://github.com/docker-library/haproxy/issues/200 -WORKDIR /var/lib/haproxy - -CMD ["haproxy", "-f", "/usr/local/etc/haproxy/haproxy.cfg"] diff --git a/3.1/alpine/docker-entrypoint.sh b/3.1/alpine/docker-entrypoint.sh deleted file mode 100755 index 8b2093b0..00000000 --- a/3.1/alpine/docker-entrypoint.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -set -e - -# first arg is `-f` or `--some-option` -if [ "${1#-}" != "$1" ]; then - set -- haproxy "$@" -fi - -if [ "$1" = 'haproxy' ]; then - shift # "haproxy" - # if the user wants "haproxy", let's add a couple useful flags - # -W -- "master-worker mode" (similar to the old "haproxy-systemd-wrapper"; allows for reload via "SIGUSR2") - # -db -- disables background mode - set -- haproxy -W -db "$@" -fi - -exec "$@" diff --git a/3.1/docker-entrypoint.sh b/3.1/docker-entrypoint.sh deleted file mode 100755 index 8b2093b0..00000000 --- a/3.1/docker-entrypoint.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -set -e - -# first arg is `-f` or `--some-option` -if [ "${1#-}" != "$1" ]; then - set -- haproxy "$@" -fi - -if [ "$1" = 'haproxy' ]; then - shift # "haproxy" - # if the user wants "haproxy", let's add a couple useful flags - # -W -- "master-worker mode" (similar to the old "haproxy-systemd-wrapper"; allows for reload via "SIGUSR2") - # -db -- disables background mode - set -- haproxy -W -db "$@" -fi - -exec "$@" diff --git a/Dockerfile.template b/Dockerfile.template index 341bd8d9..771846e9 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -121,7 +121,7 @@ RUN set -eux; \ USE_PROMEX=1 \ # https://github.com/haproxy/haproxy/blob/a203ce685464988afbd92c8a376fcafae9bab5b5/INSTALL#L368-L373 USE_PTHREAD_EMULATION=1 \ -{{ if env.version | IN("2.4", "2.6", "2.8", "3.0", "3.1") then "" else ( -}} +{{ if env.version | IN("2.4", "2.6", "2.8", "3.0") then "" else ( -}} # https://www.haproxy.com/blog/announcing-haproxy-3-2#quic-protocol # [in 3.2] QUIC TLS API was ported to OpenSSL 3.5 # Openssl 3.5+ is available on Debian Trixie and Alpine 3.22 and newer diff --git a/versions.json b/versions.json index aaf77dc0..5e7fd501 100644 --- a/versions.json +++ b/versions.json @@ -27,13 +27,6 @@ "url": "https://www.haproxy.org/download/3.0/src/haproxy-3.0.20.tar.gz", "version": "3.0.20" }, - "3.1": { - "alpine": "3.23", - "debian": "trixie-slim", - "sha256": "5f875a297032bb68f100363d034574694313a59fc5b699adf647063bbfe5e7a7", - "url": "https://www.haproxy.org/download/3.1/src/haproxy-3.1.17.tar.gz", - "version": "3.1.17" - }, "3.2": { "alpine": "3.23", "debian": "trixie-slim",