machinecontroller

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2019 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MachineControllerNamespace     = metav1.NamespaceSystem
	MachineControllerAppLabelKey   = "app"
	MachineControllerAppLabelValue = "machine-controller"
	MachineControllerTag           = "v1.3.0"
)

MachineController related constants

View Source
const (
	WebhookName          = "machine-controller-webhook"
	WebhookAppLabelKey   = "app"
	WebhookAppLabelValue = WebhookName
	WebhookTag           = MachineControllerTag
	WebhookNamespace     = metav1.NamespaceSystem
)

MachineController Webhook related constants

Variables

This section is empty.

Functions

func Deploy

func Deploy(ctx *util.Context) error

Deploy deploys MachineController deployment with RBAC on the cluster

func DeployMachineDeployments added in v0.2.0

func DeployMachineDeployments(ctx *util.Context) error

DeployMachineDeployments deploys MachineDeployments that create appropriate machines

func DeployWebhookConfiguration

func DeployWebhookConfiguration(ctx *util.Context) error

DeployWebhookConfiguration deploys MachineController webhook deployment on the cluster

func DestroyWorkers added in v0.8.0

func DestroyWorkers(ctx *util.Context) error

DestroyWorkers destroys all MachineDeployment, MachineSet and Machine objects

func Ensure added in v0.8.0

func Ensure(ctx *util.Context) error

Ensure install/update machine-controller

func WaitForMachineController added in v0.2.0

func WaitForMachineController(client dynclient.Client) error

WaitForMachineController waits for machine-controller-webhook to become running func WaitForMachineController(corev1Client corev1types.CoreV1Interface) error {

func WaitForWebhook added in v0.2.0

func WaitForWebhook(client dynclient.Client) error

WaitForWebhook waits for machine-controller-webhook to become running

func WaitReady added in v0.8.0

func WaitReady(ctx *util.Context) error

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

Types

type AWSSpec added in v0.8.0

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

AWSSpec holds cloudprovider spec for AWS

type AzureSpec added in v0.9.1

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"`
	SubnetName        string            `json:"subnetName"`
	Tags              map[string]string `json:"tags"`
	VMSize            string            `json:"vmSize"`
	VNetName          string            `json:"vnetName"`
}

AzureSpec holds cloudprovider spec for Azure

type DigitalOceanSpec added in v0.8.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 GCESpec added in v0.8.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"`
}

GCESpec holds cloudprovider spec for GCE

type HetznerSpec added in v0.8.0

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

HetznerSpec holds cloudprovider spec for Hetzner

type OpenStackSpec added in v0.8.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"`
	Tags             map[string]string `json:"tags"`
}

OpenStackSpec holds cloudprovider spec for OpenStack

type PacketSpec added in v0.8.0

type PacketSpec struct {
	ProjectID    string   `json:"projectID"`
	Facilities   []string `json:"facilities"`
	InstanceType string   `json:"instanceType"`
}

PacketSpec holds cloudprovider spec for Packet

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"`
	DiskSizeGB      *int   `json:"diskSizeGB,omitempty"`
	Folder          string `json:"folder"`
	MemoryMB        int    `json:"memoryMB"`
	TemplateNetName string `json:"templateNetName,omitempty"`
	TemplateVMName  string `json:"templateVMName"`
	VMNetName       string `json:"vmNetName,omitempty"`
}

VSphereSpec holds cloudprovider spec for vSphere

Source Files

  • cloudprovider_specs.go
  • deployment.go
  • helper.go
  • machines.go
  • webhook.go

Jump to

Keyboard shortcuts

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