Skip to content

Add Debian and UBI image flavours#4

Open
pascal-zarrad wants to merge 2 commits into
feature/log-file-endingsfrom
feature/image-flavours
Open

Add Debian and UBI image flavours#4
pascal-zarrad wants to merge 2 commits into
feature/log-file-endingsfrom
feature/image-flavours

Conversation

@pascal-zarrad

Copy link
Copy Markdown
Member

Description

This pull request introduces multi-flavour support for the logrotate container, adding dedicated builds and CI/CD pipelines for Alpine, Debian, and UBI (Red Hat) base images. The CI/CD workflows and documentation are updated to reflect this, and the E2E test runner is enhanced to test all flavours. The most important changes are outlined below.


Containerization: Multi-flavour support

  • Added three new Dockerfiles: Containerfile.alpine, Containerfile.debian, and Containerfile.ubi, each tailored to their respective base images and package managers. This enables building images for Alpine, Debian, and UBI (Red Hat) distributions. [1] [2] [3]
  • Updated .dockerignore to include new build and documentation files, ensuring cleaner build contexts.

CI/CD and Build Pipeline Updates

  • Refactored build_edge.yml and build_production.yml workflows to build and tag images for all three flavours using a matrix strategy, and to apply appropriate tag suffixes (-debian, -ubi, or none for Alpine). [1] [2] [3] [4]
  • Enhanced the e2e.yml workflow to run E2E tests for each flavour, ensuring all variants are tested in CI. [1] [2]

E2E Test Runner Improvements

  • Modified e2e/run-tests.sh to accept a CONTAINERFILE environment variable for specifying which Dockerfile/flavour to test, and to display the tested flavour in both console output and GitHub step summary. [1] [2] [3]

Documentation Updates

  • Updated CLAUDE.md to document the new multi-flavour build process, usage instructions, CI/CD conventions, and tag suffixes for each flavour. [1] [2] [3] [4]

Use bash array for find arguments instead of building a string.
The unquoted glob pattern *.log was subject to shell expansion
when .log files existed in the container CWD, causing find to
discover all files regardless of LOG_FILE_ENDINGS setting.
Introduce Containerfile.debian (bookworm-slim) and Containerfile.ubi
(UBI 9 minimal) alongside the existing Alpine image. Alpine remains
the default with no tag suffix for backwards compatibility.

Ofelia and tini are musl-linked, so Debian and UBI images copy the
musl dynamic linker from Alpine. UBI uses a builder stage for tini.

All CI workflows use matrix strategies to build, test, and publish
all three flavours in parallel. Tag convention: 1.2.3, 1.2.3-debian,
1.2.3-ubi.
@pascal-zarrad pascal-zarrad self-assigned this Mar 14, 2026
@pascal-zarrad pascal-zarrad added the C2 - feature A suggestion or implementation of a new feature label Mar 14, 2026
@pascal-zarrad
pascal-zarrad force-pushed the feature/log-file-endings branch from 6a97970 to 599b8f7 Compare March 14, 2026 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C2 - feature A suggestion or implementation of a new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant