Skip to content

Commit 140eedc

Browse files
committed
Refactor: improve compose readability
Signed-off-by: Simone Tollardo <tollsimy.dev@protonmail.com>
1 parent f2c9c20 commit 140eedc

File tree

1 file changed

+42
-72
lines changed

1 file changed

+42
-72
lines changed

docker-compose.yaml

Lines changed: 42 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
# Author: Guillaume Tucker <guillaume.tucker@collabora.com>
55
# Author: Jeny Sadadia <jeny.sadadia@collabora.com>
66

7+
x-config-arg: &config-arg
8+
--yaml-config=/home/kernelci/config
9+
10+
x-setting-arg: &setting-arg
11+
--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}
12+
713
services:
814

915
monitor: &base-service
@@ -13,58 +19,45 @@ services:
1319
stop_signal: 'SIGINT'
1420
command:
1521
- './src/monitor.py'
16-
- '--yaml-config=/home/kernelci/config'
17-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
22+
- *config-arg
23+
- *setting-arg
1824
- 'run'
19-
volumes: &base-volumes
20-
# - './src:/home/kernelci/pipeline'
25+
volumes:
2126
- './config:/home/kernelci/config'
2227
- './logs:/home/kernelci/logs'
23-
extra_hosts:
24-
- "host.docker.internal:host-gateway"
2528
restart: on-failure
2629

2730
result_summary:
31+
<<: *base-service
2832
container_name: 'kernelci-pipeline-result-summary'
29-
image: 'kernelci/staging-kernelci:pipeline'
30-
env_file: ['.env']
31-
stop_signal: 'SIGINT'
32-
entrypoint:
33+
command:
3334
- './src/result_summary.py'
34-
- '--yaml-config=/home/kernelci/config'
35-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
35+
- *config-arg
36+
- *setting-arg
3637
- 'run'
3738
- '--config=${CONFIG:-/home/kernelci/config/result-summary.yaml}'
3839
volumes:
39-
# - './src:/home/kernelci/pipeline'
4040
- './config:/home/kernelci/config'
4141
- './data/output:/home/kernelci/data/output'
4242
- './logs:/home/kernelci/logs'
43-
#restart: on-failure
4443

4544
scheduler: &scheduler
45+
<<: *base-service
4646
container_name: 'kernelci-pipeline-scheduler'
47-
image: 'kernelci/staging-kernelci:pipeline'
48-
env_file: ['.env']
49-
stop_signal: 'SIGINT'
5047
command:
5148
- './src/scheduler.py'
52-
- '--yaml-config=/home/kernelci/config'
53-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
49+
- *config-arg
50+
- *setting-arg
5451
- 'loop'
5552
- '--runtimes=shell'
5653
- '--name=scheduler'
5754
volumes:
58-
# - './src:/home/kernelci/pipeline'
5955
- './config:/home/kernelci/config'
6056
- './data/output:/home/kernelci/data/output'
6157
- './data/k8s-credentials/.kube:/home/kernelci/.kube'
6258
- './data/k8s-credentials/.config/gcloud:/home/kernelci/.config/gcloud'
6359
- './data/k8s-credentials/.azure:/home/kernelci/.azure'
6460
- './logs:/home/kernelci/logs'
65-
extra_hosts:
66-
- "host.docker.internal:host-gateway"
67-
restart: on-failure
6861

6962
scheduler-docker:
7063
<<: *scheduler
@@ -73,28 +66,25 @@ services:
7366
#working_dir: /home/kernelci
7467
command:
7568
- './src/scheduler.py'
76-
- '--yaml-config=/home/kernelci/config'
77-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
69+
- *config-arg
70+
- *setting-arg
7871
- 'loop'
7972
- '--runtimes=docker'
8073
- '--name=scheduler_docker'
8174
volumes:
82-
# - './src:/home/kernelci/pipeline'
8375
- './config:/home/kernelci/config'
8476
- './data/output:/home/kernelci/data/output'
8577
- './.docker-env:/home/kernelci/.docker-env'
8678
- '/var/run/docker.sock:/var/run/docker.sock' # Docker-in-Docker
8779
- './logs:/home/kernelci/logs'
88-
extra_hosts:
89-
- "host.docker.internal:host-gateway"
9080

9181
scheduler-lava:
9282
<<: *scheduler
9383
container_name: 'kernelci-pipeline-scheduler-lava'
9484
command:
9585
- './src/scheduler.py'
96-
- '--yaml-config=/home/kernelci/config'
97-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
86+
- *config-arg
87+
- *setting-arg
9888
- 'loop'
9989
- '--name=scheduler_lava'
10090
- '--runtimes'
@@ -107,126 +97,105 @@ services:
10797
- 'lava-cip'
10898
- 'lava-pengutronix'
10999
- 'lava-kontron'
110-
extra_hosts:
111-
- "host.docker.internal:host-gateway"
112100

113101
scheduler-k8s:
114102
<<: *scheduler
115103
container_name: 'kernelci-pipeline-scheduler-k8s'
116-
image: 'kernelci/staging-kernelci:pipeline'
117104
command:
118105
- './src/scheduler.py'
119-
- '--yaml-config=/home/kernelci/config'
120-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
106+
- *config-arg
107+
- *setting-arg
121108
- 'loop'
122109
- '--name=scheduler_k8s'
123110
- '--runtimes'
124111
- 'k8s-gke-eu-west4'
125112
- 'k8s-all'
126-
extra_hosts:
127-
- "host.docker.internal:host-gateway"
128113

