providers

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2021 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ListProviders added in v0.4.0

func ListProviders() []apis.Provider

func RegisterProvider

func RegisterProvider(name string, p Factory)

RegisterProvider registers a provider.Factory by name.

Types

type Factory

type Factory func() (Provider, error)

Factory is a function that returns a Provider.Interface.

type Provider

type Provider interface {
	GetProviderName() string
	// Get command usage example.
	GetUsageExample(action string) string
	// create flags
	GetCreateFlags() []types.Flag
	// Create flags of provider options.
	GetOptionFlags() []types.Flag
	// Join command flags.
	GetJoinFlags() []types.Flag
	// Delete command flags.
	GetDeleteFlags() []types.Flag
	// SSH command flags.
	GetSSHFlags() []types.Flag
	// Credential flags.
	GetCredentialFlags() []types.Flag
	// Generate cluster name.
	GenerateClusterName() string
	// create/join extra master args for different provider
	GenerateMasterExtraArgs(cluster *types.Cluster, master types.Node) string
	// create/join extra worker args for different provider
	GenerateWorkerExtraArgs(cluster *types.Cluster, worker types.Node) string
	// K3s create cluster interface.
	CreateK3sCluster() error
	// K3s join node interface.
	JoinK3sNode() error
	// K3s delete cluster interface.
	DeleteK3sCluster(f bool) error
	// K3s ssh node interface.
	SSHK3sNode(node string) error
	// K3s check cluster exist.
	IsClusterExist() (bool, []string, error)
	// Rollback when error occurs.
	Rollback() error
	// merge exist cluster options
	MergeClusterOptions() error
	// describe detailed cluster information
	DescribeCluster(kubecfg string) *types.ClusterInfo
	// get cluster simple information
	GetCluster(kubecfg string) *types.ClusterInfo
	// get default ssh config for provider
	GetSSHConfig() *types.SSH
	// set cluster configuration of provider
	SetConfig(config []byte) error
	// validate create flags
	CreateCheck() error
	// merge metadata configs for provider
	SetMetadata(config *types.Metadata)
	// merge provider options
	SetOptions(opt []byte) error
	// validate join flags
	JoinCheck() error
	// get cluster config options
	GetClusterOptions() []types.Flag
	// get create command options
	GetCreateOptions() []types.Flag
	// convert options to specified provider option interface
	GetProviderOptions(opt []byte) (interface{}, error)
	// persistent credential from flags to db
	BindCredential() error
}

Provider is an abstract, pluggable interface for k3s provider

func GetProvider

func GetProvider(name string) (Provider, error)

GetProvider creates an instance of the named provider, or nil if the name is unknown. The error return is only used if the named provider was known but failed to initialize.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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