Skip to content

Add AlmaLinux Docker images with Ansible support - #1

Merged
MrKoopie merged 1 commit into
mainfrom
introducing-images
Oct 27, 2025
Merged

Add AlmaLinux Docker images with Ansible support#1
MrKoopie merged 1 commit into
mainfrom
introducing-images

Conversation

@MrKoopie

Copy link
Copy Markdown
Owner

Summary

Adds AlmaLinux 8, 9, and 10 Docker images with Ansible support, including a comprehensive GitHub Actions workflow for automated builds and publishing.

Features

Docker Images

  • AlmaLinux 8, 9, and 10 base images
  • Ansible versions: latest and core-2.16
  • Multi-arch builds: linux/amd64 and linux/arm64
  • Published to DockerHub: mrkoopie/almalinux{8,9,10}-ansible

GitHub Actions Workflow

Smart Build Strategy:

  • Pull Requests: Only builds changed images with unique tags
    • Tags: pr-{number}-latest, pr-{number}-core-2.16
    • Allows testing before merge
  • Main Branch: Builds all images with production tags
    • Tags: latest, core-2.16
  • Cron Schedule: Weekly builds every Sunday at 2:10 AM UTC

Build Optimization:

  • Git-based change detection (no external actions)
  • Conditional execution to avoid unnecessary builds
  • Multi-arch support for wider compatibility

Quality Assurance

CodeRabbit Reviews (3 passes - all issues resolved):

  • Fixed unquoted $pip_packages variables in all Dockerfiles
  • Fixed alternatives command for RHEL/AlmaLinux compatibility
  • Removed incorrect update-alternatives fallback

Validation:

  • yamllint: Passed
  • Python YAML parser: Passed
  • Workflow syntax: Valid

Files Added

  • .github/workflows/build.yml - CI/CD workflow (485 lines)
  • docker-almalinux8-ansible/ - AlmaLinux 8 image files
  • docker-almalinux9-ansible/ - AlmaLinux 9 image files
  • docker-almalinux10-ansible/ - AlmaLinux 10 image files

Prerequisites

Before merging, add these GitHub secrets:

  • DOCKERHUB_USERNAME
  • DOCKERHUB_TOKEN

Test Plan

After merge:

  1. Workflow will automatically build and push images
  2. Test images:
    docker pull mrkoopie/almalinux8-ansible:latest
    docker run --detach --privileged \
      --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw \
      --cgroupns=host \
      mrkoopie/almalinux8-ansible:latest

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

Fixes:
1. Quote $pip_packages variable in all Dockerfiles to prevent word-splitting
   - docker-almalinux8-ansible/Dockerfile:48
   - docker-almalinux9-ansible/Dockerfile:48
   - docker-almalinux10-ansible/Dockerfile:42

2. Fix alternatives command in AlmaLinux 8 and 9 Dockerfiles
   - Removed incorrect update-alternatives fallback (not available on RHEL)
   - Use proper alternatives --install then alternatives --set sequence
   - docker-almalinux8-ansible/Dockerfile:41-42
   - docker-almalinux9-ansible/Dockerfile:41-42

All issues identified by CodeRabbit --prompt-only review.
@MrKoopie
MrKoopie merged commit f8b1f8b into main Oct 27, 2025
9 checks passed
@MrKoopie
MrKoopie deleted the introducing-images branch October 27, 2025 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant