scope

package
v0.6.5 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2021 License: Apache-2.0 Imports: 64 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrAZSubnetsNotFound is an error when a availability zone is specified but there are
	// no matching subnets for that availability zone (a.k.a. fault domain)
	ErrAZSubnetsNotFound = errors.New("no subnets found for supplied availability zone")
	// ErrLoggerRequired is an error if a logger isn't specified
	ErrLoggerRequired = errors.New("logger is required")
	// ErrNotPlaced is an error if there is no placement determined
	ErrNotPlaced = errors.New("placement not determined")
)
View Source
var SessionInterface interface {
}

SessionInterface is the interface for AWSCluster and ManagedCluster to be used to get session using identityRef.

Functions

func NewASGClient added in v0.6.1

func NewASGClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logr.Logger, target runtime.Object) autoscalingiface.AutoScalingAPI

NewASGClient creates a new ASG API client for a given session

func NewEC2Client added in v0.5.5

func NewEC2Client(scopeUser cloud.ScopeUsage, session cloud.Session, logger logr.Logger, target runtime.Object) ec2iface.EC2API

NewEC2Client creates a new EC2 API client for a given session

func NewEKSClient added in v0.6.0

func NewEKSClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logr.Logger, target runtime.Object) eksiface.EKSAPI

NewEKSClient creates a new EKS API client for a given session

func NewELBClient added in v0.5.5

func NewELBClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logr.Logger, target runtime.Object) elbiface.ELBAPI

NewELBClient creates a new ELB API client for a given session

func NewEventBridgeClient added in v0.6.5

func NewEventBridgeClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) eventbridgeiface.EventBridgeAPI

NewEventBridgeClient creates a new EventBridge API client for a given session

func NewGlobalSQSClient added in v0.6.5

func NewGlobalSQSClient(scopeUser cloud.ScopeUsage, session cloud.Session) sqsiface.SQSAPI

NewGlobalSQSClient for creating a new SQS API client that isn't tied to a cluster

func NewIAMClient added in v0.6.0

func NewIAMClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logr.Logger, target runtime.Object) iamiface.IAMAPI

NewIAMClient creates a new IAM API client for a given session

func NewResourgeTaggingClient added in v0.5.5

func NewResourgeTaggingClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logr.Logger, target runtime.Object) resourcegroupstaggingapiiface.ResourceGroupsTaggingAPIAPI

NewResourgeTaggingClient creates a new Resource Tagging API client for a given session

func NewSQSClient added in v0.6.5

func NewSQSClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) sqsiface.SQSAPI

NewSQSClient creates a new SQS API client for a given session

func NewSSMClient added in v0.6.0

func NewSSMClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logr.Logger, target runtime.Object) ssmiface.SSMAPI

NewSSMClient creates a new Secrets API client for a given session

func NewSTSClient added in v0.6.0

func NewSTSClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logr.Logger, target runtime.Object) stsiface.STSAPI

NewSTSClient creates a new STS API client for a given session

func NewSecretsManagerClient added in v0.5.5

func NewSecretsManagerClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logr.Logger, target runtime.Object) secretsmanageriface.SecretsManagerAPI

NewSecretsManagerClient creates a new Secrets API client for a given session

Types

type AWSClients

AWSClients contains all the aws clients used by the scopes.

type ClusterScope

type ClusterScope struct {
	logr.Logger

	Cluster    *clusterv1.Cluster
	AWSCluster *infrav1.AWSCluster
	// contains filtered or unexported fields
}

ClusterScope defines the basic context for an actuator to operate upon.

func NewClusterScope

func NewClusterScope(params ClusterScopeParams) (*ClusterScope, error)

NewClusterScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*ClusterScope) APIServerPort added in v0.4.1

func (s *ClusterScope) APIServerPort() int32

APIServerPort returns the APIServerPort to use when creating the load balancer.

func (*ClusterScope) AdditionalTags added in v0.4.1

func (s *ClusterScope) AdditionalTags() infrav1.Tags

AdditionalTags returns AdditionalTags from the scope's AWSCluster. The returned value will never be nil.

func (*ClusterScope) Bastion added in v0.5.5

func (s *ClusterScope) Bastion() *infrav1.Bastion

Bastion returns the bastion details.

func (*ClusterScope) CNIIngressRules added in v0.5.5

func (s *ClusterScope) CNIIngressRules() infrav1.CNIIngressRules

CNIIngressRules returns the CNI spec ingress rules.

func (*ClusterScope) Close

func (s *ClusterScope) Close() error

Close closes the current scope persisting the cluster configuration and status.

func (*ClusterScope) ControlPlaneConfigMapName

func (s *ClusterScope) ControlPlaneConfigMapName() string

ControlPlaneConfigMapName returns the name of the ConfigMap used to coordinate the bootstrapping of control plane nodes.

func (*ClusterScope) ControlPlaneLoadBalancer added in v0.4.3

func (s *ClusterScope) ControlPlaneLoadBalancer() *infrav1.AWSLoadBalancerSpec

ControlPlaneLoadBalancer returns the AWSLoadBalancerSpec

func (*ClusterScope) ControlPlaneLoadBalancerScheme added in v0.4.3

func (s *ClusterScope) ControlPlaneLoadBalancerScheme() infrav1.ClassicELBScheme

ControlPlaneLoadBalancerScheme returns the Classic ELB scheme (public or internal facing)

func (*ClusterScope) ControllerName added in v0.5.5

func (s *ClusterScope) ControllerName() string

ControllerName returns the name of the controller that created the ClusterScope.

func (*ClusterScope) IdentityRef added in v0.6.5

func (s *ClusterScope) IdentityRef() *infrav1.AWSIdentityReference

IdentityRef returns the cluster identityRef.

func (*ClusterScope) ImageLookupBaseOS added in v0.6.0

func (s *ClusterScope) ImageLookupBaseOS() string

ImageLookupBaseOS returns the base operating system name to use when looking up AMIs

func (*ClusterScope) ImageLookupFormat added in v0.6.0

func (s *ClusterScope) ImageLookupFormat() string

ImageLookupFormat returns the format string to use when looking up AMIs

func (*ClusterScope) ImageLookupOrg added in v0.6.0

func (s *ClusterScope) ImageLookupOrg() string

ImageLookupOrg returns the organization name to use when looking up AMIs

func (*ClusterScope) InfraCluster added in v0.5.5

func (s *ClusterScope) InfraCluster() cloud.ClusterObject

InfraCluster returns the AWS infrastructure cluster or control plane object.

func (*ClusterScope) InfraClusterName added in v0.6.5

func (s *ClusterScope) InfraClusterName() string

Name returns the AWS cluster name.

func (*ClusterScope) KubernetesClusterName added in v0.6.0

func (s *ClusterScope) KubernetesClusterName() string

KubernetesClusterName is the name of the Kubernetes cluster. For the cluster scope this is the same as the CAPI cluster name

func (*ClusterScope) ListOptionsLabelSelector

func (s *ClusterScope) ListOptionsLabelSelector() client.ListOption

ListOptionsLabelSelector returns a ListOptions with a label selector for clusterName.

func (*ClusterScope) Name

func (s *ClusterScope) Name() string

Name returns the CAPI cluster name.

func (*ClusterScope) Namespace

func (s *ClusterScope) Namespace() string

Namespace returns the cluster namespace.

func (*ClusterScope) Network

func (s *ClusterScope) Network() *infrav1.Network

Network returns the cluster network object.

func (*ClusterScope) PatchObject added in v0.5.0

func (s *ClusterScope) PatchObject() error

PatchObject persists the cluster configuration and status.

func (*ClusterScope) Region

func (s *ClusterScope) Region() string

Region returns the cluster region.

func (*ClusterScope) SSHKeyName added in v0.5.5

func (s *ClusterScope) SSHKeyName() *string

SSHKeyName returns the SSH key name to use for instances.

func (*ClusterScope) SecondaryCidrBlock added in v0.6.4

func (s *ClusterScope) SecondaryCidrBlock() *string

SecondaryCidrBlock is currently unimplemented for non-managed clusters

func (*ClusterScope) SecurityGroupOverrides added in v0.6.5

func (s *ClusterScope) SecurityGroupOverrides() map[infrav1.SecurityGroupRole]string

SecurityGroupOverrides returns the cluster security group overrides

func (*ClusterScope) SecurityGroups

SecurityGroups returns the cluster security groups as a map, it creates the map if empty.

func (*ClusterScope) ServiceLimiter added in v0.6.4

func (s *ClusterScope) ServiceLimiter(service string) *throttle.ServiceLimiter

ServiceLimiter returns the AWS SDK session. Used for creating clients

func (*ClusterScope) Session added in v0.5.5

func (s *ClusterScope) Session() awsclient.ConfigProvider

Session returns the AWS SDK session. Used for creating clients

func (*ClusterScope) SetBastionInstance added in v0.5.5

func (s *ClusterScope) SetBastionInstance(instance *infrav1.Instance)

SetBastionInstance sets the bastion instance in the status of the cluster.

func (*ClusterScope) SetFailureDomain added in v0.5.0

func (s *ClusterScope) SetFailureDomain(id string, spec clusterv1.FailureDomainSpec)

SetFailureDomain sets the infrastructure provider failure domain key to the spec given as input.

func (*ClusterScope) SetSubnets added in v0.5.5

func (s *ClusterScope) SetSubnets(subnets infrav1.Subnets)

SetSubnets updates the clusters subnets.

func (*ClusterScope) Subnets

func (s *ClusterScope) Subnets() infrav1.Subnets

Subnets returns the cluster subnets.

func (*ClusterScope) VPC

func (s *ClusterScope) VPC() *infrav1.VPCSpec

VPC returns the cluster VPC.

type ClusterScopeGetter

type ClusterScopeGetter interface {
	ClusterScope(params ClusterScopeParams) (*ClusterScope, error)
}

type ClusterScopeGetterFunc

type ClusterScopeGetterFunc func(params ClusterScopeParams) (*ClusterScope, error)

func (ClusterScopeGetterFunc) ClusterScope

func (f ClusterScopeGetterFunc) ClusterScope(params ClusterScopeParams) (*ClusterScope, error)

type ClusterScopeParams

type ClusterScopeParams struct {
	Client         client.Client
	Logger         logr.Logger
	Cluster        *clusterv1.Cluster
	AWSCluster     *infrav1.AWSCluster
	ControllerName string
	Endpoints      []ServiceEndpoint
	Session        awsclient.ConfigProvider
}

ClusterScopeParams defines the input parameters used to create a new Scope.

type EC2Scope added in v0.6.0

