Page MenuHomeDevCentral

Refactor systemd-unit for Docker containers
Closed, ResolvedPublic

Description

The rOPS roles/paas-docker/systemd-unit folder contains a systemd unit and a configuration files to start containers on a Docker engine.

It could be interesting to refactor it, at least to provision a /etc/containers.conf through pillar information (the current list is the Dwellers one, prior the migration of acquisitariat containers to Equatower).

Do we need it? Another solution could be to declare containers as autostart.

Do we want a different service per container or one for all?

Event Timeline

On it, with a graph and topological sorting.

1# -------------------------------------------------------------
2# Hard dependencies
3#
4# To compute optimal Docker container start order, the following
5# rules apply:
6#
7# - depends_of_containers: launch after a specific container
8# - depends_of_services: launch after containers from this service
9#
10# Hierarchy of keys can use dot (.) as separator, e.g. links.mysql
11#
12# Values are configuration keys from docker_containers pillar.
13#
14# Soft dependencies (Notifications Center depends of Sentry)
15# aren't documented, as it can still be run without it.
16# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
17
18dependencies:
19 auth-grove:
20 depends_of_containers:
21 - mysql_link
22
23 cachet:
24 depends_of_containers:
25 - mysql_link
26
27 etherpad:
28 depends_of_containers:
29 - mysql_link
30
31 kafka:
32 depends_of_containers:
33 - zookeeper
34
35 notifications:
36 depends_of_containers:
37 - broker_link
38
39 phabricator:
40 depends_of_containers:
41 - mysql_link
42
43 pixelfed:
44 depends_of_containers:
45 - links.mysql
46 - links.redis
47
48 relay:
49 depends_of_containers:
50 - kafka
51 - redis
52 - web
53
54 sentry:
55 depends_of_services:
56 - redis
57 - kafka
58 - postgresql
59 - memcached
60 - exim
61 - snuba
62 - symbolicator
63
64 snuba:
65 depends_of_containers:
66 - services.broker
67 - services.clickhouse
68 - services.redis
69

1acme
2aphlict
3api-datasources
4login AFTER acquisitariat
5cachet AFTER acquisitariat
6sentry_clickhouse
7api-docker-registry
8pad AFTER acquisitariat
9sentry_smtp
10hauk
11hound
12jenkins_cd
13jenkins_ci
14apsile
15elapsi
16rust_brown
17yarabokin
18zateki
19zenerre
20sentry_kafka AFTER sentry_zookeeper
21sentry_memcached
22acquisitariat
23phpbb_db
24notifications AFTER white-rabbit
25openfire
26devcentral AFTER acquisitariat
27river_sector AFTER acquisitariat
28wolfplex_phab AFTER acquisitariat
29zed_code AFTER acquisitariat
30pixelfed AFTER acquisitariat
31pixelfed AFTER pixelfed_redis
32sentry_db
33white-rabbit
34pixelfed_redis
35sentry_redis
36registry
37sentry_relay AFTER sentry_kafka
38sentry_relay AFTER sentry_redis
39sentry_relay AFTER sentry_web
40sentry_consumer_events AFTER sentry_redis
41sentry_consumer_events AFTER sentry_kafka
42sentry_consumer_events AFTER sentry_db
43sentry_consumer_events AFTER sentry_memcached
44sentry_consumer_events AFTER sentry_smtp
45sentry_consumer_events AFTER sentry_snuba_api
46sentry_consumer_events AFTER sentry_snuba_consumer
47sentry_consumer_events AFTER sentry_snuba_outcomes_consumer
48sentry_consumer_events AFTER sentry_snuba_replacer
49sentry_consumer_events AFTER sentry_snuba_replays_consumer
50sentry_consumer_events AFTER sentry_snuba_sessions_consumer
51sentry_consumer_events AFTER sentry_snuba_subscription_consumer_events
52sentry_consumer_events AFTER sentry_snuba_subscription_consumer_sessions
53sentry_consumer_events AFTER sentry_snuba_subscription_consumer_transactions
54sentry_consumer_events AFTER sentry_snuba_transactions_consumer
55sentry_consumer_events AFTER sentry_symbolicator
56sentry_consumer_transactions AFTER sentry_redis
57sentry_consumer_transactions AFTER sentry_kafka
58sentry_consumer_transactions AFTER sentry_db
59sentry_consumer_transactions AFTER sentry_memcached
60sentry_consumer_transactions AFTER sentry_smtp
61sentry_consumer_transactions AFTER sentry_snuba_api
62sentry_consumer_transactions AFTER sentry_snuba_consumer
63sentry_consumer_transactions AFTER sentry_snuba_outcomes_consumer
64sentry_consumer_transactions AFTER sentry_snuba_replacer
65sentry_consumer_transactions AFTER sentry_snuba_replays_consumer
66sentry_consumer_transactions AFTER sentry_snuba_sessions_consumer
67sentry_consumer_transactions AFTER sentry_snuba_subscription_consumer_events
68sentry_consumer_transactions AFTER sentry_snuba_subscription_consumer_sessions
69sentry_consumer_transactions AFTER sentry_snuba_subscription_consumer_transactions
70sentry_consumer_transactions AFTER sentry_snuba_transactions_consumer
71sentry_consumer_transactions AFTER sentry_symbolicator
72sentry_cron AFTER sentry_redis
73sentry_cron AFTER sentry_kafka
74sentry_cron AFTER sentry_db
75sentry_cron AFTER sentry_memcached
76sentry_cron AFTER sentry_smtp
77sentry_cron AFTER sentry_snuba_api
78sentry_cron AFTER sentry_snuba_consumer
79sentry_cron AFTER sentry_snuba_outcomes_consumer
80sentry_cron AFTER sentry_snuba_replacer
81sentry_cron AFTER sentry_snuba_replays_consumer
82sentry_cron AFTER sentry_snuba_sessions_consumer
83sentry_cron AFTER sentry_snuba_subscription_consumer_events
84sentry_cron AFTER sentry_snuba_subscription_consumer_sessions
85sentry_cron AFTER sentry_snuba_subscription_consumer_transactions
86sentry_cron AFTER sentry_snuba_transactions_consumer
87sentry_cron AFTER sentry_symbolicator
88sentry_ingest_consumer AFTER sentry_redis
89sentry_ingest_consumer AFTER sentry_kafka
90sentry_ingest_consumer AFTER sentry_db
91sentry_ingest_consumer AFTER sentry_memcached
92sentry_ingest_consumer AFTER sentry_smtp
93sentry_ingest_consumer AFTER sentry_snuba_api
94sentry_ingest_consumer AFTER sentry_snuba_consumer
95sentry_ingest_consumer AFTER sentry_snuba_outcomes_consumer
96sentry_ingest_consumer AFTER sentry_snuba_replacer
97sentry_ingest_consumer AFTER sentry_snuba_replays_consumer
98sentry_ingest_consumer AFTER sentry_snuba_sessions_consumer
99sentry_ingest_consumer AFTER sentry_snuba_subscription_consumer_events
100sentry_ingest_consumer AFTER sentry_snuba_subscription_consumer_sessions
101sentry_ingest_consumer AFTER sentry_snuba_subscription_consumer_transactions
102sentry_ingest_consumer AFTER sentry_snuba_transactions_consumer
103sentry_ingest_consumer AFTER sentry_symbolicator
104sentry_ingest_replay_recordings AFTER sentry_redis
105sentry_ingest_replay_recordings AFTER sentry_kafka
106sentry_ingest_replay_recordings AFTER sentry_db
107sentry_ingest_replay_recordings AFTER sentry_memcached
108sentry_ingest_replay_recordings AFTER sentry_smtp
109sentry_ingest_replay_recordings AFTER sentry_snuba_api
110sentry_ingest_replay_recordings AFTER sentry_snuba_consumer
111sentry_ingest_replay_recordings AFTER sentry_snuba_outcomes_consumer
112sentry_ingest_replay_recordings AFTER sentry_snuba_replacer
113sentry_ingest_replay_recordings AFTER sentry_snuba_replays_consumer
114sentry_ingest_replay_recordings AFTER sentry_snuba_sessions_consumer
115sentry_ingest_replay_recordings AFTER sentry_snuba_subscription_consumer_events
116sentry_ingest_replay_recordings AFTER sentry_snuba_subscription_consumer_sessions
117sentry_ingest_replay_recordings AFTER sentry_snuba_subscription_consumer_transactions
118sentry_ingest_replay_recordings AFTER sentry_snuba_transactions_consumer
119sentry_ingest_replay_recordings AFTER sentry_symbolicator
120sentry_post_process_forwarder_errors AFTER sentry_redis
121sentry_post_process_forwarder_errors AFTER sentry_kafka
122sentry_post_process_forwarder_errors AFTER sentry_db
123sentry_post_process_forwarder_errors AFTER sentry_memcached
124sentry_post_process_forwarder_errors AFTER sentry_smtp
125sentry_post_process_forwarder_errors AFTER sentry_snuba_api
126sentry_post_process_forwarder_errors AFTER sentry_snuba_consumer
127sentry_post_process_forwarder_errors AFTER sentry_snuba_outcomes_consumer
128sentry_post_process_forwarder_errors AFTER sentry_snuba_replacer
129sentry_post_process_forwarder_errors AFTER sentry_snuba_replays_consumer
130sentry_post_process_forwarder_errors AFTER sentry_snuba_sessions_consumer
131sentry_post_process_forwarder_errors AFTER sentry_snuba_subscription_consumer_events
132sentry_post_process_forwarder_errors AFTER sentry_snuba_subscription_consumer_sessions
133sentry_post_process_forwarder_errors AFTER sentry_snuba_subscription_consumer_transactions
134sentry_post_process_forwarder_errors AFTER sentry_snuba_transactions_consumer
135sentry_post_process_forwarder_errors AFTER sentry_symbolicator
136sentry_post_process_forwarder_transations AFTER sentry_redis
137sentry_post_process_forwarder_transations AFTER sentry_kafka
138sentry_post_process_forwarder_transations AFTER sentry_db
139sentry_post_process_forwarder_transations AFTER sentry_memcached
140sentry_post_process_forwarder_transations AFTER sentry_smtp
141sentry_post_process_forwarder_transations AFTER sentry_snuba_api
142sentry_post_process_forwarder_transations AFTER sentry_snuba_consumer
143sentry_post_process_forwarder_transations AFTER sentry_snuba_outcomes_consumer
144sentry_post_process_forwarder_transations AFTER sentry_snuba_replacer
145sentry_post_process_forwarder_transations AFTER sentry_snuba_replays_consumer
146sentry_post_process_forwarder_transations AFTER sentry_snuba_sessions_consumer
147sentry_post_process_forwarder_transations AFTER sentry_snuba_subscription_consumer_events
148sentry_post_process_forwarder_transations AFTER sentry_snuba_subscription_consumer_sessions
149sentry_post_process_forwarder_transations AFTER sentry_snuba_subscription_consumer_transactions
150sentry_post_process_forwarder_transations AFTER sentry_snuba_transactions_consumer
151sentry_post_process_forwarder_transations AFTER sentry_symbolicator
152sentry_web AFTER sentry_redis
153sentry_web AFTER sentry_kafka
154sentry_web AFTER sentry_db
155sentry_web AFTER sentry_memcached
156sentry_web AFTER sentry_smtp
157sentry_web AFTER sentry_snuba_api
158sentry_web AFTER sentry_snuba_consumer
159sentry_web AFTER sentry_snuba_outcomes_consumer
160sentry_web AFTER sentry_snuba_replacer
161sentry_web AFTER sentry_snuba_replays_consumer
162sentry_web AFTER sentry_snuba_sessions_consumer
163sentry_web AFTER sentry_snuba_subscription_consumer_events
164sentry_web AFTER sentry_snuba_subscription_consumer_sessions
165sentry_web AFTER sentry_snuba_subscription_consumer_transactions
166sentry_web AFTER sentry_snuba_transactions_consumer
167sentry_web AFTER sentry_symbolicator
168sentry_worker AFTER sentry_redis
169sentry_worker AFTER sentry_kafka
170sentry_worker AFTER sentry_db
171sentry_worker AFTER sentry_memcached
172sentry_worker AFTER sentry_smtp
173sentry_worker AFTER sentry_snuba_api
174sentry_worker AFTER sentry_snuba_consumer
175sentry_worker AFTER sentry_snuba_outcomes_consumer
176sentry_worker AFTER sentry_snuba_replacer
177sentry_worker AFTER sentry_snuba_replays_consumer
178sentry_worker AFTER sentry_snuba_sessions_consumer
179sentry_worker AFTER sentry_snuba_subscription_consumer_events
180sentry_worker AFTER sentry_snuba_subscription_consumer_sessions
181sentry_worker AFTER sentry_snuba_subscription_consumer_transactions
182sentry_worker AFTER sentry_snuba_transactions_consumer
183sentry_worker AFTER sentry_symbolicator
184sentry_snuba_api AFTER sentry_kafka
185sentry_snuba_api AFTER sentry_clickhouse
186sentry_snuba_api AFTER sentry_redis
187sentry_snuba_consumer AFTER sentry_kafka
188sentry_snuba_consumer AFTER sentry_clickhouse
189sentry_snuba_consumer AFTER sentry_redis
190sentry_snuba_outcomes_consumer AFTER sentry_kafka
191sentry_snuba_outcomes_consumer AFTER sentry_clickhouse
192sentry_snuba_outcomes_consumer AFTER sentry_redis
193sentry_snuba_replacer AFTER sentry_kafka
194sentry_snuba_replacer AFTER sentry_clickhouse
195sentry_snuba_replacer AFTER sentry_redis
196sentry_snuba_replays_consumer AFTER sentry_kafka
197sentry_snuba_replays_consumer AFTER sentry_clickhouse
198sentry_snuba_replays_consumer AFTER sentry_redis
199sentry_snuba_sessions_consumer AFTER sentry_kafka
200sentry_snuba_sessions_consumer AFTER sentry_clickhouse
201sentry_snuba_sessions_consumer AFTER sentry_redis
202sentry_snuba_subscription_consumer_events AFTER sentry_kafka
203sentry_snuba_subscription_consumer_events AFTER sentry_clickhouse
204sentry_snuba_subscription_consumer_events AFTER sentry_redis
205sentry_snuba_subscription_consumer_sessions AFTER sentry_kafka
206sentry_snuba_subscription_consumer_sessions AFTER sentry_clickhouse
207sentry_snuba_subscription_consumer_sessions AFTER sentry_redis
208sentry_snuba_subscription_consumer_transactions AFTER sentry_kafka
209sentry_snuba_subscription_consumer_transactions AFTER sentry_clickhouse
210sentry_snuba_subscription_consumer_transactions AFTER sentry_redis
211sentry_snuba_transactions_consumer AFTER sentry_kafka
212sentry_snuba_transactions_consumer AFTER sentry_clickhouse
213sentry_snuba_transactions_consumer AFTER sentry_redis
214sentry_symbolicator
215tommy_cd
216tommy_ci
217sentry_zookeeper

1acme
2aphlict
3api-datasources
4acquisitariat
5sentry_clickhouse
6api-docker-registry
7sentry_smtp
8hauk
9hound
10jenkins_cd
11jenkins_ci
12apsile
13elapsi
14rust_brown
15yarabokin
16zateki
17zenerre
18sentry_zookeeper
19sentry_memcached
20phpbb_db
21white-rabbit
22openfire
23pixelfed_redis
24sentry_db
25sentry_redis
26registry
27sentry_symbolicator
28tommy_cd
29tommy_ci
30login
31cachet
32pad
33devcentral
34river_sector
35wolfplex_phab
36zed_code
37sentry_kafka
38notifications
39pixelfed
40sentry_snuba_api
41sentry_snuba_consumer
42sentry_snuba_outcomes_consumer
43sentry_snuba_replacer
44sentry_snuba_replays_consumer
45sentry_snuba_sessions_consumer
46sentry_snuba_subscription_consumer_events
47sentry_snuba_subscription_consumer_sessions
48sentry_snuba_subscription_consumer_transactions
49sentry_snuba_transactions_consumer
50sentry_consumer_events
51sentry_consumer_transactions
52sentry_cron
53sentry_ingest_consumer
54sentry_ingest_replay_recordings
55sentry_post_process_forwarder_errors
56sentry_post_process_forwarder_transations
57sentry_web
58sentry_worker
59sentry_relay