Documentation ¶
Overview ¶
Package infra provides functions for orchestrating a Micro platform
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExecuteApply ¶
ExecuteApply carries out an apply on steps
Types ¶
type Kubernetes ¶
Kubernetes represents a Kube Cluster
type Platform ¶
type Platform struct { Name string Domain string Gslb string Kv string Regions []struct { Provider string Region string Control []string Resource []string Network []string } }
Platform defines a complete platform
type RemoteState ¶
RemoteState is an action that verifies remote state is available
func (*RemoteState) Validate ¶
func (r *RemoteState) Validate() error
Validate checks the remote state buckets and table exist
type Task ¶
type Task interface { Validate() error Plan() error Apply() error Finalise() error Destroy() error }
Task describes an individual task
type TerraformModule ¶
type TerraformModule struct { // ID is a persistent unique ID for the name of the stored state ID string // Name is the name of the module - for logging purposes Name string // Path is the path to the module. It's set to working directory for terraform Path string // Source is a net.URL to the module Source string // Any environment variables to pass to terraform Env map[string]string // Any terraform variables Variables map[string]string // Any remote states to import key = state name, value = remote state ID RemoteStates map[string]string // Dry-run DryRun bool }
TerraformModule is a task that fetches and applies a terraform module
func (*TerraformModule) Destroy ¶
func (t *TerraformModule) Destroy() error
Destroy runs terraform apply
func (*TerraformModule) Finalise ¶
func (t *TerraformModule) Finalise() error
Finalise removes the directory
func (*TerraformModule) Validate ¶
func (t *TerraformModule) Validate() error
Validate attempts to fetch terraform code then runs terraform init and terraform validate
Click to show internal directories.
Click to hide internal directories.