#1897·kompose

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

Author: jancespivoCreated Jun 11, 2024Updated Jul 4, 2026
Labelskind/buglifecycle/stale

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