diff --git a/README.md b/README.md index 192b758..4b10e73 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,9 @@ https://code.factoring.digital/api/packages/public/alpine/v3.24/alpine-packages | Package | APK Name | Package Version | Package Type | Purpose | |-----------------------------------------------------------|--------------|-----------------|----------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------| -| [SeaweedFS](packaging/alpine/local/seaweedfs/README.md) | `seaweedfs` | `4.45` | 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.1.4` | 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.9.2` | Source build from upstream release | Provides a current LavinMQ build on Alpine 3.24 with matching Crystal support. | +| [SeaweedFS](packaging/alpine/local/seaweedfs/README.md) | `seaweedfs` | `4.47` | 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. | +| [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. | ## Use In Production diff --git a/mise.lock b/mise.lock index 4c0f76f..a52637a 100644 --- a/mise.lock +++ b/mise.lock @@ -43,30 +43,31 @@ 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" [[tools.docker-cli]] -version = "29.8.0" +version = "29.8.1" backend = "aqua:docker/cli" specifiers = ["latest"] [tools.docker-cli."platforms.linux-arm64"] -url = "https://download.docker.com/linux/static/stable/aarch64/docker-29.8.0.tgz" +url = "https://download.docker.com/linux/static/stable/aarch64/docker-29.8.1.tgz" [tools.docker-cli."platforms.linux-arm64-musl"] -url = "https://download.docker.com/linux/static/stable/aarch64/docker-29.8.0.tgz" +url = "https://download.docker.com/linux/static/stable/aarch64/docker-29.8.1.tgz" [tools.docker-cli."platforms.linux-x64"] -url = "https://download.docker.com/linux/static/stable/x86_64/docker-29.8.0.tgz" +checksum = "blake3:b3c6e46dfca03af898b43595c488aab73adb867f0352f486388d9ef41933b0e6" +url = "https://download.docker.com/linux/static/stable/x86_64/docker-29.8.1.tgz" [tools.docker-cli."platforms.linux-x64-musl"] -url = "https://download.docker.com/linux/static/stable/x86_64/docker-29.8.0.tgz" +url = "https://download.docker.com/linux/static/stable/x86_64/docker-29.8.1.tgz" [tools.docker-cli."platforms.macos-arm64"] -url = "https://download.docker.com/mac/static/stable/aarch64/docker-29.8.0.tgz" +url = "https://download.docker.com/mac/static/stable/aarch64/docker-29.8.1.tgz" [tools.docker-cli."platforms.macos-x64"] -url = "https://download.docker.com/mac/static/stable/x86_64/docker-29.8.0.tgz" +url = "https://download.docker.com/mac/static/stable/x86_64/docker-29.8.1.tgz" [tools.docker-cli."platforms.windows-x64"] -url = "https://download.docker.com/win/static/stable/x86_64/docker-29.8.0.zip" +url = "https://download.docker.com/win/static/stable/x86_64/docker-29.8.1.zip" [[tools.jq]] version = "1.8.2" diff --git a/packaging/alpine/local/greptimedb/APKBUILD b/packaging/alpine/local/greptimedb/APKBUILD index fa5e00c..8f5c848 100644 --- a/packaging/alpine/local/greptimedb/APKBUILD +++ b/packaging/alpine/local/greptimedb/APKBUILD @@ -1,6 +1,6 @@ -# Maintainer: Joachim Schlöffel +# Maintainer: Joachim Schlöffel pkgname=greptimedb -pkgver=1.1.4 +pkgver=1.2.1 pkgrel=0 pkgdesc="Cloud-native observability database for metrics, logs, and traces" url="https://github.com/GreptimeTeam/greptimedb" @@ -127,7 +127,7 @@ _docs() { } sha512sums=" -d60080a82a1dba52ab28d33ba1d9109bd047a6e598dbad17a3d92c82c6aad20b7fffd35cc20571829d8869360040af61195eeb97a14e08d8289e70663ee08664 greptimedb-1.1.4.tar.gz +fc580f6e34df84b4f37219047d751968324c356f3cad352d1515abb4b441515a1ad98f0d01e2de33aac5129a2d7a5335edc4d8888923da7683a084a484769bea greptimedb-1.2.1.tar.gz 4260acae5bed00a693dceffe9f53d0f8b25fd677b15638e951cf973dc29681f4bacde352c661a12bd78af7be9181a3740812f814fc3c4c8c87ea4eee6ee07e2d dashboard-v0.12.0.tar.gz 29cc3376753487b216748e3f85e12639830e1ac4a763e94f330f87c3651a8ef9de35732958311c0049e1b7cbb4e90a9e602b3aff43297fe088c5ce795a110a79 datanode.toml 52790808cb4f5cf0220ac2ab169b623fe76b6318d27d7f003e1197e850373cb915bfd40556098bcb7650f293d751039cb3bccbf9107bb160b8284887794ba975 flownode.toml diff --git a/packaging/alpine/local/lavinmq/APKBUILD b/packaging/alpine/local/lavinmq/APKBUILD index 5f4458b..5722354 100644 --- a/packaging/alpine/local/lavinmq/APKBUILD +++ b/packaging/alpine/local/lavinmq/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Joachim Schlöffel pkgname=lavinmq -pkgver=2.9.2 -pkgrel=0 +pkgver=2.10.0 +pkgrel=1 pkgdesc="High-performance AMQP and MQTT message queue server" url="https://github.com/cloudamqp/lavinmq" arch="x86_64" @@ -9,7 +9,6 @@ license="Apache-2.0" depends="ca-certificates /bin/sh" makedepends=" crystal=1.21.0-r0 - curl gc-dev help2man libevent-dev @@ -29,15 +28,21 @@ subpackages=" $pkgname-doc $pkgname-openrc:_openrc:noarch " -options="net" source=" $pkgname-$pkgver.tar.gz::https://github.com/cloudamqp/lavinmq/archive/refs/tags/v$pkgver.tar.gz + $pkgname-$pkgver-shards.tar.gz + $pkgname-$pkgver-assets.tar.gz lavinmq.confd lavinmq.initd + use-vendored-build-inputs.patch " -export CRYSTAL_CACHE_DIR="${CRYSTAL_CACHE_DIR:-$srcdir/crystal-cache}" -export SHARDS_CACHE_PATH="${SHARDS_CACHE_PATH:-$srcdir/shards-cache}" +prepare() { + default_prepare + tar -xzf "$srcdir/$pkgname-$pkgver-shards.tar.gz" -C "$builddir" + mkdir -p "$builddir/.alpine-assets" + tar -xzf "$srcdir/$pkgname-$pkgver-assets.tar.gz" -C "$builddir/.alpine-assets" +} build() { crystal --version @@ -46,9 +51,7 @@ build() { } check() { - bin/lavinmq -v - bin/lavinmqctl --version - bin/lavinmqperf --version + crystal spec spec/config_spec.cr } package() { @@ -69,7 +72,10 @@ _openrc() { } sha512sums=" -2c9c2740db2f09cefa0f45b20354ba42dc6d83079d078398c370c8b9378c76c16f6f7a4495fbb74a6059f8b418526a95f09a5d94ab32ba97b1e44ed318f1c6af lavinmq-2.9.2.tar.gz +b494892dada6eb713025bc3245e16035a63265805d77c537b4530226195f00dacab1fb14de5bf4c999165faa6bf2f7ef7c6b8ffb4c6f4a921977f1c13a4f1545 lavinmq-2.10.0.tar.gz +d0dfdd5c0e474024f57deb9e31c76e3f176e798c8d21dea53d3aea1b05436bd03fa34e69ccddf322bc89adedce5f379df5a316cddbbdfe12520e5bf672ad8228 lavinmq-2.10.0-shards.tar.gz +ae3cea2534b211abbcbd1e4fcb6da73dfaf383a19aef1c45f367cba77492cc20a7ce8283fc42f26c0a023149114c369bed307fb8cde0b8f27fba61165092e986 lavinmq-2.10.0-assets.tar.gz 62a609d50f28db960098c4c84ce4f1dad78413366a9a9aca18fe321114d687be3bf7b71924d4ace69bd74383c5ac40d2ee09ae0eef9c1bfe653b97448e42e110 lavinmq.confd 1853196e70297b5c4a2207fde50df735620cf6d99c4994644fd676bffaf863d67300ad7ae771c4bbb86fce1a0485c2a7968cf912c5f5bb878e08b15e5a28ba1b lavinmq.initd +e7617099f745ecbf2f0686830d0a1b28044741ebd543798505b5b3c08f1be96b6cc478eb18f6785af49b100c2f49d837775f0721ac27519ddf3f081e681c581c use-vendored-build-inputs.patch " diff --git a/packaging/alpine/local/lavinmq/README.md b/packaging/alpine/local/lavinmq/README.md index baa8eb9..96a0914 100644 --- a/packaging/alpine/local/lavinmq/README.md +++ b/packaging/alpine/local/lavinmq/README.md @@ -1,7 +1,9 @@ # LavinMQ Alpine Package Builds LavinMQ from the upstream source release for `x86_64` and packages the -OpenRC service plus `/etc/lavinmq` defaults. +OpenRC service plus `/etc/lavinmq` defaults. The locked Shards dependencies and +frontend assets are versioned, checksummed source inputs, so the build does not +need network access. Build command: @@ -9,7 +11,9 @@ Build command: make ``` -LavinMQ 2.9.2 requires Crystal 1.21.0. The package pins Alpine edge's native +Crystal package, avoiding a glibc toolchain in the Alpine musl build. +LavinMQ 2.10.0 requires Crystal 1.21.0. The package pins Alpine edge's native +Crystal package, avoiding a glibc toolchain in the Alpine musl build. Crystal package, avoiding a glibc toolchain in the Alpine musl build. ## Runtime Layout diff --git a/packaging/alpine/local/lavinmq/lavinmq-2.10.0-assets.tar.gz b/packaging/alpine/local/lavinmq/lavinmq-2.10.0-assets.tar.gz new file mode 100644 index 0000000..6c501e4 Binary files /dev/null and b/packaging/alpine/local/lavinmq/lavinmq-2.10.0-assets.tar.gz differ diff --git a/packaging/alpine/local/lavinmq/lavinmq-2.10.0-shards.tar.gz b/packaging/alpine/local/lavinmq/lavinmq-2.10.0-shards.tar.gz new file mode 100644 index 0000000..cc9c905 Binary files /dev/null and b/packaging/alpine/local/lavinmq/lavinmq-2.10.0-shards.tar.gz differ diff --git a/packaging/alpine/local/lavinmq/use-vendored-build-inputs.patch b/packaging/alpine/local/lavinmq/use-vendored-build-inputs.patch new file mode 100644 index 0000000..d72c392 --- /dev/null +++ b/packaging/alpine/local/lavinmq/use-vendored-build-inputs.patch @@ -0,0 +1,36 @@ +--- a/Makefile ++++ b/Makefile +@@ -8,0 +9 @@ ++LAVINMQ_ASSET_DIR ?= .alpine-assets +@@ -55,2 +56,2 @@ +-lib: shard.yml shard.lock +- shards install --production ++lib: ++ test -d lib +@@ -62,3 +63 @@ +- curl --fail --retry 5 -sL https://github.com/chartjs/Chart.js/releases/download/v4.0.1/chart.js-4.0.1.tgz | \ +- tar -zxOf- package/dist/chart.js > $@ +- [ "038d0a4f9c61f0b35ff70f883e7591403a349542625a4caaf48caa141adedfd5 *$@" = "$$(openssl dgst -sha256 -r $@)" ] ++ install -Dm644 "$(LAVINMQ_ASSET_DIR)/chart.js" "$@" +@@ -67,3 +66 @@ +- curl --fail --retry 5 -sL https://github.com/chartjs/Chart.js/releases/download/v4.0.1/chart.js-4.0.1.tgz | \ +- tar -zxOf- package/dist/chunks/helpers.segment.js > $@ +- [ "b4746b748fe583a18ef921e341b8b65166c2ebd0b737fde6527b254baaeb1aa1 *$@" = "$$(openssl dgst -sha256 -r $@)" ] ++ install -Dm644 "$(LAVINMQ_ASSET_DIR)/helpers.segment.js" "$@" +@@ -72,2 +69 @@ +- curl --fail --retry 5 -sLo $@ https://moment.github.io/luxon/es6/luxon.mjs +- [ "b495ad5cabea3439d04387e6622f2c3fa81d319424d9d76d9e7f874ac5a0807a *$@" = "$$(openssl dgst -sha256 -r $@)" ] ++ install -Dm644 "$(LAVINMQ_ASSET_DIR)/luxon.js" "$@" +@@ -76,3 +72 @@ +- curl --fail --retry 5 -sLo $@ https://cdn.jsdelivr.net/npm/chartjs-adapter-luxon@1.3.1/dist/chartjs-adapter-luxon.esm.js +- sed -i'' -e "s|\(import { _adapters } from\).*|\1 './chart.js'|; s|\(import { DateTime } from\).*|\1 './luxon.js'|" $@ +- [ "17d7b6567d656a004f86b6b5cbdbe64cb308e9a2ebfa7675caa79ba0bc72ef91 *$@" = "$$(openssl dgst -sha256 -r $@)" ] ++ install -Dm644 "$(LAVINMQ_ASSET_DIR)/chartjs-adapter-luxon.esm.js" "$@" +@@ -81,2 +75 @@ +- curl --fail --retry 5 -sLo $@ https://unpkg.com/@stoplight/elements@8.2.0/web-components.min.js +- [ "598862da6d551769ebad9d61d4e3037535de573a13d3e0bd1ded4c5fc65c5885 *$@" = "$$(openssl dgst -sha256 -r $@)" ] ++ install -Dm644 "$(LAVINMQ_ASSET_DIR)/elements-8.2.0.js" "$@" +@@ -85,2 +78 @@ +- curl --fail --retry 5 -sLo $@ https://unpkg.com/@stoplight/elements@8.2.0/styles.min.css +- [ "119784e23ffc39b6fa3fdb3df93f391f8250e8af141b78dfc3b6bed86079f93b *$@" = "$$(openssl dgst -sha256 -r $@)" ] ++ install -Dm644 "$(LAVINMQ_ASSET_DIR)/elements-8.2.0.css" "$@" diff --git a/packaging/alpine/local/seaweedfs/APKBUILD b/packaging/alpine/local/seaweedfs/APKBUILD index a7c2d7b..56e2b0b 100644 --- a/packaging/alpine/local/seaweedfs/APKBUILD +++ b/packaging/alpine/local/seaweedfs/APKBUILD @@ -40,21 +40,19 @@ source=" $pkgname-$pkgver-linux-arm64.tar.gz::https://github.com/seaweedfs/seaweedfs/releases/download/$pkgver/linux_arm64.tar.gz $pkgname-$pkgver-src.tar.gz::https://github.com/seaweedfs/seaweedfs/archive/refs/tags/$pkgver.tar.gz admin.toml - example-admin.toml credential.toml + example-admin.toml example-credential.toml example-filer.toml example-master.toml + example-volume.toml example-notification.toml example-replication.toml example-security.toml example-shell.toml filer.toml master.toml - notification.toml - replication.toml security.toml - shell.toml seaweedfs.admin.confd seaweedfs.filer.confd seaweedfs.initd @@ -87,9 +85,11 @@ package() { install -Dm755 "${CARGO_TARGET_DIR:-$_worker_builddir/target}/release/weed-worker" \ "$pkgdir"/usr/bin/weed-worker local _config - for _config in admin credential filer master notification replication security shell; do + for _config in admin credential filer master security; do install -Dm644 "$srcdir"/$_config.toml \ "$pkgdir"/etc/seaweedfs/$_config.toml + done + for _config in admin credential filer master volume notification replication security shell; do install -Dm644 "$srcdir"/example-$_config.toml \ "$pkgdir"/usr/share/doc/$pkgname/examples/$_config.toml done @@ -142,20 +142,17 @@ fd4d4947dc4587ec943ad4c11e0a6bc4d3cd1c59ad45299cf84bcbc8d25a2b8745fd426343087928 91a34fec9bb78832f421b54dd823adb1c1690b746083d947c5f72e4ad7670362512bbb920432f42342482774fd8be2b396645ff3bc764b10f328432601733fe3 seaweedfs-4.48-src.tar.gz 4f24760848c909fdee1ae8569ef7ef7cbec2c885d891a543d7beddee492bddbf266e6789601095a86798d1b00256782c45297ea36cdb527bb6b64980dd02486a admin.toml 507b389f6373b5f4d8ca69f27bc806b39bda8edf7f58e4f32720958e7782ee171dd0461bdecb285e5a8bf2cf4ea3d6cbe8b62ae6ac43c2a40d0eb053d50a22f8 example-admin.toml -b6ce09d6d83dd70e2797a185171eea3587436fb024a99b4998f714b713244d6f768ef59f67c9b7251650d4f19d414eea231eab92099763d85cd92e41cb2bdc3f credential.toml 7105de7053654b8c0502521ce58585915fc831c3152801e1db02b1c5214dc3c3ed31f4fc18000665d8338c7a10ffbf0d248368bef2ef3a6d37d46cd856398366 example-credential.toml 64821eba8661b39b94016a7ca3fa37b74154dcc998bcb9978a6b9983a58741ff28a2984db3c0789595d1864354f83b33cf6bb31b014ffd71ebd6570d8760dc26 example-filer.toml e5753bd0bcc60dc84428c40ba556c08acae61dec083a5b76640125f637532e7c5759a72cdfd95114222a7a0901a916ec3c4d12f306853cfca0fe9a0b1857893e example-master.toml +aea1b3114311304230cb30143825329ef7353a302d094c131ca4e049b847305e2143b76078e6574c6d7d4039c03a2e2d5a4925de80cd7cb2be75b2b522ce47f7 example-volume.toml 2c200c28172a5d0b1c80ab28e849287e7af8d103355638fd3183b8614d3e2b1b3482132522663f7c6d844e10e13b8c6e23fb5fba0dec2cc83de45c2f17b33477 example-notification.toml 328cfe43d0c2ebf5092a1178af45c37b07593085135c31649754f0df9fd4c043847c13b56c3c7c45194541db8082309c4845c825d7011e4c3e503b1e6576528d example-replication.toml 3b45b0f5bf6c5339cfb63c3ddb489b7122e03996ce380c7a244778ef1e7f6c06b4e3e56ea695a2dc3c9c49322a58df865ff50b2904318abafee5e66b2af757f1 example-security.toml 70069f97edf261a2cd0669dd60adad80533609a25d7429254e0c3322d7e80337f5ff69a5581bc39e6a15442098d14d610ce5f0cb14f02c461c8d3dd440b22c56 example-shell.toml -be5771a5e1bf626c53f9dffbfa2a400d9b8f9626d55a7b61dcd853753561989427ba872a2638a5e6343f44dea6790678483bd29101d6495dbbfcd3029947b9a7 filer.toml -2cd6c73a5e23e0395b6f099dcc3acf9280cbb3e13f54408571e91741c4e6b0dad85f6d4e5a92f23ad541bad57ce295c28bb8450fe11da35acbd4da25848f61e5 master.toml -0a1b3d0fd1671744f96e7642fb9aee9b80debd0d9a82f586beb36fe32f9ad440332acd2a8b0ee0b210b912cb281d88ca56fd15e3a2ece61be9dcf96afc00a6f8 notification.toml -5a607ce6cdd11ffbe528b9a85e0012b48accefa6ccfeda9d6aa70d92ccf7f219e75c93cd2f1c36f3eb16204b3652a45dcd52ffcb64bceef91d081702b19cef3c replication.toml -d21981923b5964cf8365185a4f7c28a14e33ba6f60ad63e797e315544a6c22efdaa72814292824c07ef14554738769e0fd4c670fe797cf77b0226b2595a8b43b security.toml -7a91ce9da79b92e5ef42d4915f56a010bceaaa6c96dcef1f7b1821ee208d381aaa88b9cf495248276132e66d3215927f589b7fabc4eae2c2cb195645f904fac7 shell.toml +130b9932f99d0a3ec3c30c74eaf1dc441c1a9252da30e2c5365084f2a0679f58531e6180689c24b71f92cf9a7966b02ea25ee31d356e7118cbb82743d0bfcbd9 filer.toml +088c3aebc142054af1b54a92a2c5bd30d53be61bdf382f7cae2efef2d917d7b57022d9b494a60f32c7bf56689d4ce2f971e19c98da1d87e27021a3e948035605 master.toml +79a078133c259473e601488cd1d8032b74c5fa32da6f34a4ed46efa9736bf5369365a77d775e3d78512b1060cd87012eb40226829eecb30544e1542d165af7d6 security.toml 82e2793bf483ffb5b0c8fbe38e6c9df75afe01f824f8414cafd91e4bed5c79c13dae1ca659070401d4968d16ed4b26455b0c6208f777705527bceb2e5f286988 seaweedfs.admin.confd 5ad952c37c62a770327bd70f7349fa677406606f0b9bf03fdc8f6c6804701f1e77710ab20d6153f9e0cfb549ec161d68a3316abab9c59837bbe3f91ee99e5ce0 seaweedfs.filer.confd 077c513851bbbe53dd32d26455abc361f97006f9ace1190f96eb4b9136d16befab1a6153752eae8dac695c3a9aed084a00b411684915618cb30dd0770e608403 seaweedfs.initd diff --git a/packaging/alpine/local/seaweedfs/README.md b/packaging/alpine/local/seaweedfs/README.md index deb0c18..78c8b4d 100644 --- a/packaging/alpine/local/seaweedfs/README.md +++ b/packaging/alpine/local/seaweedfs/README.md @@ -1,6 +1,6 @@ # SeaweedFS Alpine Package -Repackages official SeaweedFS 4.39 Linux release tarballs for `x86_64` and +Repackages official SeaweedFS 4.47 Linux release tarballs for `x86_64` and `aarch64`. ## Package Commands @@ -12,6 +12,10 @@ ALPINE_PACKAGE=seaweedfs mise run apk:update-generated ALPINE_PACKAGE=seaweedfs mise run apk:checksum ``` +The refresh command generates every SeaweedFS 4.47 scaffold configuration: +`admin`, `credential`, `filer`, `master`, `volume`, `notification`, +`replication`, `security`, and `shell`. + Build: ```sh @@ -75,13 +79,16 @@ Runtime paths: /etc/init.d/seaweedfs.* ``` -Edit `/etc/conf.d/seaweedfs.` for flags and `/etc/seaweedfs/*.toml` for -SeaweedFS config. Upstream examples: +Edit `/etc/conf.d/seaweedfs.` for flags. The package supplies a small set +of safe defaults in `/etc/seaweedfs/`; the complete upstream-generated scaffold +configs are available at: ```text /usr/share/doc/seaweedfs/examples/ ``` +Copy and customize a scaffold file only when enabling its related feature. + Enable services: ```sh @@ -133,5 +140,5 @@ rc-service seaweedfs.master restart Pin: ```sh -apk add seaweedfs=4.39-r0 +apk add seaweedfs=4.47-r2 ``` diff --git a/packaging/alpine/local/seaweedfs/admin.toml b/packaging/alpine/local/seaweedfs/admin.toml index 36672eb..003b108 100644 --- a/packaging/alpine/local/seaweedfs/admin.toml +++ b/packaging/alpine/local/seaweedfs/admin.toml @@ -1,8 +1,4 @@ -# Configuration for `weed admin`. -# -# This package disables automatic maintenance by default. Enable individual -# maintenance services deliberately after reviewing the cluster's storage and -# replication policy. The setting is persisted in the admin data directory. - +# Disable automatic maintenance until the cluster's storage and replication +# policy has been reviewed. This setting is persisted in the admin data directory. [maintenance] enabled = false diff --git a/packaging/alpine/local/seaweedfs/credential.toml b/packaging/alpine/local/seaweedfs/credential.toml index 877e1c5..faed5c0 100644 --- a/packaging/alpine/local/seaweedfs/credential.toml +++ b/packaging/alpine/local/seaweedfs/credential.toml @@ -1,19 +1,3 @@ +# Use the existing filer store for credentials by default. [credential.filer_etc] enabled = true - -[credential.postgres] -enabled = false -hostname = "localhost" -port = 5432 -username = "seaweedfs" -password = "" -database = "seaweedfs" -schema = "public" -sslmode = "disable" -table_prefix = "sw_" -connection_max_idle = 10 -connection_max_open = 100 -connection_max_lifetime_seconds = 3600 - -[credential.memory] -enabled = false diff --git a/packaging/alpine/local/seaweedfs/example-volume.toml b/packaging/alpine/local/seaweedfs/example-volume.toml new file mode 100644 index 0000000..2fa7094 --- /dev/null +++ b/packaging/alpine/local/seaweedfs/example-volume.toml @@ -0,0 +1,30 @@ +# Put this file to one of the location, with descending priority +# ./volume.toml +# $HOME/.seaweedfs/volume.toml +# /etc/seaweedfs/volume.toml +# this file is read by volume servers + +[volume.disk.io] +# Disk IO probing is disabled by default. When enabled, a volume server can +# stop advertising a disk after sustained IO errors or latency degradation. +probe = false +timeout = "2s" +interval = "60s" +window = "1m" +min.samples = 10 +max.stat.failures = 5 +recovery.coef = 0.5 + +[volume.disk.io.slow] +percent = 20 + +[volume.disk.io.error] +percent = 10 + +# slow threshold per disk type, matched against each -dir's -disk tag. +# a disk whose type is not listed here uses the hdd threshold. +[volume.disk.io.slow.latency] +hdd = "500ms" +ssd = "100ms" +nvme = "50ms" + diff --git a/packaging/alpine/local/seaweedfs/filer.toml b/packaging/alpine/local/seaweedfs/filer.toml index 9b5cd7c..eee2a02 100644 --- a/packaging/alpine/local/seaweedfs/filer.toml +++ b/packaging/alpine/local/seaweedfs/filer.toml @@ -1,46 +1,4 @@ -[filer.options] -recursive_delete = false - +# Store standalone filer metadata in the package-managed data directory. [leveldb2] enabled = true dir = "/var/lib/seaweedfs/filer/meta" - -[sqlite] -enabled = false -dbFile = "/var/lib/seaweedfs/filer/filer.db" - -[mysql] -enabled = false -dsn = "root@tcp(localhost:3306)/seaweedfs?collation=utf8mb4_bin" -enable_tls = false -hostname = "localhost" -port = 3306 -username = "root" -password = "" -database = "" -connection_max_idle = 10 -connection_max_open = 50 -connection_max_lifetime_seconds = 300 -interpolateParams = false -enableUpsert = true - -[postgres] -enabled = false -hostname = "localhost" -port = 5432 -username = "postgres" -password = "" -database = "postgres" -schema = "" -sslmode = "disable" -connection_max_idle = 10 -connection_max_open = 50 -connection_max_lifetime_seconds = 300 -pgbouncer_compatible = false -enableUpsert = true - -[redis2] -enabled = false -address = "localhost:6379" -password = "" -database = 0 diff --git a/packaging/alpine/local/seaweedfs/master.toml b/packaging/alpine/local/seaweedfs/master.toml index a84c49f..6ed99fc 100644 --- a/packaging/alpine/local/seaweedfs/master.toml +++ b/packaging/alpine/local/seaweedfs/master.toml @@ -1,27 +1,3 @@ +# Disable scheduled maintenance until it is explicitly configured. [master.maintenance] scripts = "" -sleep_minutes = 17 - -[master.sequencer] -type = "raft" -sequencer_snowflake_id = 0 - -[storage.backend.s3.default] -enabled = false -aws_access_key_id = "" -aws_secret_access_key = "" -region = "us-east-2" -bucket = "" -endpoint = "" -storage_class = "STANDARD_IA" - -[master.volume_growth] -copy_1 = 7 -copy_2 = 6 -copy_3 = 3 -copy_other = 1 -threshold = 0.9 -disable = false - -[master.replication] -treat_replication_as_minimums = false diff --git a/packaging/alpine/local/seaweedfs/notification.toml b/packaging/alpine/local/seaweedfs/notification.toml deleted file mode 100644 index 484108c..0000000 --- a/packaging/alpine/local/seaweedfs/notification.toml +++ /dev/null @@ -1,42 +0,0 @@ -[notification.log] -enabled = false - -[notification.kafka] -enabled = false -hosts = ["localhost:9092"] -topic = "seaweedfs_filer" -offsetFile = "/var/lib/seaweedfs/filer/last.offset" -offsetSaveIntervalSeconds = 10 -sasl_enabled = false -sasl_mechanism = "PLAIN" -sasl_username = "" -sasl_password = "" -tls_enabled = false -tls_ca_cert = "" -tls_client_cert = "" -tls_client_key = "" -tls_insecure_skip_verify = false - -[notification.aws_sqs] -enabled = false -aws_access_key_id = "" -aws_secret_access_key = "" -region = "us-east-2" -sqs_queue_name = "" - -[notification.google_pub_sub] -enabled = false -google_application_credentials = "" -project_id = "" -topic = "" - -[notification.webhook] -enabled = false -endpoint = "" -bearer_token = "" -timeout_seconds = 10 -max_retries = 3 -backoff_seconds = 3 -max_backoff_seconds = 30 -workers = 5 -buffer_size = 10000 diff --git a/packaging/alpine/local/seaweedfs/replication.toml b/packaging/alpine/local/seaweedfs/replication.toml deleted file mode 100644 index eceb24b..0000000 --- a/packaging/alpine/local/seaweedfs/replication.toml +++ /dev/null @@ -1,29 +0,0 @@ -[source.filer] -enabled = false -grpcAddress = "localhost:18888" -directory = "/buckets" -excludeDirectories = "/buckets/tmp" - -[sink.local] -enabled = false -directory = "/var/lib/seaweedfs/backup" -is_incremental = false - -[sink.filer] -enabled = false -grpcAddress = "localhost:18888" -directory = "/backup" -replication = "" -collection = "" -ttlSec = 0 -is_incremental = false - -[sink.s3] -enabled = false -aws_access_key_id = "" -aws_secret_access_key = "" -region = "us-east-2" -bucket = "" -directory = "/" -endpoint = "" -is_incremental = false diff --git a/packaging/alpine/local/seaweedfs/scripts/runtime-test.sh b/packaging/alpine/local/seaweedfs/scripts/runtime-test.sh index 02ec569..c29c500 100755 --- a/packaging/alpine/local/seaweedfs/scripts/runtime-test.sh +++ b/packaging/alpine/local/seaweedfs/scripts/runtime-test.sh @@ -25,6 +25,7 @@ test -x /usr/bin/weed-worker /usr/bin/weed-worker --help >/dev/null test -d /usr/share/doc/seaweedfs/examples test -f /usr/share/doc/seaweedfs/examples/master.toml +test -f /usr/share/doc/seaweedfs/examples/volume.toml test -f /usr/share/bash-completion/completions/weed weed version diff --git a/packaging/alpine/local/seaweedfs/scripts/test-install.sh b/packaging/alpine/local/seaweedfs/scripts/test-install.sh index 44acb83..c2a058a 100755 --- a/packaging/alpine/local/seaweedfs/scripts/test-install.sh +++ b/packaging/alpine/local/seaweedfs/scripts/test-install.sh @@ -46,5 +46,6 @@ apk_test_install_run "${repo_root}" "${PACKAGE_NAME:-seaweedfs}" "${PACKAGE_VERS apk info -e seaweedfs-bash-completion test -d /usr/share/doc/seaweedfs/examples test -f /usr/share/doc/seaweedfs/examples/master.toml + test -f /usr/share/doc/seaweedfs/examples/volume.toml test -f /usr/share/bash-completion/completions/weed SCRIPT diff --git a/packaging/alpine/local/seaweedfs/scripts/update-generated-sources.sh b/packaging/alpine/local/seaweedfs/scripts/update-generated-sources.sh index e41b923..067363e 100755 --- a/packaging/alpine/local/seaweedfs/scripts/update-generated-sources.sh +++ b/packaging/alpine/local/seaweedfs/scripts/update-generated-sources.sh @@ -2,7 +2,7 @@ set -euo pipefail package_dir="${PACKAGE_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}" -configs=(admin credential filer master notification replication security shell) +configs=(admin credential filer master volume notification replication security shell) pkgver="$( awk -F= '$1 == "pkgver" { print $2; exit }' "${package_dir}/APKBUILD" )" diff --git a/packaging/alpine/local/seaweedfs/security.toml b/packaging/alpine/local/seaweedfs/security.toml index ed9451b..b1745dd 100644 --- a/packaging/alpine/local/seaweedfs/security.toml +++ b/packaging/alpine/local/seaweedfs/security.toml @@ -1,104 +1,3 @@ -[cors.allowed_origins] -values = "*" - -[jwt.signing] -key = "" -expires_after_seconds = 10 - +# Do not expose the administrative UI by default. [access] ui = false - -[filer.expose_directory_metadata] -enabled = true - -[jwt.signing.read] -key = "" -expires_after_seconds = 10 - -[jwt.filer_signing] -key = "" -expires_after_seconds = 10 - -[jwt.filer_signing.read] -key = "" -expires_after_seconds = 10 - -[grpc] -ca = "" -allowed_wildcard_domain = "" - -[grpc.volume] -cert = "" -key = "" -allowed_commonNames = "" - -[grpc.master] -cert = "" -key = "" -allowed_commonNames = "" - -[grpc.filer] -cert = "" -key = "" -allowed_commonNames = "" - -[grpc.s3] -cert = "" -key = "" -allowed_commonNames = "" - -[grpc.admin] -cert = "" -key = "" -allowed_commonNames = "" - -[grpc.worker] -cert = "" -key = "" -allowed_commonNames = "" - -[grpc.client] -cert = "" -key = "" - -[https.client] -enabled = false -cert = "" -key = "" -ca = "" -insecure_skip_verify = false - -[https.volume] -cert = "" -key = "" -ca = "" - -[https.master] -cert = "" -key = "" -ca = "" - -[https.filer] -cert = "" -key = "" -ca = "" - -[https.admin] -cert = "" -key = "" -ca = "" - -[admin] -user = "" -password = "" - -[admin.readonly] -user = "" -password = "" - -[s3.sse] -kek = "" -key = "" - -[guard] -white_list = "" diff --git a/packaging/alpine/local/seaweedfs/shell.toml b/packaging/alpine/local/seaweedfs/shell.toml deleted file mode 100644 index 0213708..0000000 --- a/packaging/alpine/local/seaweedfs/shell.toml +++ /dev/null @@ -1,8 +0,0 @@ -[cluster] -default = "c1" - -[cluster.c1] -master = "localhost:9333" # comma-separated master servers - -[cluster.c2] -master = ""