Arch Linux Ruby base image in Harbor with weekly rebuild pipeline #360
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/pal-e-platform#360
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Infra
Lineage
Plan: pal-enterprises infrastructure overhaul (Ticket 3 of 5). Story:
story-infra-overhaul.Repo
ldraney/pal-e-platformUser Story
As a platform owner
I want a shared Arch Linux Ruby base image in Harbor that rebuilds weekly
So that all Rails apps stay on the latest Ruby, system libs, and security patches without manual version bump tickets
Context
All Ruby apps currently use
ruby:3.4.8-slim(Debian), manually version-pinned. Every Ruby upgrade requires a ticket per app. Arch Linux's rolling release model eliminates this — a weekly rebuild of the base image picks up the latest Ruby and system packages automatically.This base image will be used by:
See
arch-harborfor architecture context.File Targets
Files the agent should create:
docker/ruby-arch/Dockerfile— multi-stage Arch base imagedocker/ruby-arch/.woodpecker.yaml— scheduled weekly pipeline to rebuild + push to HarborFiles the agent may need to modify:
terraform/modules/harbor/main.tf— addpal-eHarbor project for shared base images (if not exists)Dockerfile Shape
Verified Arch package names (confirmed on host Arch system):
Package corrections from local Arch verification:
ruby-bundler(pacman) →gem install bundler— pacman has 4.0.3, Gemfile.lock needs 4.0.11. Install via gem instead.libpq→ removed —postgresql-libsalready in base, includes headers (libpq-fe.hconfirmed owned bypostgresql-libs).pkg-config→pkgconf— correct Arch package name (provides pkg-config compatibility symlink).Pipeline Shape
harbor.harbor.svc.cluster.local/pal-e/ruby-arch:latestpacman -Syu(network access during build). If not, use docker-in-docker or buildah.Acceptance Criteria
pal-eexists (created via Terraform or manually)harbor.tail5b443a.ts.net/pal-e/ruby-arch:latestexists in Harbordocker run harbor.../pal-e/ruby-arch:latest ruby --versionreturns current Arch Rubydocker run harbor.../pal-e/ruby-arch:latest bundler --versionworksgem install pgworks in the build stage (native extension compilation with libpq-fe.h)LD_PRELOAD=/usr/lib/libjemalloc.so ruby -e 'puts :ok'pacman -SyucorrectlyTest Expectations
gem install pgworks in the build stage (native extension compilation)Dependencies
None — can start immediately. Wave 1 parallel with T1 (pal-e-services#75).
Downstream dependents:
Constraints
pal-e/ruby-arch:latest(always latest, rolling release is the point)pal-emay need to be created via Terraformpacman -Syucompatibility — if Kaniko can't do network operations during build, document the alternativeChecklist
Related
story-infra-overhaul— parent storyarch-harbor— architecture noteldraney/pal-e-services#75— T1: Keycloak + ArgoCD (parallel)ldraney/pal-e-deployments#158— T2: Dev overlay (depends on this)ldraney/pal-enterprises#18— T4: Dockerfile migration (depends on this)ldraney/pal-enterprises#14— Ruby 4.0 upgrade (will be closed, superseded by rolling release)Scope Review: NEEDS_REFINEMENT
Review note:
review-1201-2026-05-10Issue body is well-structured with Dockerfile and pipeline shapes, but traceability backing notes are missing and dependencies are undocumented.
infra-overhaulstory missing fromproject-pal-enterprisesuser-stories tablearch-harborarchitecture note exists in pal-e-docsScope refinement (review-1201-2026-05-10):
ruby-bundler(pacman 4.0.3) →gem install bundler(Gemfile.lock needs 4.0.11)libpq→ removed (postgresql-libs already in base, includes libpq-fe.h)pkg-config→pkgconf(correct Arch package name)story-infra-overhaulreference (story note created)arch-harborreference (architecture note created)Scope Review: READY
Review note:
review-1201-2026-05-10-r2All 6 refinement items from r1 verified fixed. Template complete, traceability triangle solid (story-infra-overhaul + arch-harbor notes created), dependencies documented, ACs expanded to 11 with Harbor project creation and Kaniko compatibility. Ticket is ready for implementation.
Minor housekeeping: add infra-overhaul row to project-pal-enterprises user-stories table.