1 Commits
Author SHA1 Message Date
Joachim Schlöffel 603a1f954d add nifi-registry package
Build Alpine Packages / preflight (pull_request) Successful in 10s
Build Alpine Packages / build (gitea) (pull_request) Successful in 8s
Build Alpine Packages / build (greptimedb) (pull_request) Successful in 10s
Build Alpine Packages / build (lavinmq) (pull_request) Successful in 9s
Build Alpine Packages / build (nifi-registry) (pull_request) Successful in 45s
Build Alpine Packages / build (rclone-openrc) (pull_request) Successful in 7s
Build Alpine Packages / build (seaweedfs) (pull_request) Successful in 9s
Build Alpine Packages / build (nifi) (pull_request) Successful in 3m39s
Build Alpine Packages / verify-and-publish (pull_request) Successful in 3m21s
2026-10-21 11:33:10 +02:00
11 changed files with 231 additions and 2 deletions
+2 -2
View File
@@ -66,7 +66,7 @@ jobs:
run: | run: |
for package in ${ALPINE_PACKAGES}; do for package in ${ALPINE_PACKAGES}; do
case "${package}" in case "${package}" in
seaweedfs|greptimedb|lavinmq|gitea|nifi|rclone-openrc) ;; seaweedfs|greptimedb|lavinmq|gitea|nifi|nifi-registry|rclone-openrc) ;;
*) *)
printf 'selected package is missing from the CI build matrix: %s\n' "${package}" >&2 printf 'selected package is missing from the CI build matrix: %s\n' "${package}" >&2
exit 1 exit 1
@@ -82,7 +82,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
package: [seaweedfs, greptimedb, lavinmq, gitea, nifi, rclone-openrc] package: [seaweedfs, greptimedb, lavinmq, gitea, nifi, nifi-registry, rclone-openrc]
container: container:
image: "alpine:3.24" image: "alpine:3.24"
env: env:
+1
View File
@@ -24,6 +24,7 @@ https://code.factoring.digital/api/packages/public/alpine/v3.24/alpine-packages
| [LavinMQ](packaging/alpine/local/lavinmq/README.md) | `lavinmq` | `2.10.1` | Source build from upstream release | Provides a current LavinMQ build on Alpine 3.24 with matching Crystal support. | | [LavinMQ](packaging/alpine/local/lavinmq/README.md) | `lavinmq` | `2.10.1` | Source build from upstream release | Provides a current LavinMQ build on Alpine 3.24 with matching Crystal support. |
| [Gitea](packaging/alpine/local/gitea/README.md) | `gitea` | `28.2.0` | Binary repackaging of official upstream release binaries | Ships current Gitea releases with the expected Alpine runtime layout and OpenRC service. | | [Gitea](packaging/alpine/local/gitea/README.md) | `gitea` | `28.2.0` | Binary repackaging of official upstream release binaries | Ships current Gitea releases with the expected Alpine runtime layout and OpenRC service. |
| [Apache NiFi](packaging/alpine/local/nifi/README.md) | `nifi` | `2.12.0` | Binary repackaging of the official Standard distribution | Provides Apache NiFi 2 with a secure default configuration and OpenRC service. | | [Apache NiFi](packaging/alpine/local/nifi/README.md) | `nifi` | `2.12.0` | Binary repackaging of the official Standard distribution | Provides Apache NiFi 2 with a secure default configuration and OpenRC service. |
| [Apache NiFi Registry](packaging/alpine/local/nifi-registry/README.md) | `nifi-registry` | `2.12.0` | Binary repackaging of the official Standard distribution | Provides Apache NiFi Registry 2 with a secure default configuration and OpenRC service. |
| [rclone OpenRC](packaging/alpine/local/rclone-openrc/README.md) | `rclone-openrc` | `0.1.0` | OpenRC integration for Alpine's rclone package | Provides reusable, instance-capable OpenRC supervision for rclone commands. | | [rclone OpenRC](packaging/alpine/local/rclone-openrc/README.md) | `rclone-openrc` | `0.1.0` | OpenRC integration for Alpine's rclone package | Provides reusable, instance-capable OpenRC supervision for rclone commands. |
## Use In Production ## Use In Production
@@ -0,0 +1,72 @@
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
pkgname=nifi-registry
pkgver=2.12.0
pkgrel=0
pkgdesc="Central registry for shared NiFi and MiNiFi resources"
url="https://nifi.apache.org/registry.html"
arch="x86_64 aarch64"
license="Apache-2.0"
depends="openjdk21-jre-headless"
makedepends="unzip"
install="$pkgname.pre-install"
pkgusers="nifi-registry"
pkggroups="nifi-registry"
subpackages="
$pkgname-openrc:_openrc:noarch
"
options="!check !strip !tracedeps"
source="
$pkgname-$pkgver-bin.zip::https://dlcdn.apache.org/nifi/$pkgver/nifi-registry-$pkgver-bin.zip
nifi-registry.confd
nifi-registry.initd
nifi-registry.wrapper
"
package() {
local _dir
install -d "$pkgdir"/usr/lib/nifi-registry "$pkgdir"/etc/nifi-registry
cp -a "$builddir"/. "$pkgdir"/usr/lib/nifi-registry/
chmod -R a+rX "$pkgdir"/usr/lib/nifi-registry
install -d "$pkgdir"/usr/lib/nifi-registry/docs
cp -a "$pkgdir"/usr/lib/nifi-registry/conf/. "$pkgdir"/etc/nifi-registry/
rm -r "$pkgdir"/usr/lib/nifi-registry/conf
ln -s /etc/nifi-registry "$pkgdir"/usr/lib/nifi-registry/conf
install -d -m 0750 -o nifi-registry -g nifi-registry \
"$pkgdir"/var/lib/nifi-registry
for _dir in database extension_bundles flow_storage work; do
install -d -m 0750 -o nifi-registry -g nifi-registry \
"$pkgdir"/var/lib/nifi-registry/$_dir
ln -s /var/lib/nifi-registry/$_dir \
"$pkgdir"/usr/lib/nifi-registry/$_dir
done
install -d -m 0750 -o nifi-registry -g nifi-registry \
"$pkgdir"/var/log/nifi-registry
ln -s /var/log/nifi-registry "$pkgdir"/usr/lib/nifi-registry/logs
ln -s /run/nifi-registry "$pkgdir"/usr/lib/nifi-registry/run
chown -R nifi-registry:nifi-registry "$pkgdir"/etc/nifi-registry
chmod 0750 "$pkgdir"/etc/nifi-registry
install -Dm755 "$srcdir"/nifi-registry.wrapper \
"$pkgdir"/usr/bin/nifi-registry
}
_openrc() {
pkgdesc="$pkgdesc (OpenRC service)"
depends="$pkgname=$pkgver-r$pkgrel openrc"
install -Dm755 "$srcdir"/nifi-registry.initd \
"$subpkgdir"/etc/init.d/nifi-registry
install -Dm644 "$srcdir"/nifi-registry.confd \
"$subpkgdir"/etc/conf.d/nifi-registry
}
sha512sums="
f4410a082f264175bd2f2c8b3366ac61636f1736d8fb3685cee20d8076509ed05f413dfffaaa3ca9a2b1ba49ab510bb006c9ccc9decef0332906a13f8fb9e52b nifi-registry-2.12.0-bin.zip
61d8f644a0a2f87b8d6d4ef9820d4195ee4fbaaa7da6ddba347197d4202a983a82b4f376a0ddb5c80c247d7af9d5b26d7890db325e3d124c5025b41cbd19c319 nifi-registry.confd
87116490a925d9e3133d1561baa06727bcd22637332d7ac35a7e7e8921427a68dc1b52d1560c733b5f8bd38d5ba9e82868dd9fd74d91e13efaa65b764d4b1936 nifi-registry.initd
1efcb07dbc83f4f1a3e138a16d142ffd825097ef7e209383129b2bc02266f277edc3973143bcc7498982359cffd829d999c9b944acc5860059396a2dd5112950 nifi-registry.wrapper
"
@@ -0,0 +1,42 @@
# Apache NiFi Registry Alpine Package
Repackages Apache NiFi Registry 2.12.0 for Alpine. The package requires Java
21 and preserves the upstream default: an unsecured HTTP service listening on
port 18080. Configure TLS and authentication before exposing it to an
untrusted network.
## Install
```sh
apk add nifi-registry nifi-registry-openrc
rc-update add nifi-registry default
rc-service nifi-registry start
```
Open `http://127.0.0.1:18080/nifi-registry/`.
## Runtime Layout
```text
/usr/bin/nifi-registry Administration command wrapper
/usr/lib/nifi-registry NiFi Registry binaries and bundled extensions
/etc/nifi-registry Mutable configuration and authorization state
/var/lib/nifi-registry Database, flow, extension, and work files
/var/log/nifi-registry Application logs
/etc/conf.d/nifi-registry OpenRC account defaults
/etc/init.d/nifi-registry OpenRC service
```
Edit `/etc/nifi-registry/nifi-registry.properties` to configure HTTPS, TLS,
authentication, and the listening address. Registry has been deprecated
upstream in favor of NiFi's Git-based Flow Registry clients, but remains
available through the NiFi 2.x series.
## Package Commands
```sh
ALPINE_PACKAGE=nifi-registry mise run apk:checksum
ALPINE_PACKAGE=nifi-registry mise run apk:build
ALPINE_PACKAGE=nifi-registry SKIP_BUILD=1 mise run apk:test-install
ALPINE_PACKAGE=nifi-registry mise run apk:runtime-test
```
@@ -0,0 +1,3 @@
# Defaults for Apache NiFi Registry.
NIFI_REGISTRY_USER="nifi-registry"
NIFI_REGISTRY_GROUP="nifi-registry"
@@ -0,0 +1,26 @@
#!/sbin/openrc-run
description="Apache NiFi Registry service"
supervisor=supervise-daemon
name=nifi-registry
command="/usr/lib/nifi-registry/bin/nifi-registry.sh"
command_args="run"
command_user="${NIFI_REGISTRY_USER:-nifi-registry}:${NIFI_REGISTRY_GROUP:-nifi-registry}"
directory="/usr/lib/nifi-registry"
pidfile="/run/nifi-registry/nifi-registry.pid"
supervise_daemon_args="--chdir /usr/lib/nifi-registry --env HOME=/var/lib/nifi-registry --pidfile ${pidfile}"
depend() {
need net
use dns logger
}
start_pre() {
local service_owner="${NIFI_REGISTRY_USER:-nifi-registry}:${NIFI_REGISTRY_GROUP:-nifi-registry}"
checkpath -d -m 0750 -o "$service_owner" \
/run/nifi-registry \
/var/lib/nifi-registry \
/var/log/nifi-registry
}
@@ -0,0 +1,7 @@
#!/bin/sh
addgroup -S nifi-registry 2>/dev/null
adduser -S -D -H -h /var/lib/nifi-registry -s /sbin/nologin \
-G nifi-registry -g nifi-registry nifi-registry 2>/dev/null
exit 0
@@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/lib/nifi-registry/bin/nifi-registry.sh "$@"
@@ -0,0 +1,32 @@
#!/usr/bin/env bash
set -euo pipefail
apk add nifi-registry nifi-registry-openrc curl
test -x /usr/bin/nifi-registry
test -x /usr/lib/nifi-registry/bin/nifi-registry.sh
test -d /etc/nifi-registry
test -L /usr/lib/nifi-registry/conf
test "$(readlink /usr/lib/nifi-registry/conf)" = /etc/nifi-registry
test -d /var/lib/nifi-registry
test -d /var/log/nifi-registry
test -f /etc/init.d/nifi-registry
test -f /etc/conf.d/nifi-registry
test -f /usr/lib/nifi-registry/README
test -d /usr/lib/nifi-registry/docs
test "$(stat -c '%U:%G %a' /var/lib/nifi-registry)" = "nifi-registry:nifi-registry 750"
rc-update add nifi-registry default || true
test -L /etc/runlevels/default/nifi-registry
rc-service nifi-registry start
for _attempt in $(seq 1 300); do
if curl --fail --silent --show-error http://localhost:18080/nifi-registry/ >/dev/null; then
break
fi
sleep 1
done
curl --fail --silent --show-error http://localhost:18080/nifi-registry/ >/dev/null
rc-service nifi-registry status
rc-service nifi-registry stop
@@ -0,0 +1,40 @@
#!/usr/bin/env bash
set -euo pipefail
repo_root="${REPO_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../../.." && pwd)}"
# shellcheck source=scripts/apk/test-install-lib.sh
. "${repo_root}/scripts/apk/test-install-lib.sh"
apk_test_install_run "${repo_root}" "${PACKAGE_NAME:-nifi-registry}" "${PACKAGE_VERSION:-2.12.0-r0}" <<'SCRIPT'
set -e
if [ -n "${ALPINE_REPOSITORY_URL}" ]; then
if [ -n "${ALPINE_REPOSITORY_KEY_URL}" ]; then
apk add --no-cache curl >/dev/null
cd /etc/apk/keys
curl -fsSLOJ "${ALPINE_REPOSITORY_KEY_URL}"
fi
printf "%s\n" "${ALPINE_REPOSITORY_URL}" >> /etc/apk/repositories
else
cp "/repo/${ALPINE_ARCH}"/*.rsa.pub /etc/apk/keys/
printf "%s\n" /repo >> /etc/apk/repositories
fi
apk update
apk add "${PACKAGE_NAME}" "${PACKAGE_NAME}-openrc"
test -x /usr/bin/nifi-registry
test -x /usr/lib/nifi-registry/bin/nifi-registry.sh
test -d /etc/nifi-registry
test -L /usr/lib/nifi-registry/conf
test "$(readlink /usr/lib/nifi-registry/conf)" = /etc/nifi-registry
test -d /var/lib/nifi-registry
test -d /var/log/nifi-registry
test -f /etc/init.d/nifi-registry
test -f /etc/conf.d/nifi-registry
test -f /usr/lib/nifi-registry/README
test -d /usr/lib/nifi-registry/docs
test "$(stat -c '%U:%G %a' /var/lib/nifi-registry)" = "nifi-registry:nifi-registry 750"
rc-update add nifi-registry default
test -L /etc/runlevels/default/nifi-registry
SCRIPT
@@ -0,0 +1,3 @@
provider="github"
repo="apache/nifi"
version_prefix="rel/nifi-"