From d1e62386aa239d500beeec3e357decd3bc011cca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Schl=C3=B6ffel?= Date: Mon, 5 Oct 2026 13:14:54 +0200 Subject: [PATCH 1/6] WIP: add Apache Nifi --- README.md | 1 + packaging/alpine/local/nifi/APKBUILD | 71 +++++++++++++++++++ packaging/alpine/local/nifi/README.md | 50 +++++++++++++ packaging/alpine/local/nifi/nifi.confd | 3 + packaging/alpine/local/nifi/nifi.initd | 26 +++++++ packaging/alpine/local/nifi/nifi.pre-install | 7 ++ packaging/alpine/local/nifi/nifi.wrapper | 3 + .../alpine/local/nifi/scripts/runtime-test.sh | 34 +++++++++ .../alpine/local/nifi/scripts/test-install.sh | 39 ++++++++++ packaging/alpine/local/nifi/update-check.conf | 3 + 10 files changed, 237 insertions(+) create mode 100644 packaging/alpine/local/nifi/APKBUILD create mode 100644 packaging/alpine/local/nifi/README.md create mode 100644 packaging/alpine/local/nifi/nifi.confd create mode 100755 packaging/alpine/local/nifi/nifi.initd create mode 100755 packaging/alpine/local/nifi/nifi.pre-install create mode 100755 packaging/alpine/local/nifi/nifi.wrapper create mode 100755 packaging/alpine/local/nifi/scripts/runtime-test.sh create mode 100755 packaging/alpine/local/nifi/scripts/test-install.sh create mode 100644 packaging/alpine/local/nifi/update-check.conf diff --git a/README.md b/README.md index 1dcf188..0152bf9 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ https://code.factoring.digital/api/packages/public/alpine/v3.24/alpine-packages | [GreptimeDB](packaging/alpine/local/greptimedb/README.md) | `greptimedb` | `1.2.1` | Source build from upstream release | Provides a current GreptimeDB build and component OpenRC packages before it is available from Alpine community. | | [LavinMQ](packaging/alpine/local/lavinmq/README.md) | `lavinmq` | `2.10.0` | 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` | `1.27.3` | 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. | ## Use In Production diff --git a/packaging/alpine/local/nifi/APKBUILD b/packaging/alpine/local/nifi/APKBUILD new file mode 100644 index 0000000..477a231 --- /dev/null +++ b/packaging/alpine/local/nifi/APKBUILD @@ -0,0 +1,71 @@ +# Maintainer: Joachim Schlöffel +pkgname=nifi +pkgver=2.12.0 +pkgrel=0 +pkgdesc="Reliable system for processing and distributing data" +url="https://nifi.apache.org/" +arch="noarch" +license="Apache-2.0" +depends="openjdk21-jre-headless" +makedepends="unzip" +install="$pkgname.pre-install" +pkgusers="nifi" +pkggroups="nifi" +subpackages=" + $pkgname-doc + $pkgname-openrc:_openrc:noarch + " +options="!check !strip !tracedeps" +source=" + $pkgname-$pkgver-bin.zip::https://dlcdn.apache.org/nifi/$pkgver/nifi-$pkgver-bin.zip + nifi.confd + nifi.initd + nifi.wrapper + " +package() { + local _dir + + install -d "$pkgdir"/usr/lib/nifi "$pkgdir"/etc/nifi + cp -a "$builddir"/. "$pkgdir"/usr/lib/nifi/ + + cp -a "$pkgdir"/usr/lib/nifi/conf/. "$pkgdir"/etc/nifi/ + rm -r "$pkgdir"/usr/lib/nifi/conf + ln -s /etc/nifi "$pkgdir"/usr/lib/nifi/conf + + for _dir in \ + content_repository \ + database_repository \ + extensions \ + flowfile_repository \ + provenance_repository \ + state \ + work; do + install -d -m 0750 -o nifi -g nifi "$pkgdir"/var/lib/nifi/$_dir + ln -s /var/lib/nifi/$_dir "$pkgdir"/usr/lib/nifi/$_dir + done + install -d -m 0750 -o nifi -g nifi "$pkgdir"/var/log/nifi + ln -s /var/log/nifi "$pkgdir"/usr/lib/nifi/logs + ln -s /run/nifi "$pkgdir"/usr/lib/nifi/run + + chown -R nifi:nifi "$pkgdir"/etc/nifi + chmod 0750 "$pkgdir"/etc/nifi + + install -Dm755 "$srcdir"/nifi.wrapper "$pkgdir"/usr/bin/nifi + install -d "$pkgdir"/usr/share/doc + mv "$pkgdir"/usr/lib/nifi/docs "$pkgdir"/usr/share/doc/$pkgname +} + +_openrc() { + pkgdesc="$pkgdesc (OpenRC service)" + depends="$pkgname=$pkgver-r$pkgrel openrc" + + install -Dm755 "$srcdir"/nifi.initd "$subpkgdir"/etc/init.d/nifi + install -Dm644 "$srcdir"/nifi.confd "$subpkgdir"/etc/conf.d/nifi +} + +sha512sums=" +5891039ccf15234bb21c2d1ce65027357ca7603ad8fdfc946dd4b6499ab8061fb07a6a56f8e8c5bb7635d446354ca7cc76ba40e55921818931f193a75f247334 nifi-2.12.0-bin.zip +fd576c2d2333aa79f7dac90e83f9cf6e0faed9748ebce0dfc1c18bcd1da0ec1d0da90d4004055bbddcb0f011a0e9efdc08f0eed2f3c19d49b1746019f2be1da9 nifi.confd +9f8a005fcd6a6f75a553321c27c672c4c202e8b86ff5fa0a1bd5eb0e7305592e67d8dc6a915d1f1bc01b39916b0fb0e61478cb6ae5aee4ae8b3be36c80c5662a nifi.initd +7764c6a53f0fb109ecde4959b438a0eeb669b00eafdbdb2abe5255f4053a237d4e97349594b3bf053abd55a96f8e217aa0cf0fec59a7c14f1db2490e747f713e nifi.wrapper +" diff --git a/packaging/alpine/local/nifi/README.md b/packaging/alpine/local/nifi/README.md new file mode 100644 index 0000000..3466cff --- /dev/null +++ b/packaging/alpine/local/nifi/README.md @@ -0,0 +1,50 @@ +# Apache NiFi Alpine Package + +Repackages Apache NiFi 2.12.0 Standard for Alpine. The package requires Java +21 and retains NiFi 2's secure default: HTTPS listens on `127.0.0.1:8443` and +uses generated single-user credentials. + +## Install + +```sh +apk add nifi nifi-openrc +rc-update add nifi default +rc-service nifi start +``` + +Open `https://127.0.0.1:8443/nifi` and retrieve the generated credentials: + +```sh +grep 'Generated \(Username\|Password\)' /var/log/nifi/nifi-app.log +``` + +Set fixed single-user credentials as the service account: + +```sh +doas -u nifi nifi set-single-user-credentials '' '' +rc-service nifi restart +``` + +## Runtime Layout + +```text +/usr/bin/nifi Administration command wrapper +/usr/lib/nifi NiFi binaries and bundled NARs +/etc/nifi Mutable NiFi configuration and authorization state +/var/lib/nifi Repositories, state, extensions, and work files +/var/log/nifi Application logs +/etc/conf.d/nifi OpenRC account defaults +/etc/init.d/nifi OpenRC service +``` + +Edit `/etc/nifi/nifi.properties` to bind a different HTTPS address, configure +TLS, or select LDAP, OIDC, or another supported authentication provider. + +## Package Commands + +```sh +ALPINE_PACKAGE=nifi mise run apk:checksum +ALPINE_PACKAGE=nifi mise run apk:build +ALPINE_PACKAGE=nifi SKIP_BUILD=1 mise run apk:test-install +ALPINE_PACKAGE=nifi mise run apk:runtime-test +``` diff --git a/packaging/alpine/local/nifi/nifi.confd b/packaging/alpine/local/nifi/nifi.confd new file mode 100644 index 0000000..461456d --- /dev/null +++ b/packaging/alpine/local/nifi/nifi.confd @@ -0,0 +1,3 @@ +# Defaults for Apache NiFi. +NIFI_USER="nifi" +NIFI_GROUP="nifi" diff --git a/packaging/alpine/local/nifi/nifi.initd b/packaging/alpine/local/nifi/nifi.initd new file mode 100755 index 0000000..5865c2c --- /dev/null +++ b/packaging/alpine/local/nifi/nifi.initd @@ -0,0 +1,26 @@ +#!/sbin/openrc-run + +description="Apache NiFi dataflow service" + +supervisor=supervise-daemon +name=nifi +command="/usr/lib/nifi/bin/nifi.sh" +command_args="run" +command_user="${NIFI_USER:-nifi}:${NIFI_GROUP:-nifi}" +directory="/usr/lib/nifi" +pidfile="/run/nifi/nifi.pid" +supervise_daemon_args="--chdir /usr/lib/nifi --env HOME=/var/lib/nifi --pidfile ${pidfile}" + +depend() { + need net + use dns logger +} + +start_pre() { + local service_owner="${NIFI_USER:-nifi}:${NIFI_GROUP:-nifi}" + + checkpath -d -m 0750 -o "$service_owner" \ + /run/nifi \ + /var/lib/nifi \ + /var/log/nifi +} diff --git a/packaging/alpine/local/nifi/nifi.pre-install b/packaging/alpine/local/nifi/nifi.pre-install new file mode 100755 index 0000000..ddf0535 --- /dev/null +++ b/packaging/alpine/local/nifi/nifi.pre-install @@ -0,0 +1,7 @@ +#!/bin/sh + +addgroup -S nifi 2>/dev/null +adduser -S -D -H -h /var/lib/nifi -s /sbin/nologin \ + -G nifi -g nifi nifi 2>/dev/null + +exit 0 diff --git a/packaging/alpine/local/nifi/nifi.wrapper b/packaging/alpine/local/nifi/nifi.wrapper new file mode 100755 index 0000000..c6e429e --- /dev/null +++ b/packaging/alpine/local/nifi/nifi.wrapper @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/lib/nifi/bin/nifi.sh "$@" diff --git a/packaging/alpine/local/nifi/scripts/runtime-test.sh b/packaging/alpine/local/nifi/scripts/runtime-test.sh new file mode 100755 index 0000000..74ec375 --- /dev/null +++ b/packaging/alpine/local/nifi/scripts/runtime-test.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +set -euo pipefail + +apk add nifi nifi-doc nifi-openrc curl + +test -x /usr/bin/nifi +test -x /usr/lib/nifi/bin/nifi.sh +test -d /etc/nifi +test -L /usr/lib/nifi/conf +test "$(readlink /usr/lib/nifi/conf)" = /etc/nifi +test -d /var/lib/nifi +test -d /var/log/nifi +test -f /etc/init.d/nifi +test -f /etc/conf.d/nifi +test -d /usr/share/doc/nifi +test "$(stat -c '%U:%G %a' /var/lib/nifi)" = "nifi:nifi 750" + +rc-update add nifi default || true +test -L /etc/runlevels/default/nifi +rc-service nifi start + +for _attempt in $(seq 1 60); do + if curl --fail --insecure --silent --show-error \ + https://127.0.0.1:8443/nifi/ >/dev/null; then + break + fi + sleep 1 +done + +curl --fail --insecure --silent --show-error https://127.0.0.1:8443/nifi/ >/dev/null +grep -q 'Generated Username' /var/log/nifi/nifi-app.log +grep -q 'Generated Password' /var/log/nifi/nifi-app.log +rc-service nifi status +rc-service nifi stop diff --git a/packaging/alpine/local/nifi/scripts/test-install.sh b/packaging/alpine/local/nifi/scripts/test-install.sh new file mode 100755 index 0000000..8e95c2c --- /dev/null +++ b/packaging/alpine/local/nifi/scripts/test-install.sh @@ -0,0 +1,39 @@ +#!/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}" "${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}-doc" "${PACKAGE_NAME}-openrc" + + test -x /usr/bin/nifi + test -x /usr/lib/nifi/bin/nifi.sh + test -d /etc/nifi + test -L /usr/lib/nifi/conf + test "$(readlink /usr/lib/nifi/conf)" = /etc/nifi + test -d /var/lib/nifi + test -d /var/log/nifi + test -f /etc/init.d/nifi + test -f /etc/conf.d/nifi + test -d /usr/share/doc/nifi + test "$(stat -c '%U:%G %a' /var/lib/nifi)" = "nifi:nifi 750" + + rc-update add nifi default + test -L /etc/runlevels/default/nifi +SCRIPT diff --git a/packaging/alpine/local/nifi/update-check.conf b/packaging/alpine/local/nifi/update-check.conf new file mode 100644 index 0000000..f7bdc1e --- /dev/null +++ b/packaging/alpine/local/nifi/update-check.conf @@ -0,0 +1,3 @@ +provider="github" +repo="apache/nifi" +version_prefix="rel/nifi-" -- 2.54.0 From d95e45310b579855135a295529af63c7f56d8e07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Schl=C3=B6ffel?= Date: Mon, 5 Oct 2026 13:31:58 +0200 Subject: [PATCH 2/6] change architecture to fix CI --- packaging/alpine/local/nifi/APKBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/alpine/local/nifi/APKBUILD b/packaging/alpine/local/nifi/APKBUILD index 477a231..e6bbbda 100644 --- a/packaging/alpine/local/nifi/APKBUILD +++ b/packaging/alpine/local/nifi/APKBUILD @@ -4,7 +4,7 @@ pkgver=2.12.0 pkgrel=0 pkgdesc="Reliable system for processing and distributing data" url="https://nifi.apache.org/" -arch="noarch" +arch="x86_64 aarch64" license="Apache-2.0" depends="openjdk21-jre-headless" makedepends="unzip" -- 2.54.0 From 23c99a25f2c8e0e221c7e91bc4fc1c331d198752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Schl=C3=B6ffel?= Date: Mon, 5 Oct 2026 15:33:35 +0200 Subject: [PATCH 3/6] add nifi to build matrix --- .gitea/workflows/build.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 2725ba9..492c441 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -70,7 +70,7 @@ jobs: strategy: fail-fast: false matrix: - package: [seaweedfs, greptimedb, lavinmq, gitea] + package: [seaweedfs, greptimedb, lavinmq, gitea, nifi] container: image: "alpine:3.24" env: @@ -164,6 +164,13 @@ jobs: name: alpine-package-gitea-${{ github.sha }} path: packages/worker-artifacts/gitea + - name: Download NiFi artifacts + if: contains(needs.preflight.outputs.selected_packages, 'nifi') + uses: actions/download-artifact@v3 + with: + name: alpine-package-nifi-${{ github.sha }} + path: packages/worker-artifacts/nifi + - name: Merge package artifacts run: scripts/apk/merge-ci-artifacts.sh -- 2.54.0 From 923093e694519ae6a86a21d828dda1aba2b86b66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Schl=C3=B6ffel?= Date: Mon, 5 Oct 2026 15:56:56 +0200 Subject: [PATCH 4/6] fix nifi file ownership and CI timeout --- packaging/alpine/local/nifi/APKBUILD | 1 + packaging/alpine/local/nifi/scripts/runtime-test.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packaging/alpine/local/nifi/APKBUILD b/packaging/alpine/local/nifi/APKBUILD index e6bbbda..742871b 100644 --- a/packaging/alpine/local/nifi/APKBUILD +++ b/packaging/alpine/local/nifi/APKBUILD @@ -32,6 +32,7 @@ package() { rm -r "$pkgdir"/usr/lib/nifi/conf ln -s /etc/nifi "$pkgdir"/usr/lib/nifi/conf + install -d -m 0750 -o nifi -g nifi "$pkgdir"/var/lib/nifi for _dir in \ content_repository \ database_repository \ diff --git a/packaging/alpine/local/nifi/scripts/runtime-test.sh b/packaging/alpine/local/nifi/scripts/runtime-test.sh index 74ec375..fe2ac0d 100755 --- a/packaging/alpine/local/nifi/scripts/runtime-test.sh +++ b/packaging/alpine/local/nifi/scripts/runtime-test.sh @@ -19,7 +19,7 @@ rc-update add nifi default || true test -L /etc/runlevels/default/nifi rc-service nifi start -for _attempt in $(seq 1 60); do +for _attempt in $(seq 1 300); do if curl --fail --insecure --silent --show-error \ https://127.0.0.1:8443/nifi/ >/dev/null; then break -- 2.54.0 From fc12a5feb2354814f7d88ad8691f6229dfa2833e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Schl=C3=B6ffel?= Date: Mon, 5 Oct 2026 19:55:29 +0200 Subject: [PATCH 5/6] fix nifi runtime layout --- packaging/alpine/local/nifi/APKBUILD | 9 ++++++--- packaging/alpine/local/nifi/scripts/runtime-test.sh | 4 ++-- packaging/alpine/local/nifi/scripts/test-install.sh | 4 ++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/packaging/alpine/local/nifi/APKBUILD b/packaging/alpine/local/nifi/APKBUILD index 742871b..0667790 100644 --- a/packaging/alpine/local/nifi/APKBUILD +++ b/packaging/alpine/local/nifi/APKBUILD @@ -12,7 +12,6 @@ install="$pkgname.pre-install" pkgusers="nifi" pkggroups="nifi" subpackages=" - $pkgname-doc $pkgname-openrc:_openrc:noarch " options="!check !strip !tracedeps" @@ -27,6 +26,7 @@ package() { install -d "$pkgdir"/usr/lib/nifi "$pkgdir"/etc/nifi cp -a "$builddir"/. "$pkgdir"/usr/lib/nifi/ + chmod -R a+rX "$pkgdir"/usr/lib/nifi cp -a "$pkgdir"/usr/lib/nifi/conf/. "$pkgdir"/etc/nifi/ rm -r "$pkgdir"/usr/lib/nifi/conf @@ -34,12 +34,17 @@ package() { install -d -m 0750 -o nifi -g nifi "$pkgdir"/var/lib/nifi for _dir in \ + assets \ + connector_assets \ content_repository \ database_repository \ + diagnostics \ extensions \ flowfile_repository \ + nar_repository \ provenance_repository \ state \ + status_repository \ work; do install -d -m 0750 -o nifi -g nifi "$pkgdir"/var/lib/nifi/$_dir ln -s /var/lib/nifi/$_dir "$pkgdir"/usr/lib/nifi/$_dir @@ -52,8 +57,6 @@ package() { chmod 0750 "$pkgdir"/etc/nifi install -Dm755 "$srcdir"/nifi.wrapper "$pkgdir"/usr/bin/nifi - install -d "$pkgdir"/usr/share/doc - mv "$pkgdir"/usr/lib/nifi/docs "$pkgdir"/usr/share/doc/$pkgname } _openrc() { diff --git a/packaging/alpine/local/nifi/scripts/runtime-test.sh b/packaging/alpine/local/nifi/scripts/runtime-test.sh index fe2ac0d..fdffb22 100755 --- a/packaging/alpine/local/nifi/scripts/runtime-test.sh +++ b/packaging/alpine/local/nifi/scripts/runtime-test.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -apk add nifi nifi-doc nifi-openrc curl +apk add nifi nifi-openrc curl test -x /usr/bin/nifi test -x /usr/lib/nifi/bin/nifi.sh @@ -12,7 +12,7 @@ test -d /var/lib/nifi test -d /var/log/nifi test -f /etc/init.d/nifi test -f /etc/conf.d/nifi -test -d /usr/share/doc/nifi +test -d /usr/lib/nifi/docs test "$(stat -c '%U:%G %a' /var/lib/nifi)" = "nifi:nifi 750" rc-update add nifi default || true diff --git a/packaging/alpine/local/nifi/scripts/test-install.sh b/packaging/alpine/local/nifi/scripts/test-install.sh index 8e95c2c..43bc16e 100755 --- a/packaging/alpine/local/nifi/scripts/test-install.sh +++ b/packaging/alpine/local/nifi/scripts/test-install.sh @@ -20,7 +20,7 @@ apk_test_install_run "${repo_root}" "${PACKAGE_NAME:-nifi}" "${PACKAGE_VERSION:- printf "%s\n" /repo >> /etc/apk/repositories fi apk update - apk add "${PACKAGE_NAME}" "${PACKAGE_NAME}-doc" "${PACKAGE_NAME}-openrc" + apk add "${PACKAGE_NAME}" "${PACKAGE_NAME}-openrc" test -x /usr/bin/nifi test -x /usr/lib/nifi/bin/nifi.sh @@ -31,7 +31,7 @@ apk_test_install_run "${repo_root}" "${PACKAGE_NAME:-nifi}" "${PACKAGE_VERSION:- test -d /var/log/nifi test -f /etc/init.d/nifi test -f /etc/conf.d/nifi - test -d /usr/share/doc/nifi + test -d /usr/lib/nifi/docs test "$(stat -c '%U:%G %a' /var/lib/nifi)" = "nifi:nifi 750" rc-update add nifi default -- 2.54.0 From 4260d30e0c2e43fafd424088347af3988beae555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Schl=C3=B6ffel?= Date: Mon, 5 Oct 2026 20:57:58 +0200 Subject: [PATCH 6/6] fix nifi runtime readiness probe --- packaging/alpine/local/nifi/scripts/runtime-test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/alpine/local/nifi/scripts/runtime-test.sh b/packaging/alpine/local/nifi/scripts/runtime-test.sh index fdffb22..9d321c6 100755 --- a/packaging/alpine/local/nifi/scripts/runtime-test.sh +++ b/packaging/alpine/local/nifi/scripts/runtime-test.sh @@ -21,13 +21,13 @@ rc-service nifi start for _attempt in $(seq 1 300); do if curl --fail --insecure --silent --show-error \ - https://127.0.0.1:8443/nifi/ >/dev/null; then + https://localhost:8443/nifi/ >/dev/null; then break fi sleep 1 done -curl --fail --insecure --silent --show-error https://127.0.0.1:8443/nifi/ >/dev/null +curl --fail --insecure --silent --show-error https://localhost:8443/nifi/ >/dev/null grep -q 'Generated Username' /var/log/nifi/nifi-app.log grep -q 'Generated Password' /var/log/nifi/nifi-app.log rc-service nifi status -- 2.54.0