type EC2Scope interface {
	cloud.ClusterScoper

	// VPC returns the cluster VPC.
	VPC() *infrav1.VPCSpec

	// Subnets returns the cluster subnets.
	Subnets() infrav1.Subnets

	// Network returns the cluster network object.
	Network() *infrav1.Network

	// SecurityGroups returns the cluster security groups as a map, it creates the map if empty.
	SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup

	// Bastion returns the bastion details for the cluster.
	Bastion() *infrav1.Bastion

	// SetBastionInstance sets the bastion instance in the status of the cluster.
	SetBastionInstance(instance *infrav1.Instance)

	// SSHKeyName returns the SSH key name to use for instances.
	SSHKeyName() *string

	// ImageLookupFormat returns the format string to use when looking up AMIs
	ImageLookupFormat() string

	// ImageLookupOrg returns the organization name to use when looking up AMIs
	ImageLookupOrg() string

	// ImageLookupBaseOS returns the base operating system name to use when looking up AMIs
	ImageLookupBaseOS() string
}

Scope is the interface for the scoep to be used with the ec2 service

type ELBScope added in v0.6.0

type ELBScope interface {
	cloud.ClusterScoper

	// Network returns the cluster network object.
	Network() *infrav1.Network

	// Subnets returns the cluster subnets.
	Subnets() infrav1.Subnets

	// SecurityGroups returns the cluster security groups as a map, it creates the map if empty.
	SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup

	// VPC returns the cluster VPC.
	VPC() *infrav1.VPCSpec

	// ControlPlaneLoadBalancer returns the AWSLoadBalancerSpec
	ControlPlaneLoadBalancer() *infrav1.AWSLoadBalancerSpec

	// ControlPlaneLoadBalancerScheme returns the Classic ELB scheme (public or internal facing)
	ControlPlaneLoadBalancerScheme() infrav1.ClassicELBScheme
}

Scope is a scope for use with the ELB reconciling service

type FargateProfileScope added in v0.6.5

type FargateProfileScope struct {
	logr.Logger
	Client client.Client

	Cluster        *clusterv1.Cluster
	ControlPlane   *controlplanev1exp.AWSManagedControlPlane
	FargateProfile *infrav1exp.AWSFargateProfile
	// contains filtered or unexported fields
}

FargateProfileScope defines the basic context for an actuator to operate upon.

func NewFargateProfileScope added in v0.6.5

func NewFargateProfileScope(params FargateProfileScopeParams) (*FargateProfileScope, error)

NewFargateProfileScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*FargateProfileScope) AdditionalTags added in v0.6.5

func (s *FargateProfileScope) AdditionalTags() infrav1.Tags

AdditionalTags returns AdditionalTags from the scope's FargateProfile The returned value will never be nil.

func (*FargateProfileScope) Close added in v0.6.5

func (s *FargateProfileScope) Close() error

Close closes the current scope persisting the control plane configuration and status.

func (*FargateProfileScope) ClusterName added in v0.6.5

func (s *FargateProfileScope) ClusterName() string

ClusterName returns the cluster name.

func (*FargateProfileScope) ControlPlaneSubnets added in v0.6.5

func (s *FargateProfileScope) ControlPlaneSubnets() infrav1.Subnets

ControlPlaneSubnets returns the control plane subnets.

func (*FargateProfileScope) ControllerName added in v0.6.5

func (s *FargateProfileScope) ControllerName() string

ControllerName returns the name of the controller that created the FargateProfile.

func (*FargateProfileScope) EnableIAM added in v0.6.5

func (s *FargateProfileScope) EnableIAM() bool

EnableIAM indicates that reconciliation should create IAM roles

func (*FargateProfileScope) IAMReadyFalse added in v0.6.5

func (s *FargateProfileScope) IAMReadyFalse(reason string, err string) error

IAMReadyFalse marks the ready condition false using warning if error isn't empty

func (*FargateProfileScope) InfraCluster added in v0.6.5

func (s *FargateProfileScope) InfraCluster() cloud.ClusterObject

InfraCluster returns the AWS infrastructure cluster or control plane object.

func (*FargateProfileScope) KubernetesClusterName added in v0.6.5

func (s *FargateProfileScope) KubernetesClusterName() string

KubernetesClusterName is the name of the EKS cluster name.

func (*FargateProfileScope) ManagedPoolName added in v0.6.5

func (s *FargateProfileScope) ManagedPoolName() string

ManagedPoolName returns the managed machine pool name.

func (*FargateProfileScope) PatchObject added in v0.6.5

func (s *FargateProfileScope) PatchObject() error

PatchObject persists the control plane configuration and status.

func (*FargateProfileScope) RoleName added in v0.6.5

func (s *FargateProfileScope) RoleName() string

RoleName returns the node group role name

func (*FargateProfileScope) ServiceLimiter added in v0.6.5

func (s *FargateProfileScope) ServiceLimiter(service string) *throttle.ServiceLimiter

ServiceLimiter returns the AWS SDK session. Used for creating clients

func (*FargateProfileScope) Session added in v0.6.5

Session returns the AWS SDK session. Used for creating clients

func (*FargateProfileScope) SubnetIDs added in v0.6.5

func (s *FargateProfileScope) SubnetIDs() []string

SubnetIDs returns the machine pool subnet IDs.

type FargateProfileScopeParams added in v0.6.5

type FargateProfileScopeParams struct {
	Client         client.Client
	Logger         logr.Logger
	Cluster        *clusterv1.Cluster
	ControlPlane   *controlplanev1exp.AWSManagedControlPlane
	FargateProfile *infrav1exp.AWSFargateProfile
	ControllerName string
	Endpoints      []ServiceEndpoint
	Session        awsclient.ConfigProvider

	EnableIAM bool
}

