From 9ebfa9e2937bfdbb0d7597e7367b3eb0fa7d84df Mon Sep 17 00:00:00 2001 From: Abhishek Chanda Date: Tue, 16 May 2017 17:34:26 +0000 Subject: [PATCH] Replace underscores with dashes while rendering container names Kubernetes container names must match the regex [a-z0-9]([-a-z0-9]*[a-z0-9])? This excludes underscores, which is common in container names in compose. --- pkg/loader/compose/compose.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/loader/compose/compose.go b/pkg/loader/compose/compose.go index e8c093c6..77ce6297 100644 --- a/pkg/loader/compose/compose.go +++ b/pkg/loader/compose/compose.go @@ -317,7 +317,11 @@ func (c *Compose) LoadFile(files []string) (kobject.KomposeObject, error) { serviceConfig := kobject.ServiceConfig{} serviceConfig.Image = composeServiceConfig.Image serviceConfig.Build = composeServiceConfig.Build.Context - serviceConfig.ContainerName = composeServiceConfig.ContainerName + newName := normalizeServiceNames(composeServiceConfig.ContainerName) + serviceConfig.ContainerName = newName + if newName != composeServiceConfig.ContainerName { + log.Infof("Container name in service %q has been changed from %q to %q", name, composeServiceConfig.ContainerName, newName) + } serviceConfig.Command = composeServiceConfig.Entrypoint serviceConfig.Args = composeServiceConfig.Command serviceConfig.Dockerfile = composeServiceConfig.Build.Dockerfile