- 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.
- 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
- Replace Makefile version/release file system with metadata.yaml only
- Add Python build automation (./tools/build) with Gitea API integration
- Add GitHub release updater (./tools/update-gh) for version management
- Centralize Dockerfiles into single parameterized Dockerfile
- Remove 54+ individual package Dockerfiles and version directories
- Update Makefile to use new Python tooling
- Add GITEA_API_TOKEN validation to prevent duplicate builds
- Support both explicit version/release args and metadata.yaml reading
- add stalwart: main mail server with systemd integration and user management
- add stalwart-cli: command line interface tool for server administration
- add stalwart-foundationdb: FoundationDB-enabled version with proper dependencies
- add libfoundationdb: FoundationDB client library (libfdb_c.so) package
All packages include proper conflict resolution, systemd services, and follow
repository packaging conventions. stalwart and stalwart-foundationdb are
mutually exclusive to prevent installation conflicts.
- Add openbao-plugin-secret-consul v0.1.0 RPM configuration
- Add openbao-plugin-secret-nomad v0.1.4 RPM configuration
- Add openbao-plugins v1.0.0 meta package that installs both plugins
- Plugins install to /opt/openbao-plugins directory
- Include pre-install scripts to create plugin directory
- Support for EL8 and EL9 distributions
Add complete RPM package configuration for jsonnet-language-server v0.16.0 including Dockerfile, build scripts, and nfpm configuration for cross-distro builds.
Add simplified metadata structure for all 41 packages containing:
- Package name, version, and release number
- GitHub repository for packages with GitHub releases
- Build configuration for el/8 and el/9 distributions
This metadata enables future automation for version checking and package building across different distributions.
Standardize download commands across all build scripts:
- HashiCorp packages: wget -O → curl -o
- VictoriaMetrics packages: wget -O → curl -o
- Other packages: wget -O → curl -o, wget → curl -O
- Update dependency lists to use curl instead of wget
This change provides consistency across all packages and uses a single download tool.
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.
Add RPM packages for jsonnet v0.21.0 built from go-jsonnet:
- jsonnet: main interpreter and jsonnetfmt formatter
- jsonnet-lint: linter for Jsonnet files
Both packages use Go 1.24.7 as required by go-jsonnet v0.21.0.
- the build job searches for the package in dnf cache, but because it
was three packages in victoriametrics, it would never find the package
and therfore would rebuild the package every run