-
Notifications
You must be signed in to change notification settings - Fork 1
/
jussi.yaml
80 lines (80 loc) · 2.4 KB
/
jussi.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
services:
redis:
image: "redis:7.2-alpine"
profiles:
- servers
healthcheck:
test: ["CMD-SHELL", "[ $$(redis-cli ping) = 'PONG' ]"]
interval: 10s
timeout: 3s
retries: 10
start_period: 1m
command: redis-server --maxmemory ${JUSSI_REDIS_MAX_MEMORY:-8G} --maxmemory-policy allkeys-lru
networks:
- haf-network
jussi:
image: ${JUSSI_REGISTRY:-${HIVE_API_NODE_REGISTRY:-registry.hive.blog}/jussi}:${JUSSI_VERSION:-latest}
profiles:
- servers
environment:
JUSSI_REDIS_URL: redis://redis:6379
# JUSSI_REDIS_READ_REPLICA_URLS: redis://redis2:6379
LOG_LEVEL: DEBUG
volumes:
- type: bind
source: ./jussi/config.json
target: /home/jussi/config.json
read_only: true
command: --server_workers=4 --upstream_config_file=/home/jussi/config.json
healthcheck:
test: ["CMD-SHELL", "timeout 2 wget -nv -t1 --spider http://127.0.0.1:9000/health || exit 1"]
interval: 10s
timeout: 3s
retries: 10
start_period: 1m
depends_on:
haproxy:
condition: service_healthy
haf:
condition: service_healthy
redis:
condition: service_healthy
networks:
- haf-network
# to use our log analysis tools, we need to capture jussi traffic using a
# specific nginx logging config. To do this, rename the actual jussi
# service above to 'jussi-real', then uncomment the next section.
# jussi:
# image: nginx
# volumes:
# - type: bind
# source: ./jussi/nginx.conf
# target: /etc/nginx/nginx.conf
# read_only: true
# - type: bind
# source: ${HAF_LOG_DIRECTORY}/jussi
# target: /var/log/jussi
# depends_on:
# jussi-real:
# condition: service_healthy
# networks:
# - haf-network
#
# jussi can send metrics to statsd. You can collect them by uncommenting this block, and
# adding a `--statsd_url=statsd://graphite:8125` command line argument (or the associated
# environment variable) to jussi
#graphite:
# image: graphiteapp/graphite-statsd
# profiles:
# - servers
# environment:
# GRAPHITE_URL_ROOT: /admin/graphite
# volumes:
# - type: volume
# source: graphite_config
# target: /opt/graphite/conf
# networks:
# - haf-network
#volumes:
# # this volume stores your graphite dashboard config
# graphite_config: