# Conversion reference

This document outlines all possible conversion details regarding `docker-compose.yaml` values to Kubernetes / OpenShift artifacts. This includes version 1, 2 and 3 of Docker Compose.

| Value             | Support | K8s / OpenShift                                                  | Notes                                                                                                          |
|-------------------|---------|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|
| SERVICE           |         |                                                                  |                                                                                                                |
| build             | Y       | OpenShift: BuildConfig                                           | Converts, but local builds are not yet supported. See issue 97                                                 |
| cap_add, cap_drop | Y       | Pod.Spec.Container.SecurityContext.Capabilities.Add/Drop         |                                                                                                                |
| command           | Y       | Pod.Spec.Container.Command                                       |                                                                                                                |
| cgroup_parent     | N       |                                                                  | No compatibility with Kubernetes / OpenShift. Limited use-cases with Docker.                                   |
| container_name    | Y       | Mapped to both Metadata.Name and Deployment.Spec.Containers.Name |                                                                                                                |
| deploy            | N       |                                                                  | Upcoming support started                                                                                       |
| devices           | N       |                                                                  | Not supported within Kubernetes, see this issue                                                                |
| depends_on        | N       |                                                                  |                                                                                                                |
| dns               | N       |                                                                  |                                                                                                                |
| dns_search        | N       |                                                                  |                                                                                                                |
| tmpfs             | Y       | Pod.Spec.Containers.Volumes.EmptyDir                             | Creates emptyDirvolume with medium set to Memory & mounts given directory inside container                     |
| entrypoint        | Y       | Pod.Spec.Container.Command                                       | Same as command                                                                                                |
| env_file          | N       |                                                                  |                                                                                                                |
| environment       | Y       | Pod.Spec.Container.Env                                           |                                                                                                                |
| expose            | Y       | Service.Spec.Ports                                               |                                                                                                                |
| extends           | Y       |                                                                  | Extends by utilizing the same image supplied                                                                   |
| external_links    | N       |                                                                  |                                                                                                                |
| extra_hosts       | N       |                                                                  |                                                                                                                |
| group_add         | N       |                                                                  |                                                                                                                |
| healthcheck       | N       |                                                                  |                                                                                                                |
| image             | Y       | Deployment.Spec.Containers.Image                                 |                                                                                                                |
| isolation         | N       |                                                                  |                                                                                                                |
| labels            | Y       | Metadata.Annotations                                             |                                                                                                                |
| links             | N       |                                                                  |                                                                                                                |
| logging           | N       |                                                                  |                                                                                                                |
| network_mode      | N       |                                                                  |                                                                                                                |
| networks          | N       |                                                                  |                                                                                                                |
| pid               | Y       | Pod.Spec.HostPID                                                 |                                                                                                                |
| ports             | Y       | Service.Spec.Ports                                               |                                                                                                                |
| security_opt      | N       |                                                                  |                                                                                                                |
| stop_grace_period | Y       | Pod.Spec.TerminationGracePeriodSeconds                           |                                                                                                                |
| stop_signal       | N       |                                                                  |                                                                                                                |
| sysctls           | N       |                                                                  |                                                                                                                |
| ulimits           | N       |                                                                  | See this issue on the k8s repo                                                                                 |
| userns_mode       | N       |                                                                  |                                                                                                                |
| volumes           | Y       | PersistentVolumeClaim                                            | Creates a PersistentVolumeClaim. Can only be created if there is already a PersistentVolume within the cluster |
| volume_driver     | N       |                                                                  |                                                                                                                |
| volumes_from      | Y       | PersistentVolumeClaim                                            | Creates a PersistentVolumeClaim that is both shared by deployment and deployment config (OpenShift)            |
| cpu_shares        | N       |                                                                  |                                                                                                                |
| cpu_quota         | N       |                                                                  |                                                                                                                |
| cpuset            | N       |                                                                  |                                                                                                                |
| mem_limit         | Y       | …Containers.Resources.Limits.Memory                              |                                                                                                                |
| memswap_limit     | N       |                                                                  | Use mem_limit                                                                                                  |
|                   |         |                                                                  |                                                                                                                |
| VOLUME            |         |                                                                  |                                                                                                                |
| driver            | N       |                                                                  |                                                                                                                |
| driver_opts       | N       |                                                                  |                                                                                                                |
| external          | N       |                                                                  |                                                                                                                |
| labels            | N       |                                                                  |                                                                                                                |
|                   |         |                                                                  |                                                                                                                |
| NETWORK           |         |                                                                  |                                                                                                                |
| driver            | N       |                                                                  |                                                                                                                |
| driver_opts       | N       |                                                                  |                                                                                                                |
| enable_ipv6       | N       |                                                                  |                                                                                                                |
| ipam              | N       |                                                                  |                                                                                                                |
| internal          | N       |                                                                  |                                                                                                                |
| labels            | N       |                                                                  |                                                                                                                |
| external          | N       |                                                                  |                                                                                                                |
