feat: add vals package configuration #64

Merged
unkinben merged 1 commits from feat/add-vals-package into master 2025-10-04 14:35:56 +10:00
5 changed files with 80 additions and 0 deletions

1
rpms/vals/0.42.2/release Normal file
View File

@ -0,0 +1 @@
1

18
rpms/vals/Dockerfile Normal file
View File

@ -0,0 +1,18 @@
FROM git.unkin.net/unkin/almalinux9-rpmbuilder: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 resources from the context into the container
COPY resources /app/resources
# Default command to build RPMs
CMD /app/resources/build.sh

9
rpms/vals/metadata.yaml Normal file
View File

@ -0,0 +1,9 @@
name: vals
release: 1
version: 0.42.2
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: helmfile/vals

14
rpms/vals/resources/build.sh Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/bash
# Download the required files
curl -L -o /app/vals.tar.gz https://github.com/helmfile/vals/releases/download/v${PACKAGE_VERSION}/vals_${PACKAGE_VERSION}_linux_amd64.tar.gz
# Extract the binary
cd /app
tar -xzf vals.tar.gz
# Make the binary executable
chmod +x /app/vals
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm

View File

@ -0,0 +1,38 @@
# nfpm.yaml
name: vals
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
section: default
priority: extra
description: "vals is a Helm-like configuration 'Values' loader with support for various sources and merge strategies"
maintainer: Helmfile Contributors
homepage: https://github.com/helmfile/vals
license: Apache-2.0
disable_globbing: false
replaces:
- vals
provides:
- vals
# Files to include in the package
contents:
- src: /app/vals
dst: /usr/bin/vals
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