FargateProfileScopeParams defines the input parameters used to create a new Scope.

type GlobalScope added in v0.6.5

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

func NewGlobalScope added in v0.6.5

func NewGlobalScope(params GlobalScopeParams) (*GlobalScope, error)

NewGlobalScope creates a new Scope from the supplied parameters.

func (*GlobalScope) ControllerName added in v0.6.5

func (s *GlobalScope) ControllerName() string

func (*GlobalScope) ServiceLimiter added in v0.6.5

func (s *GlobalScope) ServiceLimiter(service string) *throttle.ServiceLimiter

func (*GlobalScope) Session added in v0.6.5

func (s *GlobalScope) Session() awsclient.ConfigProvider

Session returns the AWS SDK session. Used for creating clients

type GlobalScopeParams added in v0.6.5

type GlobalScopeParams struct {
	ControllerName string
	Region         string
	Endpoints      []ServiceEndpoint
}

type MachinePoolScope added in v0.6.1

type MachinePoolScope struct {
	logr.Logger

	Cluster        *clusterv1.Cluster
	MachinePool    *expclusterv1.MachinePool
	InfraCluster   EC2Scope
	AWSMachinePool *expinfrav1.AWSMachinePool
	// contains filtered or unexported fields
}

MachinePoolScope defines a scope defined around a machine and its cluster.

func NewMachinePoolScope added in v0.6.1

func NewMachinePoolScope(params MachinePoolScopeParams) (*MachinePoolScope, error)

NewMachinePoolScope creates a new MachinePoolScope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*MachinePoolScope) AdditionalTags added in v0.6.1

func (m *MachinePoolScope) AdditionalTags() infrav1.Tags

AdditionalTags merges AdditionalTags from the scope's AWSCluster and AWSMachinePool. If the same key is present in both, the value from AWSMachinePool takes precedence. The returned Tags will never be nil.

func (*MachinePoolScope) Close added in v0.6.1

func (m *MachinePoolScope) Close() error

Close the MachinePoolScope by updating the machinepool spec, machine status.

func (*MachinePoolScope) GetASGStatus added in v0.6.1

func (m *MachinePoolScope) GetASGStatus() *expinfrav1.ASGStatus

GetASGStatus returns the AWSMachinePool instance state from the status.

func (*MachinePoolScope) GetProviderID added in v0.6.1

func (m *MachinePoolScope) GetProviderID() string

GetProviderID returns the AWSMachine providerID from the spec.

func (*MachinePoolScope) GetRawBootstrapData added in v0.6.1

func (m *MachinePoolScope) GetRawBootstrapData() ([]byte, error)

GetRawBootstrapData returns the bootstrap data from the secret in the Machine's bootstrap.dataSecretName. todo(rudoi): stolen from MachinePool - any way to reuse?

func (*MachinePoolScope) HasFailed added in v0.6.1

func (m *MachinePoolScope) HasFailed() bool

HasFailed returns true when the AWSMachinePool's Failure reason or Failure message is populated

func (*MachinePoolScope) IsEKSManaged added in v0.6.1

func (m *MachinePoolScope) IsEKSManaged() bool

func (*MachinePoolScope) Name added in v0.6.1

func (m *MachinePoolScope) Name() string

Name returns the AWSMachinePool name.

func (*MachinePoolScope) Namespace added in v0.6.1

func (m *MachinePoolScope) Namespace() string

Namespace returns the namespace name.

func (*MachinePoolScope) PatchObject added in v0.6.1

func (m *MachinePoolScope) PatchObject() error

PatchObject persists the machinepool spec and status.

func (*MachinePoolScope) SetASGStatus added in v0.6.1

func (m *MachinePoolScope) SetASGStatus(v expinfrav1.ASGStatus)

SetASGStatus sets the AWSMachine status instance state.

func (*MachinePoolScope) SetAnnotation added in v0.6.1

func (m *MachinePoolScope) SetAnnotation(key, value string)

SetAnnotation sets a key value annotation on the AWSMachine.

func (*MachinePoolScope) SetFailureMessage added in v0.6.1

func (m *MachinePoolScope) SetFailureMessage(v error)

SetFailureMessage sets the AWSMachine status failure message.

func (*MachinePoolScope) SetFailureReason added in v0.6.1

func (m *MachinePoolScope) SetFailureReason(v capierrors.MachineStatusError)

SetFailureReason sets the AWSMachine status failure reason.

func (*MachinePoolScope) SetNotReady added in v0.6.1

func (m *MachinePoolScope) SetNotReady()

SetNotReady sets the AWSMachinePool Ready Status to false

func (*MachinePoolScope) SubnetIDs added in v0.6.5

func (m *MachinePoolScope) SubnetIDs() ([]string, error)

SubnetIDs returns the machine pool subnet IDs.

func (*MachinePoolScope) UpdateInstanceStatuses added in v0.6.4

func (m *MachinePoolScope) UpdateInstanceStatuses(ctx context.Context, instances []infrav1.Instance) error

UpdateInstanceStatuses ties ASG instances and Node status data together and updates AWSMachinePool This updates if ASG instances ready and kubelet version running on the node..

type MachinePoolScopeParams added in v0.6.1

