diff options
Diffstat (limited to 'playbooks.d/seaweedfs/playbook.bash')
-rw-r--r-- | playbooks.d/seaweedfs/playbook.bash | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/playbooks.d/seaweedfs/playbook.bash b/playbooks.d/seaweedfs/playbook.bash new file mode 100644 index 0000000..e6c0c4c --- /dev/null +++ b/playbooks.d/seaweedfs/playbook.bash @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +playbook_add() { + local dl_arch + local dl_baseurl + local dl_binary + local dl_version + + # Install seaweedfs + case "${BASHTARD_PLATFORM[arch]}" in + x86_64) dl_arch=amd64 ;; + aarch64) dl_arch=arm64 ;; + esac + + dl_baseurl="https://github.com/seaweedfs/seaweedfs/releases/download" + dl_binary="$(printf "%s_%s.tar.gz" "${BASHTARD_PLATFORM[os]}" "$dl_arch")" + 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" + + tar xzf "$dl_binary" + mv -v -- "weed" "$(config "fs.bindir")/weed" + + # Create mount.weed symlink + ln -fsv "$(config "fs.bindir")/weed" "$(config "fs.bindir")/mount.weed" + + # Create directories used by seaweedfs + mkdir -pv -- "$(config "fs.etcdir")/seaweedfs" +} + +playbook_sync() { + file_template "seaweedfs-mount@.service"\ + > "/etc/systemd/system/seaweedfs-mount@.service" +} + +playbook_del() { + # Remove configuration files + rm -fr -- "$(config "fs.etcdir")/seaweedfs" + + # Remove downloaded binary and symlinks + rm -fr -- "$(config "fs.bindir")/weed" + rm -fr -- "$(config "fs.bindir")/mount.weed" +} |