3 Commits

Author SHA1 Message Date
unkinben f6c04473c4 Merge branch 'master' into update/stalwart-cli
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 11:26:19 +10:00
unkinben 64172e0d83 Merge branch 'master' into update/stalwart-cli
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 09:54:07 +10:00
unkinben 8075bcf3a3 feat: update stalwart-cli to 0.16.3
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:32 +10:00
94 changed files with 345 additions and 1067 deletions
-18
View File
@@ -31,24 +31,6 @@ repos:
"-s",
]
- repo: local
hooks:
- id: pytest
name: Run unit tests
entry: make test
language: system
types: [python]
pass_filenames: false
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.37.2
hooks:
- id: check-jsonschema
name: Validate RPM package metadata
files: ^rpms/[^/]+/metadata\.yaml$
args: [--schemafile, schema/metadata.json]
language_version: python3.11
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.7
hooks:
+1 -7
View File
@@ -7,18 +7,12 @@ steps:
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- dnf install buildah -y
- ./tools/build build-all --distro almalinux/el8 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show rpms
image: git.unkin.net/unkin/almalinux8-base:latest
+1 -7
View File
@@ -7,18 +7,12 @@ steps:
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- dnf install buildah -y
- ./tools/build build-all --distro almalinux/el9 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show rpms
image: git.unkin.net/unkin/almalinux9-base:latest
-26
View File
@@ -1,26 +0,0 @@
when:
- event: pull_request
steps:
- name: build rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/42 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show rpms
image: git.unkin.net/unkin/fedora42-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
-26
View File
@@ -1,26 +0,0 @@
when:
- event: pull_request
steps:
- name: build rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/43 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show rpms
image: git.unkin.net/unkin/fedora43-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
-26
View File
@@ -1,26 +0,0 @@
when:
- event: pull_request
steps:
- name: build rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/44 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show rpms
image: git.unkin.net/unkin/fedora44-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
+1 -14
View File
@@ -8,18 +8,12 @@ steps:
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- dnf install buildah -y
- ./tools/build build-all --distro almalinux/el8 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show-rpms
image: git.unkin.net/unkin/almalinux9-base:latest
@@ -40,11 +34,4 @@ steps:
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
depends_on: [build-rpms, show-rpms]
+1 -14
View File
@@ -8,18 +8,12 @@ steps:
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- dnf install buildah -y
- ./tools/build build-all --distro almalinux/el9 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show-rpms
image: git.unkin.net/unkin/almalinux9-base:latest
@@ -40,11 +34,4 @@ steps:
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
depends_on: [build-rpms, show-rpms]
-50
View File
@@ -1,50 +0,0 @@
when:
- event: push
branch: master
steps:
- name: build-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/42 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show-rpms
image: git.unkin.net/unkin/fedora42-rpmbuilder:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
depends_on: [build-rpms]
- name: deploy-rpms
image: git.unkin.net/unkin/fedora42-rpmbuilder:latest
commands:
- |
for rpm in $(find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"); do
curl --user droneci:$${DRONECI_PASSWORD} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/fedora/42/upload
done
environment:
DRONECI_PASSWORD:
from_secret: DRONECI_PASSWORD
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
depends_on: [build-rpms, show-rpms]
-50
View File
@@ -1,50 +0,0 @@
when:
- event: push
branch: master
steps:
- name: build-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/43 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show-rpms
image: git.unkin.net/unkin/fedora43-rpmbuilder:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
depends_on: [build-rpms]
- name: deploy-rpms
image: git.unkin.net/unkin/fedora43-rpmbuilder:latest
commands:
- |
for rpm in $(find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"); do
curl --user droneci:$${DRONECI_PASSWORD} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/fedora/43/upload
done
environment:
DRONECI_PASSWORD:
from_secret: DRONECI_PASSWORD
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
depends_on: [build-rpms, show-rpms]
-50
View File
@@ -1,50 +0,0 @@
when:
- event: push
branch: master
steps:
- name: build-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/44 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show-rpms
image: git.unkin.net/unkin/fedora44-rpmbuilder:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
depends_on: [build-rpms]
- name: deploy-rpms
image: git.unkin.net/unkin/fedora44-rpmbuilder:latest
commands:
- |
for rpm in $(find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"); do
curl --user droneci:$${DRONECI_PASSWORD} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/fedora/44/upload
done
environment:
DRONECI_PASSWORD:
from_secret: DRONECI_PASSWORD
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
depends_on: [build-rpms, show-rpms]
+1 -5
View File
@@ -11,7 +11,7 @@ DISTRO ?= almalinux/el9
PACKAGES := $(shell find $(ROOT_DIR)/rpms -mindepth 1 -maxdepth 1 -type d -exec test -f {}/metadata.yaml \; -print | xargs -n1 basename | sort)
# Default target to build all packages
.PHONY: all list build clean test
.PHONY: all list build clean
all: build-all
# List all available packages
@@ -47,10 +47,6 @@ dry-run:
@echo "Dry run - showing what would be built for distro $(DISTRO):"
$(BUILD_TOOL) build-all --distro $(DISTRO) --dry-run
# Run unit tests
test:
@uv run --group dev pytest tests/ -q; rc=$$?; [ $$rc -eq 5 ] && exit 0 || exit $$rc
# Clean target
clean:
@echo "Cleaning build artifacts..."
-11
View File
@@ -1,11 +0,0 @@
[project]
name = "rpmbuilder"
version = "0.1.0"
requires-python = ">=3.11"
[dependency-groups]
dev = [
"pytest>=8",
"jsonschema>=4",
"pyyaml>=6",
]
+15 -17
View File
@@ -1,20 +1,18 @@
name: act_runner
github: unknown/act_runner
description: A runner for Gitea based on act.
---
arch: amd64
platform: linux
maintainer: Gitea
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.2.12
- 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
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 0.2.12
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 0.2.12
maintainer: Gitea
name: act_runner
platform: linux
+15 -17
View File
@@ -1,20 +1,18 @@
name: bind_exporter
github: prometheus-community/bind_exporter
description: Prometheus exporter for BIND
---
arch: amd64
platform: linux
maintainer: Prometheus
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.8.0
- 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
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 0.8.0
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 0.8.0
maintainer: Prometheus
name: bind_exporter
platform: linux
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: Gruntwork
homepage: https://github.com/gruntwork-io/boilerplate
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
+9 -9
View File
@@ -1,19 +1,19 @@
name: claude-code
description: Claude Code - Anthropic's agentic AI coding tool
arch: amd64
platform: linux
maintainer: Anthropic
homepage: https://claude.ai/code
license: Proprietary
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
repository:
- almalinux/el8
version: 2.1.156
version: 2.1.126
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
repository:
- almalinux/el9
version: 2.1.156
version: 2.1.126
claude_ai: true
description: Claude Code - Anthropic's agentic AI coding tool
homepage: https://claude.ai/code
license: Proprietary
maintainer: Anthropic
name: claude-code
platform: linux
+2 -3
View File
@@ -7,15 +7,14 @@ platform: linux
maintainer: ContainerNetworking
homepage: https://github.com/containernetworking/plugins
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 1.9.1
version: 1.9.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.9.1
version: 1.9.0
+1 -1
View File
@@ -1,3 +1,4 @@
---
name: code-server
github: coder/code-server
description: VS Code in the browser.
@@ -6,7 +7,6 @@ platform: linux
maintainer: Coder
homepage: https://github.com/coder/code-server
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
+15 -18
View File
@@ -1,21 +1,18 @@
name: consul-cni
github: unknown/consul-cni
description: Plugin for Consul on Kubernetes to allow configuring traffic redirection
rules without escalated container privileges.
---
arch: amd64
platform: linux
maintainer: Hashicorp
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 1.7.1
- 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
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 1.7.1
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 1.7.1
maintainer: Hashicorp
name: consul-cni
platform: linux
-8
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: HashiCorp
homepage: https://github.com/hashicorp/consul
license: BUSL-1.1
dist_tag: true
builds:
- repository:
- almalinux/el8
@@ -19,10 +18,3 @@ builds:
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.22.7
- repository:
- fedora/42
- fedora/43
- fedora/44
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.22.7
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: https://etcd.io/
homepage: https://etcd.io/
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: onedr0p
homepage: https://github.com/onedr0p/exportarr
license: MIT license
dist_tag: true
builds:
- repository:
- almalinux/el8
-1
View File
@@ -6,7 +6,6 @@ platform: linux
maintainer: Prometheus
homepage: https://github.com/tynany/frr_exporter
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
+15 -17
View File
@@ -1,20 +1,18 @@
name: g10k
github: xorpaul/g10k
description: An r10k fork written in Go, designed to work somwhat similar like puppetlabs/r10k.
---
arch: amd64
platform: linux
maintainer: xorpaul
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.9.10
- 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
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 0.9.10
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 0.9.10
maintainer: xorpaul
name: g10k
platform: linux
+1 -1
View File
@@ -1,3 +1,4 @@
---
name: git-delta
github: dandavison/delta
description: A syntax-highlighting pager for git, diff, grep, and blame output.
@@ -6,7 +7,6 @@ platform: linux
maintainer: dandavison
homepage: https://github.com/dandavison/delta
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
+2 -3
View File
@@ -1,13 +1,12 @@
---
name: hadolint
github: hadolint/hadolint
description: A smarter Dockerfile linter that helps you build best practice Docker
images.
description: A smarter Dockerfile linter that helps you build best practice Docker images.
arch: amd64
platform: linux
maintainer: hadolint
homepage: https://github.com/hadolint/hadolint
license: GPL-3.0
dist_tag: true
builds:
- repository:
- almalinux/el8
-1
View File
@@ -6,7 +6,6 @@ platform: linux
maintainer: Helm Contributors
homepage: https://github.com/helm/helm
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
-1
View File
@@ -8,7 +8,6 @@ platform: linux
maintainer: Helmfile Contributors
homepage: https://github.com/helmfile/helmfile
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
+1 -2
View File
@@ -6,10 +6,9 @@ platform: linux
maintainer: unkin
homepage: https://linuxcontainers.org/incus/
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 6.23.0
version: 6.20.0
-1
View File
@@ -6,7 +6,6 @@ platform: linux
maintainer: unkin
homepage: https://github.com/jellyfin/jellyfin-ffmpeg
license: GPL-3.0
dist_tag: false
builds:
- repository:
- almalinux/el8
+12 -14
View File
@@ -1,15 +1,13 @@
name: jellyfin-server
github: unknown/jellyfin-server
description: jellyfin-server package
dist_tag: false
---
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 10.10.7
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 10.10.7
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 10.10.7
- 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
+12 -14
View File
@@ -1,15 +1,13 @@
name: jellyfin-web
github: unknown/jellyfin-web
description: jellyfin-web package
dist_tag: false
---
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 10.10.7
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 10.10.7
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 10.10.7
- 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
+8 -9
View File
@@ -1,13 +1,4 @@
name: jsonnet-language-server
github: grafana/jsonnet-language-server
description: Jsonnet Language Server Protocol implementation for the Jsonnet templating
language.
arch: amd64
platform: linux
maintainer: Grafana Labs
homepage: https://github.com/grafana/jsonnet-language-server
license: Apache-2.0
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
@@ -19,3 +10,11 @@ builds:
repository:
- almalinux/el9
version: 0.17.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
+7 -8
View File
@@ -1,12 +1,4 @@
name: jsonnet-lint
github: google/go-jsonnet
description: Linter for Jsonnet
arch: amd64
platform: linux
maintainer: Google
homepage: https://github.com/google/go-jsonnet
license: Apache-2.0
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
@@ -18,3 +10,10 @@ builds:
repository:
- almalinux/el9
version: 0.22.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
+15 -17
View File
@@ -1,20 +1,18 @@
name: jsonnet
github: google/go-jsonnet
description: A data templating language
---
arch: amd64
platform: linux
maintainer: Google
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.21.0
- 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
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
repository:
- almalinux/el8
version: 0.22.0
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
repository:
- almalinux/el9
version: 0.22.0
maintainer: Google
name: jsonnet
platform: linux
-20
View File
@@ -1,20 +0,0 @@
name: kubecolor
github: kubecolor/kubecolor
description: Colorize your kubectl output
arch: amd64
platform: linux
maintainer: kubecolor
homepage: https://github.com/kubecolor/kubecolor
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.6.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.6.0
-10
View File
@@ -1,10 +0,0 @@
#!/usr/bin/bash
set -e
wget -O /app/kubecolor_${PACKAGE_VERSION}_linux_amd64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/kubecolor/kubecolor/releases/download/v${PACKAGE_VERSION}/kubecolor_${PACKAGE_VERSION}_linux_amd64.tar.gz
tar xf /app/kubecolor_${PACKAGE_VERSION}_linux_amd64.tar.gz -C /app/ kubecolor
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
-30
View File
@@ -1,30 +0,0 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- kubecolor
provides:
- kubecolor
contents:
- src: /app/kubecolor
dst: /usr/bin/kubecolor
file_info:
mode: 0755
owner: root
group: root
-1
View File
@@ -6,7 +6,6 @@ platform: linux
maintainer: Yann Hamon
homepage: https://github.com/yannh/kubeconform
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
+1 -1
View File
@@ -1,3 +1,4 @@
---
name: kubectx
github: ahmetb/kubectx
description: Faster way to switch between clusters and namespaces in kubectl.
@@ -6,7 +7,6 @@ platform: linux
maintainer: ahmetb
homepage: https://github.com/ahmetb/kubectx
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
+9 -11
View File
@@ -1,3 +1,4 @@
---
name: kustomize
github: kubernetes-sigs/kustomize
description: Kubernetes native configuration management
@@ -6,16 +7,13 @@ platform: linux
maintainer: kubernetes-sigs
homepage: https://github.com/kubernetes-sigs/kustomize
license: Apache-2.0
dist_tag: true
github_release_pattern: ^kustomize/v.*
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
version: 5.8.1
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
version: 5.8.1
- repository: [almalinux/el8]
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
version: 5.8.1
- repository: [almalinux/el9]
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
version: 5.8.1
+1 -1
View File
@@ -1,3 +1,4 @@
---
name: lazydocker
github: jesseduffield/lazydocker
description: The lazier way to manage everything docker.
@@ -6,7 +7,6 @@ platform: linux
maintainer: jesseduffield
homepage: https://github.com/jesseduffield/lazydocker
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
+15 -17
View File
@@ -1,20 +1,18 @@
name: libfoundationdb
github: apple/foundationdb
description: FoundationDB client library - Shared library for FoundationDB applications
---
arch: amd64
platform: linux
maintainer: FoundationDB Community
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
homepage: https://github.com/apple/foundationdb
license: Apache-2.0
dist_tag: true
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
maintainer: FoundationDB Community
name: libfoundationdb
platform: linux
+2 -3
View File
@@ -1,13 +1,12 @@
---
name: neovim-glibc-2.17
github: neovim/neovim-releases
description: Vim-fork focused on extensibility and usability (glibc 2.17 compatible
build).
description: Vim-fork focused on extensibility and usability (glibc 2.17 compatible build).
arch: amd64
platform: linux
maintainer: neovim
homepage: https://neovim.io
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
+1 -1
View File
@@ -1,3 +1,4 @@
---
name: neovim
github: neovim/neovim
description: Vim-fork focused on extensibility and usability.
@@ -6,7 +7,6 @@ platform: linux
maintainer: neovim
homepage: https://neovim.io
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
-8
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: GoReleaser
homepage: https://nfpm.goreleaser.com/
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
@@ -19,10 +18,3 @@ builds:
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 2.46.3
- repository:
- fedora/42
- fedora/43
- fedora/44
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 2.46.3
+2 -3
View File
@@ -6,15 +6,14 @@ platform: linux
maintainer: Prometheus
homepage: https://github.com/prometheus/node_exporter
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 1.11.1
version: 1.10.2
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.11.1
version: 1.10.2
-1
View File
@@ -8,7 +8,6 @@ platform: linux
maintainer: Hashicorp
homepage: https://github.com/hashicorp/nomad-autoscaler
license: Mozilla Public License, version 2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
+15 -18
View File
@@ -1,21 +1,18 @@
name: nomad
github: unknown/nomad
description: A simple and flexible scheduler and orchestrator to deploy and manage
containers and non-containerized applications across on-premises and clouds at scale.
---
arch: amd64
platform: linux
maintainer: HashiCorp
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 1.10.1
- 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
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 1.10.1
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 1.10.1
maintainer: HashiCorp
name: nomad
platform: linux
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: nzbgetcom
homepage: https://github.com/nzbgetcom/nzbget
license: GPL-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
+15 -17
View File
@@ -1,20 +1,18 @@
name: nzbget_exporter
github: frebib/nzbget-exporter
description: Prometheus exporter for NZBGet
---
arch: amd64
platform: linux
maintainer: Prometheus
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
homepage: https://github.com/frebib/nzbget-exporter
license: MIT
dist_tag: true
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
maintainer: Prometheus
name: nzbget_exporter
platform: linux
@@ -1,13 +1,12 @@
name: openbao-plugin-secret-consul
github: openbao/openbao-plugins
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
dist_tag: true
github_release_pattern: ^secrets-consul-v.*
builds:
- repository:
- almalinux/el8
@@ -1,13 +1,12 @@
name: openbao-plugin-secret-nomad
github: openbao/openbao-plugins
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
dist_tag: true
github_release_pattern: ^secrets-nomad-v.*
builds:
- repository:
- almalinux/el8
-1
View File
@@ -6,7 +6,6 @@ platform: linux
maintainer: OpenBao Community
homepage: https://github.com/openbao/openbao-plugins
license: MPL-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
-1
View File
@@ -6,7 +6,6 @@ platform: linux
maintainer: HashiCorp
homepage: https://www.packer.io/
license: BUSL-1.1
dist_tag: true
builds:
- repository:
- almalinux/el8
+15 -17
View File
@@ -1,20 +1,18 @@
name: pgbouncer_exporter
github: prometheus-community/pgbouncer_exporter
description: Prometheus exporter for PgBouncer
---
arch: amd64
platform: linux
maintainer: Prometheus
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.11.0
- 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
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
repository:
- almalinux/el8
version: 0.12.0
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
repository:
- almalinux/el9
version: 0.12.0
maintainer: Prometheus
name: pgbouncer_exporter
platform: linux
-1
View File
@@ -6,7 +6,6 @@ platform: linux
maintainer: Prometheus
homepage: https://github.com/prometheus-community/postgres_exporter
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
+15 -17
View File
@@ -1,19 +1,17 @@
name: puppet-initial
github: unknown/puppet-initial
description: A script and service to initialise puppet for the unkin environmnet.
---
arch: amd64
platform: linux
maintainer: UNKIN
license: MIT
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 1.0.3
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 1.0.3
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 1.0.3
- 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
+15 -17
View File
@@ -1,20 +1,18 @@
name: puppetdb_exporter
github: camptocamp/prometheus-puppetdb-exporter
description: Prometheus exporter for PuppetDB
---
arch: amd64
platform: linux
maintainer: Comptocamp
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 1.1.0
- 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
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 1.1.0
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 1.1.0
maintainer: Comptocamp
name: puppetdb_exporter
platform: linux
+2 -3
View File
@@ -6,15 +6,14 @@ platform: linux
maintainer: Astral.sh
homepage: https://docs.astral.sh/ruff/
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.15.12
version: 0.14.10
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.15.12
version: 0.14.10
+1 -1
View File
@@ -1,3 +1,4 @@
---
name: sops
github: getsops/sops
description: Simple and flexible tool for managing secrets.
@@ -6,7 +7,6 @@ platform: linux
maintainer: getsops
homepage: https://github.com/getsops/sops
license: MPL-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
+2 -3
View File
@@ -6,15 +6,14 @@ platform: linux
maintainer: Stalwart Labs
homepage: https://stalw.art
license: AGPL-3.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.15.3
version: 0.16.3
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.15.3
version: 0.16.3
+2 -3
View File
@@ -7,15 +7,14 @@ platform: linux
maintainer: Stalwart Labs
homepage: https://stalw.art
license: AGPL-3.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.16.3
version: 0.15.3
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.16.3
version: 0.15.3
+2 -3
View File
@@ -6,15 +6,14 @@ platform: linux
maintainer: Stalwart Labs
homepage: https://stalw.art
license: AGPL-3.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.16.3
version: 0.15.3
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.16.3
version: 0.15.3
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: starship
homepage: https://starship.rs
license: ISC
dist_tag: true
builds:
- repository:
- almalinux/el8
+1 -1
View File
@@ -1,3 +1,4 @@
---
name: stern
github: stern/stern
description: Multi pod and container log tailing for Kubernetes.
@@ -6,7 +7,6 @@ platform: linux
maintainer: stern
homepage: https://github.com/stern/stern
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
+1 -8
View File
@@ -1,3 +1,4 @@
---
name: tea
github: unknown/tea
description: The official CLI for Gitea.
@@ -6,7 +7,6 @@ platform: linux
maintainer: Gitea
homepage: https://gitea.com/gitea/tea
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
@@ -18,10 +18,3 @@ builds:
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.14.0
- repository:
- fedora/42
- fedora/43
- fedora/44
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.14.0
+2 -3
View File
@@ -9,15 +9,14 @@ platform: linux
maintainer: HashiCorp
homepage: https://terraform.io/
license: BUSL-1.1
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 1.15.0
version: 1.14.3
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.15.0
version: 1.14.3
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: Gruntwork
homepage: https://github.com/gruntwork-io/terragrunt
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: Terraform Linters
homepage: https://github.com/terraform-linters/tflint
license: MPL-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
+15 -24
View File
@@ -1,27 +1,18 @@
name: unkin-ca-certificates
github: unknown/unkin-ca-certificates
description: ca-certificates for the unkin site
---
arch: amd64
platform: linux
maintainer: Unkin
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 2025.07.13
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 2025.07.13
description: ca-certificates for the unkin site
github: unknown/unkin-ca-certificates
homepage: https://vault.query.consul:8200
license: Apache-2.0
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 2025.07.13
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 2025.07.13
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- fedora/42
- fedora/43
- fedora/44
version: 2025.07.13
maintainer: Unkin
name: unkin-ca-certificates
platform: linux
+15 -17
View File
@@ -1,20 +1,18 @@
name: unkin-undionly-kpxe
github: ipxe/ipxe
description: iPXE network bootloader
---
arch: amd64
platform: linux
maintainer: iPXE
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 20250712.0.2
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 20250712.0.2
description: iPXE network bootloader
github: ipxe/ipxe
homepage: https://github.com/ipxe/ipxe
license: GPL-2.0 license
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 20250712.0.2
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 20250712.0.2
maintainer: iPXE
name: unkin-undionly-kpxe
platform: linux
+15 -19
View File
@@ -1,22 +1,18 @@
name: unrar
github: unknown/unrar
description: WinRAR is a powerful archive manager. It can backup your data and reduce
the size of email attachments, open and unpack RAR, ZIP and other files downloaded
from Internet, create new archives in RAR and ZIP file format.
---
arch: amd64
platform: linux
maintainer: RARLAB
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: '7.20'
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: '7.20'
description: WinRAR is a powerful archive manager. It can backup your data and reduce the size of email attachments, open and unpack RAR, ZIP and other files downloaded from Internet, create new archives in RAR and ZIP file format.
github: unknown/unrar
homepage: https://www.rarlab.com/
license: Freeware (UNRAR 7.11 freeware Copyright (c) 1993-2025 Alexander Roshal)
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: '7.20'
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: '7.20'
maintainer: RARLAB
name: unrar
platform: linux
+2 -10
View File
@@ -6,22 +6,14 @@ platform: linux
maintainer: Astral.sh
homepage: https://docs.astral.sh/uv/
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.11.14
version: 0.11.8
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.11.14
- repository:
- fedora/42
- fedora/43
- fedora/44
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.11.14
version: 0.11.8
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: Helmfile Contributors
homepage: https://github.com/helmfile/vals
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
-8
View File
@@ -9,7 +9,6 @@ platform: linux
maintainer: HashiCorp
homepage: https://github.com/hashicorp/vault
license: BUSL-1.1
dist_tag: true
builds:
- repository:
- almalinux/el8
@@ -21,10 +20,3 @@ builds:
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 2.0.0
- repository:
- fedora/42
- fedora/43
- fedora/44
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 2.0.0
+1 -1
View File
@@ -6,7 +6,7 @@ set -e
dnf install -y unzip
# Download and extract vault
curl -L -o /app/vault.zip https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/hashicorp-releases/vault/${PACKAGE_VERSION}/vault_${PACKAGE_VERSION}_linux_amd64.zip
curl -L -o /app/vault.zip https://releases.hashicorp.com/vault/${PACKAGE_VERSION}/vault_${PACKAGE_VERSION}_linux_amd64.zip
unzip vault.zip
# Process the nfpm.yaml template with environment variables
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: VictoriaMetrics
homepage: https://github.com/VictoriaMetrics/VictoriaLogs
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: VictoriaMetrics
homepage: https://github.com/VictoriaMetrics/VictoriaLogs
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
+2 -3
View File
@@ -7,15 +7,14 @@ platform: linux
maintainer: VictoriaMetrics
homepage: https://github.com/VictoriaMetrics/VictoriaMetrics
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 1.142.0
version: 1.132.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.142.0
version: 1.132.0
+2 -3
View File
@@ -6,15 +6,14 @@ platform: linux
maintainer: VictoriaMetrics
homepage: https://github.com/VictoriaMetrics/VictoriaMetrics
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 1.142.0
version: 1.132.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.142.0
version: 1.132.0
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: VictoriaMetrics
homepage: https://github.com/VictoriaMetrics/VictoriaMetrics
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: VictoriaMetrics
homepage: https://github.com/VictoriaMetrics/VictoriaMetrics
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: VictoriaMetrics
homepage: https://github.com/VictoriaMetrics/VictoriaMetrics
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
-1
View File
@@ -7,7 +7,6 @@ platform: linux
maintainer: VictoriaMetrics
homepage: https://github.com/VictoriaMetrics/VictoriaMetrics
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
+15 -25
View File
@@ -1,28 +1,18 @@
name: xh
github: ducaale/xh
description: A friendly and fast tool for sending HTTP requests (HTTPie reimplementation
in Rust)
---
arch: amd64
platform: linux
maintainer: ducaale
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 0.25.3
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 0.25.3
description: A friendly and fast tool for sending HTTP requests (HTTPie reimplementation in Rust)
github: ducaale/xh
homepage: https://github.com/ducaale/xh
license: MIT
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 0.25.3
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 0.25.3
- repository:
- fedora/42
- fedora/43
- fedora/44
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.25.3
maintainer: ducaale
name: xh
platform: linux
+2 -10
View File
@@ -1,13 +1,12 @@
---
name: yq
github: mikefarah/yq
description: yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties
processor.
description: yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor.
arch: amd64
platform: linux
maintainer: mikefarah
homepage: https://github.com/mikefarah/yq
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
@@ -19,10 +18,3 @@ builds:
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 4.53.2
- repository:
- fedora/42
- fedora/43
- fedora/44
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 4.53.2
-111
View File
@@ -1,111 +0,0 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"description": "Schema for rpms/*/metadata.yaml files",
"properties": {
"arch": {
"enum": [
"amd64",
"arm64",
"x86_64"
],
"type": "string"
},
"builds": {
"items": {
"additionalProperties": false,
"properties": {
"image": {
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_.:/@]+$",
"type": "string"
},
"release": {
"oneOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "number"
}
]
},
"repository": {
"items": {
"enum": [
"almalinux/el8",
"almalinux/el9",
"fedora/42",
"fedora/43",
"fedora/44"
],
"type": "string"
},
"minItems": 1,
"type": "array"
},
"version": {
"minLength": 1,
"pattern": "^[0-9]+(\\.[0-9]+)*(-[a-zA-Z0-9]+)*$",
"type": "string"
}
},
"required": [
"repository",
"image",
"release",
"version"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"description": {
"minLength": 1,
"type": "string"
},
"dist_tag": {
"type": "boolean"
},
"github": {
"minLength": 1,
"pattern": "^[a-zA-Z0-9\\-_]+/[a-zA-Z0-9\\-_.]+$",
"type": "string"
},
"github_release_pattern": {
"minLength": 1,
"type": "string"
},
"homepage": {
"minLength": 1,
"pattern": "^https?://.+",
"type": "string"
},
"license": {
"minLength": 1,
"type": "string"
},
"maintainer": {
"minLength": 1,
"type": "string"
},
"name": {
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_.]*$",
"type": "string"
},
"platform": {
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"description",
"builds"
],
"title": "RPM Package Metadata",
"type": "object"
}
View File
-2
View File
@@ -1,2 +0,0 @@
# Tests for tools/build and tools/update-gh.
# See https://git.unkin.net/unkin/rpmbuilder/issues/162
-36
View File
@@ -1,36 +0,0 @@
"""Validate every rpms/*/metadata.yaml against schema/metadata.json."""
import json
from pathlib import Path
import jsonschema
import pytest
import yaml
REPO_ROOT = Path(__file__).parent.parent
SCHEMA_FILE = REPO_ROOT / "schema" / "metadata.json"
RPMS_DIR = REPO_ROOT / "rpms"
@pytest.fixture(scope="session")
def schema():
with open(SCHEMA_FILE) as f:
return json.load(f)
def metadata_files():
return sorted(RPMS_DIR.glob("*/metadata.yaml"))
@pytest.mark.parametrize("metadata_file", metadata_files(), ids=lambda p: p.parent.name)
def test_metadata_valid(metadata_file, schema):
with open(metadata_file) as f:
data = yaml.safe_load(f)
validator = jsonschema.Draft7Validator(schema)
errors = sorted(validator.iter_errors(data), key=str)
assert not errors, "\n".join(
f" {'.'.join(str(p) for p in e.absolute_path) or '(root)'}: {e.message}"
for e in errors
)
+20 -93
View File
@@ -23,8 +23,6 @@ import sys
import logging
import subprocess
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
from pathlib import Path
from typing import List, Optional
from concurrent.futures import ThreadPoolExecutor, as_completed
@@ -35,36 +33,6 @@ import yaml
from cerberus import Validator
# ==================== HTTP SESSIONS ====================
def _make_session(retries: int = 3, backoff_factor: float = 0.5) -> requests.Session:
"""
Build a requests Session that retries on transient failures.
Retries up to `retries` times on connection errors, read timeouts, and
5xx / 429 responses, with exponential backoff (0s, 0.5s, 1s, 2s …).
Only GET requests are retried to stay safe.
"""
session = requests.Session()
retry = Retry(
total=retries,
backoff_factor=backoff_factor,
status_forcelist=[429, 500, 502, 503, 504],
allowed_methods=["GET"],
raise_on_status=False,
)
adapter = HTTPAdapter(max_retries=retry)
session.mount("https://", adapter)
session.mount("http://", adapter)
return session
# Shared sessions — one per upstream so connections are pooled and reused
# across all package checks (including parallel builds in ThreadPoolExecutor).
# requests.Session is thread-safe for concurrent requests.
_gitea_session = _make_session()
_github_session = _make_session()
# ==================== VALIDATION SCHEMA ====================
# Cerberus schema for metadata.yaml validation based on PackageMetadata and Build dataclasses
@@ -113,11 +81,6 @@ METADATA_SCHEMA = {
'required': False,
'empty': False
},
'dist_tag': {
'type': 'boolean',
'required': False,
'default': False
},
'builds': {
'type': 'list',
'required': True,
@@ -131,7 +94,7 @@ METADATA_SCHEMA = {
'minlength': 1,
'schema': {
'type': 'string',
'allowed': ['almalinux/el8', 'almalinux/el9', 'fedora/42', 'fedora/43', 'fedora/44'],
'allowed': ['almalinux/el8', 'almalinux/el9'],
'empty': False
}
},
@@ -183,7 +146,6 @@ class PackageMetadata:
maintainer: str = ""
homepage: str = ""
license: str = ""
dist_tag: bool = False
builds: List[Build] = None
def __post_init__(self):
@@ -312,14 +274,15 @@ def get_github_latest_release(repo: str) -> Optional[dict]:
try:
github_token = get_github_token()
_github_session.headers.update({
'Authorization': f'token {github_token}',
'Accept': 'application/vnd.github.v3+json',
})
url = f"https://api.github.com/repos/{repo}/releases/latest"
headers = {
'Authorization': f'token {github_token}',
'Accept': 'application/vnd.github.v3+json'
}
logger.debug(f"Checking GitHub releases: {url}")
response = _github_session.get(url, timeout=15)
response = requests.get(url, headers=headers, timeout=30)
if response.status_code == 200:
release = response.json()
@@ -426,14 +389,15 @@ def get_github_releases_by_pattern(repo: str, pattern: str) -> Optional[dict]:
try:
github_token = get_github_token()
_github_session.headers.update({
'Authorization': f'token {github_token}',
'Accept': 'application/vnd.github.v3+json',
})
url = f"https://api.github.com/repos/{repo}/releases"
headers = {
'Authorization': f'token {github_token}',
'Accept': 'application/vnd.github.v3+json'
}
logger.debug(f"Checking GitHub releases with pattern '{pattern}': {url}")
response = _github_session.get(url, timeout=15)
response = requests.get(url, headers=headers, timeout=30)
if response.status_code == 200:
releases = response.json()
@@ -540,45 +504,14 @@ def normalize_version(version: str) -> str:
return ''.join(normalized_parts)
def get_rpm_dist_tag(distro: str) -> str:
"""
Map a distro path to its RPM dist tag string.
Examples:
'almalinux/el9' -> 'el9'
'fedora/43' -> 'fc43'
"""
if distro.startswith('almalinux/'):
return distro.split('/', 1)[1]
if distro.startswith('fedora/'):
return 'fc' + distro.split('/', 1)[1]
return ''
def effective_release(base_release: str, distro: str, use_dist_tag: bool) -> str:
"""Return the release string to use for building and registry checks.
When use_dist_tag is True the dist tag is appended so different distros
produce distinct entries in the package registry (e.g. '1.el9', '1.fc43').
"""
if not use_dist_tag:
return base_release
tag = get_rpm_dist_tag(distro)
return f"{base_release}.{tag}" if tag else base_release
def check_package_exists(package_name: str, version: str, release: str) -> bool:
"""
Check if a package version exists in the Gitea package registry.
Distro disambiguation is handled by the caller via the release string:
when dist_tag is enabled the caller appends the dist tag to release
(e.g. '1.el9', '1.fc43') so each distro maps to a unique version entry.
Args:
package_name: Name of the package
version: Version string
release: Effective release (may include dist tag suffix)
release: Release number
Returns:
True if package exists, False otherwise
@@ -603,17 +536,17 @@ def check_package_exists(package_name: str, version: str, release: str) -> bool:
f"{package_type}/{package_name}/{full_version}"
)
_gitea_session.headers.update({'Authorization': f'token {gitea_token}'})
headers = {'Authorization': f'token {gitea_token}'}
logger.debug(f"Checking package existence: {url}")
response = _gitea_session.get(url, timeout=10)
response = requests.get(url, headers=headers, timeout=30)
if response.status_code == 200:
package_info = response.json()
# Package exists if we get package info back
exists = bool(package_info.get('id'))
logger.debug(f"Package {package_name}:{full_version} {'exists' if exists else 'not found'}")
return exists
elif response.status_code == 404:
logger.debug(f"Package {package_name}:{full_version} not found (404)")
return False
@@ -1308,7 +1241,6 @@ class Builder:
package_name = metadata.get('name', package_dir.name)
build_configs = metadata.get('builds', [])
use_dist_tag = metadata.get('dist_tag', False)
if not build_configs:
self.logger.warning(f"No builds in metadata.yaml for {package_name}")
@@ -1327,8 +1259,7 @@ class Builder:
if repositories and base_image and version and release:
# Use the first repository as the distro identifier
build_distro = repositories[0] if repositories else 'unknown'
rel = effective_release(str(release), build_distro, use_dist_tag)
packages.append(PackageInfo(package_name, version, rel, package_dir, build_distro, base_image))
packages.append(PackageInfo(package_name, version, str(release), package_dir, build_distro, base_image))
else:
# Build for specific distro
for build_config in build_configs:
@@ -1340,8 +1271,7 @@ class Builder:
# Check if the target distro matches any repository
if distro in repositories and base_image and version and release:
rel = effective_release(str(release), distro, use_dist_tag)
packages.append(PackageInfo(package_name, version, rel, package_dir, distro, base_image))
packages.append(PackageInfo(package_name, version, str(release), package_dir, distro, base_image))
break
else:
# If no matching distro found, log a warning
@@ -1394,8 +1324,6 @@ class Builder:
with open(metadata_file, 'r') as f:
metadata = yaml.safe_load(f)
use_dist_tag = metadata.get('dist_tag', False)
# Find base image and validate version/release for the specified distro
build_configs = metadata.get('builds', [])
base_image = None
@@ -1439,8 +1367,7 @@ class Builder:
self.logger.error(f"Error reading metadata.yaml for {package}: {e}")
return False
rel = effective_release(release, distro, use_dist_tag)
package_info = PackageInfo(package, version, rel, package_dir, distro, base_image)
package_info = PackageInfo(package, version, release, package_dir, distro, base_image)
return self._build_package(package_info, dry_run, force, native, buildah)
def build_all(self, dry_run: bool = False, force: bool = False, parallel: int = 4, distro: str = 'el/9', native: bool = False, buildah: bool = False) -> bool: