types

package
v1.17.5 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

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

type ResourceLimiter

type ResourceLimiter struct {
	MinLimits map[string]int64 `json:"min"`
	MaxLimits map[string]int64 `json:"max"`
}

ResourceLimiter define limit, not really used

Jump to

Keyboard shortcuts

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