Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
603a1f954d | ||
|
|
0f5d8f1c5c | ||
|
|
aaaf33ef8b | ||
|
|
766bb2bfa0 | ||
|
|
16197f7a6c | ||
|
|
7a9916ea17 | ||
|
|
a2761c0b1f | ||
|
|
29c79708f1 |
@@ -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:
|
||||||
|
|||||||
@@ -7,3 +7,5 @@ packaging/alpine/*/*/tmp/
|
|||||||
packaging/alpine/*/*/*.apk
|
packaging/alpine/*/*/*.apk
|
||||||
packaging/alpine/*/*/*.tar.*
|
packaging/alpine/*/*/*.tar.*
|
||||||
!packaging/alpine/*/*/*-vendor.tar.gz
|
!packaging/alpine/*/*/*-vendor.tar.gz
|
||||||
|
!packaging/alpine/local/lavinmq/lavinmq-*-shards.tar.gz
|
||||||
|
!packaging/alpine/local/lavinmq/lavinmq-*-assets.tar.gz
|
||||||
|
|||||||
@@ -22,8 +22,9 @@ https://code.factoring.digital/api/packages/public/alpine/v3.24/alpine-packages
|
|||||||
| [SeaweedFS](packaging/alpine/local/seaweedfs/README.md) | `seaweedfs` | `4.48` | Binary repackaging of official upstream release tarballs | Ships current SeaweedFS features with Alpine OpenRC role splits. |
|
| [SeaweedFS](packaging/alpine/local/seaweedfs/README.md) | `seaweedfs` | `4.48` | Binary repackaging of official upstream release tarballs | Ships current SeaweedFS features with Alpine OpenRC role splits. |
|
||||||
| [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. |
|
| [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.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.1.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
|
||||||
|
|||||||
@@ -43,32 +43,10 @@ url = "https://github.com/nektos/act/releases/download/v0.2.89/act_Windows_x86_6
|
|||||||
url_api = "https://api.github.com/repos/nektos/act/releases/assets/434891261"
|
url_api = "https://api.github.com/repos/nektos/act/releases/assets/434891261"
|
||||||
|
|
||||||
[[tools.docker-cli]]
|
[[tools.docker-cli]]
|
||||||
version = "29.8.2"
|
version = "29.9.1"
|
||||||
backend = "aqua:docker/cli"
|
backend = "aqua:docker/cli"
|
||||||
specifiers = ["latest"]
|
specifiers = ["latest"]
|
||||||
|
|
||||||
[tools.docker-cli."platforms.linux-arm64"]
|
|
||||||
url = "https://download.docker.com/linux/static/stable/aarch64/docker-29.8.2.tgz"
|
|
||||||
|
|
||||||
[tools.docker-cli."platforms.linux-arm64-musl"]
|
|
||||||
url = "https://download.docker.com/linux/static/stable/aarch64/docker-29.8.2.tgz"
|
|
||||||
|
|
||||||
[tools.docker-cli."platforms.linux-x64"]
|
|
||||||
checksum = "blake3:3a70b254f51e6a0fb384e1d93bc859c19b975ae979abbec968e378f79335da5d"
|
|
||||||
url = "https://download.docker.com/linux/static/stable/x86_64/docker-29.8.2.tgz"
|
|
||||||
|
|
||||||
[tools.docker-cli."platforms.linux-x64-musl"]
|
|
||||||
url = "https://download.docker.com/linux/static/stable/x86_64/docker-29.8.2.tgz"
|
|
||||||
|
|
||||||
[tools.docker-cli."platforms.macos-arm64"]
|
|
||||||
url = "https://download.docker.com/mac/static/stable/aarch64/docker-29.8.2.tgz"
|
|
||||||
|
|
||||||
[tools.docker-cli."platforms.macos-x64"]
|
|
||||||
url = "https://download.docker.com/mac/static/stable/x86_64/docker-29.8.2.tgz"
|
|
||||||
|
|
||||||
[tools.docker-cli."platforms.windows-x64"]
|
|
||||||
url = "https://download.docker.com/win/static/stable/x86_64/docker-29.8.2.zip"
|
|
||||||
|
|
||||||
[[tools.jq]]
|
[[tools.jq]]
|
||||||
version = "1.8.2"
|
version = "1.8.2"
|
||||||
backend = "aqua:jqlang/jq"
|
backend = "aqua:jqlang/jq"
|
||||||
@@ -157,48 +135,6 @@ url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellche
|
|||||||
url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056944"
|
url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056944"
|
||||||
|
|
||||||
[[tools.trivy]]
|
[[tools.trivy]]
|
||||||
version = "0.75.0"
|
version = "0.76.0"
|
||||||
backend = "aqua:aquasecurity/trivy"
|
backend = "aqua:aquasecurity/trivy"
|
||||||
specifiers = ["latest"]
|
specifiers = ["latest"]
|
||||||
|
|
||||||
[tools.trivy."platforms.linux-arm64"]
|
|
||||||
checksum = "sha256:a1ee9f6ffb7d112b64ff726a2a0717c21175c1114361391f4a132956751a13b3"
|
|
||||||
url = "https://github.com/aquasecurity/trivy/releases/download/v0.75.0/trivy_0.75.0_Linux-ARM64.tar.gz"
|
|
||||||
url_api = "https://api.github.com/repos/aquasecurity/trivy/releases/assets/603335583"
|
|
||||||
provenance = "cosign"
|
|
||||||
|
|
||||||
[tools.trivy."platforms.linux-arm64-musl"]
|
|
||||||
checksum = "sha256:a1ee9f6ffb7d112b64ff726a2a0717c21175c1114361391f4a132956751a13b3"
|
|
||||||
url = "https://github.com/aquasecurity/trivy/releases/download/v0.75.0/trivy_0.75.0_Linux-ARM64.tar.gz"
|
|
||||||
url_api = "https://api.github.com/repos/aquasecurity/trivy/releases/assets/603335583"
|
|
||||||
provenance = "cosign"
|
|
||||||
|
|
||||||
[tools.trivy."platforms.linux-x64"]
|
|
||||||
checksum = "sha256:c6e65abddb348e25f10549df887045629cf28cc72453cd1c63acb717316b3f3f"
|
|
||||||
url = "https://github.com/aquasecurity/trivy/releases/download/v0.75.0/trivy_0.75.0_Linux-64bit.tar.gz"
|
|
||||||
url_api = "https://api.github.com/repos/aquasecurity/trivy/releases/assets/603335432"
|
|
||||||
provenance = "cosign"
|
|
||||||
|
|
||||||
[tools.trivy."platforms.linux-x64-musl"]
|
|
||||||
checksum = "sha256:c6e65abddb348e25f10549df887045629cf28cc72453cd1c63acb717316b3f3f"
|
|
||||||
url = "https://github.com/aquasecurity/trivy/releases/download/v0.75.0/trivy_0.75.0_Linux-64bit.tar.gz"
|
|
||||||
url_api = "https://api.github.com/repos/aquasecurity/trivy/releases/assets/603335432"
|
|
||||||
provenance = "cosign"
|
|
||||||
|
|
||||||
[tools.trivy."platforms.macos-arm64"]
|
|
||||||
checksum = "sha256:4a77108cccf8e55c8d6823e1e759939a622277e66cd0daa3c1fc621ed69e4568"
|
|
||||||
url = "https://github.com/aquasecurity/trivy/releases/download/v0.75.0/trivy_0.75.0_macOS-ARM64.tar.gz"
|
|
||||||
url_api = "https://api.github.com/repos/aquasecurity/trivy/releases/assets/603335435"
|
|
||||||
provenance = "cosign"
|
|
||||||
|
|
||||||
[tools.trivy."platforms.macos-x64"]
|
|
||||||
checksum = "sha256:291edaa9778acbe4693d067b5ad60ee11570e5ac68296e85595417528ca641e4"
|
|
||||||
url = "https://github.com/aquasecurity/trivy/releases/download/v0.75.0/trivy_0.75.0_macOS-64bit.tar.gz"
|
|
||||||
url_api = "https://api.github.com/repos/aquasecurity/trivy/releases/assets/603335728"
|
|
||||||
provenance = "cosign"
|
|
||||||
|
|
||||||
[tools.trivy."platforms.windows-x64"]
|
|
||||||
checksum = "sha256:4e43bd71a30f51aee39525f60f2b47043af77eb8df8fe082aae4372b69c6660f"
|
|
||||||
url = "https://github.com/aquasecurity/trivy/releases/download/v0.75.0/trivy_0.75.0_windows-64bit.zip"
|
|
||||||
url_api = "https://api.github.com/repos/aquasecurity/trivy/releases/assets/603335433"
|
|
||||||
provenance = "cosign"
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
||||||
pkgname=gitea
|
pkgname=gitea
|
||||||
pkgver=28.1.0
|
pkgver=28.2.0
|
||||||
pkgrel=0
|
pkgrel=0
|
||||||
pkgdesc="Self-hosted Git service written in Go"
|
pkgdesc="Self-hosted Git service written in Go"
|
||||||
url="https://about.gitea.com/"
|
url="https://about.gitea.com/"
|
||||||
@@ -79,9 +79,9 @@ _logrotate() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sha512sums="
|
sha512sums="
|
||||||
dee8e5f0b088403e70829f193763e3cc9f3a9ab4b4fe7d5dca72e858bdc4859f2b03cd38314086e2bf7a421eb34f6141b92e11679ad6f9980b8a979a6cabb213 gitea-28.1.0-linux-amd64.xz
|
a6ebe8f400d7ccbc4b98f314a2f21695e012d3ddd78f9b94583fe912f93ed078da5ef34c25ff2f5a0fd2d8ae6b531b25c6c1627fde09f17e9624bb9a9d5113fb gitea-28.2.0-linux-amd64.xz
|
||||||
413ed83dab64d0bd20684d1ea5350b58c6e74e5aa6f034ee91004d0ee3edadc2ce242e9a298d434744ed00a7bdc5ff4a369d508d385cd40f3b81c59db061ce3a gitea-28.1.0-linux-arm64.xz
|
e95cac30cad61cad06dee885fdb88676198663b25c70816860152ae85497332e03aa87bff2c1f58f84fcd0b46bb9b3f978617f972dd94dc506b1493f36da7f47 gitea-28.2.0-linux-arm64.xz
|
||||||
619b6ef374153816dfdb24896f455b3d5e96c033eae98f0c6f6ad027f817f57328cca3b239caa1bba8fe3c3f0f89fc87c9dac741f7719bb1c3501577048cb0bd gitea-src-28.1.0.tar.gz
|
7bf890a3572f2992f2056f9e846732a267e2eb4a178212927fda98ed47b4ca09e9ecb748c2b424c4a90911689fe451c51f0bf987b02a49d751fc472a1d84d3fd gitea-src-28.2.0.tar.gz
|
||||||
4e20b24c34af01a27589a13d9140d559909cc44507febe5de692d7bc154d65f4b01b79d2f1dcce9fed77b60ac3b1a52cc0ec72161e5a2484a4c718d26d3c630d gitea.ini
|
4e20b24c34af01a27589a13d9140d559909cc44507febe5de692d7bc154d65f4b01b79d2f1dcce9fed77b60ac3b1a52cc0ec72161e5a2484a4c718d26d3c630d gitea.ini
|
||||||
9474d707df8b049c93ec4642f71195adff699e1e812f315cac4295b3ab29eeb9ba8b83bf3307c50b04e072a4a9dc4c4f84ac490ee22291bd50015009795c1598 gitea.initd
|
9474d707df8b049c93ec4642f71195adff699e1e812f315cac4295b3ab29eeb9ba8b83bf3307c50b04e072a4a9dc4c4f84ac490ee22291bd50015009795c1598 gitea.initd
|
||||||
456a565123b46c0c3a36adbde4c881ee04557a2f1ba492a76205c28f72598bf3b7b96192ddeae4f9ab197fdc75bb5e10a3421574e1bf831192220b4540bb39fc gitea.logrotate
|
456a565123b46c0c3a36adbde4c881ee04557a2f1ba492a76205c28f72598bf3b7b96192ddeae4f9ab197fdc75bb5e10a3421574e1bf831192220b4540bb39fc gitea.logrotate
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
||||||
pkgname=greptimedb
|
pkgname=greptimedb
|
||||||
pkgver=1.2.1
|
pkgver=1.2.1
|
||||||
pkgrel=4
|
pkgrel=5
|
||||||
pkgdesc="Cloud-native observability database for metrics, logs, and traces"
|
pkgdesc="Cloud-native observability database for metrics, logs, and traces"
|
||||||
url="https://github.com/GreptimeTeam/greptimedb"
|
url="https://github.com/GreptimeTeam/greptimedb"
|
||||||
arch="x86_64"
|
arch="x86_64"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
||||||
pkgname=lavinmq
|
pkgname=lavinmq
|
||||||
pkgver=2.10.1
|
pkgver=2.10.2
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="High-performance AMQP and MQTT message queue server"
|
pkgdesc="High-performance AMQP and MQTT message queue server"
|
||||||
url="https://github.com/cloudamqp/lavinmq"
|
url="https://github.com/cloudamqp/lavinmq"
|
||||||
@@ -82,9 +82,9 @@ _logrotate() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sha512sums="
|
sha512sums="
|
||||||
1c2c932a0698227abfe8353988ea75b48f9048f183d85410797af5bc14495e2cb4497e72acc8fc9ff9ef8f78e8ebb648a1b40b5cf7f1b86e18597d10297417ff lavinmq-2.10.1.tar.gz
|
35757407adb6fdd6378c65cde229471bd362b6a7fdc13279658312ef8a7304c0557619a1394a0b4cf33ef25ffb6c039f65c217f2af37bf12fc01b73d84e55e69 lavinmq-2.10.2.tar.gz
|
||||||
d0dfdd5c0e474024f57deb9e31c76e3f176e798c8d21dea53d3aea1b05436bd03fa34e69ccddf322bc89adedce5f379df5a316cddbbdfe12520e5bf672ad8228 lavinmq-2.10.1-shards.tar.gz
|
d0dfdd5c0e474024f57deb9e31c76e3f176e798c8d21dea53d3aea1b05436bd03fa34e69ccddf322bc89adedce5f379df5a316cddbbdfe12520e5bf672ad8228 lavinmq-2.10.2-shards.tar.gz
|
||||||
ae3cea2534b211abbcbd1e4fcb6da73dfaf383a19aef1c45f367cba77492cc20a7ce8283fc42f26c0a023149114c369bed307fb8cde0b8f27fba61165092e986 lavinmq-2.10.1-assets.tar.gz
|
ae3cea2534b211abbcbd1e4fcb6da73dfaf383a19aef1c45f367cba77492cc20a7ce8283fc42f26c0a023149114c369bed307fb8cde0b8f27fba61165092e986 lavinmq-2.10.2-assets.tar.gz
|
||||||
62a609d50f28db960098c4c84ce4f1dad78413366a9a9aca18fe321114d687be3bf7b71924d4ace69bd74383c5ac40d2ee09ae0eef9c1bfe653b97448e42e110 lavinmq.confd
|
62a609d50f28db960098c4c84ce4f1dad78413366a9a9aca18fe321114d687be3bf7b71924d4ace69bd74383c5ac40d2ee09ae0eef9c1bfe653b97448e42e110 lavinmq.confd
|
||||||
1853196e70297b5c4a2207fde50df735620cf6d99c4994644fd676bffaf863d67300ad7ae771c4bbb86fce1a0485c2a7968cf912c5f5bb878e08b15e5a28ba1b lavinmq.initd
|
1853196e70297b5c4a2207fde50df735620cf6d99c4994644fd676bffaf863d67300ad7ae771c4bbb86fce1a0485c2a7968cf912c5f5bb878e08b15e5a28ba1b lavinmq.initd
|
||||||
9999dd6a96bd29a3d0bda1b2110af940b15acf1250a0f3ba6c93d16bd62063ab1c1dfa4c237da99bbb401150517abde59e2c7275f4b72c3eb7c90e1ce61d43b9 lavinmq.logrotate
|
9999dd6a96bd29a3d0bda1b2110af940b15acf1250a0f3ba6c93d16bd62063ab1c1dfa4c237da99bbb401150517abde59e2c7275f4b72c3eb7c90e1ce61d43b9 lavinmq.logrotate
|
||||||
|
|||||||
@@ -55,23 +55,14 @@ Wrapper settings in `/etc/conf.d/lavinmq`:
|
|||||||
|
|
||||||
1. In `APKBUILD`, set `pkgver` to the new upstream version and reset `pkgrel`
|
1. In `APKBUILD`, set `pkgver` to the new upstream version and reset `pkgrel`
|
||||||
to `0`.
|
to `0`.
|
||||||
2. Add versioned vendored archives for the locked Shards dependencies and
|
2. Generate the versioned, locked Shards and frontend-asset archives:
|
||||||
frontend assets. If the new upstream `shard.lock` and the asset rules in its
|
|
||||||
`Makefile` are unchanged, the existing archives can be reused under the new
|
|
||||||
names:
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cd packaging/alpine/local/lavinmq
|
ALPINE_PACKAGE=lavinmq mise run apk:update-generated
|
||||||
cp lavinmq-2.10.1-shards.tar.gz lavinmq-<version>-shards.tar.gz
|
|
||||||
cp lavinmq-2.10.1-assets.tar.gz lavinmq-<version>-assets.tar.gz
|
|
||||||
git add -f lavinmq-<version>-shards.tar.gz lavinmq-<version>-assets.tar.gz
|
|
||||||
```
|
```
|
||||||
|
|
||||||
When `shard.lock` changes, extract the upstream source, run
|
The hook uses the upstream `shard.lock` and `Makefile`, so it also refreshes
|
||||||
`shards install --production` in it, and create the shards archive with
|
the bundled inputs when either dependency list changes.
|
||||||
`tar -czf lavinmq-<version>-shards.tar.gz lib`. If the asset rules change,
|
|
||||||
download the files specified by the new `Makefile` to a staging directory
|
|
||||||
and create `lavinmq-<version>-assets.tar.gz` from that directory's contents.
|
|
||||||
3. From the repository root, refresh checksums and build the package:
|
3. From the repository root, refresh checksums and build the package:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,55 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
package_dir="${PACKAGE_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
|
||||||
|
repo_root="${REPO_ROOT:-$(cd "${package_dir}/../../../.." && pwd)}"
|
||||||
|
pkgver="$(awk -F= '$1 == "pkgver" { print $2; exit }' "${package_dir}/APKBUILD")"
|
||||||
|
distfiles_dir="${repo_root}/.cache/apk-distfiles"
|
||||||
|
shards_cache_dir="${repo_root}/.cache/shards"
|
||||||
|
source_archive="${distfiles_dir}/lavinmq-${pkgver}.tar.gz"
|
||||||
|
shards_archive="${package_dir}/lavinmq-${pkgver}-shards.tar.gz"
|
||||||
|
assets_archive="${package_dir}/lavinmq-${pkgver}-assets.tar.gz"
|
||||||
|
tmpdir="$(mktemp -d)"
|
||||||
|
assets_dir="${tmpdir}/assets"
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
rm -rf "${tmpdir}"
|
||||||
|
}
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
mkdir -p "${distfiles_dir}" "${shards_cache_dir}"
|
||||||
|
if [[ ! -f "${source_archive}" ]]; then
|
||||||
|
curl --fail --location --retry 3 --silent --show-error \
|
||||||
|
--output "${source_archive}" \
|
||||||
|
"https://github.com/cloudamqp/lavinmq/archive/refs/tags/v${pkgver}.tar.gz"
|
||||||
|
fi
|
||||||
|
|
||||||
|
tar -xzf "${source_archive}" -C "${tmpdir}"
|
||||||
|
source_dir="${tmpdir}/lavinmq-${pkgver}"
|
||||||
|
if [[ ! -d "${source_dir}" ]]; then
|
||||||
|
printf 'unexpected LavinMQ source archive layout: %s\n' "${source_archive}" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# shard.lock pins the Crystal dependencies. `make js` fetches exactly the
|
||||||
|
# frontend assets declared by this upstream version's Makefile.
|
||||||
|
(
|
||||||
|
cd "${source_dir}"
|
||||||
|
SHARDS_CACHE_PATH="${shards_cache_dir}" shards install --production
|
||||||
|
make js
|
||||||
|
)
|
||||||
|
|
||||||
|
tar --create --gzip --file "${shards_archive}" \
|
||||||
|
--directory "${source_dir}" \
|
||||||
|
--sort=name --mtime='UTC 1970-01-01' --owner=0 --group=0 --numeric-owner \
|
||||||
|
lib
|
||||||
|
mkdir -p "${assets_dir}"
|
||||||
|
# The offline Makefile patch intentionally reads every asset from the root of
|
||||||
|
# .alpine-assets, including helpers.segment.js which upstream stores in chunks/.
|
||||||
|
find "${source_dir}/static/js/lib" -type f -exec cp -p {} "${assets_dir}/" \;
|
||||||
|
tar --create --gzip --file "${assets_archive}" \
|
||||||
|
--directory "${assets_dir}" \
|
||||||
|
--sort=name --mtime='UTC 1970-01-01' --owner=0 --group=0 --numeric-owner \
|
||||||
|
.
|
||||||
|
|
||||||
|
printf 'Updated %s and %s\n' "${shards_archive##*/}" "${assets_archive##*/}"
|
||||||
@@ -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-"
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
||||||
pkgname=nifi
|
pkgname=nifi
|
||||||
pkgver=2.12.0
|
pkgver=2.12.0
|
||||||
pkgrel=0
|
pkgrel=1
|
||||||
pkgdesc="Reliable system for processing and distributing data"
|
pkgdesc="Reliable system for processing and distributing data"
|
||||||
url="https://nifi.apache.org/"
|
url="https://nifi.apache.org/"
|
||||||
arch="x86_64 aarch64"
|
arch="x86_64 aarch64"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
||||||
pkgname=rclone-openrc
|
pkgname=rclone-openrc
|
||||||
pkgver=0.1.0
|
pkgver=0.1.0
|
||||||
pkgrel=0
|
pkgrel=1
|
||||||
pkgdesc="Generic, instance-capable OpenRC service for rclone"
|
pkgdesc="Generic, instance-capable OpenRC service for rclone"
|
||||||
url="https://rclone.org/"
|
url="https://rclone.org/"
|
||||||
arch="noarch"
|
arch="noarch"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
||||||
pkgname=seaweedfs
|
pkgname=seaweedfs
|
||||||
pkgver=4.48
|
pkgver=4.48
|
||||||
pkgrel=3
|
pkgrel=4
|
||||||
pkgdesc="Distributed storage system for object storage, file systems, and Iceberg tables"
|
pkgdesc="Distributed storage system for object storage, file systems, and Iceberg tables"
|
||||||
url="https://github.com/seaweedfs/seaweedfs"
|
url="https://github.com/seaweedfs/seaweedfs"
|
||||||
arch="x86_64 aarch64"
|
arch="x86_64 aarch64"
|
||||||
|
|||||||
@@ -30,16 +30,30 @@ registry_key_url() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
download_registry_metadata() {
|
download_registry_metadata() {
|
||||||
local arch url key_dir
|
local arch url key_dir http_status
|
||||||
|
|
||||||
require_registry_config INSTANCE_URL "${instance_url}"
|
require_registry_config INSTANCE_URL "${instance_url}"
|
||||||
require_registry_config PACKAGE_OWNER "${owner}"
|
require_registry_config PACKAGE_OWNER "${owner}"
|
||||||
|
declare -gA registry_index_available=()
|
||||||
mkdir -p "${registry_cache}"
|
mkdir -p "${registry_cache}"
|
||||||
url="$(registry_url)"
|
url="$(registry_url)"
|
||||||
for arch in ${arches}; do
|
for arch in ${arches}; do
|
||||||
curl --fail --silent --show-error --location \
|
if http_status="$(curl --fail --silent --location \
|
||||||
--output "${registry_cache}/${arch}.APKINDEX.tar.gz" \
|
--output "${registry_cache}/${arch}.APKINDEX.tar.gz" \
|
||||||
"${url}/${arch}/APKINDEX.tar.gz"
|
--write-out '%{http_code}' \
|
||||||
|
"${url}/${arch}/APKINDEX.tar.gz")"; then
|
||||||
|
registry_index_available["${arch}"]=1
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if [[ "${http_status}" == 404 ]]; then
|
||||||
|
registry_index_available["${arch}"]=0
|
||||||
|
printf 'Registry index is absent: %s/%s/APKINDEX.tar.gz; treating it as empty\n' \
|
||||||
|
"${url}" "${arch}" >&2
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
printf 'failed to download registry index (%s): %s/%s/APKINDEX.tar.gz\n' \
|
||||||
|
"${http_status:-curl error}" "${url}" "${arch}" >&2
|
||||||
|
return 1
|
||||||
done
|
done
|
||||||
key_dir="${registry_cache}/keys"
|
key_dir="${registry_cache}/keys"
|
||||||
mkdir -p "${key_dir}"
|
mkdir -p "${key_dir}"
|
||||||
@@ -59,6 +73,7 @@ load_registry_index() {
|
|||||||
declare -gA registry_latest_versions=()
|
declare -gA registry_latest_versions=()
|
||||||
|
|
||||||
for arch in ${arches}; do
|
for arch in ${arches}; do
|
||||||
|
[[ "${registry_index_available[${arch}]:-0}" == 1 ]] || continue
|
||||||
while IFS=$'\t' read -r package_name package_version; do
|
while IFS=$'\t' read -r package_name package_version; do
|
||||||
[[ -n "${package_name}" && -n "${package_version}" ]] || continue
|
[[ -n "${package_name}" && -n "${package_version}" ]] || continue
|
||||||
registry_key="${arch}|${package_name}"
|
registry_key="${arch}|${package_name}"
|
||||||
|
|||||||
+14
-1
@@ -12,6 +12,7 @@ registry_url="${ALPINE_REGISTRY_URL:-}"
|
|||||||
registry_key="${ALPINE_REGISTRY_KEY:-}"
|
registry_key="${ALPINE_REGISTRY_KEY:-}"
|
||||||
read -r -a package_list <<< "${packages}"
|
read -r -a package_list <<< "${packages}"
|
||||||
declare -A source_packages=()
|
declare -A source_packages=()
|
||||||
|
local_repo_complete=0
|
||||||
|
|
||||||
while IFS= read -r package_dir; do
|
while IFS= read -r package_dir; do
|
||||||
while IFS= read -r spec; do
|
while IFS= read -r spec; do
|
||||||
@@ -26,18 +27,30 @@ for package in "${package_list[@]}"; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [[ -d "${repo_dir}" ]]; then
|
||||||
|
local_repo_complete=1
|
||||||
|
for package in "${package_list[@]}"; do
|
||||||
|
if ! compgen -G "${repo_dir}/${package}-*.apk" >/dev/null; then
|
||||||
|
local_repo_complete=0
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -d "${repo_dir}" ]]; then
|
if [[ -d "${repo_dir}" ]]; then
|
||||||
cp "${repo_dir}"/*.rsa.pub /etc/apk/keys/
|
cp "${repo_dir}"/*.rsa.pub /etc/apk/keys/
|
||||||
echo "${repo_root}/packages/${repo_name}" >> /etc/apk/repositories
|
echo "${repo_root}/packages/${repo_name}" >> /etc/apk/repositories
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${registry_url}" ]]; then
|
if [[ -n "${registry_url}" && "${local_repo_complete}" == 0 ]]; then
|
||||||
if [[ ! -f "${registry_key}" ]]; then
|
if [[ ! -f "${registry_key}" ]]; then
|
||||||
printf 'missing Alpine registry signing key: %s\n' "${registry_key:-<unset>}" >&2
|
printf 'missing Alpine registry signing key: %s\n' "${registry_key:-<unset>}" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cp "${registry_key}" /etc/apk/keys/
|
cp "${registry_key}" /etc/apk/keys/
|
||||||
echo "${registry_url}" >> /etc/apk/repositories
|
echo "${registry_url}" >> /etc/apk/repositories
|
||||||
|
elif [[ -n "${registry_url}" ]]; then
|
||||||
|
printf 'Using the complete local Alpine repository; registry fallback is not needed\n'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -d "${repo_dir}" && -z "${registry_url}" ]]; then
|
if [[ ! -d "${repo_dir}" && -z "${registry_url}" ]]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user