engine

package
v0.0.0-...-38b8b32 Latest Latest
Warning

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

Go to latest
Published: May 15, 2020 License: Apache-2.0 Imports: 6 Imported by: 0

README

Cluster Engine

Cluster Engine is a tool that handles interacting with upstream cluster provisioner tools, like CAPV or RKE, to create Kubernetes management clusters.

Installation

Use go to install cluster-engine.

go install cmd/cluster-engine/cluster-engine.go
$(go env GOPATH)/bin/cluster-engine -h

Use make to build cluster-engine.

make cluster-engine
./bin/cluster-engine/cluster-engine-linux -h

Usage

cluster-engine capv --config pkg/engines/cluster-engine.yaml.example

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

Apache 2.0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(c Cluster) error

Run provider bootstrap process

Types

type Cluster

type Cluster interface {
	// CreateBootstrap sets up the boostrap cluster
	CreateBootstrap() error
	// InstallControlPlane puts the control plane on the boostrap cluster
	InstallControlPlane() error
	// CreatePermanent provisions the permanent management cluster
	CreatePermanent() error
	// PivotControlPlane moves the control plane from bootstrap to permanent management cluster
	PivotControlPlane() error
	// InstallAddons will install any addons into the permanent management cluster
	InstallAddons() error
	// RequiredCommands returns the command like binaries need to run the engine
	RequiredCommands() []string
	// Events are messages from the implementation
	Events() progress.Events
	// Spec returns the spec for the interface
	Spec() MgmtCluster
}

Cluster interface for deploying K8s clusters

type MgmtCluster

type MgmtCluster struct {
	LogFile                 string         `yaml:"LogFile" json:"logfile"`
	SSH                     cluster.SSH    `yaml:"SSH" json:"ssh"`
	Addons                  cluster.Addons `yaml:"Addons,omitempty" json:"addons,omitempty"`
	cluster.K8sConfig       `yaml:",inline" json:",inline" mapstructure:",squash"`
	EventStream             progress.Events `yaml:"-" json:"-" mapstructure:"-"`
	ProgressEndpointEnabled bool            `yaml:"-" json:"-" mapstructure:"-"`
}

MgmtCluster spec for the Engine

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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