Merge branch 'main' into development

This commit is contained in:
Joachim Schlöffel
2026-09-28 23:14:02 +02:00
22 changed files with 132 additions and 315 deletions
+9 -12
View File
@@ -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
+11 -4
View File
@@ -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.<role>` for flags and `/etc/seaweedfs/*.toml` for
SeaweedFS config. Upstream examples:
Edit `/etc/conf.d/seaweedfs.<role>` 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
```
+2 -6
View File
@@ -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
@@ -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
@@ -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"
+1 -43
View File
@@ -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
+1 -25
View File
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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"
)"
+1 -102
View File
@@ -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 = ""
@@ -1,8 +0,0 @@
[cluster]
default = "c1"
[cluster.c1]
master = "localhost:9333" # comma-separated master servers
[cluster.c2]
master = ""