clusterapi

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2022 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CapiChangeDiff added in v0.7.0

func CapiChangeDiff(currentSpec, newSpec *cluster.Spec, provider providers.Provider) *types.ChangeDiff

func Cluster added in v0.8.0

func Cluster(clusterSpec *cluster.Spec, infrastructureObject, controlPlaneObject APIObject) *clusterv1.Cluster

func InfrastructureAPIVersion added in v0.8.0

func InfrastructureAPIVersion() string

func KubeadmConfigTemplate added in v0.8.0

func KubeadmConfigTemplate(clusterSpec *cluster.Spec, workerNodeGroupConfig v1alpha1.WorkerNodeGroupConfiguration) bootstrapv1.KubeadmConfigTemplate

func KubeadmControlPlane added in v0.8.0

func KubeadmControlPlane(clusterSpec *cluster.Spec, infrastructureObject APIObject) *controlplanev1.KubeadmControlPlane

func MachineDeployment added in v0.8.0

func MachineDeployment(clusterSpec *cluster.Spec, workerNodeGroupConfig v1alpha1.WorkerNodeGroupConfiguration, bootstrapObject, infrastructureObject APIObject) clusterv1.MachineDeployment

Types

type APIObject added in v0.8.0

type APIObject interface {
	runtime.Object
	GetName() string
}

type CAPIChangeDiff added in v0.6.0

type CAPIChangeDiff struct {
	CertManager            *types.ComponentChangeDiff
	Core                   *types.ComponentChangeDiff
	ControlPlane           *types.ComponentChangeDiff
	BootstrapProviders     []types.ComponentChangeDiff
	InfrastructureProvider *types.ComponentChangeDiff
}

type CAPIClient added in v0.6.0

type CAPIClient interface {
	Upgrade(ctx context.Context, managementCluster *types.Cluster, provider providers.Provider, newSpec *cluster.Spec, changeDiff *CAPIChangeDiff) error
	InstallEtcdadmProviders(ctx context.Context, clusterSpec *cluster.Spec, cluster *types.Cluster, provider providers.Provider, installProviders []string) error
}

type Client added in v0.6.0

type Client interface {
	GetClusterResourceSet(ctx context.Context, kubeconfigFile, name, namespace string) (*addons.ClusterResourceSet, error)
	GetConfigMap(ctx context.Context, kubeconfigFile, name, namespace string) (*corev1.ConfigMap, error)
	GetSecretFromNamespace(ctx context.Context, kubeconfigFile, name, namespace string) (*corev1.Secret, error)
	ApplyKubeSpecFromBytes(ctx context.Context, cluster *types.Cluster, data []byte) error
}

type ClusterResourceSet

type ClusterResourceSet struct {
	// contains filtered or unexported fields
}

func NewClusterResourceSet

func NewClusterResourceSet(clusterName string) *ClusterResourceSet

func (ClusterResourceSet) AddResource

func (c ClusterResourceSet) AddResource(name string, content []byte)

func (ClusterResourceSet) ToYaml

func (c ClusterResourceSet) ToYaml() ([]byte, error)

type ExtraArgs

type ExtraArgs map[string]string

func AwsIamAuthExtraArgs added in v0.6.0

func AwsIamAuthExtraArgs(awsiam *v1alpha1.AWSIamConfig) ExtraArgs

func ControlPlaneNodeLabelsExtraArgs added in v0.7.0

func ControlPlaneNodeLabelsExtraArgs(cpc v1alpha1.ControlPlaneConfiguration) ExtraArgs

func OIDCToExtraArgs

func OIDCToExtraArgs(oidc *v1alpha1.OIDCConfig) ExtraArgs

func PodIAMAuthExtraArgs added in v0.6.1

func PodIAMAuthExtraArgs(podIAMConfig *v1alpha1.PodIAMConfig) ExtraArgs

func ResolvConfExtraArgs added in v0.7.0

func ResolvConfExtraArgs(resolvConf *v1alpha1.ResolvConf) ExtraArgs

func SecureEtcdTlsCipherSuitesExtraArgs added in v0.7.0

func SecureEtcdTlsCipherSuitesExtraArgs() ExtraArgs

func SecureTlsCipherSuitesExtraArgs added in v0.7.0

func SecureTlsCipherSuitesExtraArgs() ExtraArgs

We don't need to add these once the Kubernetes components default to using the secure cipher suites

func WorkerNodeLabelsExtraArgs added in v0.7.0

func WorkerNodeLabelsExtraArgs(wnc v1alpha1.WorkerNodeGroupConfiguration) ExtraArgs

func (ExtraArgs) AddIfNotEmpty

func (e ExtraArgs) AddIfNotEmpty(k, v string)

func (ExtraArgs) Append added in v0.6.0

func (e ExtraArgs) Append(args ExtraArgs) ExtraArgs

func (ExtraArgs) ToPartialYaml

func (e ExtraArgs) ToPartialYaml() templater.PartialYaml

type Installer added in v0.6.0

type Installer struct {
	// contains filtered or unexported fields
}

func NewInstaller added in v0.6.0

func NewInstaller(capiClient CAPIClient, kubectlClient KubectlClient) *Installer

func (*Installer) EnsureEtcdProvidersInstallation added in v0.6.0

func (i *Installer) EnsureEtcdProvidersInstallation(ctx context.Context, managementCluster *types.Cluster, provider providers.Provider, currSpec *cluster.Spec) error

type KubectlClient added in v0.6.0

type KubectlClient interface {
	CheckProviderExists(ctx context.Context, kubeconfigFile, name, namespace string) (bool, error)
}

type Manager added in v0.6.0

type Manager struct {
	*Installer
	*Upgrader
}

func NewManager added in v0.6.0

func NewManager(capiClient CAPIClient, kubectlClient KubectlClient) *Manager

type ResourceSetManager added in v0.6.0

type ResourceSetManager struct {
	// contains filtered or unexported fields
}

ResourceSetManager helps managing capi ClusterResourceSet's It doesn't implement the complete ClusterResourceSet specification so there might be some configurations that are not supported. JsonLists as content in resources are not supported

func NewResourceSetManager added in v0.6.0

func NewResourceSetManager(client Client) *ResourceSetManager

func (*ResourceSetManager) ForceUpdate added in v0.6.0

func (r *ResourceSetManager) ForceUpdate(ctx context.Context, name, namespace string, managementCluster, workloadCluster *types.Cluster) error

type Upgrader added in v0.6.0

type Upgrader struct {
	// contains filtered or unexported fields
}

func NewUpgrader added in v0.6.0

func NewUpgrader(capiClient CAPIClient, kubectlClient KubectlClient) *Upgrader

func (*Upgrader) Upgrade added in v0.6.0

func (u *Upgrader) Upgrade(ctx context.Context, managementCluster *types.Cluster, provider providers.Provider, currentSpec, newSpec *cluster.Spec) (*types.ChangeDiff, error)

Directories

Path Synopsis
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