From be44446a95f6064e3abbd0fbb7f021cc58b79eb0 Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Thu, 11 Apr 2024 00:02:52 +0200 Subject: [PATCH] Update to 2024-04-11 00:02 --- roles/consul/defaults/main.yml | 10 ++++++++ roles/consul/templates/consul.hcl.j2 | 34 ++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/roles/consul/defaults/main.yml b/roles/consul/defaults/main.yml index aac13ab..3475517 100644 --- a/roles/consul/defaults/main.yml +++ b/roles/consul/defaults/main.yml @@ -117,6 +117,16 @@ consul_base_conf: limits: {} # http_max_conns_per_client: 200 + # raft_logstore: + # backend: wal + # disable_log_cache: true + # boltdb: + # no_freelist_sync: true + # wal: + # segment_size_mb: 64 + # raft_snapshot_interval: 1m + # raft_snapshot_threshold: 16384 + consul_extra_conf: {} consul_host_conf: {} consul_conf: "{{ consul_base_conf | combine(consul_extra_conf, recursive=True) | combine(consul_host_conf, recursive=True) }}" diff --git a/roles/consul/templates/consul.hcl.j2 b/roles/consul/templates/consul.hcl.j2 index 9dd3d1a..185924d 100644 --- a/roles/consul/templates/consul.hcl.j2 +++ b/roles/consul/templates/consul.hcl.j2 @@ -41,6 +41,40 @@ performance { } {% endif %} +{% if consul_conf.raft_logstore is defined %} +raft_logstore { +{% for key in ['backend'] %} +{% if consul_conf.raft_logstore[key] is defined %} + {{ key }} = "{{ consul_conf.raft_logstore[key] }}" +{% endif %} +{% endfor %} +{% if consul_conf.raft_logstore.disable_log_cache is defined %} + disable_log_cache = {{ consul_conf.raft_logstore.disable_log_cache | ternary('true', 'false') }} +{% endif %} +{% if consul_conf.raft_logstore.boltdb is defined and consul_conf.raft_logstore.boltdb.no_freelist_sync is defined %} + boltdb { + no_freelist_sync = {{ consul_conf.raft_logstore.boltdb.no_freelist_sync | ternary('true', 'false') }} + } +{% endif %} +{% if consul_conf.raft_logstore.wal is defined and consul_conf.raft_logstore.wal.segment_size_mb is defined %} + wal { + segment_size_mb = {{ consul_conf.raft_logstore.wal.segment_size_mb }} + } +{% endif %} +} +{% endif %} + +{% for key in ['raft_protocol', 'raft_snapshot_interval'] %} +{% if consul_conf[key] is defined %} +{{ key }} = "{{ consul_conf[key] }}" +{% endif %} +{% endfor %} +{% for key in ['raft_snapshot_threshold', 'raft_trailing_logs'] %} +{% if consul_conf.raft_logstore[key] is defined %} +{{ key }} = {{ consul_conf.raft_logstore[key] }} +{% endif %} +{% endfor %} + {% if consul_conf.encrypt is defined %} encrypt = "{{ consul_conf.encrypt }}" {% endif %}