clusterapi

package
v0.9.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	EKSAClusterLabelName      = "cluster.anywhere.eks.amazonaws.com/cluster-name"
	EKSAClusterLabelNamespace = "cluster.anywhere.eks.amazonaws.com/cluster-namespace"
)

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 ClusterName added in v0.9.2

func ClusterName(cluster *anywherev1.Cluster) string

ClusterName generates the CAPI cluster name for an EKSA Cluster

func ControlPlaneMachineTemplateName added in v0.9.2

func ControlPlaneMachineTemplateName(clusterSpec *cluster.Spec) string

func CreateContainerdConfigFileInKubeadmConfigTemplate added in v0.9.2

func CreateContainerdConfigFileInKubeadmConfigTemplate(kct *bootstrapv1.KubeadmConfigTemplate, cluster v1alpha1.ClusterSpec)

func CreateContainerdConfigFileInKubeadmControlPlane added in v0.9.2

func CreateContainerdConfigFileInKubeadmControlPlane(kcp *controlplanev1.KubeadmControlPlane, cluster v1alpha1.ClusterSpec)

func DefaultKubeadmConfigTemplateName added in v0.9.2

func DefaultKubeadmConfigTemplateName(clusterSpec *cluster.Spec, workerNodeGroupConfig v1alpha1.WorkerNodeGroupConfiguration) string

func DefaultObjectName added in v0.9.0

func DefaultObjectName(baseName string) string

func IncrementName added in v0.9.0

func IncrementName(name string) (string, error)

func InfrastructureAPIVersion added in v0.8.0

func InfrastructureAPIVersion() string

func KubeadmConfigTemplate added in v0.8.0

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

func KubeadmConfigTemplateInCluster added in v0.9.2

func KubeadmConfigTemplateInCluster(ctx context.Context, kubeclient KubeClient, md *clusterv1.MachineDeployment) (*bootstrapv1.KubeadmConfigTemplate, error)

func KubeadmControlPlane added in v0.8.0

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

func KubeadmControlPlaneName added in v0.9.0

func KubeadmControlPlaneName(clusterSpec *cluster.Spec) string

func MachineDeployment added in v0.8.0

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

func MachineDeploymentInCluster added in v0.9.2

func MachineDeploymentInCluster(ctx context.Context, kubeclient KubeClient, clusterSpec *cluster.Spec, workerNodeGroupConfig v1alpha1.WorkerNodeGroupConfiguration) (*clusterv1.MachineDeployment, error)

func MachineDeploymentName added in v0.9.0

func MachineDeploymentName(clusterSpec *cluster.Spec, workerNodeGroupConfig v1alpha1.WorkerNodeGroupConfiguration) string

func NoProxyDefaults added in v0.9.2

func NoProxyDefaults() []string

func ObjectName added in v0.9.0

func ObjectName(baseName string, version int) string

func RestartContainerdInKubeadmConfigTemplate added in v0.9.2

func RestartContainerdInKubeadmConfigTemplate(kct *bootstrapv1.KubeadmConfigTemplate, cluster v1alpha1.ClusterSpec)

func RestartContainerdInKubeadmControlPlane added in v0.9.2

func RestartContainerdInKubeadmControlPlane(kcp *controlplanev1.KubeadmControlPlane, cluster v1alpha1.ClusterSpec)

func SetIdentityAuthInKubeadmControlPlane added in v0.9.0

func SetIdentityAuthInKubeadmControlPlane(kcp *controlplanev1.KubeadmControlPlane, clusterSpec *cluster.Spec)

func SetProxyConfigInKubeadmConfigTemplate added in v0.9.2

func SetProxyConfigInKubeadmConfigTemplate(kct *bootstrapv1.KubeadmConfigTemplate, cluster v1alpha1.ClusterSpec) error

func SetProxyConfigInKubeadmControlPlane added in v0.9.2

func SetProxyConfigInKubeadmControlPlane(kcp *controlplanev1.KubeadmControlPlane, cluster v1alpha1.ClusterSpec) error

func SetRegistryMirrorInKubeadmConfigTemplate added in v0.9.0

func SetRegistryMirrorInKubeadmConfigTemplate(kct *bootstrapv1.KubeadmConfigTemplate, mirrorConfig *v1alpha1.RegistryMirrorConfiguration) error

func SetRegistryMirrorInKubeadmControlPlane added in v0.9.0

func SetRegistryMirrorInKubeadmControlPlane(kcp *controlplanev1.KubeadmControlPlane, mirrorConfig *v1alpha1.RegistryMirrorConfiguration) error

func WorkerMachineTemplateName added in v0.9.2

func WorkerMachineTemplateName(clusterSpec *cluster.Spec, workerNodeGroupConfig v1alpha1.WorkerNodeGroupConfiguration) string

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 ControllerManagerArgs added in v0.9.2

func ControllerManagerArgs(clusterSpec *cluster.Spec) ExtraArgs

func NodeCIDRMaskExtraArgs added in v0.9.2

func NodeCIDRMaskExtraArgs(clusterNetwork *v1alpha1.ClusterNetwork) 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 KubeClient added in v0.9.2

type KubeClient interface {
	Get(ctx context.Context, name, namespace string, obj kubernetes.Object) error
}

KubeClient is a kubernetes API client

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