Repository: kubernetes/kompose
Pull request #1516 (2022-08-28 21:23:47)

fix all known trivy scan vulnerabilities
Since the [last go modules update](https://github.com/kubernetes/kompose/pull/1508) I did was merged, more vulnerabilities have since been reported.  



This update, fixes those as well.

Before: 
```
❯ trivy fs .
2022-08-29T09:22:17.963+1200	INFO	Number of language-specific files: 2
2022-08-29T09:22:17.963+1200	INFO	Detecting bundler vulnerabilities...
2022-08-29T09:22:17.963+1200	INFO	Detecting gomod vulnerabilities...

docs/Gemfile.lock (bundler)

Total: 1 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 1, CRITICAL: 0)

┌─────────┬────────────────┬──────────┬───────────────────┬──────────────────────┬────────────────────────────────────────────┐
│ Library │ Vulnerability  │ Severity │ Installed Version │    Fixed Version     │                   Title                    │
├─────────┼────────────────┼──────────┼───────────────────┼──────────────────────┼────────────────────────────────────────────┤
│ tzinfo  │ CVE-2022-31163 │ HIGH     │ 1.2.9             │ ~> 0.3.61, >= 1.2.10 │ rubygem-tzinfo: arbitrary code execution   │
│         │                │          │                   │                      │ https://avd.aquasec.com/nvd/cve-2022-31163 │
└─────────┴────────────────┴──────────┴───────────────────┴──────────────────────┴────────────────────────────────────────────┘

go.mod (gomod)

Total: 7 (UNKNOWN: 3, LOW: 0, MEDIUM: 2, HIGH: 1, CRITICAL: 1)

┌──────────────────────────────────┬─────────────────────┬──────────┬───────────────────────────────────┬───────────────────────────────────┬──────────────────────────────────────────────────────────────┐
│             Library              │    Vulnerability    │ Severity │         Installed Version         │           Fixed Version           │                            Title                             │
├──────────────────────────────────┼─────────────────────┼──────────┼───────────────────────────────────┼───────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ github.com/containerd/containerd │ CVE-2022-31030      │ MEDIUM   │ 1.6.4                             │ v1.5.13, v1.6.6                   │ containerd is an open source container runtime. A bug was    │
│                                  │                     │          │                                   │                                   │ found in...                                                  │
│                                  │                     │          │                                   │                                   │ https://avd.aquasec.com/nvd/cve-2022-31030                   │
│                                  ├─────────────────────┼──────────┤                                   │                                   ├──────────────────────────────────────────────────────────────┤
│                                  │ GHSA-5ffw-gxpp-mxpf │ UNKNOWN  │                                   │                                   │ Improper Neutralization of Special Elements used in an OS    │
│                                  │                     │          │                                   │                                   │ Command ('OS Command...                                      │
│                                  │                     │          │                                   │                                   │ https://github.com/advisories/GHSA-5ffw-gxpp-mxpf            │
├──────────────────────────────────┼─────────────────────┼──────────┼───────────────────────────────────┼───────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ github.com/emicklei/go-restful   │ CVE-2022-1996       │ CRITICAL │ 2.9.5+incompatible                │ 2.16.0                            │ go-restful: Authorization Bypass Through User-Controlled Key │
│                                  │                     │          │                                   │                                   │ https://avd.aquasec.com/nvd/cve-2022-1996                    │
├──────────────────────────────────┼─────────────────────┼──────────┼───────────────────────────────────┼───────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ github.com/emicklei/go-restful   │ GHSA-r48q-9g5r-8q2h │ UNKNOWN  │ 2.9.5+incompatible                │ 2.16.0                            │ CORS filters that use an AllowedDomains configuration        │
│                                  │                     │          │                                   │                                   │ parameter                                                    │
│                                  │                     │          │                                   │                                   │ can match domains outside the...                             │
│                                  │                     │          │                                   │                                   │ https://github.com/advisories/GHSA-r48q-9g5r-8q2h            │
├──────────────────────────────────┼─────────────────────┼──────────┼───────────────────────────────────┼───────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ golang.org/x/crypto              │ CVE-2022-27191      │ HIGH     │ 0.0.0-20210817164053-32db794688a5 │ 0.0.0-20220314234659-1baeb1ce4c0b │ golang: crash in a golang.org/x/crypto/ssh server            │
│                                  │                     │          │                                   │                                   │ https://avd.aquasec.com/nvd/cve-2022-27191                   │
├──────────────────────────────────┼─────────────────────┼──────────┼───────────────────────────────────┼───────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ golang.org/x/crypto              │ GHSA-8c26-wmh5-6g9v │ UNKNOWN  │ 0.0.0-20210817164053-32db794688a5 │ 0.0.0-20220314234659-1baeb1ce4c0b │ Attackers can cause a crash in SSH servers when the server   │
│                                  │                     │          │                                   │                                   │ has...                                                       │
│                                  │                     │          │                                   │                                   │ https://github.com/advisories/GHSA-8c26-wmh5-6g9v            │
├──────────────────────────────────┼─────────────────────┼──────────┼───────────────────────────────────┼───────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ golang.org/x/sys                 │ CVE-2022-29526      │ MEDIUM   │ 0.0.0-20220319134239-a9b59b0215f8 │ 0.0.0-20220412211240-33da011f77ad │ golang: syscall: faccessat checks wrong group                │
│                                  │                     │          │                                   │                                   │ https://avd.aquasec.com/nvd/cve-2022-29526                   │
└──────────────────────────────────┴─────────────────────┴──────────┴───────────────────────────────────┴───────────────────────────────────┴──────────────────────────────────────────────────────────────┘

```

After:

```
❯ trivy fs .
2022-08-29T09:14:32.395+1200	INFO	Number of language-specific files: 2
2022-08-29T09:14:32.395+1200	INFO	Detecting bundler vulnerabilities...
2022-08-29T09:14:32.396+1200	INFO	Detecting gomod vulnerabilities...

docs/Gemfile.lock (bundler)

Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)


go.mod (gomod)

Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
```

k8s-ci-robot: [APPROVALNOTIFIER] This PR is **NOT APPROVED**

This pull-request has been approved by: *<a href="https://github.com/kubernetes/kompose/pull/1516#" title="Author self-approved">hookenz</a>*
**Once this PR has been reviewed and has the lgtm label**, please assign janetkuo for approval by writing `/assign @janetkuo` in a comment. For more information see:[The Kubernetes Code Review Process](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process).

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=kubernetes%2Fkompose).

