From 841d28192f5ff9bb5c5d1d06395cdf02a2682280 Mon Sep 17 00:00:00 2001 From: Abhishek Date: Fri, 7 Oct 2016 14:55:14 +0530 Subject: [PATCH] configure service types --- pkg/transformer/kubernetes/k8sutils.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkg/transformer/kubernetes/k8sutils.go b/pkg/transformer/kubernetes/k8sutils.go index 50be67af..1a52991e 100644 --- a/pkg/transformer/kubernetes/k8sutils.go +++ b/pkg/transformer/kubernetes/k8sutils.go @@ -244,6 +244,21 @@ func CreateService(name string, service kobject.ServiceConfig, objects []runtime servicePorts := ConfigServicePorts(name, service) svc.Spec.Ports = servicePorts + // Configure service types + for key, value := range service.Annotations { + if key == "kompose.service.type" { + if strings.ToLower(value) == "nodeport" { + svc.Spec.Type = "NodePort" + } else if strings.ToLower(value) == "clusterip" { + svc.Spec.Type = "ClusterIP" + } else if strings.ToLower(value) == "loadbalancer" { + svc.Spec.Type = "LoadBalancer" + } else { + logrus.Fatalf("Unknown value '%s', supported values are 'NodePort, ClusterIP and LoadBalancer' " , value) + } + } + } + // Configure annotations annotations := transformer.ConfigAnnotations(service) svc.ObjectMeta.Annotations = annotations