Documentation
¶
Index ¶
Constants ¶
View Source
const ( CloudAmazon = "amazon" CloudAzure = "azure" CloudGoogle = "google" CloudBaremetal = "baremetal" CloudDigitalOcean = "digitalocean" )
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 Cluster ¶
type Cluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Name string `json:"name,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"`
}
func NewCluster ¶
type EgressRule ¶
type EgressRule struct {
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 IngressRule ¶
type IngressRule struct {
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 KubernetesAPI ¶
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 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"`
SpotPrice string `json:"spotPrice,omitempty"`
BootstrapScripts []string `json:"bootstrapScripts,omitempty"`
Subnets []*Subnet `json:"subnets,omitempty"`
Firewalls []*Firewall `json:"firewalls,omitempty"`
}
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"`
}
Click to show internal directories.
Click to hide internal directories.