feat: add vault/1.18.2
All checks were successful
Build / build (pull_request) Successful in 1m24s

- add vault rpm to be installed
- this is different from the HCP provided rpm which includes a service/config
This commit is contained in:
Ben Vincent 2024-12-08 23:46:06 +11:00
parent 7e5b6b100d
commit 73131f9324
3 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1 @@
1

24
rpms/vault/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/vault.zip https://releases.hashicorp.com/vault/${PACKAGE_VERSION}/vault_${PACKAGE_VERSION}_linux_amd64.zip && \
unzip vault.zip
# Default command to build RPMs
CMD nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

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

@ -0,0 +1,38 @@
# nfpm.yaml
name: vault
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
section: default
priority: extra
description: "Vault is a tool for securely accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, certificates, and more. Vault provides a unified interface to any secret, while providing tight access control and recording a detailed audit log."
maintainer: HashiCorp
homepage: https://github.com/hashicorp/vault
license: BUSL-1.1
disable_globbing: false
replaces:
- vault
provides:
- vault
# Files to include in the package
contents:
- src: /app/vault
dst: /usr/bin/vault
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