From 846f1aa6cdd0ca79d3e03b279521aeb4206eb993 Mon Sep 17 00:00:00 2001 From: Jacquin Antoine Date: Sat, 28 Feb 2026 20:50:36 +0100 Subject: [PATCH] refactor: drop CentOS 7 support, keep Rocky Linux 8/9 only - CentOS 7 is EOL with inaccessible repositories (vault.centos.org) - SCL and IUS repositories no longer working for CentOS 7 - Rocky Linux 8/9 remain fully supported and maintained Co-authored-by: Qwen-Coder --- Dockerfile.package | 79 +++------------------------------------------- build.sh | 10 ++---- 2 files changed, 6 insertions(+), 83 deletions(-) diff --git a/Dockerfile.package b/Dockerfile.package index 33ea0b4..a568959 100644 --- a/Dockerfile.package +++ b/Dockerfile.package @@ -31,77 +31,7 @@ RUN mkdir -p dist && \ ./cmd/logcorrelator # ============================================================================= -# Stage 2: RPM Package builder for CentOS 7 -# ============================================================================= -FROM centos:centos7 AS rpm-centos7-builder - -WORKDIR /package - -# CentOS 7 is EOL - configure vault.centos.org repositories -RUN sed -i 's|mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/*.repo && \ - sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/*.repo - -# Install RPM build tools and fpm -# CentOS 7 has Ruby 2.0 by default, so we use Ruby 2.5 from SCL -# First configure vault.centos.org for EOL CentOS 7 -RUN sed -i 's|mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/*.repo && \ - sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/*.repo && \ - yum install -y epel-release && \ - yum install -y centos-release-scl && \ - sed -i 's|mirror.centos.org|vault.centos.org|g' /etc/yum.repos.d/*-scl*.repo && \ - yum install -y ruby25 ruby25-ruby-devel ruby25-rubygems rpm-build gcc make && \ - scl enable ruby25 'gem install fpm -v 1.11.0 --no-document' && \ - yum clean all - -# Copy binary from builder -COPY --from=builder /build/dist/logcorrelator /tmp/pkgroot/usr/bin/logcorrelator -COPY --from=builder /build/config.example.yml /tmp/pkgroot/etc/logcorrelator/logcorrelator.yml -COPY --from=builder /build/config.example.yml /tmp/pkgroot/usr/share/logcorrelator/logcorrelator.yml.example -COPY --from=builder /build/logcorrelator.service /tmp/pkgroot/etc/systemd/system/logcorrelator.service -COPY packaging/rpm/post /tmp/scripts/post -COPY packaging/rpm/preun /tmp/scripts/preun -COPY packaging/rpm/postun /tmp/scripts/postun - -# Create directories and set permissions -RUN mkdir -p /tmp/pkgroot/var/log/logcorrelator && \ - mkdir -p /tmp/pkgroot/var/run/logcorrelator && \ - mkdir -p /tmp/pkgroot/var/lib/logcorrelator && \ - chmod 755 /tmp/pkgroot/usr/bin/logcorrelator && \ - chmod 640 /tmp/pkgroot/etc/logcorrelator/logcorrelator.yml && \ - chmod 640 /tmp/pkgroot/usr/share/logcorrelator/logcorrelator.yml.example && \ - chmod 644 /tmp/pkgroot/etc/systemd/system/logcorrelator.service && \ - chmod 755 /tmp/scripts/* && \ - chmod 755 /tmp/pkgroot/var/log/logcorrelator && \ - chmod 755 /tmp/pkgroot/var/run/logcorrelator - -# Build RPM for CentOS 7 -ARG VERSION=1.0.0 -RUN mkdir -p /packages/rpm/centos7 && \ - scl enable ruby25 'fpm -s dir -t rpm \ - -n logcorrelator \ - -v "${VERSION}" \ - -C /tmp/pkgroot \ - --architecture "x86_64" \ - --rpm-os linux \ - --description "Log correlation service for HTTP and network events" \ - --url "https://github.com/logcorrelator/logcorrelator" \ - --license "MIT" \ - --vendor "logcorrelator " \ - --rpm-dist el7 \ - --depends "systemd" \ - --after-install /tmp/scripts/post \ - --before-remove /tmp/scripts/preun \ - --after-remove /tmp/scripts/postun \ - -p /packages/rpm/centos7/logcorrelator-${VERSION}-1.el7.x86_64.rpm \ - usr/bin/logcorrelator \ - etc/logcorrelator/logcorrelator.yml \ - usr/share/logcorrelator/logcorrelator.yml.example \ - var/log/logcorrelator \ - var/run/logcorrelator \ - etc/systemd/system/logcorrelator.service' - -# ============================================================================= -# Stage 3: RPM Package builder for Rocky Linux 8 +# Stage 2: RPM Package builder for Rocky Linux 8 # ============================================================================= FROM rockylinux:8 AS rpm-rocky8-builder @@ -161,7 +91,7 @@ RUN mkdir -p /packages/rpm/rocky8 && \ etc/systemd/system/logcorrelator.service # ============================================================================= -# Stage 4: RPM Package builder for Rocky Linux 9 +# Stage 3: RPM Package builder for Rocky Linux 9 # ============================================================================= FROM rockylinux:9 AS rpm-rocky9-builder @@ -221,13 +151,12 @@ RUN mkdir -p /packages/rpm/rocky9 && \ etc/systemd/system/logcorrelator.service # ============================================================================= -# Stage 5: Output - Image finale avec les packages RPM +# Stage 4: Output - Image finale avec les packages RPM # ============================================================================= FROM alpine:latest AS output WORKDIR /packages -COPY --from=rpm-centos7-builder /packages/rpm/centos7/*.rpm /packages/rpm/centos7/ COPY --from=rpm-rocky8-builder /packages/rpm/rocky8/*.rpm /packages/rpm/rocky8/ COPY --from=rpm-rocky9-builder /packages/rpm/rocky9/*.rpm /packages/rpm/rocky9/ -CMD ["sh", "-c", "echo '=== RPM CentOS 7 ===' && ls -la /packages/rpm/centos7/ && echo '' && echo '=== RPM Rocky Linux 8 ===' && ls -la /packages/rpm/rocky8/ && echo '' && echo '=== RPM Rocky Linux 9 ===' && ls -la /packages/rpm/rocky9/'"] +CMD ["sh", "-c", "echo '=== RPM Rocky Linux 8 ===' && ls -la /packages/rpm/rocky8/ && echo '' && echo '=== RPM Rocky Linux 9 ===' && ls -la /packages/rpm/rocky9/'"] diff --git a/build.sh b/build.sh index 1465da2..db52954 100755 --- a/build.sh +++ b/build.sh @@ -41,9 +41,9 @@ docker build \ # Extract packages from builder container echo "[4/4] Extracting packages..." -mkdir -p "${OUTPUT_DIR}/rpm/centos7" "${OUTPUT_DIR}/rpm/rocky8" "${OUTPUT_DIR}/rpm/rocky9" +mkdir -p "${OUTPUT_DIR}/rpm/rocky8" "${OUTPUT_DIR}/rpm/rocky9" docker run --rm -v "${OUTPUT_DIR}:/output" logcorrelator-packager:latest \ - sh -c 'cp -r /packages/rpm/centos7 /output/rpm/ && cp -r /packages/rpm/rocky8 /output/rpm/ && cp -r /packages/rpm/rocky9 /output/rpm/' + sh -c 'cp -r /packages/rpm/rocky8 /output/rpm/ && cp -r /packages/rpm/rocky9 /output/rpm/' echo "" echo "==============================================" @@ -52,7 +52,6 @@ echo "==============================================" echo "" echo "Artifacts:" echo " - Runtime image: logcorrelator:${VERSION}" -echo " - RPM CentOS 7: ${OUTPUT_DIR}/rpm/centos7/logcorrelator-${VERSION}-1.el7.x86_64.rpm" echo " - RPM Rocky 8: ${OUTPUT_DIR}/rpm/rocky8/logcorrelator-${VERSION}-1.el8.x86_64.rpm" echo " - RPM Rocky 9: ${OUTPUT_DIR}/rpm/rocky9/logcorrelator-${VERSION}-1.el9.x86_64.rpm" echo "" @@ -64,11 +63,6 @@ echo " -v /var/log/logcorrelator:/var/log/logcorrelator \\" echo " -v ./config.yml:/etc/logcorrelator/logcorrelator.yml \\" echo " logcorrelator:latest" echo "" -echo " # Install RPM on CentOS 7:" -echo " sudo yum install -y ${OUTPUT_DIR}/rpm/centos7/logcorrelator-${VERSION}-1.el7.x86_64.rpm" -echo " sudo systemctl enable logcorrelator" -echo " sudo systemctl start logcorrelator" -echo "" echo " # Install RPM on Rocky Linux 8/9:" echo " sudo dnf install -y ${OUTPUT_DIR}/rpm/rocky8/logcorrelator-${VERSION}-1.el8.x86_64.rpm" echo " sudo dnf install -y ${OUTPUT_DIR}/rpm/rocky9/logcorrelator-${VERSION}-1.el9.x86_64.rpm"