Support Docker Compose with Auto DevOps

A lot of developers use Docker Compose for local development. We should make it easy to migrate to a production environment using Auto DevOps by detecting a Docker Compose file (either docker-compose.yml or docker-compose-bundle.dab) and using kompose to convert it into a Kubernetes configuration.

From https://gitlab.com/gitlab-org/gitlab-ce/issues/29969:

Pecking order:

  • If project has Helm chart (./chart/Chart.yaml) or has variable pointing to a chart (AUTO_DEPLOY_CHART), use it
  • If project has docker-compose-bundle.dab, use it to derive k8s config (using Kompose?) (https://gitlab.com/gitlab-org/gitlab-ce/issues/37588)
  • If project has docker-compose.yml, use it to derive k8s config (using Kompose?) (https://gitlab.com/gitlab-org/gitlab-ce/issues/37588)
  • If project has Dockerfile, use it, with default k8s config (ideal from Helm chart, but currently from parametrized YML)
  • If nothing, use Herokuish buildpacks to create Docker image, and default k8s config to deploy

Links

Kompose links:

Edited by Mark Pundsack