Compare commits

...

12 Commits

Author SHA1 Message Date
9e02175ead Merge pull request 'chore: nzbget re-release' (#76) from benvin/nzbget_v2 into master
All checks were successful
Deploy / deploy-9 (push) Successful in 3s
Deploy / deploy-8 (push) Successful in 4s
Reviewed-on: #76
2026-01-03 22:13:32 +11:00
a4a28c67d4 chore: nzbget re-release
All checks were successful
Build / build-8 (pull_request) Successful in 12s
Build / build-9 (pull_request) Successful in 11s
- failed to upload new release, trying again
2026-01-03 22:12:24 +11:00
be4df03f81 Merge pull request 'feat: enhance GitHub release tracking with pattern support and version extraction' (#75) from benvin/release_updates into master
All checks were successful
Deploy / deploy-8 (push) Successful in 1m7s
Deploy / deploy-9 (push) Successful in 1m16s
Reviewed-on: #75
2026-01-03 21:52:39 +11:00
5cdbe3a6b5 feat: enhance GitHub release tracking with pattern support and version extraction
All checks were successful
Build / build-8 (pull_request) Successful in 5m45s
Build / build-9 (pull_request) Successful in 8m54s
- Add github_release_pattern field to support multi-product repositories
- Implement get_github_releases_by_pattern() for filtered release matching
- Add parse_github_version_release() to extract version-release components
- Update openbao plugin packages with release patterns and correct versions
- Configure openbao-plugins meta package for manual versioning
- Fix HashiCorp package GitHub repository references
- Support complex tag formats like "secrets-consul-v0.1.0" and "v7.1.3-1"

This enables automatic updates for packages sharing GitHub repos while
maintaining proper RPM version/release semantics and backward compatibility.
2025-12-30 22:38:23 +11:00
1e7b06aa84 Merge pull request 'chore: add xh rpm' (#74) from benvin/xh into master
All checks were successful
Deploy / deploy-8 (push) Successful in 3s
Deploy / deploy-9 (push) Successful in 3s
Reviewed-on: #74
2025-12-30 20:49:49 +11:00
6c468c40d1 chore: add xh rpm
All checks were successful
Build / build-8 (pull_request) Successful in 13s
Build / build-9 (pull_request) Successful in 1m22s
- add xh to list of RPMs to build
2025-12-30 20:44:40 +11:00
6d74a9dfab Merge pull request 'feat: add GitHub integration for automated package updates' (#73) from benvin/update_updategh into master
Some checks failed
Deploy / deploy-8 (push) Failing after 3s
Deploy / deploy-9 (push) Failing after 2s
Reviewed-on: #73
2025-12-29 22:10:17 +11:00
2954835dd0 feat: add GitHub integration for automated package updates
All checks were successful
Build / build-8 (pull_request) Successful in 13s
Build / build-9 (pull_request) Successful in 13s
- add GitHub API functions to fetch latest releases and compare versions
- implement package update checking against GitHub repositories
- add upgrade and upgrade-all CLI commands with dry-run support
- include .ruff_cache in .gitignore for cleaner repository
2025-12-29 22:08:15 +11:00
c6d8e33a54 Merge pull request 'feat: add pre-commit' (#72) from benvin/pre-commit into master
Some checks failed
Deploy / deploy-8 (push) Failing after 3s
Deploy / deploy-9 (push) Failing after 3s
Reviewed-on: #72
2025-11-30 21:55:39 +11:00
3fa0d39d43 feat: add pre-commit
All checks were successful
Build / build-8 (pull_request) Successful in 8s
Build / build-9 (pull_request) Successful in 8s
- test yamllint
- test ruff linting/formatter
- fix yaml errors
2025-11-30 21:45:55 +11:00
099b90fbc5 Merge pull request 'refactor: modernise RPM builder with Python tooling v2' (#71) from benvin/tooling_v2 into master
Some checks failed
Deploy / deploy-8 (push) Failing after 2s
Deploy / deploy-9 (push) Failing after 3s
Reviewed-on: #71
2025-11-30 20:29:36 +11:00
182641132a refactor: modernise RPM builder with Python tooling v2
All checks were successful
Build / build-8 (pull_request) Successful in 8s
Build / build-9 (pull_request) Successful in 9s
- Migrate from legacy shell-based build system to modern Python tooling
- Update all metadata.yaml files to new schema with per-distro builds
- Standardise build scripts with curl -L, envsubst, and error handling
- Convert nfpm.yaml templates to use environment variable substitution
- Update Dockerfile to accept all package metadata as build arguments
- Modernise Makefile to use new Python build tool commands
- Update CI workflow to use tools/build instead of make
2025-11-30 20:27:05 +11:00
167 changed files with 2611 additions and 1044 deletions

View File

@ -20,7 +20,7 @@ jobs:
env:
VAULT_ROLE_ID: ${{ secrets.RPMBUILDER_VAULT_ROLEID }}
run: |
make all DISTRO=el/8
./tools/build build-all --distro almalinux/el8
- name: Show RPMs
run: |
@ -46,7 +46,7 @@ jobs:
env:
VAULT_ROLE_ID: ${{ secrets.RPMBUILDER_VAULT_ROLEID }}
run: |
make all DISTRO=el/9
./tools/build build-all --distro almalinux/el9
- name: Show RPMs
run: |

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
dist
env
.claude
.ruff_cache

19
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,19 @@
---
repos:
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.37.1
hooks:
- id: yamllint
args:
[
"-d {extends: relaxed, rules: {line-length: disable}}",
"-s",
]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.7
hooks:
# Run the linter.
- id: ruff-check
args: [--fix]
# Run the formatter.
- id: ruff-format

View File

@ -7,10 +7,25 @@ RUN mkdir -p /app/dist
# Set working directory
WORKDIR /app
ARG PACKAGE_RELEASE
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
# Accept all package metadata as build arguments and set as environment variables
ARG PACKAGE_NAME
ENV PACKAGE_NAME=${PACKAGE_NAME}
ARG PACKAGE_VERSION
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
ARG PACKAGE_RELEASE
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
ARG PACKAGE_DESCRIPTION
ENV PACKAGE_DESCRIPTION=${PACKAGE_DESCRIPTION}
ARG PACKAGE_MAINTAINER
ENV PACKAGE_MAINTAINER=${PACKAGE_MAINTAINER}
ARG PACKAGE_HOMEPAGE
ENV PACKAGE_HOMEPAGE=${PACKAGE_HOMEPAGE}
ARG PACKAGE_LICENSE
ENV PACKAGE_LICENSE=${PACKAGE_LICENSE}
ARG PACKAGE_ARCH
ENV PACKAGE_ARCH=${PACKAGE_ARCH}
ARG PACKAGE_PLATFORM
ENV PACKAGE_PLATFORM=${PACKAGE_PLATFORM}
# Copy resources from the context into the container
COPY resources /app/resources

View File

@ -1,7 +1,7 @@
# Variables
ROOT_DIR := $(PWD)
BUILD_TOOL := $(ROOT_DIR)/tools/build
DISTRO ?= el/9 # Default to el/9 if not specified
DISTRO ?= almalinux/el9
# Automatically find all packages with metadata.yaml
PACKAGES := $(shell find $(ROOT_DIR)/rpms -mindepth 1 -maxdepth 1 -type d -exec test -f {}/metadata.yaml \; -print | xargs -n1 basename | sort)
@ -20,33 +20,18 @@ list:
# Build all packages using Python tool
build-all:
@echo "Building all packages using Python tooling for distro $(DISTRO)..."
$(BUILD_TOOL) --all --distro $(DISTRO)
$(BUILD_TOOL) build-all --distro $(DISTRO)
# Build specific package using Python tool
.PHONY: $(PACKAGES)
$(PACKAGES):
@echo "Building package: $@ for distro $(DISTRO)"
$(BUILD_TOOL) --package $@ --distro $(DISTRO)
# Build specific package with version/release override
build:
@if [ -z "$(PACKAGE_NAME)" ]; then \
echo "Error: PACKAGE_NAME not specified"; \
echo "Usage: make build PACKAGE_NAME=package [PACKAGE_VERSION=version] [PACKAGE_RELEASE=release]"; \
exit 1; \
fi
@if [ -n "$(PACKAGE_VERSION)" ] && [ -n "$(PACKAGE_RELEASE)" ]; then \
echo "Building $(PACKAGE_NAME) with explicit version $(PACKAGE_VERSION)-$(PACKAGE_RELEASE) for distro $(DISTRO)"; \
$(BUILD_TOOL) --package $(PACKAGE_NAME) --version $(PACKAGE_VERSION) --release $(PACKAGE_RELEASE) --distro $(DISTRO); \
else \
echo "Building $(PACKAGE_NAME) using metadata.yaml for distro $(DISTRO)"; \
$(BUILD_TOOL) --package $(PACKAGE_NAME) --distro $(DISTRO); \
fi
$(BUILD_TOOL) build --distro $(DISTRO) $@
# Dry run - show what would be built without building
dry-run:
@echo "Dry run - showing what would be built for distro $(DISTRO):"
$(BUILD_TOOL) --all --distro $(DISTRO) --dry-run
$(BUILD_TOOL) build-all --distro $(DISTRO) --dry-run
# Clean target
clean:
@ -62,24 +47,3 @@ update:
update-%:
@echo "Checking for updates for package: $*"
$(ROOT_DIR)/tools/update-gh --package $*
# Help target
help:
@echo "Available targets:"
@echo " all - Build all packages (default)"
@echo " list - List all available packages"
@echo " build-all - Build all packages using Python tooling"
@echo " <package> - Build specific package (e.g., 'make consul')"
@echo " build - Build with explicit PACKAGE_NAME, PACKAGE_VERSION, PACKAGE_RELEASE"
@echo " dry-run - Show what would be built without building"
@echo " clean - Remove build artifacts"
@echo " update - Check all packages for GitHub release updates"
@echo " update-<pkg> - Check specific package for GitHub release updates"
@echo " help - Show this help message"
@echo ""
@echo "Examples:"
@echo " make consul # Build consul using metadata.yaml"
@echo " make build PACKAGE_NAME=consul # Build consul using metadata.yaml"
@echo " make build PACKAGE_NAME=consul PACKAGE_VERSION=1.21.1 PACKAGE_RELEASE=1"
@echo " make update-consul # Check consul for GitHub updates"
@echo " make dry-run # Show what would be built"

View File

@ -1,8 +1,18 @@
name: act_runner
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.2.12
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 0.2.12
description: A runner for Gitea based on act.
github: unknown/act_runner
homepage: https://gitea.com/gitea/act_runner
license: MIT
maintainer: Gitea
name: act_runner
platform: linux

View File

@ -1,3 +1,10 @@
#!/usr/bin/bash
curl --output act_runner-linux-amd64 https://dl.gitea.com/act_runner/${PACKAGE_VERSION}/act_runner-${PACKAGE_VERSION}-linux-amd64
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
set -e
curl -L --output act_runner-linux-amd64 https://dl.gitea.com/act_runner/${PACKAGE_VERSION}/act_runner-${PACKAGE_VERSION}-linux-amd64
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: act_runner
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A runner for Gitea based on act."
maintainer: Gitea
homepage: https://gitea.com/gitea/act_runner
license: MIT
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,18 @@
name: bind_exporter
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.8.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 0.8.0
description: Prometheus exporter for BIND
github: prometheus-community/bind_exporter
homepage: https://github.com/prometheus-community/bind_exporter
license: Apache-2.0 license
maintainer: Prometheus
name: bind_exporter
platform: linux

View File

@ -1,6 +1,10 @@
#!/usr/bin/bash
set -e
# Download the required files
curl --output - -L https://github.com/prometheus-community/bind_exporter/releases/download/v${PACKAGE_VERSION}/bind_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: bind_exporter
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Prometheus exporter for BIND"
maintainer: Prometheus
homepage: https://github.com/prometheus-community/bind_exporter
license: Apache-2.0 license
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,20 @@
name: boilerplate
release: 1
version: 0.6.1
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: gruntwork-io/boilerplate
description: Boilerplate is a tool for generating files and folders (boilerplate)
from a set of templates.
arch: amd64
platform: linux
maintainer: Gruntwork
homepage: https://github.com/gruntwork-io/boilerplate
license: MIT
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1-el8
version: 0.10.1
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 0.10.1

View File

@ -1,7 +1,11 @@
#!/usr/bin/bash
set -e
# Download the required files
wget -O /app/boilerplate https://github.com/gruntwork-io/boilerplate/releases/download/v${PACKAGE_VERSION}/boilerplate_linux_amd64
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,17 @@
# nfpm.yaml
name: boilerplate
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Boilerplate is a tool for generating files and folders (boilerplate) from a set of templates."
description: "${PACKAGE_DESCRIPTION}"
maintainer: Gruntwork
homepage: https://github.com/gruntwork-io/boilerplate
license: MIT
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,20 @@
name: cni-plugins
release: 1
version: 1.7.1
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: containernetworking/plugins
description: Some reference and example networking plugins, maintained by the CNI
team.
arch: amd64
platform: linux
maintainer: ContainerNetworking
homepage: https://github.com/containernetworking/plugins
license: Apache-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1-el8
version: 1.9.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 1.9.0

View File

@ -1,8 +1,12 @@
#!/usr/bin/bash
set -e
# Download and extract cni-plugins
wget -O /app/cni-plugins-linux-amd64.tgz https://github.com/containernetworking/plugins/releases/download/v${PACKAGE_VERSION}/cni-plugins-linux-amd64-v${PACKAGE_VERSION}.tgz
tar xf cni-plugins-linux-amd64.tgz
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,17 @@
# nfpm.yaml
name: cni-plugins
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Some reference and example networking plugins, maintained by the CNI team."
description: "${PACKAGE_DESCRIPTION}"
maintainer: ContainerNetworking
homepage: https://github.com/containernetworking/plugins
license: Apache-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,18 @@
name: consul-cni
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 1.7.1
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 1.7.1
description: Plugin for Consul on Kubernetes to allow configuring traffic redirection rules without escalated container privileges.
github: unknown/consul-cni
homepage: https://hashicorp.com
license: Mozilla Public License, version 2.0
maintainer: Hashicorp
name: consul-cni
platform: linux

View File

@ -1,11 +1,15 @@
#!/usr/bin/bash
set -e
# Install dependencies
dnf install -y unzip
# Download and extract consul-cni
curl -o /app/consul-cni.zip https://releases.hashicorp.com/consul-cni/${PACKAGE_VERSION}/consul-cni_${PACKAGE_VERSION}_linux_amd64.zip
curl -L -o /app/consul-cni.zip https://releases.hashicorp.com/consul-cni/${PACKAGE_VERSION}/consul-cni_${PACKAGE_VERSION}_linux_amd64.zip
unzip consul-cni.zip
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: consul-cni
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Plugin for Consul on Kubernetes to allow configuring traffic redirection rules without escalated container privileges."
maintainer: Hashicorp
homepage: https://hashicorp.com
license: Mozilla Public License, version 2.0
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,20 @@
name: consul
release: 1
version: 1.21.1
build:
- distro: el/8
github: hashicorp/consul
description: Consul is a distributed, highly available, and data center aware solution
to connect and configure applications across dynamic, distributed infrastructure.
arch: amd64
platform: linux
maintainer: HashiCorp
homepage: https://github.com/hashicorp/consul
license: BUSL-1.1
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1-el8
version: 1.22.2
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 1.22.2

View File

@ -1,11 +1,16 @@
#!/usr/bin/bash
set -e
# Install dependencies
dnf install -y unzip
# Download and extract consul
curl -o /app/consul.zip https://releases.hashicorp.com/consul/${PACKAGE_VERSION}/consul_${PACKAGE_VERSION}_linux_amd64.zip
curl -L -o /app/consul.zip https://releases.hashicorp.com/consul/${PACKAGE_VERSION}/consul_${PACKAGE_VERSION}_linux_amd64.zip
unzip consul.zip
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,17 @@
# nfpm.yaml
name: consul
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure."
description: "${PACKAGE_DESCRIPTION}"
maintainer: HashiCorp
homepage: https://github.com/hashicorp/consul
license: BUSL-1.1
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,20 @@
name: etcd
release: 2
version: 3.5.18
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: etcd-io/etcd
description: A distributed, reliable key-value store for the most critical data of
a distributed system.
arch: amd64
platform: linux
maintainer: https://etcd.io/
homepage: https://etcd.io/
license: Apache-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1-el8
version: 3.6.7
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 3.6.7

View File

@ -1,9 +1,13 @@
#!/usr/bin/bash
set -e
# Download and extract etcd
wget -O /app/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz https://github.com/etcd-io/etcd/releases/download/v${PACKAGE_VERSION}/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz
tar xf /app/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz
mv /app/etcd-v${PACKAGE_VERSION}-linux-amd64/* /app/
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,17 @@
# nfpm.yaml
name: etcd
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A distributed, reliable key-value store for the most critical data of a distributed system."
description: "${PACKAGE_DESCRIPTION}"
maintainer: https://etcd.io/
homepage: https://etcd.io/
license: Apache-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,20 @@
name: exportarr
release: 1
version: 2.2.0
build:
- distro: el/8
github: onedr0p/exportarr
description: AIO Prometheus Exporter for Sabnzbd, Bazarr, Prowlarr, Lidarr, Readarr,
Radarr, and Sonarr
arch: amd64
platform: linux
maintainer: onedr0p
homepage: https://github.com/onedr0p/exportarr
license: MIT license
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1-el8
version: 2.3.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 2.3.0

View File

@ -1,6 +1,10 @@
#!/usr/bin/bash
set -e
# Download the required files
curl --output - -L https://github.com/onedr0p/exportarr/releases/download/v${PACKAGE_VERSION}/exportarr_${PACKAGE_VERSION}_linux_amd64.tar.gz | tar --strip-components=1 -xzf -
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: exportarr
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "AIO Prometheus Exporter for Sabnzbd, Bazarr, Prowlarr, Lidarr, Readarr, Radarr, and Sonarr"
maintainer: onedr0p
homepage: https://github.com/onedr0p/exportarr
license: MIT license
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,19 @@
name: frr_exporter
release: 1
version: 1.8.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: tynany/frr_exporter
description: Prometheus exporter for Free Range Routing
arch: amd64
platform: linux
maintainer: Prometheus
homepage: https://github.com/tynany/frr_exporter
license: MIT
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1-el8
version: 1.9.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 1.9.0

View File

@ -1,3 +1,9 @@
#!/usr/bin/bash
set -e
curl --output - -L https://github.com/tynany/frr_exporter/releases/download/v${PACKAGE_VERSION}/frr_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: frr_exporter
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Prometheus exporter for Free Range Routing"
maintainer: Prometheus
homepage: https://github.com/tynany/frr_exporter
license: MIT
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,18 @@
name: g10k
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.9.10
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 0.9.10
description: An r10k fork written in Go, designed to work somwhat similar like puppetlabs/r10k.
github: xorpaul/g10k
homepage: https://github.com/xorpaul/g10k
license: Apache2.0
maintainer: xorpaul
name: g10k
platform: linux

View File

@ -1,4 +1,5 @@
#!/usr/bin/bash
set -e
# Download and extract g10k
wget -O /app/g10k.zip https://github.com/xorpaul/g10k/releases/download/v${PACKAGE_VERSION}/g10k-v${PACKAGE_VERSION}-linux-amd64.zip
@ -6,5 +7,8 @@ pushd /app
unzip /app/g10k.zip
popd
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,17 @@
# nfpm.yaml
name: g10k
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "An r10k fork written in Go, designed to work somwhat similar like puppetlabs/r10k."
description: "${PACKAGE_DESCRIPTION}"
maintainer: xorpaul
homepage: https://github.com/xorpaul/g10k
license: Apache2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,21 @@
name: helmfile
release: 1
version: 1.1.7
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/helmfile
description: A declarative spec for deploying Helm charts. It lets you keep a directory
of chart value files and maintain changes in version control; apply CI/CD to configuration
changes; and periodically sync to avoid skew in environments.
arch: amd64
platform: linux
maintainer: Helmfile Contributors
homepage: https://github.com/helmfile/helmfile
license: MIT
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1-el8
version: 1.2.3
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 1.2.3

View File

@ -1,5 +1,7 @@
#!/usr/bin/bash
set -e
# Download the required files
curl -L -o /app/helmfile.tar.gz https://github.com/helmfile/helmfile/releases/download/v${PACKAGE_VERSION}/helmfile_${PACKAGE_VERSION}_linux_amd64.tar.gz
@ -10,5 +12,7 @@ tar -xzf helmfile.tar.gz
# Make the binary executable
chmod +x /app/helmfile
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,18 @@
---
# nfpm.yaml
name: helmfile
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A declarative spec for deploying Helm charts. It lets you keep a directory of chart value files and maintain changes in version control; apply CI/CD to configuration changes; and periodically sync to avoid skew in environments."
description: "${PACKAGE_DESCRIPTION}"
maintainer: Helmfile Contributors
homepage: https://github.com/helmfile/helmfile
license: MIT
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,14 @@
name: incus
release: 1
version: 6.10.1
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: lxc/incus
description: incus package
arch: amd64
platform: linux
maintainer: ''
homepage: ''
license: ''
builds:
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 6.20.0

View File

@ -1,7 +1,9 @@
#!/usr/bin/bash
set -e
# Install build dependencies
dnf install -y \
dnf makecache && dnf install -y \
unzip \
libtool \
autoconf \
@ -24,14 +26,14 @@ dnf install -y \
bash-completion \
gettext \
help2man \
curl
curl-minimal
# Download and extract incus source
curl -o /app/incus.tar.gz https://github.com/lxc/incus/archive/refs/tags/v${PACKAGE_VERSION}.tar.gz
curl -L -o /app/incus.tar.gz https://github.com/lxc/incus/archive/refs/tags/v${PACKAGE_VERSION}.tar.gz
tar -C /app -xf incus.tar.gz
# Install specific Go version
curl -O https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
curl -L -O https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
rm -rf /usr/local/go
tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz

View File

@ -92,7 +92,7 @@ contents:
# Scripts to run during installation/removal (optional)
scripts:
postinstall: ./scripts/postinstall.sh
preremove: ./scripts/preremove.sh
postremove: ./scripts/postremove.sh
preinstall: ./scripts/preinstall.sh
postinstall: ./resources/scripts/postinstall.sh
preremove: ./resources/scripts/preremove.sh
postremove: ./resources/scripts/postremove.sh
preinstall: ./resources/scripts/preinstall.sh

View File

@ -1,8 +1,19 @@
name: jellyfin-ffmpeg-bin
release: 3
version: 7.1.1
build:
- distro: el/8
github: jellyfin/jellyfin-ffmpeg
description: jellyfin-ffmpeg-bin package
arch: amd64
platform: linux
maintainer: ''
homepage: ''
license: ''
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1.1
version: 7.1.3
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1.1
version: 7.1.3

View File

@ -3,12 +3,15 @@
# Setup rpmbuild directory structure
mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
# Process the spec file template with environment variables
envsubst < /app/resources/jellyfin-ffmpeg-bin.spec.template > /root/rpmbuild/SPECS/jellyfin-ffmpeg-bin.spec
# Download source files using spectool
spectool -g -R /app/resources/jellyfin-ffmpeg-bin_${PACKAGE_VERSION}.spec
spectool -g -R /root/rpmbuild/SPECS/jellyfin-ffmpeg-bin.spec
# Build the RPM
rpmbuild -ba /app/resources/jellyfin-ffmpeg-bin_${PACKAGE_VERSION}.spec
rpmbuild -ba /root/rpmbuild/SPECS/jellyfin-ffmpeg-bin.spec
# Copy the built RPMs to output directory
cp /root/rpmbuild/RPMS/x86_64/jellyfin-ffmpeg-bin-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.*.rpm /app/dist/
cp /root/rpmbuild/SRPMS/jellyfin-ffmpeg-bin-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.*.rpm /app/dist
cp /root/rpmbuild/RPMS/x86_64/jellyfin-ffmpeg-bin-*.rpm /app/dist/
cp /root/rpmbuild/SRPMS/jellyfin-ffmpeg-bin-*.rpm /app/dist

View File

@ -1,20 +1,20 @@
%global debug_package %{nil}
%define _missing_build_ids_terminate_build 0
%global jellyfin_release 3
%global jellyfin_release 1
Name: jellyfin-ffmpeg-bin
Version: 7.1.1
Release: %{jellyfin_release}
Name: ${PACKAGE_NAME}
Version: ${PACKAGE_VERSION}
Release: ${PACKAGE_RELEASE}
Summary: FFmpeg for Jellyfin with custom extensions and enhancements
License: GPL-3.0-only
URL: https://github.com/jellyfin/jellyfin-ffmpeg
Source0: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v%{version}-%{jellyfin_release}/jellyfin-ffmpeg_%{version}-%{jellyfin_release}_portable_linux64-gpl.tar.xz
Source1: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v%{version}-%{jellyfin_release}/jellyfin-ffmpeg_%{version}-%{jellyfin_release}_portable_linuxarm64-gpl.tar.xz
Source2: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v%{version}-%{jellyfin_release}/LICENSE.md
Source3: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v%{version}-%{jellyfin_release}/README.md
Source0: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${PACKAGE_VERSION}-1/jellyfin-ffmpeg_${PACKAGE_VERSION}-1_portable_linux64-gpl.tar.xz
Source1: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${PACKAGE_VERSION}-1/jellyfin-ffmpeg_${PACKAGE_VERSION}-1_portable_linuxarm64-gpl.tar.xz
Source2: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v${PACKAGE_VERSION}-1/LICENSE.md
Source3: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v${PACKAGE_VERSION}-1/README.md
ExclusiveArch: x86_64 aarch64

View File

@ -1,8 +1,13 @@
name: jellyfin-server
release: 1
---
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 10.10.7
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 10.10.7
description: jellyfin-server package
github: unknown/jellyfin-server
name: jellyfin-server

View File

@ -1,8 +1,13 @@
name: jellyfin-web
release: 1
---
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 10.10.7
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 10.10.7
description: jellyfin-web package
github: unknown/jellyfin-web
name: jellyfin-web

View File

@ -1,9 +1,18 @@
name: jsonnet-language-server
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.16.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 0.16.0
description: Jsonnet Language Server Protocol implementation for the Jsonnet templating language.
github: grafana/jsonnet-language-server
homepage: https://github.com/grafana/jsonnet-language-server
license: Apache-2.0
maintainer: Grafana Labs
name: jsonnet-language-server
platform: linux

View File

@ -1,10 +1,14 @@
#!/usr/bin/bash
set -e
# Download the required files
curl -L -o /app/jsonnet-language-server https://github.com/grafana/jsonnet-language-server/releases/download/v${PACKAGE_VERSION}/jsonnet-language-server_${PACKAGE_VERSION}_linux_amd64
# Make the binary executable
chmod +x /app/jsonnet-language-server
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,18 @@
---
# nfpm.yaml
name: jsonnet-language-server
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Jsonnet Language Server Protocol implementation for the Jsonnet templating language."
description: "${PACKAGE_DESCRIPTION}"
maintainer: Grafana Labs
homepage: https://github.com/grafana/jsonnet-language-server
license: Apache-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,18 @@
name: jsonnet-lint
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.21.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 0.21.0
description: Linter for Jsonnet
github: google/go-jsonnet
homepage: https://github.com/google/go-jsonnet
license: Apache-2.0
maintainer: Google
name: jsonnet-lint
platform: linux

View File

@ -1,4 +1,5 @@
#!/usr/bin/bash
set -e
# Install dependencies and Go 1.24
dnf install -y wget git make
@ -15,5 +16,8 @@ go version
# Build jsonnet-lint binary
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet-lint@v${PACKAGE_VERSION}
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build RPM package
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,17 @@
---
# nfpm.yaml
name: jsonnet-lint
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Linter for Jsonnet"
maintainer: Google
homepage: https://github.com/google/go-jsonnet
license: Apache-2.0
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,18 @@
name: jsonnet
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.21.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 0.21.0
description: A data templating language
github: google/go-jsonnet
homepage: https://github.com/google/go-jsonnet
license: Apache-2.0
maintainer: Google
name: jsonnet
platform: linux

View File

@ -1,4 +1,5 @@
#!/usr/bin/bash
set -e
# Install dependencies and Go 1.24
dnf install -y wget git make
@ -16,5 +17,8 @@ go version
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet@v${PACKAGE_VERSION}
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnetfmt@v${PACKAGE_VERSION}
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build RPM package
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,17 @@
---
# nfpm.yaml
name: jsonnet
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A data templating language"
maintainer: Google
homepage: https://github.com/google/go-jsonnet
license: Apache-2.0
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,18 @@
name: libfoundationdb
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 7.3.71
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 7.3.71
description: FoundationDB client library - Shared library for FoundationDB applications
github: apple/foundationdb
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
homepage: https://github.com/apple/foundationdb
license: Apache-2.0
maintainer: FoundationDB Community
name: libfoundationdb
platform: linux

View File

@ -1,10 +1,14 @@
#!/usr/bin/bash
set -e
# Download the required library
curl -L -o /app/libfdb_c.so https://github.com/apple/foundationdb/releases/download/${PACKAGE_VERSION}/libfdb_c.x86_64.so
# Make the library readable
chmod 755 /app/libfdb_c.so
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,18 @@
---
# nfpm.yaml
name: libfoundationdb
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "FoundationDB client library - Shared library for FoundationDB applications"
description: "${PACKAGE_DESCRIPTION}"
maintainer: FoundationDB Community
homepage: https://github.com/apple/foundationdb
license: Apache-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,20 @@
name: nfpm
release: 1
version: 2.41.1
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: goreleaser/nfpm
description: A zero dependencies, simple deb, rpm, apk, ipk, and arch linux packager
written in Go.
arch: amd64
platform: linux
maintainer: GoReleaser
homepage: https://nfpm.goreleaser.com/
license: MIT
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1-el8
version: 2.44.1
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 2.44.1

View File

@ -1,7 +1,14 @@
#!/usr/bin/bash
set -e
# Set Go toolchain to support newer nfpm versions
export GOTOOLCHAIN=go1.25.0
# Compile nfpm binary using Go
GOBIN=/app go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v${PACKAGE_VERSION}
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,17 @@
# nfpm.yaml
name: nfpm
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A zero dependencies, simple deb, rpm, apk, ipk, and arch linux packager written in Go."
description: "${PACKAGE_DESCRIPTION}"
maintainer: GoReleaser
homepage: https://nfpm.goreleaser.com/
license: MIT
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,19 @@
name: node_exporter
release: 1
version: 1.9.1
build:
- distro: el/8
github: prometheus/node_exporter
description: exporter for machine metrics
arch: amd64
platform: linux
maintainer: Prometheus
homepage: https://github.com/prometheus/node_exporter
license: Apache-2.0 license
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1-el8
version: 1.10.2
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 1.10.2

View File

@ -1,6 +1,11 @@
#!/usr/bin/bash
set -e
# Download the required files
curl --output - -L https://github.com/prometheus/node_exporter/releases/download/v${PACKAGE_VERSION}/node_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: node_exporter
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "exporter for machine metrics"
maintainer: Prometheus
homepage: https://github.com/prometheus/node_exporter
license: Apache-2.0 license
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,21 @@
name: nomad-autoscaler
release: 1
version: 0.4.6
build:
- distro: el/8
github: hashicorp/nomad-autoscaler
description: The Nomad Autoscaler is an autoscaling daemon for Nomad, architectured
around plug-ins to allow for easy extensibility in terms of supported metrics sources,
scaling targets and scaling algorithms.
arch: amd64
platform: linux
maintainer: Hashicorp
homepage: https://github.com/hashicorp/nomad-autoscaler
license: Mozilla Public License, version 2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1-el8
version: 0.4.8
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 0.4.8

View File

@ -1,11 +1,15 @@
#!/usr/bin/bash
set -e
# Install dependencies
dnf install -y unzip
# Download and extract nomad-autoscaler
curl -o /app/nomad-autoscaler.zip https://releases.hashicorp.com/nomad-autoscaler/${PACKAGE_VERSION}/nomad-autoscaler_${PACKAGE_VERSION}_linux_amd64.zip
curl -L -o /app/nomad-autoscaler.zip https://releases.hashicorp.com/nomad-autoscaler/${PACKAGE_VERSION}/nomad-autoscaler_${PACKAGE_VERSION}_linux_amd64.zip
unzip nomad-autoscaler.zip
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,17 @@
# nfpm.yaml
name: nomad-autoscaler
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "The Nomad Autoscaler is an autoscaling daemon for Nomad, architectured around plug-ins to allow for easy extensibility in terms of supported metrics sources, scaling targets and scaling algorithms."
description: "${PACKAGE_DESCRIPTION}"
maintainer: Hashicorp
homepage: https://github.com/hashicorp/nomad-autoscaler
license: Mozilla Public License, version 2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,18 @@
name: nomad
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 1.10.1
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 1.10.1
description: A simple and flexible scheduler and orchestrator to deploy and manage containers and non-containerized applications across on-premises and clouds at scale.
github: unknown/nomad
homepage: https://www.nomadproject.io/
license: BUSL-1.1
maintainer: HashiCorp
name: nomad
platform: linux

View File

@ -1,11 +1,15 @@
#!/usr/bin/bash
set -e
# Install dependencies
dnf install -y unzip
# Download and extract nomad
curl -o /app/nomad.zip https://releases.hashicorp.com/nomad/${PACKAGE_VERSION}/nomad_${PACKAGE_VERSION}_linux_amd64.zip
curl -L -o /app/nomad.zip https://releases.hashicorp.com/nomad/${PACKAGE_VERSION}/nomad_${PACKAGE_VERSION}_linux_amd64.zip
unzip nomad.zip
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,17 @@
# nfpm.yaml
name: nomad
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A simple and flexible scheduler and orchestrator to deploy and manage containers and non-containerized applications across on-premises and clouds at scale."
description: "${PACKAGE_DESCRIPTION}"
maintainer: HashiCorp
homepage: https://www.nomadproject.io/
license: BUSL-1.1
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,20 @@
name: nzbget
release: 1
version: '25.0'
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: nzbgetcom/nzbget
description: NZBGet is a binary downloader, which downloads files from Usenet based-on
information given in nzb files.
arch: amd64
platform: linux
maintainer: nzbgetcom
homepage: https://github.com/nzbgetcom/nzbget
license: GPL-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 2-el8
version: '25.4'
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 2-el9
version: '25.4'

View File

@ -1,5 +1,7 @@
#!/usr/bin/bash
set -e
# Download the pre-built RPM from GitHub releases
curl -o /app/dist/nzbget-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.x86_64.rpm \
curl -L -o /app/dist/nzbget-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.x86_64.rpm \
https://github.com/nzbgetcom/nzbget/releases/download/v$PACKAGE_VERSION/nzbget-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.x86_64.rpm

View File

@ -1,17 +1,17 @@
# nfpm.yaml
name: nzbget
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "NZBGet is a binary downloader, which downloads files from Usenet based-on information given in nzb files."
description: "${PACKAGE_DESCRIPTION}"
maintainer: nzbgetcom
homepage: https://github.com/nzbgetcom/nzbget
license: GPL-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,18 @@
name: nzbget_exporter
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 2025.08.03
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 2025.08.03
description: Prometheus exporter for NZBGet
github: frebib/nzbget-exporter
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
homepage: https://github.com/frebib/nzbget-exporter
license: MIT
maintainer: Prometheus
name: nzbget_exporter
platform: linux

View File

@ -1,4 +1,6 @@
#!/usr/bin/bash
set -e
cd /app
git clone https://github.com/frebib/nzbget-exporter.git
go install github.com/frebib/enumerx@latest
@ -7,4 +9,8 @@ pushd /app/nzbget-exporter
go generate
go build -o ../nzbget_exporter
popd
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: nzbget_exporter
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Prometheus exporter for NZBGet"
maintainer: Prometheus
homepage: https://github.com/frebib/nzbget-exporter
license: MIT
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,20 @@
name: openbao-plugin-secret-consul
release: 1
version: 0.1.0
github: openbao/openbao-plugins
build:
- distro: el/8
github_release_pattern: "^secrets-consul-v.*"
description: OpenBao secrets engine plugin for HashiCorp Consul
arch: amd64
platform: linux
maintainer: OpenBao Community
homepage: https://github.com/openbao/openbao-plugins
license: MPL-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1-el8
version: 0.1.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 0.1.0

View File

@ -1,5 +1,7 @@
#!/usr/bin/bash
set -e
# Download the required files
curl -L -o /app/openbao-plugin-secrets-consul.tar.gz https://github.com/openbao/openbao-plugins/releases/download/secrets-consul-v${PACKAGE_VERSION}/openbao-plugin-secrets-consul_linux_amd64_v1.tar.gz
@ -12,5 +14,7 @@ mv /app/openbao-plugin-secrets-consul_linux_amd64_v1 /app/openbao-plugin-secrets
# Make the binary executable
chmod +x /app/openbao-plugin-secrets-consul
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,18 @@
---
# nfpm.yaml
name: openbao-plugin-secret-consul
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "OpenBao secrets engine plugin for HashiCorp Consul"
description: "${PACKAGE_DESCRIPTION}"
maintainer: OpenBao Community
homepage: https://github.com/openbao/openbao-plugins
license: MPL-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,20 @@
name: openbao-plugin-secret-nomad
release: 1
version: 0.1.4
github: openbao/openbao-plugins
build:
- distro: el/8
github_release_pattern: "^secrets-nomad-v.*"
description: OpenBao secrets engine plugin for HashiCorp Nomad
arch: amd64
platform: linux
maintainer: OpenBao Community
homepage: https://github.com/openbao/openbao-plugins
license: MPL-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1-el8
version: 0.1.5
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 0.1.5

View File

@ -1,5 +1,7 @@
#!/usr/bin/bash
set -e
# Download the required files
curl -L -o /app/openbao-plugin-secrets-nomad.tar.gz https://github.com/openbao/openbao-plugins/releases/download/secrets-nomad-v${PACKAGE_VERSION}/openbao-plugin-secrets-nomad_linux_amd64_v1.tar.gz
@ -12,5 +14,7 @@ mv /app/openbao-plugin-secrets-nomad_linux_amd64_v1 /app/openbao-plugin-secrets-
# Make the binary executable
chmod +x /app/openbao-plugin-secrets-nomad
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,18 @@
---
# nfpm.yaml
name: openbao-plugin-secret-nomad
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "OpenBao secrets engine plugin for HashiCorp Nomad"
description: "${PACKAGE_DESCRIPTION}"
maintainer: OpenBao Community
homepage: https://github.com/openbao/openbao-plugins
license: MPL-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,18 @@
name: openbao-plugins
release: 1
version: 1.0.0
github: openbao/openbao-plugins
build:
- distro: el/8
description: Meta package that installs all OpenBao plugins
arch: amd64
platform: linux
maintainer: OpenBao Community
homepage: https://github.com/openbao/openbao-plugins
license: MPL-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1-el8
version: 1.0.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 1.0.0

View File

@ -1,5 +1,10 @@
#!/usr/bin/bash
set -e
# This is a meta package - no binaries to download
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,18 @@
---
# nfpm.yaml
name: openbao-plugins
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Meta package that installs all OpenBao plugins"
description: "${PACKAGE_DESCRIPTION}"
maintainer: OpenBao Community
homepage: https://github.com/openbao/openbao-plugins
license: MPL-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,19 @@
name: packer
release: 1
version: 1.13.1
build:
- distro: el/8
github: hashicorp/packer
description: Create identical images for multiple platforms from a single source configuration.
arch: amd64
platform: linux
maintainer: HashiCorp
homepage: https://www.packer.io/
license: BUSL-1.1
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1-el8
version: 1.14.3
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 1.14.3

View File

@ -1,11 +1,16 @@
#!/usr/bin/bash
set -e
# Install dependencies
dnf install -y unzip
# Download and extract packer
curl -o /app/packer.zip https://releases.hashicorp.com/packer/${PACKAGE_VERSION}/packer_${PACKAGE_VERSION}_linux_amd64.zip
curl -L -o /app/packer.zip https://releases.hashicorp.com/packer/${PACKAGE_VERSION}/packer_${PACKAGE_VERSION}_linux_amd64.zip
unzip packer.zip
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,17 +1,17 @@
# nfpm.yaml
name: packer
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Create identical images for multiple platforms from a single source configuration."
description: "${PACKAGE_DESCRIPTION}"
maintainer: HashiCorp
homepage: https://www.packer.io/
license: BUSL-1.1
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,18 @@
name: pgbouncer_exporter
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.11.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 0.11.0
description: Prometheus exporter for PgBouncer
github: prometheus-community/pgbouncer_exporter
homepage: https://github.com/prometheus-community/pgbouncer_exporter
license: Apache-2.0 license
maintainer: Prometheus
name: pgbouncer_exporter
platform: linux

View File

@ -1,6 +1,10 @@
#!/usr/bin/bash
set -e
# Download the required files
curl --output - -L https://github.com/prometheus-community/pgbouncer_exporter/releases/download/v${PACKAGE_VERSION}/pgbouncer_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: pgbouncer_exporter
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Prometheus exporter for PgBouncer"
maintainer: Prometheus
homepage: https://github.com/prometheus-community/pgbouncer_exporter
license: Apache-2.0 license
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,19 @@
name: postgres_exporter
release: 1
version: 0.17.1
build:
- distro: el/8
github: prometheus-community/postgres_exporter
description: A PostgreSQL metric exporter for Prometheus
arch: amd64
platform: linux
maintainer: Prometheus
homepage: https://github.com/prometheus-community/postgres_exporter
license: Apache-2.0 license
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1-el8
version: 0.18.1
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1-el9
version: 0.18.1

View File

@ -1,6 +1,10 @@
#!/usr/bin/bash
set -e
# Download the required files
curl --output - -L https://github.com/prometheus-community/postgres_exporter/releases/download/v${PACKAGE_VERSION}/postgres_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: postgres_exporter
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A PostgreSQL metric exporter for Prometheus"
maintainer: Prometheus
homepage: https://github.com/prometheus-community/postgres_exporter
license: Apache-2.0 license
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,8 +1,17 @@
name: puppet-initial
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 1.0.3
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 1.0.3
description: A script and service to initialise puppet for the unkin environmnet.
github: unknown/puppet-initial
license: MIT
maintainer: UNKIN
name: puppet-initial
platform: linux

View File

@ -1,2 +1,7 @@
#!/usr/bin/bash
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
set -e
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: puppet-initial
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A script and service to initialise puppet for the unkin environmnet."
description: "${PACKAGE_DESCRIPTION}"
maintainer: UNKIN
license: MIT
maintainer: ${PACKAGE_MAINTAINER}
license: ${PACKAGE_LICENSE}
disable_globbing: false

View File

@ -1,9 +1,18 @@
name: puppetdb_exporter
release: 1
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 1.1.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 1.1.0
description: Prometheus exporter for PuppetDB
github: camptocamp/prometheus-puppetdb-exporter
homepage: https://github.com/camptocamp/prometheus-puppetdb-exporter
license: Apache 2.0 License
maintainer: Comptocamp
name: puppetdb_exporter
platform: linux

View File

@ -1,3 +1,9 @@
#!/usr/bin/bash
set -e
curl --output - -L https://github.com/camptocamp/prometheus-puppetdb-exporter/releases/download/${PACKAGE_VERSION}/prometheus-puppetdb-exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

View File

@ -1,16 +1,16 @@
# nfpm.yaml
name: puppetdb_exporter
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Prometheus exporter for PuppetDB"
maintainer: Comptocamp
homepage: https://github.com/camptocamp/prometheus-puppetdb-exporter
license: Apache 2.0 License
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false

Some files were not shown because too many files have changed in this diff Show More