pkg/k8scontext/convert/conversion_service.go (29 lines of code) (raw):

package convert import ( multiclusterservice "github.com/Azure/application-gateway-kubernetes-ingress/pkg/apis/multiclusterservice/v1alpha1" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/intstr" ) // FromMultiClusterService converts MutliClusterService CRD into k8s.io/api/core/v1/Service func FromMultiClusterService(gs *multiclusterservice.MultiClusterService) (*v1.Service, bool) { if gs == nil { return nil, false } v1Serv := &v1.Service{} //copy over metadata v1Serv.ObjectMeta = gs.ObjectMeta v1Serv.Labels = gs.Labels v1Serv.Annotations = gs.Annotations //copy over spec v1Serv.Spec.Selector = gs.Spec.Selector.MatchLabels for _, port := range gs.Spec.Ports { servicePort := v1.ServicePort{} servicePort.Name = port.Name servicePort.Protocol = v1.Protocol(port.Protocol) servicePort.Port = int32(port.Port) servicePort.TargetPort = intstr.IntOrString{ IntVal: int32(port.TargetPort), } v1Serv.Spec.Ports = append(v1Serv.Spec.Ports, servicePort) } v1Serv.APIVersion = v1.SchemeGroupVersion.String() v1Serv.Kind = "Service" return v1Serv, true }