forked from LaconicNetwork/kompose
Add env_file + ConfigMaps feature to Kompose
When using env_file with Docker Compose, a ConfigMap will be generated
For example:
```sh
▶ ./kompose convert -f
script/test/fixtures/configmaps/docker-compose.yml
INFO Kubernetes file "redis-service.yaml" created
INFO Kubernetes file "redis-deployment.yaml" created
INFO Kubernetes file "foo-env-configmap.yaml" created
INFO Kubernetes file "bar-env-configmap.yaml" created
```
File:
```yaml
version: '3'
services:
redis:
image: 'bitnami/redis:latest'
environment:
- ALLOW_EMPTY_PASSWORD=no
# Env file will override environment / warn!
env_file:
- "foo.env"
- bar.env
labels:
kompose.service.type: nodeport
ports:
- '6379:6379'
```
To:
```yaml
apiVersion: v1
data:
ALLOW_EMPTY_PASSWORD: "yes"
kind: ConfigMap
metadata:
creationTimestamp: null
name: foo-env
```
```yaml
...
- env:
- name: ALLOW_EMPTY_PASSWORD
valueFrom:
configMapKeyRef:
key: ALLOW_EMPTY_PASSWORD
name: foo-env
```
This commit is contained in:
@@ -62,9 +62,10 @@ func TestOpenShiftUpdateKubernetesObjects(t *testing.T) {
|
||||
var object []runtime.Object
|
||||
o := OpenShift{}
|
||||
serviceConfig := newServiceConfig()
|
||||
opt := kobject.ConvertOptions{}
|
||||
|
||||
object = append(object, o.initDeploymentConfig("foobar", serviceConfig, 3))
|
||||
o.UpdateKubernetesObjects("foobar", serviceConfig, &object)
|
||||
o.UpdateKubernetesObjects("foobar", serviceConfig, opt, &object)
|
||||
|
||||
for _, obj := range object {
|
||||
switch tobj := obj.(type) {
|
||||
|
||||
Reference in New Issue
Block a user