129114
tarball:
130115
<<: *base-service
131116
container_name: 'kernelci-pipeline-tarball'
132117
command:
133118
- './src/tarball.py'
134-
- '--yaml-config=/home/kernelci/config'
135-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
119+
- *config-arg
120+
- *setting-arg
136121
- 'run'
137122
- '--name=tarball'
138123
volumes:
139-
# - './src:/home/kernelci/pipeline'
140124
- './config:/home/kernelci/config'
141125
- './data/ssh:/home/kernelci/data/ssh'
142126
- './data/src:/home/kernelci/data/src'
143127
- './data/output:/home/kernelci/data/output'
144128
- './logs:/home/kernelci/logs'
145-
extra_hosts:
146-
- "host.docker.internal:host-gateway"
147129

148130
trigger:
149131
<<: *base-service
150132
container_name: 'kernelci-pipeline-trigger'
151133
command:
152134
- './src/trigger.py'
153-
- '--yaml-config=/home/kernelci/config'
154-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
135+
- *config-arg
136+
- *setting-arg
155137
- 'run'
156138
- '--trees=kernelci,netdev-testing'
157139
- '--name=trigger'
158-
extra_hosts:
159-
- "host.docker.internal:host-gateway"
160140

161141
regression_tracker:
162142
<<: *base-service
163143
container_name: 'kernelci-pipeline-regression_tracker'
164144
command:
165145
- './src/regression_tracker.py'
166-
- '--yaml-config=/home/kernelci/config'
167-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
146+
- *config-arg
147+
- *setting-arg
168148
- 'run'
169-
extra_hosts:
170-
- "host.docker.internal:host-gateway"
171149

172150
test_report:
173151
<<: *base-service
174152
container_name: 'kernelci-pipeline-test_report'
175153
command:
176154
- './src/test_report.py'
177-
- '--yaml-config=/home/kernelci/config'
178-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
155+
- *config-arg
156+
- *setting-arg
179157
- 'loop'
180-
extra_hosts:
181-
- "host.docker.internal:host-gateway"
182158

183159
timeout-task:
184160
<<: *base-service
185161
container_name: 'kernelci-pipeline-timeout'
186162
command:
187163
- './src/timeout.py'
188-
- '--yaml-config=/home/kernelci/config'
189-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
164+
- *config-arg
165+
- *setting-arg
190166
- 'run'
191167
- '--mode=timeout'
192-
extra_hosts:
193-
- "host.docker.internal:host-gateway"
194168

195169
timeout-task-closing:
196170
<<: *base-service
197171
container_name: 'kernelci-pipeline-closing'
198172
command:
199173
- './src/timeout.py'
200-
- '--yaml-config=/home/kernelci/config'
201-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
174+
- *config-arg
175+
- *setting-arg
202176
- 'run'
203177
- '--mode=closing'
204-
extra_hosts:
205-
- "host.docker.internal:host-gateway"
206178

207179
timeout-task-holdoff:
208180
<<: *base-service
209181
container_name: 'kernelci-pipeline-holdoff'
210182
command:
211183
- './src/timeout.py'
212-
- '--yaml-config=/home/kernelci/config'
213-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
184+
- *config-arg
185+
- *setting-arg
214186
- 'run'
215187
- '--mode=holdoff'
216-
extra_hosts:
217-
- "host.docker.internal:host-gateway"
218188

219189
patchset:
220190
<<: *base-service
221191
container_name: 'kernelci-pipeline-patchset'
222192
command:
223193
- './src/patchset.py'
224-
- '--yaml-config=/home/kernelci/config'
225-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
194+
- *config-arg
195+
- *setting-arg
226196
- 'run'
227197
- '--name=patchset'
228198
volumes:
229-
# - './src:/home/kernelci/pipeline'
230199
- './config:/home/kernelci/config'
231200
- './data/ssh:/home/kernelci/data/ssh'
232201
- './data/src:/home/kernelci/data/src'
@@ -242,8 +211,9 @@ services:
242211
# With Werkzeug development server, not suitable for a public instance
243212
command:
244213
- './src/lava_callback.py'
214+
- *config-arg
215+
- *setting-arg
245216
volumes:
246-
# - './src:/home/kernelci/pipeline'
247217
- './config:/home/kernelci/config'
248218
- './data/ssh:/home/kernelci/data/ssh'
249219

@@ -252,11 +222,11 @@ services:
252222
container_name: 'kernelci-pipeline-kcidb'
253223
command:
254224
- './src/send_kcidb.py'
255-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
225+
- *config-arg
226+
- *setting-arg
256227
- 'run'
257228
- '--name=pipeline_kcidb'
258229
volumes:
259-
# - './src:/home/kernelci/pipeline'
260230
- './config:/home/kernelci/config'
261231
- './data/kcidb:/home/kernelci/data/kcidb'
262232
- './logs:/home/kernelci/logs'

0 commit comments

Comments
 (0)