Skip to content

Commit 40fe7c6

Browse files
committed
Refactor: improve compose readability
Signed-off-by: Simone Tollardo <[email protected]>
1 parent f0a3535 commit 40fe7c6

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 <[email protected]>
55
# Author: Jeny Sadadia <[email protected]>
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'
@@ -106,126 +96,105 @@ services:
10696
- 'lava-qualcomm'
10797
- 'lava-cip'
10898
- 'lava-pengutronix'
109-
extra_hosts:
110-
- "host.docker.internal:host-gateway"
11199

112100
scheduler-k8s:
113101
<<: *scheduler
114102
container_name: 'kernelci-pipeline-scheduler-k8s'
115-
image: 'kernelci/staging-kernelci:pipeline'
116103
command:
117104
- './src/scheduler.py'
118-
- '--yaml-config=/home/kernelci/config'
119-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
105+
- *config-arg
106+
- *setting-arg
120107
- 'loop'
121108
- '--name=scheduler_k8s'
122109
- '--runtimes'
123110
- 'k8s-gke-eu-west4'
124111
- 'k8s-all'
125-
extra_hosts:
126-
- "host.docker.internal:host-gateway"
127112

128113
tarball:
129114
<<: *base-service
130115
container_name: 'kernelci-pipeline-tarball'
131116
command:
132117
- './src/tarball.py'
133-
- '--yaml-config=/home/kernelci/config'
134-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
118+
- *config-arg
119+
- *setting-arg
135120
- 'run'
136121
- '--name=tarball'
137122
volumes:
138-
# - './src:/home/kernelci/pipeline'
139123
- './config:/home/kernelci/config'
140124
- './data/ssh:/home/kernelci/data/ssh'
141125
- './data/src:/home/kernelci/data/src'
142126
- './data/output:/home/kernelci/data/output'
143127
- './logs:/home/kernelci/logs'
144-
extra_hosts:
145-
- "host.docker.internal:host-gateway"
146128

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

160140
regression_tracker:
161141
<<: *base-service
162142
container_name: 'kernelci-pipeline-regression_tracker'
163143
command:
164144
- './src/regression_tracker.py'
165-
- '--yaml-config=/home/kernelci/config'
166-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
145+
- *config-arg
146+
- *setting-arg
167147
- 'run'
168-
extra_hosts:
169-
- "host.docker.internal:host-gateway"
170148

171149
test_report:
172150
<<: *base-service
173151
container_name: 'kernelci-pipeline-test_report'
174152
command:
175153
- './src/test_report.py'
176-
- '--yaml-config=/home/kernelci/config'
177-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
154+
- *config-arg
155+
- *setting-arg
178156
- 'loop'
179-
extra_hosts:
180-
- "host.docker.internal:host-gateway"
181157

182158
timeout-task:
183159
<<: *base-service
184160
container_name: 'kernelci-pipeline-timeout'
185161
command:
186162
- './src/timeout.py'
187-
- '--yaml-config=/home/kernelci/config'
188-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
163+
- *config-arg
164+
- *setting-arg
189165
- 'run'
190166
- '--mode=timeout'
191-
extra_hosts:
192-
- "host.docker.internal:host-gateway"
193167

194168
timeout-task-closing:
195169
<<: *base-service
196170
container_name: 'kernelci-pipeline-closing'
197171
command:
198172
- './src/timeout.py'
199-
- '--yaml-config=/home/kernelci/config'
200-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
173+
- *config-arg
174+
- *setting-arg
201175
- 'run'
202176
- '--mode=closing'
203-
extra_hosts:
204-
- "host.docker.internal:host-gateway"
205177

206178
timeout-task-holdoff:
207179
<<: *base-service
208180
container_name: 'kernelci-pipeline-holdoff'
209181
command:
210182
- './src/timeout.py'
211-
- '--yaml-config=/home/kernelci/config'
212-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
183+
- *config-arg
184+
- *setting-arg
213185
- 'run'
214186
- '--mode=holdoff'
215-
extra_hosts:
216-
- "host.docker.internal:host-gateway"
217187

218188
patchset:
219189
<<: *base-service
220190
container_name: 'kernelci-pipeline-patchset'
221191
command:
222192
- './src/patchset.py'
223-
- '--yaml-config=/home/kernelci/config'
224-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
193+
- *config-arg
194+
- *setting-arg
225195
- 'run'
226196
- '--name=patchset'
227197
volumes:
228-
# - './src:/home/kernelci/pipeline'
229198
- './config:/home/kernelci/config'
230199
- './data/ssh:/home/kernelci/data/ssh'
231200
- './data/src:/home/kernelci/data/src'
@@ -241,8 +210,9 @@ services:
241210
# With Werkzeug development server, not suitable for a public instance
242211
command:
243212
- './src/lava_callback.py'
213+
- *config-arg
214+
- *setting-arg
244215
volumes:
245-
# - './src:/home/kernelci/pipeline'
246216
- './config:/home/kernelci/config'
247217
- './data/ssh:/home/kernelci/data/ssh'
248218

@@ -251,11 +221,11 @@ services:
251221
container_name: 'kernelci-pipeline-kcidb'
252222
command:
253223
- './src/send_kcidb.py'
254-
- '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}'
224+
- *config-arg
225+
- *setting-arg
255226
- 'run'
256227
- '--name=pipeline_kcidb'
257228
volumes:
258-
# - './src:/home/kernelci/pipeline'
259229
- './config:/home/kernelci/config'
260230
- './data/kcidb:/home/kernelci/data/kcidb'
261231
- './logs:/home/kernelci/logs'

0 commit comments

Comments
 (0)