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}}