plan

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2022 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package planner plans the steps that needs to be taken to move an Environment to desired state.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Planner

type Planner struct {

	// AllowedStepTypes is a set of step types that are allowed to execute.
	// A nil set allows all steps.
	AllowedStepTypes map[step.Type]struct{}
	// Cloud provides generic cloud access functions.
	Cloud cloud.Cloud
	// Terraform is the terraform implementation to use.
	Terraform terraform.Terraformer
	// Kubectl is the kubectl implementation to use.
	Kubectl kubectl.Kubectrler
	// Azure is the azure cli implementation to use.
	Azure azure.AZer
	// Addon can deploy k8s addon resources.
	Addon addon.Addonr
	// Client can access the cluster envop is running in.
	Client cluster.Client

	Log logr.Logger
	// contains filtered or unexported fields
}

Planner plans the steps that are going to be executed.

func (*Planner) Plan

func (p *Planner) Plan(nsn types.NamespacedName, src Sourcer, destroy bool, ispec v1.InfraSpec, cspec []v1.ClusterSpec) ([]step.Step, error)

Plan returns an ordered collection of steps. The step hash field reflects the current source/parameters for that step.

func (*Planner) PossibleSteps added in v0.1.6

func (p *Planner) PossibleSteps(cspec []v1.ClusterSpec) map[string]struct{}

PossibleSteps returns a set of possible step names.

type Sourcer

type Sourcer interface {
	Workspace(nsn types.NamespacedName, name string) (source.Workspace, bool)
}

Sourcer keeps source code.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL