# Start with the AlmaLinux 8.10 base image FROM git.query.consul/unkin/almalinux8:latest # Create output directory for RPMs RUN mkdir -p /app/dist # Set working directory WORKDIR /app ARG PACKAGE_RELEASE ENV PACKAGE_RELEASE=${PACKAGE_RELEASE} ARG PACKAGE_VERSION ENV PACKAGE_VERSION=${PACKAGE_VERSION} ARG NFPM_VERSION ENV NFPM_VERSION=${NFPM_VERSION} # Clean and update the repository cache RUN dnf clean all && \ dnf makecache # Install build tools and dependencies for building RPMs RUN dnf groupinstall -y 'Development Tools' && \ dnf install -y make cmake gcc gcc-c++ rpm rpmdevtools wget tar gzip # Install nfpm using the RPM package RUN dnf install -y https://github.com/goreleaser/nfpm/releases/download/v${NFPM_VERSION}/nfpm-${NFPM_VERSION}-1.x86_64.rpm # Copy nfpm.yaml from the context into the container COPY nfpm.yaml /app/nfpm.yaml # Download the required files RUN wget -O /app/terragrunt https://github.com/gruntwork-io/terragrunt/releases/download/v${PACKAGE_VERSION}/terragrunt_linux_amd64 # Default command to build RPMs CMD nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm