refactor: standardize Dockerfile and build script structure
Standardize all RPM packages to use a consistent build pattern: - Simple Dockerfiles that copy resources/ and call build.sh - Move all build logic to resources/build.sh scripts - Consolidate nfpm.yaml and scripts into resources/ directory - Update base image to almalinux9-rpmbuilder for consistency Changes: - Refactored 37 packages total (simple + complex) - HashiCorp tools: consul, vault, terraform, terragrunt, packer, nomad, nomad-autoscaler - Development tools: g10k, etcd, nfpm, ruff, uv, unrar, nzbget, boilerplate - VictoriaMetrics: vlutils, vmutils, victoria-logs - Network tools: cni-plugins, consul-cni, unkin-ca-certificates - Jellyfin suite: jellyfin-web, jellyfin-server, jellyfin-ffmpeg-bin - System packages: puppet-initial, incus This standardization improves maintainability and consistency across the entire RPM build system while preserving all existing functionality.
This commit is contained in:
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Download and extract vlutils
|
||||
wget -O /app/vlutils-linux-amd64-v${PACKAGE_VERSION}.tar.gz \
|
||||
https://github.com/VictoriaMetrics/VictoriaLogs/releases/download/v${PACKAGE_VERSION}/vlutils-linux-amd64-v${PACKAGE_VERSION}.tar.gz
|
||||
tar xf vlutils-linux-amd64-v${PACKAGE_VERSION}.tar.gz
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -0,0 +1,45 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: vlutils
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "VictoriaLogs utilities: Fast and easy to use database for logs, which can efficiently handle terabytes of logs "
|
||||
|
||||
maintainer: VictoriaMetrics
|
||||
homepage: https://github.com/VictoriaMetrics/VictoriaLogs
|
||||
license: Apache-2.0 license
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- vlutils
|
||||
|
||||
provides:
|
||||
- vlagent
|
||||
- vlogscli
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/vlagent-prod
|
||||
dst: /usr/bin/vlagent
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
- src: /app/vlogscli-prod
|
||||
dst: /usr/bin/vlogscli
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
# Scripts to run during installation/removal (optional)
|
||||
# scripts:
|
||||
# preinstall: ./scripts/preinstall.sh
|
||||
# postinstall: ./scripts/postinstall.sh
|
||||
# preremove: ./scripts/preremove.sh
|
||||
# postremove: ./scripts/postremove.sh
|
||||
Reference in New Issue
Block a user