2021-04-11 03:51:00 +07:00
|
|
|
---
|
feat(session): add redis sentinel provider (#1768)
* feat(session): add redis sentinel provider
* refactor(session): use int for ports as per go standards
* refactor(configuration): adjust tests and validation
* refactor(configuration): add err format consts
* refactor(configuration): explicitly map redis structs
* refactor(session): merge redis/redis sentinel providers
* refactor(session): add additional checks to redis providers
* feat(session): add redis cluster provider
* fix: update config for new values
* fix: provide nil certpool to affected tests/mocks
* test: add additional tests to cover uncovered code
* docs: expand explanation of host and nodes relation for redis
* ci: add redis-sentinel to suite highavailability, add redis-sentinel quorum
* fix(session): sentinel password
* test: use redis alpine library image for redis sentinel, use expose instead of ports, use redis ip, adjust redis ip range, adjust redis config
* test: make entrypoint.sh executable, fix entrypoint.sh if/elif
* test: add redis failover tests
* test: defer docker start, adjust sleep, attempt logout before login, attempt visit before login and tune timeouts, add additional logging
* test: add sentinel integration test
* test: add secondary node failure to tests, fix password usage, bump test timeout, add sleep
* feat: use sentinel failover cluster
* fix: renamed addrs to sentineladdrs upstream
* test(session): sentinel failover
* test: add redis standard back into testing
* test: move redis standalone test to traefik2
* fix/docs: apply suggestions from code review
2021-03-10 06:03:05 +07:00
|
|
|
version: '3'
|
|
|
|
services:
|
|
|
|
redis-node-0:
|
|
|
|
image: redis:6.2-alpine
|
|
|
|
command: /entrypoint.sh master
|
|
|
|
expose:
|
|
|
|
- "6379"
|
|
|
|
volumes:
|
|
|
|
- ./example/compose/redis/templates:/templates
|
|
|
|
- ./example/compose/redis/users.acl:/data/users.acl
|
|
|
|
- ./example/compose/redis/entrypoint.sh:/entrypoint.sh
|
|
|
|
networks:
|
|
|
|
authelianet:
|
|
|
|
aliases:
|
|
|
|
- redis-node-0.example.com
|
|
|
|
ipv4_address: 192.168.240.110
|
|
|
|
redis-node-1:
|
|
|
|
image: redis:6.2-alpine
|
|
|
|
command: /entrypoint.sh slave
|
|
|
|
depends_on:
|
|
|
|
- redis-node-0
|
|
|
|
expose:
|
|
|
|
- "6379"
|
|
|
|
volumes:
|
|
|
|
- ./example/compose/redis/templates:/templates
|
|
|
|
- ./example/compose/redis/users.acl:/data/users.acl
|
|
|
|
- ./example/compose/redis/entrypoint.sh:/entrypoint.sh
|
|
|
|
networks:
|
|
|
|
authelianet:
|
|
|
|
aliases:
|
|
|
|
- redis-node-1.example.com
|
|
|
|
ipv4_address: 192.168.240.111
|
|
|
|
redis-node-2:
|
|
|
|
image: redis:6.2-alpine
|
|
|
|
command: /entrypoint.sh slave
|
|
|
|
depends_on:
|
|
|
|
- redis-node-0
|
|
|
|
expose:
|
|
|
|
- "6379"
|
|
|
|
volumes:
|
|
|
|
- ./example/compose/redis/templates:/templates
|
|
|
|
- ./example/compose/redis/users.acl:/data/users.acl
|
|
|
|
- ./example/compose/redis/entrypoint.sh:/entrypoint.sh
|
|
|
|
networks:
|
|
|
|
authelianet:
|
|
|
|
aliases:
|
|
|
|
- redis-node-2.example.com
|
|
|
|
ipv4_address: 192.168.240.112
|
|
|
|
redis-sentinel-0:
|
|
|
|
image: redis:6.2-alpine
|
|
|
|
command: /entrypoint.sh sentinel
|
|
|
|
depends_on:
|
|
|
|
- redis-node-1
|
|
|
|
- redis-node-2
|
|
|
|
expose:
|
|
|
|
- "26379"
|
|
|
|
volumes:
|
|
|
|
- ./example/compose/redis/templates:/templates
|
|
|
|
- ./example/compose/redis/entrypoint.sh:/entrypoint.sh
|
|
|
|
networks:
|
|
|
|
authelianet:
|
|
|
|
aliases:
|
|
|
|
- redis-sentinel-0.example.com
|
|
|
|
ipv4_address: 192.168.240.120
|
|
|
|
redis-sentinel-1:
|
|
|
|
image: redis:6.2-alpine
|
|
|
|
command: /entrypoint.sh sentinel
|
|
|
|
depends_on:
|
|
|
|
- redis-node-1
|
|
|
|
- redis-node-2
|
|
|
|
expose:
|
|
|
|
- "26379"
|
|
|
|
volumes:
|
|
|
|
- ./example/compose/redis/templates:/templates
|
|
|
|
- ./example/compose/redis/entrypoint.sh:/entrypoint.sh
|
|
|
|
networks:
|
|
|
|
authelianet:
|
|
|
|
aliases:
|
|
|
|
- redis-sentinel-1.example.com
|
|
|
|
ipv4_address: 192.168.240.121
|
|
|
|
redis-sentinel-2:
|
|
|
|
image: redis:6.2-alpine
|
|
|
|
command: /entrypoint.sh sentinel
|
|
|
|
depends_on:
|
|
|
|
- redis-node-1
|
|
|
|
- redis-node-2
|
|
|
|
expose:
|
|
|
|
- "26379"
|
|
|
|
volumes:
|
|
|
|
- ./example/compose/redis/templates:/templates
|
|
|
|
- ./example/compose/redis/entrypoint.sh:/entrypoint.sh
|
|
|
|
networks:
|
|
|
|
authelianet:
|
|
|
|
aliases:
|
|
|
|
- redis-sentinel-2.example.com
|
2021-04-11 03:51:00 +07:00
|
|
|
ipv4_address: 192.168.240.122
|
|
|
|
...
|