From 5c49c24930fc91a8b558288fe9a3a7db07ff80df Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Sun, 1 Dec 2024 12:23:59 +1100 Subject: [PATCH] feat: add terraform - add terraform/1.10.0 and terraform/1.5.0 --- rpms/terraform/1.10.0/release | 1 + rpms/terraform/1.5.0/release | 1 + rpms/terraform/Dockerfile | 24 ++++++++++++++++++++++ rpms/terraform/nfpm.yaml | 38 +++++++++++++++++++++++++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 rpms/terraform/1.10.0/release create mode 100644 rpms/terraform/1.5.0/release create mode 100644 rpms/terraform/Dockerfile create mode 100644 rpms/terraform/nfpm.yaml diff --git a/rpms/terraform/1.10.0/release b/rpms/terraform/1.10.0/release new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/rpms/terraform/1.10.0/release @@ -0,0 +1 @@ +1 diff --git a/rpms/terraform/1.5.0/release b/rpms/terraform/1.5.0/release new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/rpms/terraform/1.5.0/release @@ -0,0 +1 @@ +1 diff --git a/rpms/terraform/Dockerfile b/rpms/terraform/Dockerfile new file mode 100644 index 0000000..3877b7d --- /dev/null +++ b/rpms/terraform/Dockerfile @@ -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 diff --git a/rpms/terraform/nfpm.yaml b/rpms/terraform/nfpm.yaml new file mode 100644 index 0000000..5853901 --- /dev/null +++ b/rpms/terraform/nfpm.yaml @@ -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