machinecontroller

package
v1.4.0-rc.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CRDNames added in v1.3.0

func CRDNames() []string

func CreateMachineDeployments added in v1.0.0

func CreateMachineDeployments(s *state.State) error

CreateMachineDeployments creates MachineDeployments that create appropriate worker machines

func DestroyWorkers added in v0.7.0

func DestroyWorkers(s *state.State) error

DestroyWorkers destroys all MachineDeployment, MachineSet and Machine objects

func GenerateMachineDeploymentsManifest added in v1.0.0

func GenerateMachineDeploymentsManifest(s *state.State) (string, error)

GenerateMachineDeploymentsManifest generates YAML manifests containing all MachineDeployments present in the state.

func WaitDestroy added in v1.0.0

func WaitDestroy(s *state.State) error

WaitDestroy waits for all Machines to be deleted

func WaitReady added in v0.5.0

func WaitReady(s *state.State) error

WaitReady waits for machine-controller and its webhook to become ready

Types

type AWSSpec added in v0.7.0

type AWSSpec struct {
	AMI                string            `json:"ami"`
	AssignPublicIP     *bool             `json:"assignPublicIP"`
	AvailabilityZone   string            `json:"availabilityZone"`
	DiskIops           *int              `json:"diskIops,omitempty"`
	DiskSize           *int              `json:"diskSize"`
	DiskType           string            `json:"diskType"`
	EBSVolumeEncrypted bool              `json:"ebsVolumeEncrypted"`
	InstanceProfile    string            `json:"instanceProfile"`
	InstanceType       *string           `json:"instanceType"`
	IsSpotInstance     *bool             `json:"isSpotInstance,omitempty"`
	Region             string            `json:"region"`
	SecurityGroupIDs   []string          `json:"securityGroupIDs"`
	SubnetID           string            `json:"subnetId"`
	Tags               map[string]string `json:"tags"`
	VPCID              string            `json:"vpcId"`
}

AWSSpec holds cloudprovider spec for AWS

type AzureImagePlan added in v1.0.0

type AzureImagePlan struct {
	Name      string `json:"name,omitempty"`
	Publisher string `json:"publisher,omitempty"`
	Product   string `json:"product,omitempty"`
}

type AzureSpec added in v0.9.0

type AzureSpec struct {
	AssignPublicIP    bool              `json:"assignPublicIP"`
	AvailabilitySet   string            `json:"availabilitySet"`
	Location          string            `json:"location"`
	ResourceGroup     string            `json:"resourceGroup"`
	RouteTableName    string            `json:"routeTableName"`
	SecurityGroupName string            `json:"securityGroupName"`
	Zones             []string          `json:"zones"`
	ImagePlan         *AzureImagePlan   `json:"imagePlan"`
	SubnetName        string            `json:"subnetName"`
	Tags              map[string]string `json:"tags"`
	VMSize            string            `json:"vmSize"`
	VNetName          string            `json:"vnetName"`
	ImageID           string            `json:"imageID"`
	OSDiskSize        int               `json:"osDiskSize"`
	DataDiskSize      int               `json:"dataDiskSize"`
}

AzureSpec holds cloudprovider spec for Azure

type DigitalOceanSpec added in v0.7.0

type DigitalOceanSpec struct {
	Region            string   `json:"region"`
	Size              string   `json:"size"`
	Backups           bool     `json:"backups"`
	IPv6              bool     `json:"ipv6"`
	PrivateNetworking bool     `json:"private_networking"`
	Monitoring        bool     `json:"monitoring"`
	Tags              []string `json:"tags"`
}

DigitalOceanSpec holds cloudprovider spec for DigitalOcean

type EquinixMetalSpec added in v1.4.0

type EquinixMetalSpec struct {
	ProjectID    string   `json:"projectID"`
	BillingCycle string   `json:"billingCycle"`
	Facilities   []string `json:"facilities"`
	InstanceType string   `json:"instanceType"`
	Tags         []string `json:"tags,omitempty"`
}

EquinixMetalSpec holds cloudprovider spec for Equinix Metal

type GCESpec added in v0.7.0

type GCESpec struct {
	DiskSize              int               `json:"diskSize"`
	DiskType              string            `json:"diskType"`
	MachineType           string            `json:"machineType"`
	Network               string            `json:"network"`
	Subnetwork            string            `json:"subnetwork"`
	Zone                  string            `json:"zone"`
	Preemptible           bool              `json:"preemptible"`
	AssignPublicIPAddress *bool             `json:"assignPublicIPAddress"`
	Labels                map[string]string `json:"labels"`
	Tags                  []string          `json:"tags"`
	MultiZone             *bool             `json:"multizone"`
	Regional              *bool             `json:"regional"`
	CustomImage           string            `json:"customImage,omitempty"`
}

GCESpec holds cloudprovider spec for GCE

type HetznerSpec added in v0.7.0

type HetznerSpec struct {
	ServerType string            `json:"serverType"`
	Datacenter string            `json:"datacenter"`
	Location   string            `json:"location"`
	Image      string            `json:"image"`
	Networks   []string          `json:"networks"`
	Labels     map[string]string `json:"labels,omitempty"`
}

HetznerSpec holds cloudprovider spec for Hetzner

type NutanixSpec added in v1.4.0

type NutanixSpec struct {
	ClusterName string  `json:"clusterName"`
	ProjectName *string `json:"projectName,omitempty"`
	SubnetName  string  `json:"subnetName"`
	ImageName   string  `json:"imageName"`

	// VM sizing configuration
	CPUs           int64  `json:"cpus"`
	CPUCores       *int64 `json:"cpuCores,omitempty"`
	CPUPassthrough *bool  `json:"cpuPassthrough,omitempty"`
	MemoryMB       int64  `json:"memoryMB"`
	DiskSize       *int64 `json:"diskSize,omitempty"`

	// Metadata related configuration
	Categories map[string]string `json:"categories,omitempty"`
}

NutanixSpec holds cloudprovider spec for Nutanix

type OpenStackSpec added in v0.7.0

type OpenStackSpec struct {
	Image                 string            `json:"image"`
	Flavor                string            `json:"flavor"`
	SecurityGroups        []string          `json:"securityGroups"`
	FloatingIPPool        string            `json:"floatingIPPool"`
	AvailabilityZone      string            `json:"availabilityZone"`
	Network               string            `json:"network"`
	Subnet                string            `json:"subnet"`
	RootDiskSizeGB        *int              `json:"rootDiskSizeGB,omitempty"`
	NodeVolumeAttachLimit *uint             `json:"nodeVolumeAttachLimit,omitempty"`
	TrustDevicePath       bool              `json:"trustDevicePath"`
	Tags                  map[string]string `json:"tags"`
}

OpenStackSpec holds cloudprovider spec for OpenStack

type PacketSpec added in v0.7.0

type PacketSpec struct {
	ProjectID    string   `json:"projectID"`
	BillingCycle string   `json:"billingCycle"`
	Facilities   []string `json:"facilities"`
	InstanceType string   `json:"instanceType"`
	Tags         []string `json:"tags,omitempty"`
}

PacketSpec holds cloudprovider spec for Packet TODO: Remove after deprecation period.

type VSphereSpec added in v0.8.0

type VSphereSpec struct {
	AllowInsecure    bool   `json:"allowInsecure"`
	Cluster          string `json:"cluster"`
	CPUs             int    `json:"cpus"`
	Datacenter       string `json:"datacenter"`
	Datastore        string `json:"datastore"`
	DatastoreCluster string `json:"datastoreCluster"`
	DiskSizeGB       *int   `json:"diskSizeGB,omitempty"`
	Folder           string `json:"folder"`
	ResourcePool     string `json:"resourcePool"`
	MemoryMB         int    `json:"memoryMB"`
	TemplateVMName   string `json:"templateVMName"`
	VMNetName        string `json:"vmNetName,omitempty"`
}

VSphereSpec holds cloudprovider spec for vSphere

Jump to

Keyboard shortcuts

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