diff --git a/pkg/transformer/kubernetes/kubernetes.go b/pkg/transformer/kubernetes/kubernetes.go index 0ab116a0..9f646ae6 100755 --- a/pkg/transformer/kubernetes/kubernetes.go +++ b/pkg/transformer/kubernetes/kubernetes.go @@ -125,6 +125,11 @@ func (k *Kubernetes) CheckUnsupportedKey(komposeObject *kobject.KomposeObject, u // InitPodSpec creates the pod specification func (k *Kubernetes) InitPodSpec(name string, image string, pullSecret string) api.PodSpec { + + if image == "" { + image = name + } + pod := api.PodSpec{ Containers: []api.Container{ { @@ -1018,6 +1023,11 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject. // Lastly, we must have an Image name to continue if opt.Build == "local" && opt.InputFiles != nil && service.Build != "" { + // If there's no "image" key, use the name of the container that's built + if service.Image == "" { + service.Image = name + } + if service.Image == "" { return nil, fmt.Errorf("image key required within build parameters in order to build and push service '%s'", name) } @@ -1040,11 +1050,6 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject. } } - // If there's no "image" key, use the name of the container that's built - if service.Image == "" { - service.Image = name - } - // Generate pod only and nothing more if service.Restart == "no" || service.Restart == "on-failure" { // Error out if Controller Object is specified with restart: 'on-failure' diff --git a/pkg/transformer/openshift/openshift.go b/pkg/transformer/openshift/openshift.go index 17945e86..9fdd4a11 100644 --- a/pkg/transformer/openshift/openshift.go +++ b/pkg/transformer/openshift/openshift.go @@ -74,6 +74,9 @@ var unsupportedKey = map[string]bool{} // initImageStream initializes ImageStream object func (o *OpenShift) initImageStream(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions) *imageapi.ImageStream { + if service.Image == "" { + service.Image = name + } // Retrieve tags and image name for mapping tag := GetImageTag(service.Image) @@ -309,6 +312,11 @@ func (o *OpenShift) Transform(komposeObject kobject.KomposeObject, opt kobject.C // Lastly, we must have an Image name to continue if opt.Build == "local" && opt.InputFiles != nil && service.Build != "" { + // If there's no "image" key, use the name of the container that's built + if service.Image == "" { + service.Image = name + } + if service.Image == "" { return nil, fmt.Errorf("image key required within build parameters in order to build and push service '%s'", name) } @@ -329,11 +337,6 @@ func (o *OpenShift) Transform(komposeObject kobject.KomposeObject, opt kobject.C } - // If there's no "image" key, use the name of the container that's built - if service.Image == "" { - service.Image = name - } - // Generate pod only and nothing more if service.Restart == "no" || service.Restart == "on-failure" { // Error out if Controller Object is specified with restart: 'on-failure'