Documentation
¶
Index ¶
- func SaveConfigWithWorkflowError(config *pb.Config, c pb.ContextBoxServiceClient, ...) error
- func SeparateNodepools(clusterNodes map[string]int32, ...) (master []string, worker []string)
- func UpdateNodePoolInfo(src []*pb.NodePool, dst []*pb.NodePool)
- type BuilderContext
- type IntermediateRepresentation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SaveConfigWithWorkflowError ¶
func SaveConfigWithWorkflowError(config *pb.Config, c pb.ContextBoxServiceClient, clusterView *utils.ClusterView) error
SaveConfigWithWorkflowError saves config with workflow states
func SeparateNodepools ¶
func SeparateNodepools(clusterNodes map[string]int32, currentClusterInfo, desiredClusterInfo *pb.ClusterInfo) (master []string, worker []string)
separateNodepools creates two slices of node names, one for master and one for worker nodes
Types ¶
type BuilderContext ¶
type BuilderContext struct {
// ProjectName for this cluster
ProjectName string
// CurrentCluster is the current state of the cluster
// properties may change during processing.
CurrentCluster *pb.K8Scluster
// DesiredCluster is the desired state of the cluster
// properties may change during processing.
DesiredCluster *pb.K8Scluster
// CurrentLoadbalancers are the current loadbalancers of the cluster
// properties may change during processing.
CurrentLoadbalancers []*pb.LBcluster
// DesiredLoadbalancers are the current loadbalancers of the cluster
// properties may change during processing.
DesiredLoadbalancers []*pb.LBcluster
// DeletedLoadBalancers are the deleted loadbalancers for the cluster.
DeletedLoadBalancers []*pb.LBcluster
// Workflow is the current state of processing of the cluster.
Workflow *pb.Workflow
}
BuilderContext provides context for the Claudie workflow for a particular cluster.
func (*BuilderContext) GetClusterID ¶
func (ctx *BuilderContext) GetClusterID() string
GetClusterID returns ID of the k8s cluster for a given builder context.
func (*BuilderContext) GetClusterName ¶
func (ctx *BuilderContext) GetClusterName() string
GetClusterName returns name of the k8s cluster for a given builder context.
type IntermediateRepresentation ¶
type IntermediateRepresentation struct {
// IR is the intermediate representation that should be passed through the workflow
// before actually building the desired state. If nil there is no in-between step.
IR *pb.K8Scluster
// IRLbs are the intermediate representations of LB clusters that should be passed through the workflow
// before actually building the desired state of the LB clusters. If nil there is no in-between step.
IRLbs []*pb.LBcluster
// ToDelete are the nodepools from which nodes needs to be deleted. This may be set
// even if IR is nil.
ToDelete map[string]int32
// ControlPlaneWithAPIEndpointReplace if this is set it means that the nodepool in current state
// which has an ApiEndpoint is deleted in desired state and needs to be updated
// before executing the workflow for the desired state and before deleting the nodes
// from the ToDelete.
ControlPlaneWithAPIEndpointReplace bool
}
IntermediateRepresentation represents the intermediate state for a pair of current, desired *pb.K8sClusters>
func Diff ¶
func Diff(current, desired *pb.K8Scluster, currentLbs, desiredLbs []*pb.LBcluster) *IntermediateRepresentation
Diff takes the desired and current state to calculate difference between them to determine how many nodes needs to be deleted and added.
func (*IntermediateRepresentation) Stages ¶
func (ir *IntermediateRepresentation) Stages() int
Stages returns the number of individual stages. Useful for logging.