type MachinePoolScopeParams struct {
	Client client.Client
	Logger logr.Logger

	Cluster        *clusterv1.Cluster
	MachinePool    *expclusterv1.MachinePool
	InfraCluster   EC2Scope
	AWSMachinePool *expinfrav1.AWSMachinePool
}

MachinePoolScopeParams defines a scope defined around a machine and its cluster.

type MachineScope

type MachineScope struct {
	logr.Logger

	Cluster      *clusterv1.Cluster
	Machine      *clusterv1.Machine
	InfraCluster EC2Scope
	AWSMachine   *infrav1.AWSMachine
	// contains filtered or unexported fields
}

MachineScope defines a scope defined around a machine and its cluster.

func NewMachineScope

func NewMachineScope(params MachineScopeParams) (*MachineScope, error)

NewMachineScope creates a new MachineScope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*MachineScope) AWSMachineIsDeleted added in v0.4.9

func (m *MachineScope) AWSMachineIsDeleted() bool

func (*MachineScope) AdditionalTags added in v0.4.1

func (m *MachineScope) AdditionalTags() infrav1.Tags

AdditionalTags merges AdditionalTags from the scope's AWSCluster and AWSMachine. If the same key is present in both, the value from AWSMachine takes precedence. The returned Tags will never be nil.

func (*MachineScope) Close

func (m *MachineScope) Close() error

Close the MachineScope by updating the machine spec, machine status.

func (*MachineScope) DeleteSecretPrefix added in v0.4.9

func (m *MachineScope) DeleteSecretPrefix()

DeleteSecretPrefix deletes the prefix for the secret belonging to the AWSMachine in AWS Secrets Manager

func (*MachineScope) GetBootstrapData added in v0.4.9

func (m *MachineScope) GetBootstrapData() (string, error)

GetBootstrapData returns the bootstrap data from the secret in the Machine's bootstrap.dataSecretName as base64.

func (*MachineScope) GetInstanceID

func (m *MachineScope) GetInstanceID() *string

GetInstanceID returns the AWSMachine instance id by parsing Spec.ProviderID.

func (*MachineScope) GetInstanceState

func (m *MachineScope) GetInstanceState() *infrav1.InstanceState

GetInstanceState returns the AWSMachine instance state from the status.

func (*MachineScope) GetProviderID

func (m *MachineScope) GetProviderID() string

GetProviderID returns the AWSMachine providerID from the spec.

func (*MachineScope) GetRawBootstrapData added in v0.4.9

func (m *MachineScope) GetRawBootstrapData() ([]byte, error)

GetRawBootstrapData returns the bootstrap data from the secret in the Machine's bootstrap.dataSecretName.

func (*MachineScope) GetSecretCount added in v0.4.9

func (m *MachineScope) GetSecretCount() int32

GetSecretCount returns the number of AWS Secret Manager entries making up the complete userdata

func (*MachineScope) GetSecretPrefix added in v0.4.9

func (m *MachineScope) GetSecretPrefix() string

GetSecretPrefix returns the prefix for the secrets belonging to the AWSMachine in AWS Secrets Manager

func (*MachineScope) HasFailed added in v0.4.9

func (m *MachineScope) HasFailed() bool

func (*MachineScope) InstanceIsInKnownState added in v0.4.9

func (m *MachineScope) InstanceIsInKnownState() bool

func (*MachineScope) InstanceIsOperational added in v0.4.9

func (m *MachineScope) InstanceIsOperational() bool

func (*MachineScope) InstanceIsRunning added in v0.5.4

func (m *MachineScope) InstanceIsRunning() bool

func (*MachineScope) IsControlPlane

func (m *MachineScope) IsControlPlane() bool

IsControlPlane returns true if the machine is a control plane.

func (*MachineScope) IsEKSManaged added in v0.6.0

func (m *MachineScope) IsEKSManaged() bool

func (*MachineScope) Name

func (m *MachineScope) Name() string

Name returns the AWSMachine name.

func (*MachineScope) Namespace

func (m *MachineScope) Namespace() string

Namespace returns the namespace name.

func (*MachineScope) PatchObject added in v0.4.9

func (m *MachineScope) PatchObject() error

PatchObject persists the machine spec and status.

func (*MachineScope) Role

func (m *MachineScope) Role() string

Role returns the machine role from the labels.

func (*MachineScope) SecureSecretsBackend added in v0.6.1

func (m *MachineScope) SecureSecretsBackend() infrav1.SecretBackend

SecureSecretsBackend returns the chosen secret backend.

func (*MachineScope) SetAddresses added in v0.5.0

func (m *MachineScope) SetAddresses(addrs []clusterv1.MachineAddress)

SetAddresses sets the AWSMachine address status.

func (*MachineScope) SetAnnotation

func (m *MachineScope) SetAnnotation(key, value string)

SetAnnotation sets a key value annotation on the AWSMachine.

func (*MachineScope) SetFailureMessage added in v0.5.0

func (m *MachineScope) SetFailureMessage(v error)

SetFailureMessage sets the AWSMachine status failure message.

func (*MachineScope) SetFailureReason added in v0.5.0

func (m *MachineScope) SetFailureReason(v capierrors.MachineStatusError)

SetFailureReason sets the AWSMachine status failure reason.

func (*MachineScope) SetInstanceID added in v0.6.5

func (m *MachineScope) SetInstanceID(instanceID string)

SetInstanceID sets the AWSMachine instanceID in spec.

func (*MachineScope) SetInstanceState

func (m *MachineScope) SetInstanceState(v infrav1.InstanceState)

