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.