diff --git a/pkg/loader/compose/compose.go b/pkg/loader/compose/compose.go index d696445a4..9007262eb 100644 --- a/pkg/loader/compose/compose.go +++ b/pkg/loader/compose/compose.go @@ -463,7 +463,7 @@ func dockerComposeToKomposeMapping(composeObject *types.Project) (kobject.Kompos for _, composeServiceConfig := range composeObject.Services { // Standard import // No need to modify before importation - name := composeServiceConfig.Name + name := strings.ToLower(composeServiceConfig.Name) serviceConfig := kobject.ServiceConfig{} serviceConfig.Name = name serviceConfig.Image = composeServiceConfig.Image diff --git a/script/test/cmd/tests_new.sh b/script/test/cmd/tests_new.sh index 1f4cc5401..933a1920a 100755 --- a/script/test/cmd/tests_new.sh +++ b/script/test/cmd/tests_new.sh @@ -315,3 +315,11 @@ export COMPOSE_FILE="$KOMPOSE_ROOT/script/test/fixtures/compose-file-env-variabl k8s_cmd="kompose convert --stdout --with-kompose-annotation=false" k8s_output="$KOMPOSE_ROOT/script/test/fixtures/compose-file-env-variable/output-k8s.yaml" convert::expect_success "$k8s_cmd" "$k8s_output" || exit 1 + +# Test resources names lowercase +k8s_cmd="kompose -f $KOMPOSE_ROOT/script/test/fixtures/resources-lowercase/docker-compose.yaml convert --stdout --with-kompose-annotation=false" +k8s_output="$KOMPOSE_ROOT/script/test/fixtures/resources-lowercase/output-k8s.yaml" +os_cmd="kompose -f $KOMPOSE_ROOT/script/test/fixtures/resources-lowercase/docker-compose.yaml convert --provider openshift --stdout --with-kompose-annotation=false" +os_output="$KOMPOSE_ROOT/script/test/fixtures/resources-lowercase/output-os.yaml" +convert::expect_success "$k8s_cmd" "$k8s_output" || exit 1 +convert::expect_success "$os_cmd" "$os_output" || exit 1 diff --git a/script/test/fixtures/resources-lowercase/docker-compose.yaml b/script/test/fixtures/resources-lowercase/docker-compose.yaml new file mode 100644 index 000000000..7284c7525 --- /dev/null +++ b/script/test/fixtures/resources-lowercase/docker-compose.yaml @@ -0,0 +1,6 @@ +version: '3' +services: + NGINX: + image: nginx:latest + ports: + - 80:80 diff --git a/script/test/fixtures/resources-lowercase/output-k8s.yaml b/script/test/fixtures/resources-lowercase/output-k8s.yaml new file mode 100644 index 000000000..788faa92e --- /dev/null +++ b/script/test/fixtures/resources-lowercase/output-k8s.yaml @@ -0,0 +1,47 @@ +--- +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + io.kompose.service: nginx + name: nginx +spec: + ports: + - name: "80" + port: 80 + targetPort: 80 + selector: + io.kompose.service: nginx + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + creationTimestamp: null + labels: + io.kompose.service: nginx + name: nginx +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: nginx + strategy: {} + template: + metadata: + creationTimestamp: null + labels: + io.kompose.network/resources-lowercase-default: "true" + io.kompose.service: nginx + spec: + containers: + - image: nginx:latest + name: nginx + ports: + - containerPort: 80 + hostPort: 80 + protocol: TCP + resources: {} + restartPolicy: Always + diff --git a/script/test/fixtures/resources-lowercase/output-os.yaml b/script/test/fixtures/resources-lowercase/output-os.yaml new file mode 100644 index 000000000..3600eafc3 --- /dev/null +++ b/script/test/fixtures/resources-lowercase/output-os.yaml @@ -0,0 +1,80 @@ +--- +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + io.kompose.service: nginx + name: nginx +spec: + ports: + - name: "80" + port: 80 + targetPort: 80 + selector: + io.kompose.service: nginx + +--- +apiVersion: apps.openshift.io/v1 +kind: DeploymentConfig +metadata: + creationTimestamp: null + labels: + io.kompose.service: nginx + name: nginx +spec: + replicas: 1 + selector: + io.kompose.service: nginx + strategy: + resources: {} + template: + metadata: + creationTimestamp: null + labels: + io.kompose.network/resources-lowercase-default: "true" + io.kompose.service: nginx + spec: + containers: + - image: ' ' + name: nginx + ports: + - containerPort: 80 + hostPort: 80 + protocol: TCP + resources: {} + restartPolicy: Always + test: false + triggers: + - type: ConfigChange + - imageChangeParams: + automatic: true + containerNames: + - nginx + from: + kind: ImageStreamTag + name: nginx:latest + type: ImageChange + +--- +apiVersion: image.openshift.io/v1 +kind: ImageStream +metadata: + creationTimestamp: null + labels: + io.kompose.service: nginx + name: nginx +spec: + lookupPolicy: + local: false + tags: + - annotations: null + from: + kind: DockerImage + name: nginx:latest + generation: null + importPolicy: {} + name: latest + referencePolicy: + type: "" +