Documentation ¶
Index ¶
- Constants
- Variables
- func NewASGClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) autoscalingiface.AutoScalingAPI
- func NewEC2Client(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) ec2iface.EC2API
- func NewEKSClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) eksiface.EKSAPI
- func NewELBClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) elbiface.ELBAPI
- func NewELBv2Client(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) elbv2iface.ELBV2API
- func NewEventBridgeClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) eventbridgeiface.EventBridgeAPI
- func NewGlobalSQSClient(scopeUser cloud.ScopeUsage, session cloud.Session) sqsiface.SQSAPI
- func NewIAMClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) iamiface.IAMAPI
- func NewResourgeTaggingClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) resourcegroupstaggingapiiface.ResourceGroupsTaggingAPIAPI
- func NewS3Client(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) s3iface.S3API
- func NewSQSClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runtime.Object) sqsiface.SQSAPI
- func NewSSMClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) ssmiface.SSMAPI
- func NewSTSClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) stsiface.STSAPI
- func NewSecretsManagerClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, ...) secretsmanageriface.SecretsManagerAPI
- func ReplicasExternallyManaged(mp *expclusterv1.MachinePool) bool
- type AWSClients
- type AWSNodeScope
- type ClusterScope
- func (s *ClusterScope) APIServerPort() int32
- func (s *ClusterScope) AdditionalTags() infrav1.Tags
- func (s *ClusterScope) Bastion() *infrav1.Bastion
- func (s *ClusterScope) Bucket() *infrav1.S3Bucket
- func (s *ClusterScope) CNIIngressRules() infrav1.CNIIngressRules
- func (s *ClusterScope) Close() error
- func (s *ClusterScope) ClusterObj() cloud.ClusterObject
- func (s *ClusterScope) ControlPlaneConfigMapName() string
- func (s *ClusterScope) ControlPlaneEndpoint() clusterv1.APIEndpoint
- func (s *ClusterScope) ControlPlaneLoadBalancer() *infrav1.AWSLoadBalancerSpec
- func (s *ClusterScope) ControlPlaneLoadBalancerName() *string
- func (s *ClusterScope) ControlPlaneLoadBalancerScheme() infrav1.ClassicELBScheme
- func (s *ClusterScope) ControllerName() string
- func (s *ClusterScope) IdentityRef() *infrav1.AWSIdentityReference
- func (s *ClusterScope) ImageLookupBaseOS() string
- func (s *ClusterScope) ImageLookupFormat() string
- func (s *ClusterScope) ImageLookupOrg() string
- func (s *ClusterScope) InfraCluster() cloud.ClusterObject
- func (s *ClusterScope) InfraClusterName() string
- func (s *ClusterScope) KubernetesClusterName() string
- func (s *ClusterScope) ListOptionsLabelSelector() client.ListOption
- func (s *ClusterScope) Name() string
- func (s *ClusterScope) Namespace() string
- func (s *ClusterScope) Network() *infrav1.NetworkStatus
- func (s *ClusterScope) PatchObject() error
- func (s *ClusterScope) Region() string
- func (s *ClusterScope) SSHKeyName() *string
- func (s *ClusterScope) SecondaryCidrBlock() *string
- func (s *ClusterScope) SecurityGroupOverrides() map[infrav1.SecurityGroupRole]string
- func (s *ClusterScope) SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup
- func (s *ClusterScope) ServiceLimiter(service string) *throttle.ServiceLimiter
- func (s *ClusterScope) Session() awsclient.ConfigProvider
- func (s *ClusterScope) SetBastionInstance(instance *infrav1.Instance)
- func (s *ClusterScope) SetFailureDomain(id string, spec clusterv1.FailureDomainSpec)
- func (s *ClusterScope) SetSubnets(subnets infrav1.Subnets)
- func (s *ClusterScope) Subnets() infrav1.Subnets
- func (s *ClusterScope) VPC() *infrav1.VPCSpec
- type ClusterScopeGetter
- type ClusterScopeGetterFunc
- type ClusterScopeParams
- type EC2Scope
- type ELBScope
- type FargateProfileScope
- func (s *FargateProfileScope) AdditionalTags() infrav1.Tags
- func (s *FargateProfileScope) Close() error
- func (s *FargateProfileScope) ClusterName() string
- func (s *FargateProfileScope) ClusterObj() cloud.ClusterObject
- func (s *FargateProfileScope) ControlPlaneSubnets() *infrav1.Subnets
- func (s *FargateProfileScope) ControllerName() string
- func (s *FargateProfileScope) EnableIAM() bool
- func (s *FargateProfileScope) IAMReadyFalse(reason string, err string) error
- func (s *FargateProfileScope) InfraCluster() cloud.ClusterObject
- func (s *FargateProfileScope) KubernetesClusterName() string
- func (s *FargateProfileScope) ManagedPoolName() string
- func (s *FargateProfileScope) PatchObject() error
- func (s *FargateProfileScope) RoleName() string
- func (s *FargateProfileScope) ServiceLimiter(service string) *throttle.ServiceLimiter
- func (s *FargateProfileScope) Session() awsclient.ConfigProvider
- func (s *FargateProfileScope) SubnetIDs() []string
- type FargateProfileScopeParams
- type GlobalScope
- type GlobalScopeParams
- type IAMAuthScope
- type KubeProxyScope
- type MachinePoolScope
- func (m *MachinePoolScope) AdditionalTags() infrav1.Tags
- func (m *MachinePoolScope) Close() error
- func (m *MachinePoolScope) GetASGStatus() *expinfrav1.ASGStatus
- func (m *MachinePoolScope) GetLaunchTemplate() *expinfrav1.AWSLaunchTemplate
- func (m *MachinePoolScope) GetMachinePool() *expclusterv1.MachinePool
- func (m *MachinePoolScope) GetProviderID() string
- func (m *MachinePoolScope) GetRawBootstrapData() ([]byte, error)
- func (m *MachinePoolScope) GetRawBootstrapDataWithFormat() ([]byte, string, error)
- func (m *MachinePoolScope) GetRuntimeObject() runtime.Object
- func (m *MachinePoolScope) HasFailed() bool
- func (m *MachinePoolScope) IsEKSManaged() bool
- func (m *MachinePoolScope) LaunchTemplateName() string
- func (m *MachinePoolScope) Name() string
- func (m *MachinePoolScope) Namespace() string
- func (m *MachinePoolScope) PatchCAPIMachinePoolObject(ctx context.Context) error
- func (m *MachinePoolScope) PatchObject() error
- func (m *MachinePoolScope) SetASGStatus(v expinfrav1.ASGStatus)
- func (m *MachinePoolScope) SetAnnotation(key, value string)
- func (m *MachinePoolScope) SetFailureMessage(v error)
- func (m *MachinePoolScope) SetFailureReason(v capierrors.MachineStatusError)
- func (m *MachinePoolScope) SetLaunchTemplateIDStatus(id string)
- func (m *MachinePoolScope) SetNotReady()
- func (m *MachinePoolScope) SubnetIDs(subnetIDs []string) ([]string, error)
- func (m *MachinePoolScope) UpdateInstanceStatuses(ctx context.Context, instances []infrav1.Instance) error
- type MachinePoolScopeParams
- type MachineScope
- func (m *MachineScope) AWSMachineIsDeleted() bool
- func (m *MachineScope) AdditionalTags() infrav1.Tags
- func (m *MachineScope) Close() error
- func (m *MachineScope) CompressUserData(userDataFormat string) bool
- func (m *MachineScope) DeleteSecretPrefix()
- func (m *MachineScope) GetBootstrapData() (string, error)
- func (m *MachineScope) GetInstanceID() *string
- func (m *MachineScope) GetInstanceState() *infrav1.InstanceState
- func (m *MachineScope) GetProviderID() string
- func (m *MachineScope) GetRawBootstrapData() ([]byte, error)
- func (m *MachineScope) GetRawBootstrapDataWithFormat() ([]byte, string, error)
- func (m *MachineScope) GetSecretCount() int32
- func (m *MachineScope) GetSecretPrefix() string
- func (m *MachineScope) HasFailed() bool
- func (m *MachineScope) InstanceIsInKnownState() bool
- func (m *MachineScope) InstanceIsOperational() bool
- func (m *MachineScope) InstanceIsRunning() bool
- func (m *MachineScope) IsControlPlane() bool
- func (m *MachineScope) IsEKSManaged() bool
- func (m *MachineScope) IsExternallyManaged() bool
- func (m *MachineScope) Name() string
- func (m *MachineScope) Namespace() string
- func (m *MachineScope) PatchObject() error
- func (m *MachineScope) Role() string
- func (m *MachineScope) SecureSecretsBackend() infrav1.SecretBackend
- func (m *MachineScope) SetAddresses(addrs []clusterv1.MachineAddress)
- func (m *MachineScope) SetAnnotation(key, value string)
- func (m *MachineScope) SetFailureMessage(v error)
- func (m *MachineScope) SetFailureReason(v capierrors.MachineStatusError)
- func (m *MachineScope) SetInstanceID(instanceID string)
- func (m *MachineScope) SetInstanceState(v infrav1.InstanceState)
- func (m *MachineScope) SetInterruptible()
- func (m *MachineScope) SetNotReady()
- func (m *MachineScope) SetProviderID(instanceID, availabilityZone string)
- func (m *MachineScope) SetReady()
- func (m *MachineScope) SetSecretCount(i int32)
- func (m *MachineScope) SetSecretPrefix(value string)
- func (m *MachineScope) UseIgnition(userDataFormat string) bool
- func (m *MachineScope) UseSecretsManager(userDataFormat string) bool
- type MachineScopeGetter
- type MachineScopeGetterFunc
- type MachineScopeParams
- type ManagedControlPlaneScope
- func (s *ManagedControlPlaneScope) APIServerPort() int32
- func (s *ManagedControlPlaneScope) AdditionalTags() infrav1.Tags
- func (s *ManagedControlPlaneScope) Addons() []ekscontrolplanev1.Addon
- func (s *ManagedControlPlaneScope) AllowAdditionalRoles() bool
- func (s *ManagedControlPlaneScope) Bastion() *infrav1.Bastion
- func (s *ManagedControlPlaneScope) CNIIngressRules() infrav1.CNIIngressRules
- func (s *ManagedControlPlaneScope) Close() error
- func (s *ManagedControlPlaneScope) ClusterObj() cloud.ClusterObject
- func (s *ManagedControlPlaneScope) ControllerName() string
- func (s *ManagedControlPlaneScope) DisableKubeProxy() bool
- func (s *ManagedControlPlaneScope) DisableVPCCNI() bool
- func (s *ManagedControlPlaneScope) EnableIAM() bool
- func (s *ManagedControlPlaneScope) IAMAuthConfig() *ekscontrolplanev1.IAMAuthenticatorConfig
- func (s *ManagedControlPlaneScope) IdentityRef() *infrav1.AWSIdentityReference
- func (s *ManagedControlPlaneScope) ImageLookupBaseOS() string
- func (s *ManagedControlPlaneScope) ImageLookupFormat() string
- func (s *ManagedControlPlaneScope) ImageLookupOrg() string
- func (s *ManagedControlPlaneScope) InfraCluster() cloud.ClusterObject
- func (s *ManagedControlPlaneScope) InfraClusterName() string
- func (s *ManagedControlPlaneScope) KubernetesClusterName() string
- func (s *ManagedControlPlaneScope) ListOptionsLabelSelector() client.ListOption
- func (s *ManagedControlPlaneScope) Name() string
- func (s *ManagedControlPlaneScope) Namespace() string
- func (s *ManagedControlPlaneScope) Network() *infrav1.NetworkStatus
- func (s *ManagedControlPlaneScope) OIDCIdentityProviderConfig() *ekscontrolplanev1.OIDCIdentityProviderConfig
- func (s *ManagedControlPlaneScope) PatchObject() error
- func (s *ManagedControlPlaneScope) Region() string
- func (s *ManagedControlPlaneScope) RemoteClient() (client.Client, error)
- func (s *ManagedControlPlaneScope) SSHKeyName() *string
- func (s *ManagedControlPlaneScope) SecondaryCidrBlock() *string
- func (s *ManagedControlPlaneScope) SecurityGroupOverrides() map[infrav1.SecurityGroupRole]string
- func (s *ManagedControlPlaneScope) SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup
- func (s *ManagedControlPlaneScope) ServiceCidrs() *clusterv1.NetworkRanges
- func (s *ManagedControlPlaneScope) ServiceLimiter(service string) *throttle.ServiceLimiter
- func (s *ManagedControlPlaneScope) Session() awsclient.ConfigProvider
- func (s *ManagedControlPlaneScope) SetBastionInstance(instance *infrav1.Instance)
- func (s *ManagedControlPlaneScope) SetFailureDomain(id string, spec clusterv1.FailureDomainSpec)
- func (s *ManagedControlPlaneScope) SetSubnets(subnets infrav1.Subnets)
- func (s *ManagedControlPlaneScope) Subnets() infrav1.Subnets
- func (s *ManagedControlPlaneScope) TokenMethod() ekscontrolplanev1.EKSTokenMethod
- func (s *ManagedControlPlaneScope) VPC() *infrav1.VPCSpec
- type ManagedControlPlaneScopeParams
- type ManagedMachinePoolScope
- func (s *ManagedMachinePoolScope) AdditionalTags() infrav1.Tags
- func (s *ManagedMachinePoolScope) AllowAdditionalRoles() bool
- func (s *ManagedMachinePoolScope) Close() error
- func (s *ManagedMachinePoolScope) ClusterName() string
- func (s *ManagedMachinePoolScope) ClusterObj() cloud.ClusterObject
- func (s *ManagedMachinePoolScope) ControlPlaneSubnets() infrav1.Subnets
- func (s *ManagedMachinePoolScope) ControllerName() string
- func (s *ManagedMachinePoolScope) EnableIAM() bool
- func (s *ManagedMachinePoolScope) IAMReadyFalse(reason string, err string) error
- func (s *ManagedMachinePoolScope) IdentityRef() *infrav1.AWSIdentityReference
- func (s *ManagedMachinePoolScope) InfraCluster() cloud.ClusterObject
- func (s *ManagedMachinePoolScope) KubernetesClusterName() string
- func (s *ManagedMachinePoolScope) ManagedPoolName() string
- func (s *ManagedMachinePoolScope) NodegroupName() string
- func (s *ManagedMachinePoolScope) NodegroupReadyFalse(reason string, err string) error
- func (s *ManagedMachinePoolScope) PatchObject() error
- func (s *ManagedMachinePoolScope) RoleName() string
- func (s *ManagedMachinePoolScope) ServiceLimiter(service string) *throttle.ServiceLimiter
- func (s *ManagedMachinePoolScope) Session() awsclient.ConfigProvider
- func (s *ManagedMachinePoolScope) SubnetIDs() ([]string, error)
- func (s *ManagedMachinePoolScope) Version() *string
- type ManagedMachinePoolScopeParams
- type NetworkScope
- type NodeStatus
- type S3Scope
- type SGScope
- type ServiceEndpoint
Constants ¶
const ( // ReplicasManagedByAnnotation is an annotation that indicates external (non-Cluster API) management of infra scaling. // The practical effect of this is that the capi "replica" count is derived from the number of observed infra machines, // instead of being a source of truth for eventual consistency. // // N.B. this is to be replaced by a direct reference to CAPI once https://github.com/kubernetes-sigs/cluster-api/pull/7107 is meged. ReplicasManagedByAnnotation = "cluster.x-k8s.io/replicas-managed-by" // ExternalAutoscalerReplicasManagedByAnnotationValue is used with the "cluster.x-k8s.io/replicas-managed-by" annotation // to indicate an external autoscaler enforces replica count. // // N.B. this is to be replaced by a direct reference to CAPI once https://github.com/kubernetes-sigs/cluster-api/pull/7107 is meged. ExternalAutoscalerReplicasManagedByAnnotationValue = "external-autoscaler" )
Variables ¶
var ( // DefaultClusterScopeGetter defines the default cluster scope getter. DefaultClusterScopeGetter ClusterScopeGetter = ClusterScopeGetterFunc(NewClusterScope) // DefaultMachineScopeGetter defines the default machine scope getter. DefaultMachineScopeGetter MachineScopeGetter = MachineScopeGetterFunc(NewMachineScope) )
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") )
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 cloud.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 cloud.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 cloud.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 cloud.Logger, target runtime.Object) elbiface.ELBAPI
NewELBClient creates a new ELB API client for a given session.
func NewELBv2Client ¶ added in v1.5.0
func NewELBv2Client(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, target runtime.Object) elbv2iface.ELBV2API
NewELBv2Client creates a new ELB v2 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
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 cloud.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 cloud.Logger, target runtime.Object) resourcegroupstaggingapiiface.ResourceGroupsTaggingAPIAPI
NewResourgeTaggingClient creates a new Resource Tagging API client for a given session.
func NewS3Client ¶ added in v1.4.0
func NewS3Client(scopeUser cloud.ScopeUsage, session cloud.Session, logger cloud.Logger, target runtime.Object) s3iface.S3API
NewS3Client creates a new S3 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 cloud.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 cloud.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 cloud.Logger, target runtime.Object) secretsmanageriface.SecretsManagerAPI
NewSecretsManagerClient creates a new Secrets API client for a given session..
func ReplicasExternallyManaged ¶ added in v1.5.5
func ReplicasExternallyManaged(mp *expclusterv1.MachinePool) bool
Types ¶
type AWSClients ¶
type AWSClients struct { ASG autoscalingiface.AutoScalingAPI EC2 ec2iface.EC2API ELB elbiface.ELBAPI SecretsManager secretsmanageriface.SecretsManagerAPI ResourceTagging resourcegroupstaggingapiiface.ResourceGroupsTaggingAPIAPI }
AWSClients contains all the aws clients used by the scopes.
type AWSNodeScope ¶ added in v1.5.0
type AWSNodeScope interface { cloud.ClusterScoper // RemoteClient returns the Kubernetes client for connecting to the workload cluster. RemoteClient() (client.Client, error) // Subnets returns the cluster subnets. Subnets() infrav1.Subnets // SecondaryCidrBlock returns the optional secondary CIDR block to use for pod IPs SecondaryCidrBlock() *string // SecurityGroups returns the control plane security groups as a map, it creates the map if empty. SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup // DisableVPCCNI returns whether the AWS VPC CNI should be disabled DisableVPCCNI() bool }
AWSNodeScope is the interface for the scope to be used with the awsnode reconciling service.
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) Bucket ¶ added in v1.4.0
func (s *ClusterScope) Bucket() *infrav1.S3Bucket
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) ClusterObj ¶ added in v1.2.0
func (s *ClusterScope) ClusterObj() cloud.ClusterObject
ClusterObj returns the cluster object.
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) ControlPlaneEndpoint ¶ added in v1.4.0
func (s *ClusterScope) ControlPlaneEndpoint() clusterv1.APIEndpoint
func (*ClusterScope) ControlPlaneLoadBalancer ¶ added in v0.4.3
func (s *ClusterScope) ControlPlaneLoadBalancer() *infrav1.AWSLoadBalancerSpec
ControlPlaneLoadBalancer returns the AWSLoadBalancerSpec.
func (*ClusterScope) ControlPlaneLoadBalancerName ¶ added in v1.1.0
func (s *ClusterScope) ControlPlaneLoadBalancerName() *string
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
InfraClusterName 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.NetworkStatus
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 ¶
func (s *ClusterScope) SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup
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)
}
ClusterScopeGetter defines the cluster scope getter interface.
type ClusterScopeGetterFunc ¶
type ClusterScopeGetterFunc func(params ClusterScopeParams) (*ClusterScope, error)
ClusterScopeGetterFunc defines handler types for cluster scope getters.
func (ClusterScopeGetterFunc) ClusterScope ¶
func (f ClusterScopeGetterFunc) ClusterScope(params ClusterScopeParams) (*ClusterScope, error)
ClusterScope will return the cluster scope.
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.NetworkStatus // 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 }
EC2Scope is the interface for the scope 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.NetworkStatus // 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 // ControlPlaneLoadBalancerName returns the Classic ELB name ControlPlaneLoadBalancerName() *string // ControlPlaneEndpoint returns AWSCluster control plane endpoint ControlPlaneEndpoint() clusterv1.APIEndpoint }
ELBScope 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 *ekscontrolplanev1.AWSManagedControlPlane FargateProfile *expinfrav1.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) ClusterObj ¶ added in v1.2.0
func (s *FargateProfileScope) ClusterObj() cloud.ClusterObject
ClusterObj returns the cluster object.
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
func (s *FargateProfileScope) Session() awsclient.ConfigProvider
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 *ekscontrolplanev1.AWSManagedControlPlane FargateProfile *expinfrav1.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
}
GlobalScope defines the specs for the GlobalScope.
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
ControllerName returns the name of the controller that created the GlobalScope.
func (*GlobalScope) ServiceLimiter ¶ added in v0.6.5
func (s *GlobalScope) ServiceLimiter(service string) *throttle.ServiceLimiter
ServiceLimiter returns the AWS SDK session. Used for creating clients.
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 }
GlobalScopeParams defines the parameters acceptable for GlobalScope.
type IAMAuthScope ¶ added in v1.5.0
type IAMAuthScope interface { cloud.ClusterScoper // RemoteClient returns the Kubernetes client for connecting to the workload cluster. RemoteClient() (client.Client, error) // IAMAuthConfig returns the IAM authenticator config IAMAuthConfig() *ekscontrolplanev1.IAMAuthenticatorConfig }
IAMAuthScope is the interface for the scope to be used with iamauth reconciling service.
type KubeProxyScope ¶ added in v1.5.0
type KubeProxyScope interface { cloud.ClusterScoper // RemoteClient returns the Kubernetes client for connecting to the workload cluster. RemoteClient() (client.Client, error) // DisableKubeProxy returns whether kube-proxy daemonset is to be disabled DisableKubeProxy() bool }
KubeProxyScope is the interface for the scope to be used with the kubeproxy reconciling service.
type MachinePoolScope ¶ added in v0.6.1
type MachinePoolScope struct { logr.Logger client.Client 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) GetLaunchTemplate ¶ added in v1.5.5
func (m *MachinePoolScope) GetLaunchTemplate() *expinfrav1.AWSLaunchTemplate
func (*MachinePoolScope) GetMachinePool ¶ added in v1.5.5
func (m *MachinePoolScope) GetMachinePool() *expclusterv1.MachinePool
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) GetRawBootstrapDataWithFormat ¶ added in v1.4.0
func (m *MachinePoolScope) GetRawBootstrapDataWithFormat() ([]byte, string, error)
func (*MachinePoolScope) GetRuntimeObject ¶ added in v1.5.5
func (m *MachinePoolScope) GetRuntimeObject() runtime.Object
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
IsEKSManaged checks if the AWSMachinePool is EKS managed.
func (*MachinePoolScope) LaunchTemplateName ¶ added in v1.5.5
func (m *MachinePoolScope) LaunchTemplateName() string
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) PatchCAPIMachinePoolObject ¶ added in v1.5.5
func (m *MachinePoolScope) PatchCAPIMachinePoolObject(ctx context.Context) error
PatchCAPIMachinePoolObject persists the capi machinepool configuration and status.
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 AWSMachinePool 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) SetLaunchTemplateIDStatus ¶ added in v0.6.6
func (m *MachinePoolScope) SetLaunchTemplateIDStatus(id string)
SetLaunchTemplateIDStatus sets the AWSMachinePool LaunchTemplateID status.
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(subnetIDs []string) ([]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
AWSMachineIsDeleted checks if the machine was deleted.
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) CompressUserData ¶ added in v1.4.0
func (m *MachineScope) CompressUserData(userDataFormat string) bool
CompressUserData returns the computed value of whether or not userdata should be compressed using gzip.
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) GetRawBootstrapDataWithFormat ¶ added in v1.4.0
func (m *MachineScope) GetRawBootstrapDataWithFormat() ([]byte, string, error)
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
HasFailed returns the failure state of the machine scope.
func (*MachineScope) InstanceIsInKnownState ¶ added in v0.4.9
func (m *MachineScope) InstanceIsInKnownState() bool
InstanceIsInKnownState checks if the machine scope's instance state is known.
func (*MachineScope) InstanceIsOperational ¶ added in v0.4.9
func (m *MachineScope) InstanceIsOperational() bool
InstanceIsOperational returns the operational state of the machine scope.
func (*MachineScope) InstanceIsRunning ¶ added in v0.5.4
func (m *MachineScope) InstanceIsRunning() bool
InstanceIsRunning returns the instance state of the machine scope.
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
IsEKSManaged checks if the machine is EKS managed.
func (*MachineScope) IsExternallyManaged ¶ added in v0.7.0
func (m *MachineScope) IsExternallyManaged() bool
IsExternallyManaged checks if the machine is externally managed.
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) UseIgnition ¶ added in v1.4.0
func (m *MachineScope) UseIgnition(userDataFormat string) bool
func (*MachineScope) UseSecretsManager ¶ added in v0.4.9
func (m *MachineScope) UseSecretsManager(userDataFormat string) bool
UseSecretsManager returns the computed value of whether or not userdata should be stored using AWS Secrets Manager.
type MachineScopeGetter ¶
type MachineScopeGetter interface {
MachineScope(params MachineScopeParams) (*MachineScope, error)
}
MachineScopeGetter defines the machine scope getter interface.
type MachineScopeGetterFunc ¶
type MachineScopeGetterFunc func(params MachineScopeParams) (*MachineScope, error)
MachineScopeGetterFunc defines handler types for machine scope getters.
func (MachineScopeGetterFunc) MachineScope ¶
func (f MachineScopeGetterFunc) MachineScope(params MachineScopeParams) (*MachineScope, error)
MachineScope will return the machine scope.
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
func (s *ManagedControlPlaneScope) Addons() []ekscontrolplanev1.Addon
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
func (s *ManagedControlPlaneScope) Bastion() *infrav1.Bastion
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) ClusterObj ¶ added in v1.2.0
func (s *ManagedControlPlaneScope) ClusterObj() cloud.ClusterObject
ClusterObj returns the cluster object.
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) DisableKubeProxy ¶ added in v1.5.0
func (s *ManagedControlPlaneScope) DisableKubeProxy() bool
DisableKubeProxy returns whether kube-proxy should be disabled.
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
func (s *ManagedControlPlaneScope) IAMAuthConfig() *ekscontrolplanev1.IAMAuthenticatorConfig
IAMAuthConfig returns the IAM authenticator config. The returned value will never be nil.
func (*ManagedControlPlaneScope) IdentityRef ¶ added in v0.6.5
func (s *ManagedControlPlaneScope) IdentityRef() *infrav1.AWSIdentityReference
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
InfraClusterName 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
func (s *ManagedControlPlaneScope) Network() *infrav1.NetworkStatus
Network returns the control plane network object.
func (*ManagedControlPlaneScope) OIDCIdentityProviderConfig ¶ added in v0.7.0
func (s *ManagedControlPlaneScope) OIDCIdentityProviderConfig() *ekscontrolplanev1.OIDCIdentityProviderConfig
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
SecondaryCidrBlock returns the SecondaryCidrBlock of the control plane.
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
func (s *ManagedControlPlaneScope) SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup
SecurityGroups returns the control plane security groups as a map, it creates the map if empty.
func (*ManagedControlPlaneScope) ServiceCidrs ¶ added in v1.2.0
func (s *ManagedControlPlaneScope) ServiceCidrs() *clusterv1.NetworkRanges
ServiceCidrs returns the CIDR blocks used for services.
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
func (s *ManagedControlPlaneScope) Session() awsclient.ConfigProvider
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
func (s *ManagedControlPlaneScope) Subnets() infrav1.Subnets
Subnets returns the control plane subnets.
func (*ManagedControlPlaneScope) TokenMethod ¶ added in v0.6.0
func (s *ManagedControlPlaneScope) TokenMethod() ekscontrolplanev1.EKSTokenMethod
TokenMethod returns the token method to use in the kubeconfig.
func (*ManagedControlPlaneScope) VPC ¶ added in v0.6.0
func (s *ManagedControlPlaneScope) VPC() *infrav1.VPCSpec
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 *ekscontrolplanev1.AWSManagedControlPlane ManagedMachinePool *expinfrav1.AWSManagedMachinePool MachinePool *expclusterv1.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) AllowAdditionalRoles ¶ added in v1.0.0
func (s *ManagedMachinePoolScope) AllowAdditionalRoles() bool
AllowAdditionalRoles indicates if additional roles can be added to the created IAM roles.
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) ClusterObj ¶ added in v1.2.0
func (s *ManagedMachinePoolScope) ClusterObj() cloud.ClusterObject
ClusterObj returns the cluster object.
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
func (s *ManagedMachinePoolScope) IdentityRef() *infrav1.AWSIdentityReference
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
func (s *ManagedMachinePoolScope) Session() awsclient.ConfigProvider
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 *ekscontrolplanev1.AWSManagedControlPlane ManagedMachinePool *expinfrav1.AWSManagedMachinePool MachinePool *expclusterv1.MachinePool ControllerName string Endpoints []ServiceEndpoint Session awsclient.ConfigProvider EnableIAM bool AllowAdditionalRoles bool }
ManagedMachinePoolScopeParams defines the input parameters used to create a new Scope.
type NetworkScope ¶ added in v1.5.0
type NetworkScope interface { cloud.ClusterScoper // Network returns the cluster network object. Network() *infrav1.NetworkStatus // VPC returns the cluster VPC. VPC() *infrav1.VPCSpec // Subnets returns the cluster subnets. Subnets() infrav1.Subnets // SetSubnets updates the clusters subnets. SetSubnets(subnets infrav1.Subnets) // CNIIngressRules returns the CNI spec ingress rules. CNIIngressRules() infrav1.CNIIngressRules // SecurityGroups returns the cluster security groups as a map, it creates the map if empty. SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup // SecondaryCidrBlock returns the optional secondary CIDR block to use for pod IPs SecondaryCidrBlock() *string // Bastion returns the bastion details for the cluster. Bastion() *infrav1.Bastion }
NetworkScope is the interface for the scope to be used with the network services.
type NodeStatus ¶ added in v0.6.4
NodeStatus represents the status of a Kubernetes node.
type S3Scope ¶ added in v1.4.0
type S3Scope interface { cloud.ClusterScoper Bucket() *infrav1.S3Bucket }
S3Scope is the interface for the scope to be used with the S3 service.
type SGScope ¶ added in v1.5.0
type SGScope interface { cloud.ClusterScoper // Network returns the cluster network object. Network() *infrav1.NetworkStatus // SecurityGroups returns the cluster security groups as a map, it creates the map if empty. SecurityGroups() map[infrav1.SecurityGroupRole]infrav1.SecurityGroup // SecurityGroupOverrides returns the security groups that are overridden in the cluster spec SecurityGroupOverrides() map[infrav1.SecurityGroupRole]string // VPC returns the cluster VPC. VPC() *infrav1.VPCSpec // CNIIngressRules returns the CNI spec ingress rules. CNIIngressRules() infrav1.CNIIngressRules // Bastion returns the bastion details for the cluster. Bastion() *infrav1.Bastion }
SGScope is the interface for the scope to be used with the sg service.
type ServiceEndpoint ¶ added in v0.6.1
ServiceEndpoint defines a tuple containing AWS Service resolution information.