support all options from `docker-compose.yml` in gitlab runner services
Problem to solve
https://forum.gitlab.com/t/specifying-environment-variables-for-gitlab-ci-services/10776 Currently you can only set environment variables for all docker services - you can't start two mysql with different passwords.
Further details
Support as much syntax as possible from https://docs.docker.com/compose/compose-file/
currently you have to do this:
services:
- mysql:latest
- mysql:latest
variables:
MYSQL_DATABASE: el_duderino
MYSQL_ROOT_PASSWORD: mysql_strong_password
Proposal
but I want to do this:
services:
- image: mysql:latest
environment:
- "MYSQL_DATABASE=el_duderino"
- "MYSQL_ROOT_PASSWORD=mysql_strong_password"
- image: mysql:latest
environment:
- "MYSQL_DATABASE=hamspam"
- "MYSQL_ROOT_PASSWORD=another_mysql_strong_password"
What does success look like, and how can we measure that?
success is the number of possible docker-compose flags that can be used
(If no way to measure success, link to an issue that will implement a way to measure this)