providers

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EtcdNodeNameSuffix         = "etcd"
	ControlPlaneNodeNameSuffix = "cp"
)

Variables

This section is empty.

Functions

func GetControlPlaneNodeName added in v0.8.0

func GetControlPlaneNodeName(clusterName string) string

func GetEtcdNodeName added in v0.8.0

func GetEtcdNodeName(clusterName string) string

Types

type BuildMapOption

type BuildMapOption func(map[string]interface{})

type DatacenterConfig

type DatacenterConfig interface {
	Kind() string
	PauseReconcile()
	ClearPauseAnnotation()
	Marshallable() v1alpha1.Marshallable
}

type MachineConfig

type MachineConfig interface {
	OSFamily() v1alpha1.OSFamily
	Marshallable() v1alpha1.Marshallable
	GetNamespace() string
	GetName() string
}

func ConfigsMapToSlice added in v0.9.0

func ConfigsMapToSlice(c map[string]MachineConfig) []MachineConfig

type Provider

type Provider interface {
	Name() string
	SetupAndValidateCreateCluster(ctx context.Context, clusterSpec *cluster.Spec) error
	SetupAndValidateDeleteCluster(ctx context.Context, cluster *types.Cluster) error
	SetupAndValidateUpgradeCluster(ctx context.Context, cluster *types.Cluster, clusterSpec *cluster.Spec) error
	UpdateSecrets(ctx context.Context, cluster *types.Cluster) error
	GenerateCAPISpecForCreate(ctx context.Context, managementCluster *types.Cluster, clusterSpec *cluster.Spec) (controlPlaneSpec, workersSpec []byte, err error)
	GenerateCAPISpecForUpgrade(ctx context.Context, bootstrapCluster, workloadCluster *types.Cluster, currrentSpec, newClusterSpec *cluster.Spec) (controlPlaneSpec, workersSpec []byte, err error)
	GenerateStorageClass() []byte
	// PreCAPIInstallOnBootstrap is called after the bootstrap cluster is setup but before CAPI resources are installed on it. This allows us to do provider specific configuration on the bootstrap cluster.
	PreCAPIInstallOnBootstrap(ctx context.Context, cluster *types.Cluster, clusterSpec *cluster.Spec) error
	PostBootstrapSetup(ctx context.Context, clusterConfig *v1alpha1.Cluster, cluster *types.Cluster) error
	PostBootstrapSetupUpgrade(ctx context.Context, clusterConfig *v1alpha1.Cluster, cluster *types.Cluster) error
	// PostWorkloadInit is called after the workload cluster is created and initialized with a CNI. This allows us to do provider specific configuration on the workload cluster.
	PostWorkloadInit(ctx context.Context, cluster *types.Cluster, clusterSpec *cluster.Spec) error
	BootstrapClusterOpts() ([]bootstrapper.BootstrapClusterOption, error)
	UpdateKubeConfig(content *[]byte, clusterName string) error
	Version(clusterSpec *cluster.Spec) string
	EnvMap(clusterSpec *cluster.Spec) (map[string]string, error)
	GetDeployments() map[string][]string
	GetInfrastructureBundle(clusterSpec *cluster.Spec) *types.InfrastructureBundle
	DatacenterConfig(clusterSpec *cluster.Spec) DatacenterConfig
	DatacenterResourceType() string
	MachineResourceType() string
	MachineConfigs(clusterSpec *cluster.Spec) []MachineConfig
	ValidateNewSpec(ctx context.Context, cluster *types.Cluster, clusterSpec *cluster.Spec) error
	GenerateMHC() ([]byte, error)
	ChangeDiff(currentSpec, newSpec *cluster.Spec) *types.ComponentChangeDiff
	RunPostControlPlaneUpgrade(ctx context.Context, oldClusterSpec *cluster.Spec, clusterSpec *cluster.Spec, workloadCluster *types.Cluster, managementCluster *types.Cluster) error
	UpgradeNeeded(ctx context.Context, newSpec, currentSpec *cluster.Spec, cluster *types.Cluster) (bool, error)
	DeleteResources(ctx context.Context, clusterSpec *cluster.Spec) error
	MachineDeploymentsToDelete(workloadCluster *types.Cluster, currentSpec, newSpec *cluster.Spec) []string
	InstallCustomProviderComponents(ctx context.Context, kubeconfigFile string) error
	PostClusterDeleteValidate(ctx context.Context, managementCluster *types.Cluster) error
}

type TemplateBuilder

type TemplateBuilder interface {
	GenerateCAPISpecControlPlane(clusterSpec *cluster.Spec, buildOptions ...BuildMapOption) (content []byte, err error)
	GenerateCAPISpecWorkers(clusterSpec *cluster.Spec, workloadTemplateNames, kubeadmconfigTemplateNames map[string]string) (content []byte, err error)
}

Directories

Path Synopsis
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
api/v1beta1
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
hardware/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
stack/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
internal/tags/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
internal/templates/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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