Merge pull request 'feat: add terraform' (#4) from neoloc/terraform into master
All checks were successful
Deploy / build (push) Successful in 2m1s

Reviewed-on: https://git.query.consul/unkin/rpmbuilder/pulls/4
This commit is contained in:
Ben Vincent 2024-12-01 12:58:27 +11:00
commit dc84453e92
4 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1 @@
1

View File

@ -0,0 +1 @@
1

24
rpms/terraform/Dockerfile Normal file
View File

@ -0,0 +1,24 @@
# Start with the AlmaLinux 8.10 base image
FROM git.query.consul/unkin/almalinux8-buildagent: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}
# Copy nfpm.yaml from the context into the container
COPY nfpm.yaml /app/nfpm.yaml
# Download the required files
RUN dnf install -y unzip && \
wget -O /app/terraform.zip https://releases.hashicorp.com/terraform/${PACKAGE_VERSION}/terraform_${PACKAGE_VERSION}_linux_amd64.zip && \
unzip terraform.zip
# Default command to build RPMs
CMD nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

38
rpms/terraform/nfpm.yaml Normal file
View File

@ -0,0 +1,38 @@
# nfpm.yaml
name: terraform
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
section: default
priority: extra
description: "Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned."
maintainer: HashiCorp
homepage: https://terraform.io/
license: BUSL-1.1
disable_globbing: false
replaces:
- terraform
provides:
- terraform
# Files to include in the package
contents:
- src: /app/terraform
dst: /usr/bin/terraform
file_info:
mode: 0755
owner: root
group: root
# Scripts to run during installation/removal (optional)
# scripts:
# preinstall: ./scripts/preinstall.sh
# postinstall: ./scripts/postinstall.sh
# preremove: ./scripts/preremove.sh
# postremove: ./scripts/postremove.sh