ansible-seaweed/README.md
2025-05-26 23:12:18 -04:00

1.0 KiB

Ansible SeaweedFS

This playbook configures a server with a SeaweedFS Master, Volume, Filer, and S3.

In the future, this will support groups or targeting of servers, allowing for multiple masters, volumes, filers, etc on different hosts.

Usage

  • Update inventory.yaml to add your hosts under the seaweed group.
  • Configure ansible.cfg with your access credentials (recommended: ansible user with ssh key)
  • ansible-playbook ./playbook.yaml

Design decisions

The built-in/community openssl modules weren't sufficient to properly create a CA without a ton of version limitations. The decision was made to use openssl commands directly to avoid this, and avoid installing another binary (like certstrap)

systemd was used to manage the cluster, with each service having a seaweed- service prefix.

Local sockets had to be updated, as in the testing scenario with a Debian 12 container it did not like using /tmp for sockets. They are instead placed in /var/lib/seaweedfs/<filer/s3>/seaweed-<filer/s3>-<port>.sock.