github.com/argoproj-labs/argocd-operator@v0.10.0/build/redis/haproxy.cfg.tpl (about)

     1  {{- if eq .UseTLS "true"}}
     2  global
     3      ca-base /app/config/redis/tls
     4  {{- end}}
     5  
     6  defaults REDIS
     7      mode tcp
     8      timeout connect 4s
     9      timeout server 6m
    10      timeout client 6m
    11      timeout check 2s
    12  
    13  listen health_check_http_url
    14      bind :8888
    15      mode http
    16      monitor-uri /healthz
    17      option      dontlognull
    18  # Check Sentinel and whether they are nominated master
    19  backend check_if_redis_is_master_0
    20      mode tcp
    21      option tcp-check
    22  {{- if eq .UseTLS "false"}}
    23      tcp-check connect
    24  {{- else}}
    25      tcp-check connect ssl
    26  {{- end}}
    27      tcp-check send PING\r\n
    28      tcp-check expect string +PONG
    29      tcp-check send SENTINEL\ get-master-addr-by-name\ argocd\r\n
    30      tcp-check expect string REPLACE_ANNOUNCE0
    31      tcp-check send QUIT\r\n
    32      tcp-check expect string +OK
    33  {{- if eq .UseTLS "false"}}
    34      server R0 {{.ServiceName}}-announce-0:26379 check inter 3s
    35      server R1 {{.ServiceName}}-announce-1:26379 check inter 3s
    36      server R2 {{.ServiceName}}-announce-2:26379 check inter 3s
    37  {{- else}}
    38      server R0 {{.ServiceName}}-announce-0:26379 verify required ca-file tls.crt check inter 3s
    39      server R1 {{.ServiceName}}-announce-1:26379 verify required ca-file tls.crt check inter 3s
    40      server R2 {{.ServiceName}}-announce-2:26379 verify required ca-file tls.crt check inter 3s
    41  {{- end}}
    42  # Check Sentinel and whether they are nominated master
    43  backend check_if_redis_is_master_1
    44      mode tcp
    45      option tcp-check
    46  {{- if eq .UseTLS "false"}}
    47      tcp-check connect
    48  {{- else}}
    49      tcp-check connect ssl
    50  {{- end}}
    51      tcp-check send PING\r\n
    52      tcp-check expect string +PONG
    53      tcp-check send SENTINEL\ get-master-addr-by-name\ argocd\r\n
    54      tcp-check expect string REPLACE_ANNOUNCE1
    55      tcp-check send QUIT\r\n
    56      tcp-check expect string +OK
    57  {{- if eq .UseTLS "false"}}
    58      server R0 {{.ServiceName}}-announce-0:26379 check inter 3s
    59      server R1 {{.ServiceName}}-announce-1:26379 check inter 3s
    60      server R2 {{.ServiceName}}-announce-2:26379 check inter 3s
    61  {{- else}}
    62      server R0 {{.ServiceName}}-announce-0:26379 verify required ca-file tls.crt check inter 3s
    63      server R1 {{.ServiceName}}-announce-1:26379 verify required ca-file tls.crt check inter 3s
    64      server R2 {{.ServiceName}}-announce-2:26379 verify required ca-file tls.crt check inter 3s
    65  {{- end}}
    66  # Check Sentinel and whether they are nominated master
    67  backend check_if_redis_is_master_2
    68      mode tcp
    69      option tcp-check
    70  {{- if eq .UseTLS "false"}}
    71      tcp-check connect
    72  {{- else}}
    73      tcp-check connect ssl
    74  {{- end}}
    75      tcp-check send PING\r\n
    76      tcp-check expect string +PONG
    77      tcp-check send SENTINEL\ get-master-addr-by-name\ argocd\r\n
    78      tcp-check expect string REPLACE_ANNOUNCE2
    79      tcp-check send QUIT\r\n
    80      tcp-check expect string +OK
    81  {{- if eq .UseTLS "false"}}
    82      server R0 {{.ServiceName}}-announce-0:26379 check inter 3s
    83      server R1 {{.ServiceName}}-announce-1:26379 check inter 3s
    84      server R2 {{.ServiceName}}-announce-2:26379 check inter 3s
    85  {{- else}}
    86      server R0 {{.ServiceName}}-announce-0:26379 verify required ca-file tls.crt check inter 3s
    87      server R1 {{.ServiceName}}-announce-1:26379 verify required ca-file tls.crt check inter 3s
    88      server R2 {{.ServiceName}}-announce-2:26379 verify required ca-file tls.crt check inter 3s
    89  {{- end}}
    90  
    91  # decide redis backend to use
    92  #master
    93  frontend ft_redis_master
    94      bind *:6379
    95      use_backend bk_redis_master
    96  # Check all redis servers to see if they think they are master
    97  backend bk_redis_master
    98      mode tcp
    99      option tcp-check
   100  {{- if eq .UseTLS "false"}}
   101      tcp-check connect
   102  {{- else}}
   103      tcp-check connect ssl
   104  {{- end}}
   105      tcp-check send PING\r\n
   106      tcp-check expect string +PONG
   107      tcp-check send info\ replication\r\n
   108      tcp-check expect string role:master
   109      tcp-check send QUIT\r\n
   110      tcp-check expect string +OK
   111  {{- if eq .UseTLS "false"}}
   112      use-server R0 if { srv_is_up(R0) } { nbsrv(check_if_redis_is_master_0) ge 2 }
   113      server R0 {{.ServiceName}}-announce-0:6379 check inter 3s fall 1 rise 1
   114      use-server R1 if { srv_is_up(R1) } { nbsrv(check_if_redis_is_master_1) ge 2 }
   115      server R1 {{.ServiceName}}-announce-1:6379 check inter 3s fall 1 rise 1
   116      use-server R2 if { srv_is_up(R2) } { nbsrv(check_if_redis_is_master_2) ge 2 }
   117      server R2 {{.ServiceName}}-announce-2:6379 check inter 3s fall 1 rise 1
   118  {{- else}}
   119      use-server R0 if { srv_is_up(R0) } { nbsrv(check_if_redis_is_master_0) ge 2 }
   120      server R0 {{.ServiceName}}-announce-0:6379 verify required ca-file tls.crt check inter 3s fall 1 rise 1
   121      use-server R1 if { srv_is_up(R1) } { nbsrv(check_if_redis_is_master_1) ge 2 }
   122      server R1 {{.ServiceName}}-announce-1:6379 verify required ca-file tls.crt check inter 3s fall 1 rise 1
   123      use-server R2 if { srv_is_up(R2) } { nbsrv(check_if_redis_is_master_2) ge 2 }
   124      server R2 {{.ServiceName}}-announce-2:6379 verify required ca-file tls.crt check inter 3s fall 1 rise 1
   125  {{- end}}