diff --git a/ansible/roles/rustfs/defaults/main.yml b/ansible/roles/rustfs/defaults/main.yml index fa180b34..0cd98e44 100644 --- a/ansible/roles/rustfs/defaults/main.yml +++ b/ansible/roles/rustfs/defaults/main.yml @@ -16,3 +16,7 @@ rustfs_secret_key: "rustfsadmin" rustfs_console_enable: true rustfs_obs_logger_level: "error" +# Erasure coding - EC:1 allows 2-node quorum (1 parity drive) +# With 3 nodes, this means the cluster can operate with 2 nodes up +rustfs_storage_class_standard: "EC:1" + diff --git a/ansible/roles/rustfs/tasks/main.yml b/ansible/roles/rustfs/tasks/main.yml index 2385067f..775e9856 100644 --- a/ansible/roles/rustfs/tasks/main.yml +++ b/ansible/roles/rustfs/tasks/main.yml @@ -80,6 +80,9 @@ src: rustfs.cluster.j2 dest: "{{ rustfs_config_file }}" notify: Restart rustfs + tags: + - config + - rustfs-config - name: Create RustFS systemd service template: diff --git a/ansible/roles/rustfs/templates/rustfs.cluster.j2 b/ansible/roles/rustfs/templates/rustfs.cluster.j2 index 67d8d815..9087134e 100644 --- a/ansible/roles/rustfs/templates/rustfs.cluster.j2 +++ b/ansible/roles/rustfs/templates/rustfs.cluster.j2 @@ -7,3 +7,5 @@ RUSTFS_CONSOLE_ADDRESS=":{{ rustfs_console_port }}" RUSTFS_CONSOLE_ENABLE={{ rustfs_console_enable | lower }} RUSTFS_OBS_LOGGER_LEVEL={{ rustfs_obs_logger_level }} RUSTFS_OBS_LOG_DIRECTORY="{{ rustfs_log_dir }}/" +# Erasure coding for 2-node quorum support +RUSTFS_STORAGE_CLASS_STANDARD="{{ rustfs_storage_class_standard }}"