summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Spek <p.spek@tyil.nl>2024-03-05 09:28:47 +0100
committerPatrick Spek <p.spek@tyil.nl>2024-03-05 11:53:14 +0100
commit1bf0372e61596f40b6d42329e4ea2d896928ebf4 (patch)
tree07281f2afecaefeb65e0440bbe816635a8f8e6c2
parent0d2779e4b6779d2dc9c9cedfec458789970c5daf (diff)
Add base seaweedfs playbook to jaomox
-rw-r--r--playbooks.d/seaweedfs/playbook.bash75
-rw-r--r--playbooks.d/seaweedfs/share/master.conf8
-rw-r--r--registry.d/jaomox.tyil.net1
3 files changed, 13 insertions, 71 deletions
diff --git a/playbooks.d/seaweedfs/playbook.bash b/playbooks.d/seaweedfs/playbook.bash
index ad2dd3d..7405cb5 100644
--- a/playbooks.d/seaweedfs/playbook.bash
+++ b/playbooks.d/seaweedfs/playbook.bash
@@ -5,7 +5,6 @@ playbook_add() {
local dl_baseurl
local dl_binary
local dl_version
- local buffer
# Install seaweedfs
case "${BASHTARD_PLATFORM[arch]}" in
@@ -15,15 +14,14 @@ playbook_add() {
dl_baseurl="https://github.com/seaweedfs/seaweedfs/releases/download"
dl_binary="$(printf "%s_%s.tar.gz" "${BASHTARD_PLATFORM[os]}" "$dl_arch")"
- dl_version="3.50"
+ dl_version="$(config "$BASHTARD_PLAYBOOK.version" "3.63")"
buffer="$(tmpdir)"
chgdir "$buffer"
info "$BASHTARD_PLAYBOOK/add" "Fetching $dl_baseurl/$dl_version/$dl_binary"
- curl -L "$dl_baseurl/$dl_version/$dl_binary" \
- > "$dl_binary"
+ curl -L "$dl_baseurl/$dl_version/$dl_binary" > "$dl_binary"
tar xzf "$dl_binary"
mv -v -- "weed" "$(config "fs.bindir")/weed"
@@ -31,80 +29,15 @@ playbook_add() {
# Create mount.weed symlink
ln -fsv "$(config "fs.bindir")/weed" "$(config "fs.bindir")/mount.weed"
- # Generate systemd unit file
- case "${BASHTARD_PLATFORM[init]}" in
- systemd)
- cat <<-EOF > "$(config "fs.etcdir")/systemd/system/seaweedfs.service"
- [Unit]
- Description=SeaweedFS
- After=network.target
-
- [Service]
- Type=simple
- User=root
- Group=root
-
- ExecStart=$(config "fs.bindir")/weed server -options="$(config "fs.etcdir")/seaweedfs/server.conf"
- WorkingDirectory=/var/lib/seaweedfs
- SyslogIdentifier=seaweedfs
-
- [Install]
- WantedBy=multi-user.target
- EOF
-
- systemctl daemon-reload
- ;;
- *) die "NYI"
- esac
-
- # Create directories
- mkdir -pv -- "/var/lib/seaweedfs"
+ # Create directories used by seaweedfs
mkdir -pv -- "$(config "fs.etcdir")/seaweedfs"
-
- # Perform initial configuration
- playbook_sync
-
- # Start the service
- svc enable seaweedfs
- svc start seaweedfs
}
playbook_sync() {
- local buffer
- local conf
-
- buffer="$(tmpfile)"
- conf="$(config "fs.etcdir")/seaweedfs/server.conf"
-
- # Generate config file
- file_template "server.conf" \
- "datadir=/var/lib/seaweedfs" \
- "ip=$(config "vpn-tinc.ipv4")" \
- "volume_size=1024" \
- "reserved_space=10GiB" \
- > "$buffer"
-
- if diff -q "$buffer" "$conf"
- then
- return
- fi
-
- mv -- "$buffer" "$conf"
-
- [[ "$BASHTARD_ACTION" == "add" ]] && return
-
- # Reload service
- svc restart seaweedfs
+ :;
}
playbook_del() {
- # Stop service
- svc stop seaweedfs
- svc disable seaweedfs
-
- # Remove systemd unit file
- rm -fr -- "$(config "fs.etcdir")/systemd/system/seaweedfs.service"
-
# Remove configuration files
rm -fr -- "$(config "fs.etcdir")/seaweedfs"
diff --git a/playbooks.d/seaweedfs/share/master.conf b/playbooks.d/seaweedfs/share/master.conf
new file mode 100644
index 0000000..fb72a28
--- /dev/null
+++ b/playbooks.d/seaweedfs/share/master.conf
@@ -0,0 +1,8 @@
+ip=${ip}
+port=${port}
+
+peers=${peers}
+mdir=${mdir}
+
+defaultReplication=${replication}
+volumeSizeLimitMB=${volume_size}
diff --git a/registry.d/jaomox.tyil.net b/registry.d/jaomox.tyil.net
index 983e06c..3ef42b7 100644
--- a/registry.d/jaomox.tyil.net
+++ b/registry.d/jaomox.tyil.net
@@ -1,3 +1,4 @@
+seaweedfs
ssh
user-tyil
vpn-tinc