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 }