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//seaweed--.sock`.