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

     1  package controller
     2  
     3  import (
     4  	"github.com/docker/compose-on-kubernetes/api/compose/latest"
     5  	"github.com/docker/compose-on-kubernetes/internal/stackresources"
     6  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     7  )
     8  
     9  func statusFailure(err error) latest.StackStatus {
    10  	// on reconciliation failure, we do not set the observed generation
    11  	// so it will always try to recreate-resources
    12  	return latest.StackStatus{
    13  		Phase:   latest.StackFailure,
    14  		Message: err.Error(),
    15  	}
    16  }
    17  
    18  func statusProgressing() latest.StackStatus {
    19  	return latest.StackStatus{
    20  		Phase:   latest.StackProgressing,
    21  		Message: "Stack is starting",
    22  	}
    23  }
    24  
    25  func setStackOwnership(stackState *stackresources.StackState, stack *latest.Stack) {
    26  	ownerRef := []metav1.OwnerReference{ownerReference(stack)}
    27  	for k, v := range stackState.Daemonsets {
    28  		v.OwnerReferences = ownerRef
    29  		stackState.Daemonsets[k] = v
    30  	}
    31  	for k, v := range stackState.Deployments {
    32  		v.OwnerReferences = ownerRef
    33  		stackState.Deployments[k] = v
    34  	}
    35  	for k, v := range stackState.Services {
    36  		v.OwnerReferences = ownerRef
    37  		stackState.Services[k] = v
    38  	}
    39  	for k, v := range stackState.Statefulsets {
    40  		v.OwnerReferences = ownerRef
    41  		stackState.Statefulsets[k] = v
    42  	}
    43  }
    44  
    45  func ownerReference(stack *latest.Stack) metav1.OwnerReference {
    46  	blockOwnerDeletion := true
    47  	isController := true
    48  
    49  	return metav1.OwnerReference{
    50  		APIVersion:         latest.SchemeGroupVersion.String(),
    51  		Kind:               "Stack",
    52  		Name:               stack.Name,
    53  		UID:                stack.UID,
    54  		BlockOwnerDeletion: &blockOwnerDeletion,
    55  		Controller:         &isController,
    56  	}
    57  }