github.com/docker/compose-on-kubernetes@v0.5.0/internal/test/builders/deployment.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  	appstypes "k8s.io/api/apps/v1"
     7  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     8  )
     9  
    10  // Deployment creates a core Deployment as if owned by a stack
    11  func Deployment(owningStack *latest.Stack, name string, builders ...func(*appstypes.Deployment)) *appstypes.Deployment {
    12  	r := &appstypes.Deployment{
    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(r)
    21  	}
    22  	return r
    23  }