infrastructure

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2020 License: Apache-2.0, MIT Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TerraformerPurpose is the Terraformer purpose for infrastructure operations.
	TerraformerPurpose = "infra"

	// TerraformerOutputKeyVPCID is the output key of the VPC ID.
	TerraformerOutputKeyVPCID = "vpc_id"
	// TerraformerOutputKeyVPCCIDR is the output key of the VPC CIDR.
	TerraformerOutputKeyVPCCIDR = "vpc_cidr"
	// TerraformerOutputKeySecurityGroupID is the output key of the security group ID.
	TerraformerOutputKeySecurityGroupID = "sg_id"
	// TerraformerOutputKeyKeyPairName is the output key of the key pair name.
	TerraformerOutputKeyKeyPairName = "key_pair_name"
	// TerraformerOutputKeyVSwitchNodesPrefix is the prefix for the vswitches.
	TerraformerOutputKeyVSwitchNodesPrefix = "vswitch_id_z"

	// TerraformDefaultVPCID is the default value for the VPC ID in the chart.
	TerraformDefaultVPCID = "${alicloud_vpc.vpc.id}"
	// TerraformDefaultNATGatewayID is the default value for the NAT gateway ID in the chart.
	TerraformDefaultNATGatewayID = "${alicloud_nat_gateway.nat_gateway.id}"
	// TerraformDefaultSNATTableIDs is the default value for the SNAT table IDs in the chart.
	TerraformDefaultSNATTableIDs = "${alicloud_nat_gateway.nat_gateway.snat_table_ids}"
)

Variables

View Source
var (
	// DefaultAddOptions are the default AddOptions for AddToManager.
	DefaultAddOptions = AddOptions{}
)
View Source
var StatusTypeMeta = func() metav1.TypeMeta {
	apiVersion, kind := alicloudv1alpha1.SchemeGroupVersion.WithKind(extensioncontroller.UnsafeGuessKind(&alicloudv1alpha1.InfrastructureStatus{})).ToAPIVersionAndKind()
	return metav1.TypeMeta{
		APIVersion: apiVersion,
		Kind:       kind,
	}
}()

StatusTypeMeta is the TypeMeta of InfrastructureStatus.

Functions

func AddToManager

func AddToManager(mgr manager.Manager) error

AddToManager adds a controller with the default AddOptions.

func AddToManagerWithOptions

func AddToManagerWithOptions(mgr manager.Manager, options AddOptions) error

AddToManagerWithOptions adds a controller with the given AddOptions to the given manager. The opts.Reconciler is being set with a newly instantiated actuator.

func FetchEIPInternetChargeType

func FetchEIPInternetChargeType(vpcClient alicloudclient.VPC, vpcID string) (string, error)

FetchEIPInternetChargeType fetches the internet charge type for the VPC's EIP.

func NewActuator

func NewActuator(machineImageOwnerSecretRef *corev1.SecretReference) infrastructure.Actuator

NewActuator instantiates an actuator with the default dependencies.

func NewActuatorWithDeps

func NewActuatorWithDeps(
	logger logr.Logger,
	newClientFactory alicloudclient.ClientFactory,
	alicloudClientFactory alicloudclient.Factory,
	terraformerFactory terraformer.Factory,
	chartRendererFactory extensionschartrenderer.Factory,
	terraformChartOps TerraformChartOps,
	machineImageOwnerSecretRef *corev1.SecretReference,
) infrastructure.Actuator

NewActuatorWithDeps instantiates an actuator with the given dependencies.

Types

type AddOptions

type AddOptions struct {
	// Controller are the controller.Options.
	Controller controller.Options
	// IgnoreOperationAnnotation specifies whether to ignore the operation annotation or not.
	IgnoreOperationAnnotation bool
	// MachineImageOwnerSecretRef is the secret reference which contains credential of AliCloud subaccount for customized images.
	MachineImageOwnerSecretRef *corev1.SecretReference
}

AddOptions are options to apply when adding the infrastructure controller to the manager.

type InitializerValues

type InitializerValues struct {
	CreateVPC          bool
	VPCID              string
	VPCCIDR            string
	NATGatewayID       string
	SNATTableIDs       string
	InternetChargeType string
}

InitializerValues are values used to render a terraform initializer chart.

type TerraformChartOps

type TerraformChartOps interface {
	ComputeCreateVPCInitializerValues(config *v1alpha1.InfrastructureConfig, internetChargeType string) *InitializerValues
	ComputeUseVPCInitializerValues(config *v1alpha1.InfrastructureConfig, info *VPCInfo) *InitializerValues
	ComputeChartValues(infra *extensionsv1alpha1.Infrastructure, config *v1alpha1.InfrastructureConfig, values *InitializerValues) map[string]interface{}
}

TerraformChartOps are operations to do for interfacing with Terraform charts.

func DefaultTerraformOps

func DefaultTerraformOps() TerraformChartOps

DefaultTerraformOps returns the default TerraformChartOps.

type VPCInfo

type VPCInfo struct {
	CIDR               string
	NATGatewayID       string
	SNATTableIDs       string
	InternetChargeType string
}

VPCInfo contains info about an existing VPC.

func GetVPCInfo

func GetVPCInfo(vpcClient alicloudclient.VPC, vpcID string) (*VPCInfo, error)

GetVPCInfo gets info of an existing VPC.

Jump to

Keyboard shortcuts

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