Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AutoScalerServerConfig ¶
type AutoScalerServerConfig struct { Network string `default:"tcp" json:"network"` // Mandatory, Network to listen (see grpc doc) to listen Listen string `default:"0.0.0.0:5200" json:"listen"` // Mandatory, Address to listen ProviderID string `json:"secret"` // Mandatory, secret Identifier, client must match this MinNode int `json:"minNode"` // Mandatory, Min AutoScaler VM MaxNode int `json:"maxNode"` // Mandatory, Max AutoScaler VM MaxPods int `json:"maxPods"` // Mandatory, Max kubelet pods NodePrice float64 `json:"nodePrice"` // Optional, The VM price PodPrice float64 `json:"podPrice"` // Optional, The pod price KubeConfig string `json:"-"` KubeAdm KubeJoinConfig `json:"kubeadm"` DefaultMachineType string `default:"{\"standard\": {}}" json:"default-machine"` Machines map[string]*MachineCharacteristic `default:"{\"standard\": {}}" json:"machines"` // Mandatory, Available machines CloudInit interface{} `json:"cloud-init"` // Optional, The cloud init conf file SyncFolders *AutoScalerServerSyncFolders `json:"sync-folder"` // Optional, do rsync between host and guest Optionals *AutoScalerServerOptionals `json:"optionals"` SSH *AutoScalerServerSSH `json:"ssh-infos"` CloudProvider string `json:"cloud-provider"` AwsInfos map[string]*aws.Configuration `json:"aws"` }
AutoScalerServerConfig is contains configuration
func (*AutoScalerServerConfig) GetAwsConfiguration ¶
func (conf *AutoScalerServerConfig) GetAwsConfiguration(name string) *aws.Configuration
GetAwsConfiguration returns the aws named conf or default
type AutoScalerServerOptionals ¶
type AutoScalerServerOptionals struct { Pricing bool `json:"pricing"` GetAvailableMachineTypes bool `json:"getAvailableMachineTypes"` NewNodeGroup bool `json:"newNodeGroup"` TemplateNodeInfo bool `json:"templateNodeInfo"` Create bool `json:"create"` Delete bool `json:"delete"` }
AutoScalerServerOptionals declare wich features must be optional
type AutoScalerServerRsync ¶
type AutoScalerServerRsync struct { Source string `json:"source"` Destination string `json:"destination"` Excludes []string `json:"excludes"` }
AutoScalerServerRsync declare an rsync operation
type AutoScalerServerSSH ¶
type AutoScalerServerSSH struct { UserName string `json:"user"` Password string `json:"password"` AuthKeys string `json:"ssh-private-key"` }
AutoScalerServerSSH contains ssh client infos
func (*AutoScalerServerSSH) GetAuthKeys ¶
func (ssh *AutoScalerServerSSH) GetAuthKeys() string
GetAuthKeys returns the path to key file, subsistute ~
func (*AutoScalerServerSSH) GetUserName ¶
func (ssh *AutoScalerServerSSH) GetUserName() string
GetUserName returns user name from config or the real current username is empty or equal to ~
type AutoScalerServerSyncFolders ¶
type AutoScalerServerSyncFolders struct { RsyncOptions []string `json:"options"` RsyncUser string `json:"user"` RsyncSSHKey string `json:"ssh-key"` Folders []AutoScalerServerRsync `json:"folders"` }
AutoScalerServerSyncFolders declare how to sync file between host and guest
type KubeJoinConfig ¶
type KubeJoinConfig struct { Address string `json:"address,omitempty"` Token string `json:"token,omitempty"` CACert string `json:"ca,omitempty"` ExtraArguments []string `json:"extras-args,omitempty"` }
KubeJoinConfig give element to join kube master
type MachineCharacteristic ¶
type MachineCharacteristic struct { Price float64 `json:"price"` // VM price in USD Memory int `json:"memsize"` // VM Memory size in megabytes Vcpu int `json:"vcpus"` // VM number of cpus Disk int `json:"disksize"` // VM disk size in megabytes }
MachineCharacteristic defines VM kind
Click to show internal directories.
Click to hide internal directories.