SetInstanceState sets the AWSMachine status instance state.

func (*MachineScope) SetInterruptible added in v0.6.4

func (m *MachineScope) SetInterruptible()

SetInterruptible sets the AWSMachine status Interruptible

func (*MachineScope) SetNotReady added in v0.5.0

func (m *MachineScope) SetNotReady()

SetNotReady sets the AWSMachine Ready Status to false

func (*MachineScope) SetProviderID

func (m *MachineScope) SetProviderID(instanceID, availabilityZone string)

SetProviderID sets the AWSMachine providerID in spec.

func (*MachineScope) SetReady

func (m *MachineScope) SetReady()

SetReady sets the AWSMachine Ready Status

func (*MachineScope) SetSecretCount added in v0.4.9

func (m *MachineScope) SetSecretCount(i int32)

SetSecretCount sets the number of AWS Secret Manager entries making up the complete userdata

func (*MachineScope) SetSecretPrefix added in v0.4.9

func (m *MachineScope) SetSecretPrefix(value string)

SetSecretPrefix sets the prefix for the secrets belonging to the AWSMachine in AWS Secrets Manager

func (*MachineScope) UseSecretsManager added in v0.4.9

func (m *MachineScope) UseSecretsManager() bool

UseSecretsManager returns the computed value of whether or not userdata should be stored using AWS Secrets Manager.

func (*MachineScope) UserDataIsUncompressed added in v0.5.2

func (m *MachineScope) UserDataIsUncompressed() bool

UserDataIsUncompressed returns the computed value of whether or not userdata should be compressed using gzip.

type MachineScopeGetter

type MachineScopeGetter interface {
	MachineScope(params MachineScopeParams) (*MachineScope, error)
}

type MachineScopeGetterFunc

type MachineScopeGetterFunc func(params MachineScopeParams) (*MachineScope, error)

func (MachineScopeGetterFunc) MachineScope

func (f MachineScopeGetterFunc) MachineScope(params MachineScopeParams) (*MachineScope, error)

type MachineScopeParams

type MachineScopeParams struct {
	Client       client.Client
	Logger       logr.Logger
	Cluster      *clusterv1.Cluster
	Machine      *clusterv1.Machine
	InfraCluster EC2Scope
	AWSMachine   *infrav1.AWSMachine
}

MachineScopeParams defines the input parameters used to create a new MachineScope.

type ManagedControlPlaneScope added in v0.6.0

type ManagedControlPlaneScope struct {
	logr.Logger
	Client client.Client

	Cluster      *clusterv1.Cluster
	ControlPlane *ekscontrolplanev1.AWSManagedControlPlane
	// contains filtered or unexported fields
}

ManagedControlPlaneScope defines the basic context for an actuator to operate upon.

func NewManagedControlPlaneScope added in v0.6.0

func NewManagedControlPlaneScope(params ManagedControlPlaneScopeParams) (*ManagedControlPlaneScope, error)

NewManagedControlPlaneScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*ManagedControlPlaneScope) APIServerPort added in v0.6.0

func (s *ManagedControlPlaneScope) APIServerPort() int32

APIServerPort returns the port to use when communicating with the API server

func (*ManagedControlPlaneScope) AdditionalTags added in v0.6.0

func (s *ManagedControlPlaneScope) AdditionalTags() infrav1.Tags

AdditionalTags returns AdditionalTags from the scope's EksControlPlane. The returned value will never be nil.

func (*ManagedControlPlaneScope) Addons added in v0.6.4

Addons returns the list of addons for a EKS cluster

func (*ManagedControlPlaneScope) AllowAdditionalRoles added in v0.6.0

func (s *ManagedControlPlaneScope) AllowAdditionalRoles() bool

AllowAdditionalRoles indicates if additional roles can be added to the created IAM roles

func (*ManagedControlPlaneScope) Bastion added in v0.6.0

Bastion returns the bastion details.

func (*ManagedControlPlaneScope) CNIIngressRules added in v0.6.0

func (s *ManagedControlPlaneScope) CNIIngressRules() infrav1.CNIIngressRules

CNIIngressRules returns the CNI spec ingress rules.

func (*ManagedControlPlaneScope) Close added in v0.6.0

func (s *ManagedControlPlaneScope) Close() error

Close closes the current scope persisting the control plane configuration and status.

func (*ManagedControlPlaneScope) ControllerName added in v0.6.0

func (s *ManagedControlPlaneScope) ControllerName() string

ControllerName returns the name of the controller that created the ManagedControlPlane.

func (*ManagedControlPlaneScope) DisableVPCCNI added in v0.6.5

func (s *ManagedControlPlaneScope) DisableVPCCNI() bool

DisableVPCCNI returns whether the AWS VPC CNI should be disabled

func (*ManagedControlPlaneScope) EnableIAM added in v0.6.0

func (s *ManagedControlPlaneScope) EnableIAM() bool

EnableIAM indicates that reconciliation should create IAM roles

func (*ManagedControlPlaneScope) IAMAuthConfig added in v0.6.1

IAMAuthConfig returns the IAM authenticator config. The returned value will never be nil.

func (*ManagedControlPlaneScope) IdentityRef added in v0.6.5

IdentityRef returns the cluster identityRef.

func (*ManagedControlPlaneScope) ImageLookupBaseOS added in v0.6.0

func (s *ManagedControlPlaneScope) ImageLookupBaseOS() string

ImageLookupBaseOS returns the base operating system name to use when looking up AMIs

