Documentation ¶
Index ¶
Constants ¶
View Source
const APIVersion = "cloud-burster.squarefactory.io/v1alpha1"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cloud ¶
type Cloud struct { AuthorizedKeys []string `yaml:"authorizedKeys"` PostScripts PostScriptsOpts `yaml:"postScripts,omitempty" validate:"omitempty"` Type string `yaml:"type" validate:"required"` *Network `yaml:"network,omitempty"` GroupsHost []GroupHost `yaml:"groupsHost,omitempty" validate:"omitempty,dive"` Hosts []Host `yaml:"hosts,omitempty" validate:"omitempty,dive"` CustomConfig map[string]interface{} `yaml:"customConfig,omitempty" validate:"omitempty"` *Openstack `yaml:"openstack,omitempty" validate:"required_if=Type openstack,excluded_unless=Type openstack"` *Exoscale `yaml:"exoscale,omitempty" validate:"required_if=Type exoscale,excluded_unless=Type exoscale"` *Shadow `yaml:"shadow,omitempty" validate:"required_if=Type shadow,excluded_unless=Type shadow"` }
type Config ¶
type Config struct { APIVersion string `yaml:"apiVersion" validate:"equalAPI"` Clouds []Cloud `yaml:"clouds" validate:"dive"` SuffixSearch []string `yaml:"suffixSearch"` }
func (*Config) GenerateHosts ¶
GenerateHosts generates hosts for the DNS server
func (*Config) SearchHostByHostName ¶
type Exoscale ¶
type GroupHost ¶
type GroupHost struct { // NamePattern overrides the host name NamePattern string `yaml:"namePattern" validate:"required"` // IPCidr overrides the IP. Based on NamePattern, each host will have an IP allocated. IPCidr string `yaml:"ipCIDR" validate:"required,cidr"` // IPOffset offsets the selection of IP. IPOffset int `yaml:"ipOffset" validate:"omitempty"` // HostTemplate defines helps to define a Host HostTemplate Host `yaml:"template"` }
func (*GroupHost) GenerateHosts ¶
type Host ¶
type Host struct { Name string `yaml:"name,omitempty" validate:"omitempty"` DiskSize int `yaml:"diskSize" validate:"required"` RAM int `yaml:"ram,omitempty" validate:"omitempty"` GPU int `yaml:"gpu,omitempty" validate:"omitempty"` FlavorName string `yaml:"flavorName" validate:"required"` ImageName string `yaml:"imageName" validate:"required"` IP string `yaml:"ip,omitempty" validate:"omitempty,ip"` }
type Network ¶
type Openstack ¶
type Openstack struct { IdentityEndpoint string `yaml:"identityEndpoint" validate:"omitempty,url"` UserName string `yaml:"username"` Password string `yaml:"password"` TenantID string `yaml:"tenantID"` TenantName string `yaml:"tenantName"` DomainID string `yaml:"domainID"` Region string `yaml:"region"` }
type PostScriptsOpts ¶
type PostScriptsOpts struct {
Git GitOpts `yaml:"git,omitempty" validate:"omitempty"`
}
Click to show internal directories.
Click to hide internal directories.