github.com/docker/compose-on-kubernetes@v0.5.0/internal/test/builders/service.go (about)

     1  package builders
     2  
     3  import (
     4  	"github.com/docker/compose-on-kubernetes/api/compose/latest"
     5  	"github.com/docker/compose-on-kubernetes/api/labels"
     6  	coretypes "k8s.io/api/core/v1"
     7  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     8  )
     9  
    10  // Service creates a core Service as if owned by a stack
    11  func Service(owningStack *latest.Stack, name string, builders ...func(*coretypes.Service)) *coretypes.Service {
    12  	svc := &coretypes.Service{
    13  		ObjectMeta: metav1.ObjectMeta{
    14  			Name:      name,
    15  			Namespace: owningStack.Namespace,
    16  			Labels:    labels.ForService(owningStack.Name, name),
    17  		},
    18  	}
    19  	for _, b := range builders {
    20  		b(svc)
    21  	}
    22  	return svc
    23  }