func (*ManagedControlPlaneScope) ImageLookupFormat added in v0.6.0

func (s *ManagedControlPlaneScope) ImageLookupFormat() string

ImageLookupFormat returns the format string to use when looking up AMIs

func (*ManagedControlPlaneScope) ImageLookupOrg added in v0.6.0

func (s *ManagedControlPlaneScope) ImageLookupOrg() string

ImageLookupOrg returns the organization name to use when looking up AMIs

func (*ManagedControlPlaneScope) InfraCluster added in v0.6.0

func (s *ManagedControlPlaneScope) InfraCluster() cloud.ClusterObject

InfraCluster returns the AWS infrastructure cluster or control plane object.

func (*ManagedControlPlaneScope) InfraClusterName added in v0.6.5

func (s *ManagedControlPlaneScope) InfraClusterName() string

Name returns the AWS cluster name.

func (*ManagedControlPlaneScope) KubernetesClusterName added in v0.6.0

func (s *ManagedControlPlaneScope) KubernetesClusterName() string

KubernetesClusterName is the name of the Kubernetes cluster. For the managed scope this is the different to the CAPI cluster name and is the EKS cluster name

func (*ManagedControlPlaneScope) ListOptionsLabelSelector added in v0.6.0

func (s *ManagedControlPlaneScope) ListOptionsLabelSelector() client.ListOption

ListOptionsLabelSelector returns a ListOptions with a label selector for clusterName.

func (*ManagedControlPlaneScope) Name added in v0.6.0

func (s *ManagedControlPlaneScope) Name() string

Name returns the CAPI cluster name.

func (*ManagedControlPlaneScope) Namespace added in v0.6.0

func (s *ManagedControlPlaneScope) Namespace() string

Namespace returns the cluster namespace.

func (*ManagedControlPlaneScope) Network added in v0.6.0

Network returns the control plane network object.

func (*ManagedControlPlaneScope) PatchObject added in v0.6.0

func (s *ManagedControlPlaneScope) PatchObject() error

PatchObject persists the control plane configuration and status.

func (*ManagedControlPlaneScope) Region added in v0.6.0

func (s *ManagedControlPlaneScope) Region() string

Region returns the cluster region.

func (*ManagedControlPlaneScope) RemoteClient added in v0.6.4

func (s *ManagedControlPlaneScope) RemoteClient() (client.Client, error)

RemoteClient returns the Kubernetes client for connecting to the workload cluster.

func (*ManagedControlPlaneScope) SSHKeyName added in v0.6.0

func (s *ManagedControlPlaneScope) SSHKeyName() *string

SSHKeyName returns the SSH key name to use for instances.

func (*ManagedControlPlaneScope) SecondaryCidrBlock added in v0.6.4

func (s *ManagedControlPlaneScope) SecondaryCidrBlock() *string

func (*ManagedControlPlaneScope) SecurityGroupOverrides added in v0.6.5

func (s *ManagedControlPlaneScope) SecurityGroupOverrides() map[infrav1.SecurityGroupRole]string

SecurityGroupOverrides returns the the security groups that are overridden in the ControlPlane spec.

func (*ManagedControlPlaneScope) SecurityGroups added in v0.6.0

SecurityGroups returns the control plane security groups as a map, it creates the map if empty.

func (*ManagedControlPlaneScope) ServiceLimiter added in v0.6.4

func (s *ManagedControlPlaneScope) ServiceLimiter(service string) *throttle.ServiceLimiter

ServiceLimiter returns the AWS SDK session. Used for creating clients

func (*ManagedControlPlaneScope) Session added in v0.6.0

Session returns the AWS SDK session. Used for creating clients

func (*ManagedControlPlaneScope) SetBastionInstance added in v0.6.0

func (s *ManagedControlPlaneScope) SetBastionInstance(instance *infrav1.Instance)

SetBastionInstance sets the bastion instance in the status of the cluster.

func (*ManagedControlPlaneScope) SetFailureDomain added in v0.6.0

func (s *ManagedControlPlaneScope) SetFailureDomain(id string, spec clusterv1.FailureDomainSpec)

SetFailureDomain sets the infrastructure provider failure domain key to the spec given as input.

func (*ManagedControlPlaneScope) SetSubnets added in v0.6.0

func (s *ManagedControlPlaneScope) SetSubnets(subnets infrav1.Subnets)

SetSubnets updates the control planes subnets.

func (*ManagedControlPlaneScope) Subnets added in v0.6.0

Subnets returns the control plane subnets.

func (*ManagedControlPlaneScope) TokenMethod added in v0.6.0

TokenMethod returns the token method to use in the kubeconfig

func (*ManagedControlPlaneScope) VPC added in v0.6.0

VPC returns the control plane VPC.

type ManagedControlPlaneScopeParams added in v0.6.0

type ManagedControlPlaneScopeParams struct {
	Client         client.Client
	Logger         logr.Logger
	Cluster        *clusterv1.Cluster
	ControlPlane   *ekscontrolplanev1.AWSManagedControlPlane
	ControllerName string
	Endpoints      []ServiceEndpoint
	Session        awsclient.ConfigProvider

	EnableIAM            bool
	AllowAdditionalRoles bool
}

ManagedControlPlaneScopeParams defines the input parameters used to create a new Scope.

type ManagedMachinePoolScope added in v0.6.1