<details open>
Needs approval from an approver in each of these files:

- **[OWNERS](https://github.com/kubernetes/kompose/blob/master/OWNERS)**

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":["janetkuo"]} -->
k8s-ci-robot: @hookenz: PR needs rebase.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
</details>
k8s-ci-robot: [APPROVALNOTIFIER] This PR is **NOT APPROVED**

This pull-request has been approved by: *<a href="https://github.com/kubernetes/kompose/pull/1516#" title="Author self-approved">hookenz</a>*
**Once this PR has been reviewed and has the lgtm label**, please ask for approval from cdrage by writing `/assign @cdrage` in a comment. For more information see [the Kubernetes Code Review Process](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process).

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=kubernetes%2Fkompose).

<details open>
Needs approval from an approver in each of these files:

- **[OWNERS](https://github.com/kubernetes/kompose/blob/master/OWNERS)**

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":["cdrage"]} -->

Patch:
diff --git a/README.md b/README.md
index a7df70ad..5e53dc51 100644
--- a/README.md
+++ b/README.md
@@ -48,10 +48,10 @@ __Linux and macOS:__
 
 ```sh
 # Linux
-curl -L https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose-linux-amd64 -o kompose
+curl -L https://github.com/kubernetes/kompose/releases/download/v1.27.0/kompose-linux-amd64 -o kompose
 
 # macOS
-curl -L https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose-darwin-amd64 -o kompose
+curl -L https://github.com/kubernetes/kompose/releases/download/v1.27.0/kompose-darwin-amd64 -o kompose
 
 chmod +x kompose
 sudo mv ./kompose /usr/local/bin/kompose
@@ -59,7 +59,7 @@ sudo mv ./kompose /usr/local/bin/kompose
 
 __Windows:__
 
-Download from [GitHub](https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose-windows-amd64.exe) and add the binary to your PATH.
+Download from [GitHub](https://github.com/kubernetes/kompose/releases/download/v1.27.0/kompose-windows-amd64.exe) and add the binary to your PATH.
 
 ## Shell autocompletion
 
diff --git a/build/VERSION b/build/VERSION
index dd43a143..5db08bf2 100644
--- a/build/VERSION
+++ b/build/VERSION
@@ -1,1 +1,1 @@
-1.26.1
+1.27.0
diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock
index a5174910..3b5ed4e5 100644
--- a/docs/Gemfile.lock
+++ b/docs/Gemfile.lock
@@ -66,7 +66,7 @@ GEM
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
     thread_safe (0.3.6)
-    tzinfo (1.2.9)
+    tzinfo (1.2.10)
       thread_safe (~> 0.1)
     tzinfo-data (1.2021.5)
       tzinfo (>= 1.0.0)
diff --git a/docs/installation.md b/docs/installation.md
index 2b25f329..17f43308 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -22,10 +22,10 @@ __Linux and macOS:__
 
 ```sh
 # Linux
-curl -L https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose-linux-amd64 -o kompose
+curl -L https://github.com/kubernetes/kompose/releases/download/v1.27.0/kompose-linux-amd64 -o kompose
 
 # macOS
-curl -L https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose-darwin-amd64 -o kompose
+curl -L https://github.com/kubernetes/kompose/releases/download/v1.27.0/kompose-darwin-amd64 -o kompose
 
 chmod +x kompose
 sudo mv ./kompose /usr/local/bin/kompose
@@ -33,7 +33,7 @@ sudo mv ./kompose /usr/local/bin/kompose
 
 __Windows:__
 
-Download from [GitHub](https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose-windows-amd64.exe) and add the binary to your PATH.
+Download from [GitHub](https://github.com/kubernetes/kompose/releases/download/v1.27.0/kompose-windows-amd64.exe) and add the binary to your PATH.
 
 ## Go
 
@@ -66,8 +66,8 @@ sudo dnf -y install kompose
 A deb package is released for compose. Download latest package in the assets in [github releases](https://github.com/kubernetes/kompose/releases).
 
 ```bash
-wget https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose_1.26.1_amd64.deb # Replace 1.26.1 with latest tag
-sudo apt install ./kompose_1.26.1_amd64.deb
+wget https://github.com/kubernetes/kompose/releases/download/v1.27.0/kompose_1.27.0_amd64.deb # Replace 1.27.0 with latest tag
+sudo apt install ./kompose_1.27.0_amd64.deb
 ```
 
 ## macOS
diff --git a/go.mod b/go.mod
index ab58df9b..6aec079a 100644
--- a/go.mod
+++ b/go.mod
@@ -12,11 +12,11 @@ replace github.com/xeipuuv/gojsonschema => github.com/xeipuuv/gojsonschema v1.2.
 
 replace github.com/docker/docker => github.com/docker/docker v20.10.0-beta1.0.20201030232932-c2cc352355d4+incompatible
 
-replace github.com/containerd/containerd => github.com/containerd/containerd v1.6.4
+replace github.com/containerd/containerd => github.com/containerd/containerd v1.6.6
 
 replace github.com/opencontainers/runc => github.com/opencontainers/runc v1.1.2
 
-replace golang.org/x/sys => golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8
+replace golang.org/x/sys => golang.org/x/sys v0.0.0-20220412211240-33da011f77ad
 
 replace k8s.io/kubernetes => k8s.io/kubernetes v1.24.1
 
@@ -26,6 +26,10 @@ replace github.com/docker/distribution => github.com/docker/distribution v2.8.1+
 
 replace github.com/dgrijalva/jwt-go => github.com/golang-jwt/jwt v3.2.2+incompatible
 
+replace github.com/emicklei/go-restful => github.com/emicklei/go-restful v2.16.0+incompatible
+
+replace golang.org/x/crypto => golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d
+
 require (
 	github.com/containerd/containerd v1.6.4 // indirect
 	github.com/deckarep/golang-set v1.7.1
@@ -44,7 +48,9 @@ require (
 	github.com/spf13/cast v1.3.1
 	github.com/spf13/cobra v1.1.3
 	github.com/spf13/viper v1.7.1
-	golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2
+	golang.org/x/net v0.0.0-20220906165146-f3363e06e74c // indirect
+	golang.org/x/text v0.3.8 // indirect
+	golang.org/x/tools v0.1.12
 	gopkg.in/yaml.v2 v2.4.0
 	gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
 	k8s.io/api v0.22.5
diff --git a/go.sum b/go.sum
index 53861b5b..4b527e62 100644
--- a/go.sum
+++ b/go.sum
@@ -58,8 +58,9 @@ github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpz
 github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
 github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8=
 github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4=
-github.com/Microsoft/hcsshim v0.9.2 h1:wB06W5aYFfUB3IvootYAY2WnOmIdgPGfqSI6tufQNnY=
 github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc=
+github.com/Microsoft/hcsshim v0.9.3 h1:k371PzBuRrz2b+ebGuI2nVgVhgsVX60jMfSw80NECxo=
+github.com/Microsoft/hcsshim v0.9.3/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc=
 github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
 github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
@@ -122,8 +123,8 @@ github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on
 github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw=
 github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ=
 github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U=
-github.com/containerd/containerd v1.6.4 h1:SEDZBp10mhCp+hkO3Njz/YhGrI7ah3edNcUlRdUPOgg=
-github.com/containerd/containerd v1.6.4/go.mod h1:oWOqbuJUZmOVafhA0lj2NAXbiO1u7F0K5l1bUgdyo94=
+github.com/containerd/containerd v1.6.6 h1:xJNPhbrmz8xAMDNoVjHy9YHtWwEQNS+CDkcIRh7t8Y0=
+github.com/containerd/containerd v1.6.6/go.mod h1:ZoP1geJldzCVY3Tonoz7b1IXk8rIX0Nltt5QE4OMNk0=
 github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
 github.com/containerd/continuity v0.0.0-20200413184840-d3ef23f19fbb/go.mod h1:Dq467ZllaHgAtVp4p1xUQWBrFXR9s/wyoTpG8zOJGkY=
 github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ=
@@ -132,7 +133,7 @@ github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rx
 github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
 github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4=
 github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA=
-github.com/containerd/go-cni v1.1.5/go.mod h1:Rf2ZrMycr1El589IyuRzn7RkfdRZVKaFGaxSDHVAjj0=
+github.com/containerd/go-cni v1.1.6/go.mod h1:BWtoWl5ghVymxu6MBjg79W9NZrCRyHIdUtk4cauMe34=
 github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0=
 github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok=
 github.com/containerd/imgcrypt v1.1.4/go.mod h1:LorQnPtzL/T0IyCeftcsMEO7AqxUDbdO8j/tSUpgxvo=
@@ -145,7 +146,7 @@ github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kw
 github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s=
 github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY=
 github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y=
-github.com/containernetworking/cni v1.1.0/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw=
+github.com/containernetworking/cni v1.1.1/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw=
 github.com/containernetworking/plugins v1.1.1/go.mod h1:Sr5TH/eBsGLXK/h71HeLfX19sZPp3ry5uHSkI4LPxV8=
 github.com/containers/ocicrypt v1.1.3/go.mod h1:xpdkbVAuaH3WzbEabUd5yDsl9SwJA5pABH85425Es2g=
 github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
@@ -196,8 +197,7 @@ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3
 github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
-github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
+github.com/emicklei/go-restful v2.16.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
 github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -666,6 +666,7 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
 go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
 go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
@@ -712,21 +713,8 @@ go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/
 go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
 go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
-golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200429183012-4b2356b1ed79/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
-golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
-golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ=
-golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d h1:3qF+Z8Hkrw9sOhrFHti9TlB1Hkac1x+DNRkv0XQiFjo=
+golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -759,6 +747,7 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB
 golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -769,7 +758,6 @@ golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73r
 golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
@@ -799,16 +787,18 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
 golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211216030914-fe4d6282115f h1:hEYJvxw1lSnWIl8X9ofsYMklzaDs90JI2az5YMd4fPM=
 golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220906165146-f3363e06e74c h1:yKufUcDwucU5urd+50/Opbt4AYpqthk7wHpHok8f1lo=
+golang.org/x/net v0.0.0-20220906165146-f3363e06e74c/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -826,15 +816,16 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8 h1:OH54vjqzRWmbJ62fjuhxy7AxFFgoHN0/DPc/UrL8cAs=
-golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20220412211240-33da011f77ad h1:ntjMns5wyP/fN65tdBD4g8J5w8n015+iIIs9rtjXkY0=
+golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE=
 golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -843,8 +834,9 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY=
+golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -911,8 +903,9 @@ golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2 h1:BonxutuHCTL0rBDnZlKjpGIQFTjyUVTexFOdWkB6Fg0=
 golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
+golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/pkg/kobject/kobject.go b/pkg/kobject/kobject.go
index c5913d6c..9a85fd1c 100644
--- a/pkg/kobject/kobject.go
+++ b/pkg/kobject/kobject.go
@@ -91,6 +91,7 @@ func (opt *ConvertOptions) IsPodController() bool {
 	return opt.IsDeploymentFlag || opt.IsDaemonSetFlag || opt.IsReplicationControllerFlag || opt.Controller != ""
 }
 
+// ServiceConfigGroup holds an array of a ServiceConfig objects.
 type ServiceConfigGroup []ServiceConfig
 
 // ServiceConfig holds the basic struct of a container
diff --git a/pkg/loader/compose/v3.go b/pkg/loader/compose/v3.go
index 2e218e76..1bd7399b 100644
--- a/pkg/loader/compose/v3.go
+++ b/pkg/loader/compose/v3.go
@@ -105,7 +105,9 @@ func parseV3(files []string) (kobject.KomposeObject, error) {
 		// We load it in order to retrieve the parsed output configuration!
 		// This will output a github.com/docker/cli ServiceConfig
 		// Which is similar to our version of ServiceConfig
-		currentConfig, err := loader.Load(configDetails)
+		currentConfig, err := loader.Load(configDetails, func(options *loader.Options) {
+			options.SkipInterpolation = true
+		})
 		if err != nil {
 			return kobject.KomposeObject{}, err
 		}
@@ -129,7 +131,6 @@ func parseV3(files []string) (kobject.KomposeObject, error) {
 	if err != nil {
 		return kobject.KomposeObject{}, err
 	}
-
 	return komposeObject, nil
 }
 
diff --git a/pkg/transformer/kubernetes/k8sutils.go b/pkg/transformer/kubernetes/k8sutils.go
index 534584e1..a1b7823e 100644
--- a/pkg/transformer/kubernetes/k8sutils.go
+++ b/pkg/transformer/kubernetes/k8sutils.go
@@ -25,6 +25,7 @@ import (
 	"path"
 	"path/filepath"
 	"reflect"
+	"regexp"
 	"sort"
 	"strconv"
 	"strings"
@@ -382,6 +383,7 @@ func (k *Kubernetes) initSvcObject(name string, service kobject.ServiceConfig, p
 	return svc
 }
 
+// CreateLBService creates a k8s Load Balancer Service
 func (k *Kubernetes) CreateLBService(name string, service kobject.ServiceConfig) []*api.Service {
 	var svcs []*api.Service
 	tcpPorts, udpPorts := k.ConfigLBServicePorts(service)
@@ -442,6 +444,8 @@ func (k *Kubernetes) CreateHeadlessService(name string, service kobject.ServiceC
 
 	return svc
 }
+
+// UpdateKubernetesObjectsMultipleContainers method updates the kubernetes objects with the necessary data
 func (k *Kubernetes) UpdateKubernetesObjectsMultipleContainers(name string, service kobject.ServiceConfig, objects *[]runtime.Object, podSpec PodSpec) error {
 	// Configure annotations
 	annotations := transformer.ConfigAnnotations(service)
@@ -524,7 +528,7 @@ func (k *Kubernetes) UpdateKubernetesObjects(name string, service kobject.Servic
 		template.Spec.Containers[0].Name = GetContainerName(service)
 		template.Spec.Containers[0].Env = envs
 		template.Spec.Containers[0].Command = service.Command
-		template.Spec.Containers[0].Args = service.Args
+		template.Spec.Containers[0].Args = GetContainerArgs(service)
 		template.Spec.Containers[0].WorkingDir = service.WorkingDir
 		template.Spec.Containers[0].VolumeMounts = append(template.Spec.Containers[0].VolumeMounts, volumesMount...)
 		template.Spec.Containers[0].Stdin = service.Stdin
@@ -594,18 +598,18 @@ func (k *Kubernetes) UpdateKubernetesObjects(name string, service kobject.Servic
 		template.ObjectMeta.Labels = transformer.ConfigLabelsWithNetwork(name, service.Network)
 
 		// Configure the image pull policy
-		if policy, err := GetImagePullPolicy(name, service.ImagePullPolicy); err != nil {
+		policy, err := GetImagePullPolicy(name, service.ImagePullPolicy)
+		if err != nil {
 			return err
-		} else {
-			template.Spec.Containers[0].ImagePullPolicy = policy
 		}
+		template.Spec.Containers[0].ImagePullPolicy = policy
 
 		// Configure the container restart policy.
-		if restart, err := GetRestartPolicy(name, service.Restart); err != nil {
+		restart, err := GetRestartPolicy(name, service.Restart)
+		if err != nil {
 			return err
-		} else {
-			template.Spec.RestartPolicy = restart
 		}
+		template.Spec.RestartPolicy = restart
 
 		// Configure hostname/domain_name settings
 		if service.HostName != "" {
@@ -887,6 +891,7 @@ func FormatContainerName(name string) string {
 	return name
 }
 
+// GetContainerName returns the name of the container, from the service config object
 func GetContainerName(service kobject.ServiceConfig) string {
 	name := service.Name
 	if len(service.ContainerName) > 0 {
@@ -899,3 +904,15 @@ func GetContainerName(service kobject.ServiceConfig) string {
 func FormatResourceName(name string) string {
 	return strings.ToLower(strings.Replace(name, "_", "-", -1))
 }
+
+// GetContainerArgs update the interpolation of env variables if exists.
+// example: [curl, $PROTOCOL://$DOMAIN] => [curl, $(PROTOCOL)://$(DOMAIN)]
+func GetContainerArgs(service kobject.ServiceConfig) []string {
+	var args []string
+	re := regexp.MustCompile(`\$([a-zA-Z0-9]*)`)
+	for _, arg := range service.Args {
+		arg = re.ReplaceAllString(arg, `$($1)`)
+		args = append(args, arg)
+	}
+	return args
+}
diff --git a/pkg/transformer/kubernetes/kubernetes.go b/pkg/transformer/kubernetes/kubernetes.go
index 5de64d45..29635672 100644
--- a/pkg/transformer/kubernetes/kubernetes.go
+++ b/pkg/transformer/kubernetes/kubernetes.go
@@ -58,6 +58,7 @@ type Kubernetes struct {
 // PVCRequestSize (Persistent Volume Claim) has default size
 const PVCRequestSize = "100Mi"
 
+// ValidVolumeSet has the different types of valid volumes
 var ValidVolumeSet = map[string]struct{}{"emptyDir": {}, "hostPath": {}, "configMap": {}, "persistentVolumeClaim": {}}
 
 const (
@@ -432,6 +433,7 @@ func (k *Kubernetes) InitDS(name string, service kobject.ServiceConfig) *appsv1.
 	return ds
 }
 
+// InitSS method initialize a stateful set
 func (k *Kubernetes) InitSS(name string, service kobject.ServiceConfig, replicas int) *appsv1.StatefulSet {
 	var podSpec api.PodSpec
 	if len(service.Configs) > 0 {
@@ -634,6 +636,7 @@ func ConfigPorts(service kobject.ServiceConfig) []api.ContainerPort {
 	return ports
 }
 
+// ConfigLBServicePorts method configure the ports of the k8s Load Balancer Service
 func (k *Kubernetes) ConfigLBServicePorts(service kobject.ServiceConfig) ([]api.ServicePort, []api.ServicePort) {
 	var tcpPorts []api.ServicePort
 	var udpPorts []api.ServicePort
@@ -954,16 +957,15 @@ func (k *Kubernetes) ConfigVolumes(name string, service kobject.ServiceConfig) (
 			volsource = source
 		} else if useConfigMap {
 			log.Debugf("Use configmap volume")
-
-			if cm, err := k.IntiConfigMapFromFileOrDir(name, volumeName, volume.Host, service); err != nil {
+			cm, err := k.IntiConfigMapFromFileOrDir(name, volumeName, volume.Host, service)
+			if err != nil {
 				return nil, nil, nil, nil, err
-			} else {
-				cms = append(cms, cm)
-				volsource = k.ConfigConfigMapVolumeSource(volumeName, volume.Container, cm)
+			}
+			cms = append(cms, cm)
+			volsource = k.ConfigConfigMapVolumeSource(volumeName, volume.Container, cm)
 
-				if useSubPathMount(cm) {
-					volMount.SubPath = volsource.ConfigMap.Items[0].Path
-				}
+			if useSubPathMount(cm) {
+				volMount.SubPath = volsource.ConfigMap.Items[0].Path
 			}
 		} else {
 			volsource = k.ConfigPVCVolumeSource(volumeName, readonly)
diff --git a/pkg/transformer/kubernetes/podspec.go b/pkg/transformer/kubernetes/podspec.go
index 7531b3eb..d5237841 100644
--- a/pkg/transformer/kubernetes/podspec.go
+++ b/pkg/transformer/kubernetes/podspec.go
@@ -13,12 +13,15 @@ import (
 	"k8s.io/apimachinery/pkg/util/intstr"
 )
 
+// PodSpec holds the spec of k8s pod.
 type PodSpec struct {
 	api.PodSpec
 }
 
+// PodSpecOption holds the function to apply on a PodSpec
 type PodSpecOption func(*PodSpec)
 
+// AddContainer method is responsible for adding a new container to a k8s Pod.
 func AddContainer(service kobject.ServiceConfig, opt kobject.ConvertOptions) PodSpecOption {
 	return func(podSpec *PodSpec) {
 		name := GetContainerName(service)
@@ -50,6 +53,7 @@ func AddContainer(service kobject.ServiceConfig, opt kobject.ConvertOptions) Pod
 	}
 }
 
+// TerminationGracePeriodSeconds method is responsible for attributing the grace period seconds option to a pod
 func TerminationGracePeriodSeconds(name string, service kobject.ServiceConfig) PodSpecOption {
 	return func(podSpec *PodSpec) {
 		var err error
@@ -156,6 +160,7 @@ func SecurityContext(name string, service kobject.ServiceConfig) PodSpecOption {
 	}
 }
 
+// SetVolumeNames method return a set of volume names
 func SetVolumeNames(volumes []api.Volume) mapset.Set {
 	set := mapset.NewSet()
 	for _, volume := range volumes {
@@ -164,6 +169,7 @@ func SetVolumeNames(volumes []api.Volume) mapset.Set {
 	return set
 }
 
+// SetVolumes method returns a method that adds the volumes to the pod spec
 func SetVolumes(volumes []api.Volume) PodSpecOption {
 	return func(podSpec *PodSpec) {
 		volumesSet := SetVolumeNames(volumes)
@@ -179,6 +185,7 @@ func SetVolumes(volumes []api.Volume) PodSpecOption {
 	}
 }
 
+// SetVolumeMountPaths method returns a set of volumes mount path
 func SetVolumeMountPaths(volumesMount []api.VolumeMount) mapset.Set {
 	set := mapset.NewSet()
 	for _, volumeMount := range volumesMount {
@@ -188,6 +195,7 @@ func SetVolumeMountPaths(volumesMount []api.VolumeMount) mapset.Set {
 	return set
 }
 
+// SetVolumeMounts returns a function which adds the volume mounts option to the pod spec
 func SetVolumeMounts(volumesMount []api.VolumeMount) PodSpecOption {
 	return func(podSpec *PodSpec) {
 		volumesMountSet := SetVolumeMountPaths(volumesMount)
@@ -242,6 +250,7 @@ func RestartPolicy(name string, service kobject.ServiceConfig) PodSpecOption {
 	}
 }
 
+// HostName configure the host name of a pod
 func HostName(service kobject.ServiceConfig) PodSpecOption {
 	return func(podSpec *PodSpec) {
 		// Configure hostname/domain_name settings
@@ -251,6 +260,7 @@ func HostName(service kobject.ServiceConfig) PodSpecOption {
 	}
 }
 
+// DomainName configure the domain name of a pod
 func DomainName(service kobject.ServiceConfig) PodSpecOption {
 	return func(podSpec *PodSpec) {
 		if service.DomainName != "" {
@@ -299,18 +309,21 @@ func configProbe(healthCheck kobject.HealthCheck) *api.Probe {
 	return &probe
 }
 
+// ServiceAccountName is responsible for setting the service account name to the pod spec
 func ServiceAccountName(serviceAccountName string) PodSpecOption {
 	return func(podSpec *PodSpec) {
 		podSpec.ServiceAccountName = serviceAccountName
 	}
 }
 
+// TopologySpreadConstraints is responsible for setting the topology spread constraints to the pod spec
 func TopologySpreadConstraints(service kobject.ServiceConfig) PodSpecOption {
 	return func(podSpec *PodSpec) {
 		podSpec.TopologySpreadConstraints = ConfigTopologySpreadConstraints(service)
 	}
 }
 
+// Append is responsible for adding the pod spec options to the particular pod
 func (podSpec *PodSpec) Append(ops ...PodSpecOption) *PodSpec {
 	for _, option := range ops {
 		option(podSpec)
@@ -318,6 +331,7 @@ func (podSpec *PodSpec) Append(ops ...PodSpecOption) *PodSpec {
 	return podSpec
 }
 
+// Get is responsible for returning the pod spec of a particular pod
 func (podSpec *PodSpec) Get() api.PodSpec {
 	return podSpec.PodSpec
 }
diff --git a/pkg/utils/docker/image.go b/pkg/utils/docker/image.go
index edd1ec48..f9cf4c68 100644
--- a/pkg/utils/docker/image.go
+++ b/pkg/utils/docker/image.go
@@ -33,6 +33,7 @@ type Image struct {
 	Remote     string // the image's remote identifier. (ie: registry/name[:tag])
 }
 
+// NewImageFromParsed method returns the docker image from the docker parser reference
 func NewImageFromParsed(parsed *dockerparser.Reference) Image {
 	return Image{
 		Name:       parsed.Name(),
diff --git a/pkg/utils/docker/tag.go b/pkg/utils/docker/tag.go
index 6c0e6f07..482617b7 100644
--- a/pkg/utils/docker/tag.go
+++ b/pkg/utils/docker/tag.go
@@ -27,6 +27,7 @@ type Tag struct {
 	Client dockerlib.Client
 }
 
+// TagImage function is responsible for tagging the docker image
 func (c *Tag) TagImage(image Image) error {
 	options := dockerlib.TagImageOptions{
 		Tag:  image.Tag,
diff --git a/pkg/version/version.go b/pkg/version/version.go
index de69ff0e..975de509 100644
--- a/pkg/version/version.go
+++ b/pkg/version/version.go
@@ -2,7 +2,7 @@ package version
 
 var (
 	// VERSION  is version number that will be displayed when running ./kompose version
-	VERSION = "1.26.1"
+	VERSION = "1.27.0"
 	// GITCOMMIT is hash of the commit that will be displayed when running ./kompose version
 	// this will be overwritten when running  build like this: go build -ldflags="-X github.com/kubernetes/kompose/pkg/version.GITCOMMIT=$(GITCOMMIT)"
 	// HEAD is default indicating that this was not set during build
diff --git a/script/release.sh b/script/release.sh
index dd1b0a16..a498f080 100755
--- a/script/release.sh
+++ b/script/release.sh
@@ -23,11 +23,7 @@ usage() {
   echo ""
   echo "Requirements:"
   echo " git"
-  echo " hub"
-  echo " github-release"
-  echo " github_changelog_generator"
-  echo " fpm"
-  echo " GITHUB_TOKEN in your env variable"
+  echo " gh"
   echo " "
   echo "Not only that, but you must have permission for:"
   echo " Tagging releases within Github"
@@ -41,30 +37,6 @@ requirements() {
     exit 0
   fi
 
-  if ! hash github-release 2>/dev/null; then
-    echo "ERROR: No $GOPATH/bin/github-release. Please run 'go get -v github.com/aktau/github-release'"
-    exit 0
-  fi
-
-  if ! hash github_changelog_generator 2>/dev/null; then
-    echo "ERROR: github_changelog_generator required to generate the change log. Please run 'gem install github_changelog_generator"
-    exit 0
-  fi
-
-  if ! hash fpm 2>/dev/null; then
-    echo "ERROR: fpm required to generate deb/rpm packages. Please run 'gem install fpm"
-    exit 0
-  fi
-
-  if ! hash hub 2>/dev/null; then
-    echo "ERROR: Hub needed in order to create the relevant PR's. Please install hub @ https://github.com/github/hub"
-    exit 0
-  fi
-
-  if [[ -z "$GITHUB_TOKEN" ]]; then
-    echo "ERROR: export GITHUB_TOKEN=yourtoken needed for using github-release"
-    exit 0
-  fi
 }
 
 # Make sure that upstream had been added to the repo 
@@ -103,62 +75,15 @@ replaceversion() {
 
   echo "Replaced version in build/VERSION"
   sed -i "s/$1/$2/g" build/VERSION || gsed -i "s/$1/$2/g" build/VERSION
-}
 
-changelog() {
-  echo "Generating changelog using github-changelog-generator"
-  github_changelog_generator --user $UPSTREAM_REPO --project $CLI -t $GITHUB_TOKEN --future-release v$1
-}
 
-changelog_github() {
-  touch changes.txt
-  echo "Write your GitHub changelog here" >> changes.txt
-  $EDITOR changes.txt
+  echo "Ignore above errors if you're using macOS"
 }
 
 build_binaries() {
   make cross
 }
 
-build_packages() {
-  # fpm is required installed (https://github.com/jordansissel/fpm)
-  BIN_DIR="./bin/"
-  PKG_DIR="./bin/"
-
-  mkdir -p $PKG_DIR
-
-  # package version, use current date by default (if build from master)
-  PKG_VERSION=$1
-
-  # create packages using fpm
-  fpm -h  >/dev/null 2>&1 || { 
-      echo "ERROR: fpm (https://github.com/jordansissel/fpm) is not installed. Can't create linux packages"
-      exit 1
-  }
-
-  TMP_DIR=$(mktemp -d)
-  mkdir -p $TMP_DIR/usr/local/bin/
-  cp $BIN_DIR/kompose-linux-amd64 $TMP_DIR/usr/local/bin/kompose
-
-  echo "creating DEB package"
-  fpm \
-    --input-type dir --output-type deb \
-    --chdir $TMP_DIR \
-    --name kompose --version $PKG_VERSION \
-    --architecture amd64 \
-    --maintainer "Charlie Drage <cdrage@redhat.com>" \
-    --package $PKG_DIR
-
-  echo "creating RPM package"
-  fpm \
-    --input-type dir --output-type rpm \
-    --chdir $TMP_DIR \
-    --name kompose --version $PKG_VERSION \
-    --architecture x86_64 --rpm-os linux \
-    --maintainer "Charlie Drage <cdrage@redhat.com>" \
-    --package $PKG_DIR
-}
-
 create_tarballs() {
   # cd into the bin directory so we don't have '/bin' inside the tarball
   cd bin
@@ -180,7 +105,7 @@ git_commit() {
   git add .
   git commit -m "$1 Release"
   git push origin $BRANCH
-  hub pull-request -b $UPSTREAM_REPO/$CLI:master -h $ORIGIN_REPO/$CLI:$BRANCH
+  gh pr
 
   echo ""
   echo "PR opened against master to update version"
@@ -198,10 +123,6 @@ git_sync() {
   git rebase upstream/master
 }
 
-git_tag() {
-  git tag v$1
-}
-
 generate_install_guide() {
   echo "
 # Installation
@@ -238,46 +159,17 @@ __Checksums:__
     echo "$HASH $NAME" >> bin/SHA256_SUM
   done
 
- # Append the file to the file
- cat install_guide.txt >> changes.txt
 }
 
 push() {
-  CHANGES=$(cat changes.txt)
-  # Release it!
-
-  echo "Creating GitHub tag"
-  github-release release \
-      --user $UPSTREAM_REPO \
-      --repo $CLI \
-      --tag v$1 \
-      --name "v$1" \
-      --description "$CHANGES"
-  if [ $? -eq 0 ]; then
-        echo UPLOAD OK 
-  else 
-        echo UPLOAD FAIL
-        exit
-  fi
 
-  # Upload all the binaries and tarballs generated in bin/
-  for f in bin/*
-  do
-    echo "Uploading file $f"
-    NAME=`echo $f | sed "s,bin/,,g"`
-    github-release upload \
-        --user $UPSTREAM_REPO \
-        --repo $CLI \
-        --tag v$1 \
-        --file $f \
-        --name $NAME
-    if [ $? -eq 0 ]; then
-          echo UPLOAD OK 
-    else 
-          echo UPLOAD FAIL
-          exit
-    fi
-  done
+  echo "!!PLEASE READ!!
+  1. Say YES to GitHub generating the release notes
+  2. Append install_guide.txt to the TOP of the release notes when prompted
+  3. Double check that the binaries have been UPLOADED!
+  "
+
+  gh release create v$1 bin/*
 
   echo "DONE"
   echo "DOUBLE CHECK IT:"
@@ -287,7 +179,7 @@ push() {
 }
 
 clean() {
-  rm changes.txt install_guide.txt
+  rm install_guide.txt
   rm -r bin/*
 }
 
@@ -325,11 +217,8 @@ main() {
   options=(
   "Initial sync with upstream"
   "Replace version number"
-  "Generate changelog"
-  "Generate GitHub changelog"
   "Create PR"
   "Sync with upstream"
-  "Create tag"
   "Build binaries"
   "Build packages"
   "Create tarballs"
@@ -347,27 +236,15 @@ main() {
           "Replace version number")
               replaceversion $PREV_VERSION $VERSION
               ;;
-          "Generate changelog")
-              changelog $VERSION
-              ;;
-          "Generate GitHub changelog")
-              changelog_github $VERSION
-              ;;
           "Create PR")
               git_commit $VERSION
               ;;
           "Sync with upstream")
               git_sync
               ;;
-          "Create tag")
-              git_tag $VERSION
-              ;;
           "Build binaries")
               build_binaries
               ;;
-          "Build packages")
-              build_packages $VERSION
-              ;;
           "Create tarballs")
               create_tarballs
               ;;


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 8eec4a0a..f26a17f7 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -43,5 +43,3 @@ jobs:
         env:
           # As per https://github.com/mattn/goveralls#github-actions
           COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      - run: ./script/sync-docs.sh
-        if: ${{ github.ref == 'refs/heads/master' }}
diff --git a/pkg/transformer/kubernetes/k8sutils_test.go b/pkg/transformer/kubernetes/k8sutils_test.go
index 22aae955..e9358905 100644
--- a/pkg/transformer/kubernetes/k8sutils_test.go
+++ b/pkg/transformer/kubernetes/k8sutils_test.go
@@ -597,3 +597,35 @@ func TestCreateServiceWithSpecialName(t *testing.T) {
 		}
 	}
 }
+
+func TestArgsInterpolation(t *testing.T) {
+	// An example service
+	service := kobject.ServiceConfig{
+		ContainerName: "name",
+		Image:         "image",
+		Environment:   []kobject.EnvVar{{Name: "PROTOCOL", Value: "https"}, {Name: "DOMAIN", Value: "google.com"}},
+		Port:          []kobject.Ports{{HostPort: 123, ContainerPort: 456, Protocol: string(corev1.ProtocolTCP)}},
+		Command:       []string{"curl"},
+		Args:          []string{"$PROTOCOL://$DOMAIN/"},
+	}
+
+	// An example object generated via k8s runtime.Objects()
+	komposeObject := kobject.KomposeObject{
+		ServiceConfigs: map[string]kobject.ServiceConfig{"app": service},
+	}
+	k := Kubernetes{}
+	objects, err := k.Transform(komposeObject, kobject.ConvertOptions{CreateD: true, Replicas: 3})
+	if err != nil {
+		t.Error(errors.Wrap(err, "k.Transform failed"))
+	}
+
+	expectedArgs := []string{"$(PROTOCOL)://$(DOMAIN)/"}
+	for _, obj := range objects {
+		if deployment, ok := obj.(*appsv1.Deployment); ok {
+			args := deployment.Spec.Template.Spec.Containers[0].Args[0]
+			if args != expectedArgs[0] {
+				t.Errorf("Expected args %v upon conversion, actual %v", expectedArgs, args)
+			}
+		}
+	}
+}
diff --git a/script/test/cmd/tests_new.sh b/script/test/cmd/tests_new.sh
index f63e5ad7..34a10185 100755
--- a/script/test/cmd/tests_new.sh
+++ b/script/test/cmd/tests_new.sh
@@ -202,4 +202,12 @@ os_cmd="kompose  --provider=openshift -f  $KOMPOSE_ROOT/script/test/fixtures/mul
 k8s_output="$KOMPOSE_ROOT/script/test/fixtures/multiple-type-volumes/output-k8s.json"
 os_output="$KOMPOSE_ROOT/script/test/fixtures/multiple-type-volumes/output-os.json"
 convert::expect_success_and_warning "$k8s_cmd" "$k8s_output"
-convert::expect_success "$os_cmd" "$os_output"
\ No newline at end of file
+convert::expect_success "$os_cmd" "$os_output"
+
+# Test environment variables interpolation
+k8s_cmd="kompose -f $KOMPOSE_ROOT/script/test/fixtures/envvars-interpolation/docker-compose.yaml convert --stdout -j --with-kompose-annotation=false"
+os_cmd="kompose  --provider=openshift -f  $KOMPOSE_ROOT/script/test/fixtures/envvars-interpolation/docker-compose.yaml  convert --stdout -j --with-kompose-annotation=false"
+k8s_output="$KOMPOSE_ROOT/script/test/fixtures/envvars-interpolation/output-k8s.json"
+os_output="$KOMPOSE_ROOT/script/test/fixtures/envvars-interpolation/output-os.json"
+convert::expect_success_and_warning "$k8s_cmd" "$k8s_output"
+convert::expect_success "$os_cmd" "$os_output"
diff --git a/script/test/fixtures/envvars-interpolation/docker-compose.yaml b/script/test/fixtures/envvars-interpolation/docker-compose.yaml
new file mode 100644
index 00000000..6623f589
--- /dev/null
+++ b/script/test/fixtures/envvars-interpolation/docker-compose.yaml
@@ -0,0 +1,13 @@
+version: '3.5'
+
+services:
+    myservice:
+        image: alpine
+        environment:
+            PROTOCOL: 'https'
+            DOMAIN: 'google.com'
+        command:
+            [
+                'curl',
+                '$PROTOCOL://$DOMAIN/',
+            ]
diff --git a/script/test/fixtures/envvars-interpolation/output-k8s.json b/script/test/fixtures/envvars-interpolation/output-k8s.json
new file mode 100644
index 00000000..6ee8b10b
--- /dev/null
+++ b/script/test/fixtures/envvars-interpolation/output-k8s.json
@@ -0,0 +1,60 @@
+{
+    "kind": "List",
+    "apiVersion": "v1",
+    "metadata": {},
+    "items": [
+        {
+            "kind": "Deployment",
+            "apiVersion": "apps/v1",
+            "metadata": {
+                "name": "myservice",
+                "creationTimestamp": null,
+                "labels": {
+                    "io.kompose.service": "myservice"
+                }
+            },
+            "spec": {
+                "replicas": 1,
+                "selector": {
+                    "matchLabels": {
+                        "io.kompose.service": "myservice"
+                    }
+                },
+                "template": {
+                    "metadata": {
+                        "creationTimestamp": null,
+                        "labels": {
+                            "io.kompose.service": "myservice"
+                        }
+                    },
+                    "spec": {
+                        "containers": [
+                            {
+                                "name": "myservice",
+                                "image": "alpine",
+                                "args": [
+                                    "curl",
+                                    "$(PROTOCOL)://$(DOMAIN)/"
+                                ],
+                                "env": [
+                                    {
+                                        "name": "DOMAIN",
+                                        "value": "google.com"
+                                    },
+                                    {
+                                        "name": "PROTOCOL",
+                                        "value": "https"
+                                    }
+                                ],
+                                "resources": {}
+                            }
+                        ],
+                        "restartPolicy": "Always"
+                    }
+                },
+                "strategy": {}
+            },
+            "status": {}
+        }
+    ]
+}
diff --git a/script/test/fixtures/envvars-interpolation/output-os.json b/script/test/fixtures/envvars-interpolation/output-os.json
new file mode 100644
index 00000000..8f7796f8
--- /dev/null
+++ b/script/test/fixtures/envvars-interpolation/output-os.json
@@ -0,0 +1,120 @@
+{
+    "kind": "List",
+    "apiVersion": "v1",
+    "metadata": {},
+    "items": [
+        {
+            "kind": "DeploymentConfig",
+            "apiVersion": "v1",
+            "metadata": {
+                "name": "myservice",
+                "creationTimestamp": null,
+                "labels": {
+                    "io.kompose.service": "myservice"
+                }
+            },
+            "spec": {
+                "strategy": {
+                    "resources": {}
+                },
+                "triggers": [
+                    {
+                        "type": "ConfigChange"
+                    },
+                    {
+                        "type": "ImageChange",
+                        "imageChangeParams": {
+                            "automatic": true,
+                            "containerNames": [
+                                "myservice"
+                            ],
+                            "from": {
+                                "kind": "ImageStreamTag",
+                                "name": "myservice:latest"
+                            }
+                        }
+                    }
+                ],
+                "replicas": 1,
+                "test": false,
+                "selector": {
+                    "io.kompose.service": "myservice"
+                },
+                "template": {
+                    "metadata": {
+                        "creationTimestamp": null,
+                        "labels": {
+                            "io.kompose.service": "myservice"
+                        }
+                    },
+                    "spec": {
+                        "containers": [
+                            {
+                                "name": "myservice",
+                                "image": " ",
+                                "args": [
+                                    "curl",
+                                    "$(PROTOCOL)://$(DOMAIN)/"
+                                ],
+                                "env": [
+                                    {
+                                        "name": "DOMAIN",
+                                        "value": "google.com"
+                                    },
+                                    {
+                                        "name": "PROTOCOL",
+                                        "value": "https"
+                                    }
+                                ],
+                                "resources": {}
+                            }
+                        ],
+                        "restartPolicy": "Always"
+                    }
+                }
+            },
+            "status": {
+                "latestVersion": 0,
+                "observedGeneration": 0,
+                "replicas": 0,
+                "updatedReplicas": 0,
+                "availableReplicas": 0,
+                "unavailableReplicas": 0
+            }
+        },
+        {
+            "kind": "ImageStream",
+            "apiVersion": "v1",
+            "metadata": {
+                "name": "myservice",
+                "creationTimestamp": null,
+                "labels": {
+                    "io.kompose.service": "myservice"
+                }
+            },
+            "spec": {
+                "lookupPolicy": {
+                    "local": false
+                },
+                "tags": [
+                    {
+                        "name": "latest",
+                        "annotations": null,
+                        "from": {
+                            "kind": "DockerImage",
+                            "name": "alpine"
+                        },
+                        "generation": null,
+                        "importPolicy": {},
+                        "referencePolicy": {
+                            "type": ""
+                        }
+                    }
+                ]
+            },
+            "status": {
+                "dockerImageRepository": ""
+            }
+        }
+    ]
+}