Go to file
2024-05-16 17:59:12 +03:00
defaults update readme and examples 2024-05-16 12:40:52 +03:00
handlers initial commit 2023-02-08 01:42:20 +03:00
meta initial commit 2023-02-08 01:42:20 +03:00
tasks fix template override 2024-05-15 15:54:29 +03:00
templates fix template override 2024-05-15 15:54:29 +03:00
.gitignore ignore .galaxy_install_info 2023-02-08 01:43:12 +03:00
README.md update readme 2024-05-16 17:59:12 +03:00

Idempotent ansible role for Keepalived service

Config examples

Using template config
keepalived_config:
  global_defs:
    router_id: t1-dev-rabbitmq
  vrrp_track_process:
    haproxy:
      process: haproxy
      quorum: 1
      delay: 2
  vrrp_instance:
    VRRP_1:
      state: MASTER
      virtual_router_id: 50
      priority: "{{ ansible_default_ipv4.address.split('.')[-1][-2:] }}"
      interface: "{{ ansible_default_ipv4.interface }}"
      unicast_src_ip: "{{ ansible_default_ipv4.address }}"
      unicast_peer:
        - 10.89.10.71
        - 10.89.10.72
        - 10.89.10.73
      virtual_ipaddress:
        - "10.89.10.112/32 dev {{ ansible_default_ipv4.interface }}"
      track_process: 
        - haproxy
Complete config override
keepalived_config_override: |
  global_defs {
    router_id {{ patroni_cluster_name | default('default') }}
  }
  vrrp_track_process haproxy {
    process haproxy
    quorum 1
    delay 2
  }
  vrrp_instance VRRP_1 {
    state MASTER
    virtual_router_id {{ keepalived_vip.split('.')[-1][-3:] }}
    priority {{ ansible_enp3s0.ipv4.address.split('.')[-1][-3:] | default(ansible_default_ipv4.address.split('.')[-1][-3:]) }}
    interface {{ ansible_enp3s0.device | default(ansible_default_ipv4.interface) }}
    unicast_src_ip {{ ansible_enp3s0.ipv4.address | default(ansible_default_ipv4.address) }}
    unicast_peer {
  {% for peer in groups.all %}
      {{ hostvars[peer].ansible_enp3s0.ipv4.address if hostvars[peer].ansible_enp3s0.ipv4.address != ansible_enp3s0.ipv4.address }}
  {% endfor %}
    }
    virtual_ipaddress {
      {{ keepalived_vip }}/32 dev enp3s0
    }
    track_process {
      haproxy
    }
  }