Skip to content

[BUG] underscores in compose service name are not replaced with dashes in kubernetes Service metadata.name #1897

@jancespivo

Description

@jancespivo

Expected Behavior

kompose convert should replace underscores with dashes in kubernetes Service metadata.name when compose service name contains underscores

apiVersion: v1
kind: Service
metadata:
  labels:
    io.kompose.service: myservice-api
  name: myservice-api  # THIS IS OK
spec:
  ports:
    - name: "8000"
      port: 8000
      targetPort: 8000
  selector:
    io.kompose.service: myservice-api

Actual Behavior

It generates:

apiVersion: v1
kind: Service
metadata:
  labels:
    io.kompose.service: myservice-api
  name: myservice_api  # <-- THIS IS NOT VALID name
spec:
  ports:
    - name: "8000"
      port: 8000
      targetPort: 8000
  selector:
    io.kompose.service: myservice-api

metadata.name is not valid (it contains underscore instead of dash)

Steps To Reproduce

No response

Kompose Version

1.34.0

Docker-Compose file

No response

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions