-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathdocker-compose.yml
110 lines (95 loc) · 3.97 KB
/
docker-compose.yml
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
version: "3.8"
services:
rabbit:
image: rabbitmq:3-management-alpine
container_name: pdaltagent_rabbitmq
environment:
# Username and password for rabbitmq AMQP and management
- RABBITMQ_DEFAULT_USER=pdaltagent
- RABBITMQ_DEFAULT_PASS=pdaltagent
ports:
# The standard AMQP protocol port
- '5672:5672'
# HTTP management UI
- '15672:15672'
restart: always
pdagentd:
image: martindstone/pdaltagent:0.4-beta3
container_name: pdaltagent_pdagentd
environment:
# Set HTTP_PROXY, HTTPS_PROXY and NO_PROXY if you are in a proxy environment
# - HTTP_PROXY=http://my.proxy:port
# - HTTPS_PROXY=http://my.proxy:port
# - NO_PROXY=host1,host1,...
# Set CELERY_BROKER_URL to the URL of a backend for Celery:
- CELERY_BROKER_URL=pyamqp://pdaltagent:pdaltagent@pdaltagent_rabbitmq//
# Set the admin user and password for the admin interface
# currently the user has to be an email address, but it doesn't have to be real
- PDAGENTD_ADMIN_PASS=admin
# Optional: Set PDAGENTD_API_TOKEN and PDAGENTD_WEBHOOK_DEST_URL if you want the agent to poll PagerDuty logs and
# send reconstituted PagerDuty webhooks to a URL that you specify
# Optional: Set PDAGENTD_API_TOKEN to a PagerDuty API token:
# - PDAGENTD_API_TOKEN=<YOUR_API_TOKEN>
# Optional: Set PDAGENTD_WEBHOOK_DEST_URL to a URL where you want the agent to send the webhooks
# - PDAGENTD_WEBHOOK_DEST_URL=<YOUR_DESTINATION_URL>
# Optional: Only send webhooks for events in these services
# - 'PDAGENTD_WEBHOOK_SERVICES_LIST=[
# "PXXXXXX",
# "PYYYYYY",
# "...",
# ]
# '
# Very Optional: Set PDAGENTD_GET_ALL_LOG_ENTRIES if you want the agent to generate additional
# webhooks for non-standard incident lifecycle events, like priority changes and responder requests
# (see PD documentation on incident log entries for the kinds of log entries that will be retrieved)
# - PDAGENTD_GET_ALL_LOG_ENTRIES=true
# Optional: Set PDAGENTD_SCRUB_PII if you want to attempt to scrub PII before sending events (see pdaltagent/scrubber.py
# for details and regexes):
# - PDAGENTD_SCRUB_PII=true
# Set PDSEND_EVENTS_BASE_URL to a URL where the pd-send command should send event payloads:
- PDSEND_EVENTS_BASE_URL=https://localhost:8443
# Set PDSEND_SKIP_CERT_VERIFY if you want the pd-send command to skip SSL certificate verification
# (for example if you are using a self-signed certificate:
- PDSEND_SKIP_CERT_VERIFY=true
volumes:
- ./pdaltagent_pdagentd/plugins:/usr/lib/python3.12/site-packages/pdaltagent/plugins
- ./pdaltagent_pdagentd/plugin-lib:/usr/lib/python3.12/site-packages/pdaltagent/plugin-lib
# some example bindmounts for SSL certs and supervisord.conf
# - ./pdaltagent_pdagentd/ssl/cert.pem:/etc/pdagentd/ssl/cert.pem
# - ./pdaltagent_pdagentd/ssl/key.pem:/etc/pdagentd/ssl/key.pem
# - ./pdaltagent_pdagentd/supervisord.conf:/etc/supervisord.conf:ro
ports:
# flask (events)
- '8080:8080'
- '8443:8443'
# admin
- '8444:8444'
# supervisor
- '9001:9001'
depends_on:
- rabbit
restart: always
mongo:
image: mongo
container_name: pdaltagent_mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
volumes:
- ./pdaltagent_pdagentd/mongo_data:/data/db
ports:
- 27017:27017
mongo-express:
image: mongo-express
container_name: pdaltagent_mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_BASICAUTH_USERNAME: pdaltagent
ME_CONFIG_BASICAUTH_PASSWORD: pdaltagent
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/