type ManagedMachinePoolScope struct {
	logr.Logger
	Client client.Client

	Cluster            *clusterv1.Cluster
	ControlPlane       *controlplanev1exp.AWSManagedControlPlane
	ManagedMachinePool *infrav1exp.AWSManagedMachinePool
	MachinePool        *clusterv1exp.MachinePool
	// contains filtered or unexported fields
}

ManagedMachinePoolScope defines the basic context for an actuator to operate upon.

func NewManagedMachinePoolScope added in v0.6.1

func NewManagedMachinePoolScope(params ManagedMachinePoolScopeParams) (*ManagedMachinePoolScope, error)

NewManagedMachinePoolScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*ManagedMachinePoolScope) AdditionalTags added in v0.6.1

func (s *ManagedMachinePoolScope) AdditionalTags() infrav1.Tags

AdditionalTags returns AdditionalTags from the scope's ManagedMachinePool The returned value will never be nil.

func (*ManagedMachinePoolScope) Close added in v0.6.1

func (s *ManagedMachinePoolScope) Close() error

Close closes the current scope persisting the control plane configuration and status.

func (*ManagedMachinePoolScope) ClusterName added in v0.6.2

func (s *ManagedMachinePoolScope) ClusterName() string

ClusterName returns the cluster name.

func (*ManagedMachinePoolScope) ControlPlaneSubnets added in v0.6.1

func (s *ManagedMachinePoolScope) ControlPlaneSubnets() infrav1.Subnets

ControlPlaneSubnets returns the control plane subnets.

func (*ManagedMachinePoolScope) ControllerName added in v0.6.1

func (s *ManagedMachinePoolScope) ControllerName() string

ControllerName returns the name of the controller that created the ManagedMachinePool.

func (*ManagedMachinePoolScope) EnableIAM added in v0.6.1

func (s *ManagedMachinePoolScope) EnableIAM() bool

EnableIAM indicates that reconciliation should create IAM roles

func (*ManagedMachinePoolScope) IAMReadyFalse added in v0.6.1

func (s *ManagedMachinePoolScope) IAMReadyFalse(reason string, err string) error

IAMReadyFalse marks the ready condition false using warning if error isn't empty

func (*ManagedMachinePoolScope) IdentityRef added in v0.6.5

IdentityRef returns the cluster identityRef.

func (*ManagedMachinePoolScope) InfraCluster added in v0.6.1

func (s *ManagedMachinePoolScope) InfraCluster() cloud.ClusterObject

InfraCluster returns the AWS infrastructure cluster or control plane object.

func (*ManagedMachinePoolScope) KubernetesClusterName added in v0.6.1

func (s *ManagedMachinePoolScope) KubernetesClusterName() string

KubernetesClusterName is the name of the EKS cluster name.

func (*ManagedMachinePoolScope) ManagedPoolName added in v0.6.2

func (s *ManagedMachinePoolScope) ManagedPoolName() string

ManagedPoolName returns the managed machine pool name.

func (*ManagedMachinePoolScope) NodegroupName added in v0.6.1

func (s *ManagedMachinePoolScope) NodegroupName() string

NodegroupName is the name of the EKS nodegroup

func (*ManagedMachinePoolScope) NodegroupReadyFalse added in v0.6.1

func (s *ManagedMachinePoolScope) NodegroupReadyFalse(reason string, err string) error

NodegroupReadyFalse marks the ready condition false using warning if error isn't empty

func (*ManagedMachinePoolScope) PatchObject added in v0.6.1

func (s *ManagedMachinePoolScope) PatchObject() error

PatchObject persists the control plane configuration and status.

func (*ManagedMachinePoolScope) RoleName added in v0.6.1

func (s *ManagedMachinePoolScope) RoleName() string

RoleName returns the node group role name

func (*ManagedMachinePoolScope) ServiceLimiter added in v0.6.4

func (s *ManagedMachinePoolScope) ServiceLimiter(service string) *throttle.ServiceLimiter

ServiceLimiter returns the AWS SDK session. Used for creating clients

func (*ManagedMachinePoolScope) Session added in v0.6.1

Session returns the AWS SDK session. Used for creating clients

func (*ManagedMachinePoolScope) SubnetIDs added in v0.6.1

func (s *ManagedMachinePoolScope) SubnetIDs() ([]string, error)

SubnetIDs returns the machine pool subnet IDs.

func (*ManagedMachinePoolScope) Version added in v0.6.1

func (s *ManagedMachinePoolScope) Version() *string

Version returns the nodegroup Kubernetes version

type ManagedMachinePoolScopeParams added in v0.6.1

type ManagedMachinePoolScopeParams struct {
	Client             client.Client
	Logger             logr.Logger
	Cluster            *clusterv1.Cluster
	ControlPlane       *controlplanev1exp.AWSManagedControlPlane
	ManagedMachinePool *infrav1exp.AWSManagedMachinePool
	MachinePool        *clusterv1exp.MachinePool
	ControllerName     string
	Endpoints          []ServiceEndpoint
	Session            awsclient.ConfigProvider

	EnableIAM bool
}

ManagedMachinePoolScopeParams defines the input parameters used to create a new Scope.

type NodeStatus added in v0.6.4

type NodeStatus struct {
	Ready   bool
	Version string
}

NodeStatus represents the status of a Kubernetes node

type ServiceEndpoint added in v0.6.1

type ServiceEndpoint struct {
	ServiceID     string
	URL           string
	SigningRegion string
}

ServiceEndpoint defines a tuple containing AWS Service resolution information

Jump to

Keyboard shortcuts

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