cluster

package
v0.0.0-...-64835f2 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2018 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CloudAmazon       = "amazon"
	CloudAzure        = "azure"
	CloudGoogle       = "google"
	CloudBaremetal    = "baremetal"
	CloudDigitalOcean = "digitalocean"
	CloudPacket       = "packet"
)
View Source
const (
	NetworkTypeLocal   = "local"
	NetworkTypePublic  = "public"
	NetworkTypePrivate = "private"
)
View Source
const (
	ServerPoolTypeMaster = "master"
	ServerPoolTypeNode   = "node"
	ServerPoolTypeHybrid = "hybrid"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AwsConfiguration

type AwsConfiguration struct {
	SpotPrice string `json:"spotPrice,omitempty"`
}

type Cluster

type Cluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Name              string         `json:"name,omitempty"`
	Project           *Project       `json:"project,omitempty"`
	CloudId           string         `json:"cloudId,omitempty"`
	ServerPools       []*ServerPool  `json:"serverPools,omitempty"`
	Cloud             string         `json:"cloud,omitempty"`
	Location          string         `json:"location,omitempty"`
	SSH               *SSH           `json:"SSH,omitempty"`
	Network           *Network       `json:"network,omitempty"`
	Values            *Values        `json:"values,omitempty"`
	KubernetesAPI     *KubernetesAPI `json:"kubernetesAPI,omitempty"`
	GroupIdentifier   string         `json:"groupIdentifier,omitempty"`
	Components        *Components    `json:"components,omitempty"`
}

func NewCluster

func NewCluster(name string) *Cluster

type Components

type Components struct {
	ComponentVPN bool `json:"vpn"`
}

type EgressRule

type EgressRule struct {
	Shared
	EgressToPort      string `json:"engressToPort,omitempty"` //this thing should be a string.
	EgressDestination string `json:"engressDestination,omitempty"`
	EgressProtocol    string `json:"engressProtocol,omitempty"`
}

EgressRule parameters for the firewall

type Firewall

type Firewall struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Identifier        string         `json:"identifier,omitempty"`
	IngressRules      []*IngressRule `json:"ingressRules,omitempty"`
	EgressRules       []*EgressRule  `json:"egressRules,omitempty"`
	Name              string         `json:"name,omitempty"`
}

Firewall contains the configuration a user expects to be applied.

type IAMInstanceProfile

type IAMInstanceProfile struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Name              string   `json:"name,omitempty"`
	Identifier        string   `json:"identifier,omitempty"`
	Role              *IAMRole `json:"role,omitempty"`
}

type IAMPolicy

type IAMPolicy struct {
	Name       string `json:"name,omitempty"`
	Document   string `json:"document,omitempty"`
	Identifier string `json:"identifier,omitempty"`
}

type IAMRole

type IAMRole struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Name              string       `json:"name,omitempty"`
	Identifier        string       `json:"identifier,omitempty"`
	Policies          []*IAMPolicy `json:"policies,omitempty"`
}

type IngressRule

type IngressRule struct {
	Shared
	IngressFromPort string `json:"ingressFromPort,omitempty"`
	IngressToPort   string `json:"ingressToPort,omitempty"` //this thing should be a string.
	IngressSource   string `json:"ingressSource,omitempty"`
	IngressProtocol string `json:"ingressProtocol,omitempty"`
}

IngressRule parameters for the firewall

type InternetGW

type InternetGW struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Name              string `json:"name,omitempty"`
	Identifier        string `json:"identifier,omitempty"`
}

type KubernetesAPI

type KubernetesAPI struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Endpoint          string `json:"endpoint,omitempty"`
	Port              string `json:"port,omitempty"`
}

type Network

type Network struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	CIDR              string      `json:"cidr,omitempty"`
	Identifier        string      `json:"identifier,omitempty"`
	Type              string      `json:"type,omitempty"`
	InternetGW        *InternetGW `json:"internetgw,omitempty"`
}

type Project

type Project struct {
	Name       string `json:"name,omitempty"`
	Identifier string `json:"identifier,omitempty"`
}

type SSH

type SSH struct {
	metav1.TypeMeta      `json:",inline"`
	metav1.ObjectMeta    `json:"metadata,omitempty"`
	Name                 string `json:"name,omitempty"`
	User                 string `json:"user,omitempty"`
	Identifier           string `json:"identifier,omitempty"`
	PublicKeyPath        string `json:"publicKeyPath,omitempty"`
	PublicKeyData        []byte `json:"publicKeyData,omitempty"`
	PublicKeyFingerprint string `json:"publicKeyFingerprint,omitempty"`
	Port                 string `json:"port,omitempty"`
}

type ServerPool

type ServerPool struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Identifier        string              `json:"identifier,omitempty"`
	MinCount          int                 `json:"minCount,omitempty"`
	MaxCount          int                 `json:"maxCount,omitempty"`
	Type              string              `json:"type,omitempty"`
	Name              string              `json:"name,omitempty"`
	Image             string              `json:"image,omitempty"`
	Size              string              `json:"size,omitempty"`
	InstanceProfile   *IAMInstanceProfile `json:"instanceProfile,omitempty"`
	BootstrapScripts  []string            `json:"bootstrapScripts,omitempty"`
	Subnets           []*Subnet           `json:"subnets,omitempty"`
	Firewalls         []*Firewall         `json:"firewalls,omitempty"`
	AwsConfiguration  *AwsConfiguration   `json:"awsconfiguration,omitempty"`
}

type Shared

type Shared struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Identifier        string `json:"identifier,omitempty"`
}

Shared object infor among rules.

type Subnet

type Subnet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Identifier        string `json:"identifier,omitempty"`
	CIDR              string `json:"cidr,omitempty"`
	Location          string `json:"location,omitempty"`
	Zone              string `json:"zone,omitempty"`
	Name              string `json:"name,omitempty"`
}

type Values

type Values struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	ItemMap           map[string]string `json:"itemMap,omitempty"`
}

Jump to

Keyboard shortcuts

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