Documentation ¶
Index ¶
- func DoAllNodegroupStackTasks(taskTree *tasks.TaskTree, region, name string) error
- func DoCreateFargateProfiles(ctx context.Context, config *api.ClusterConfig, fargateClient FargateClient) error
- func DoesAWSNodeUseIRSA(ctx context.Context, provider api.ClusterProvider, ...) (bool, error)
- func GetUsername(roleArn string) string
- func LoadConfigFromFile(configFile string) (*api.ClusterConfig, error)
- func LogEnabledFeatures(clusterConfig *api.ClusterConfig)
- func LogWindowsCompatibility(nodeGroups []KubeNodeGroup, clusterMeta *api.ClusterMeta)
- func ParseConfig(data []byte) (*api.ClusterConfig, error)
- func PlatformVersion(platformVersion string) (int, error)
- func ResolveAMI(ctx context.Context, provider api.ClusterProvider, version string, ...) error
- func ScheduleCoreDNSOnFargateIfRelevant(config *api.ClusterConfig, ctl *ClusterProvider, ...) error
- func SetAvailabilityZones(ctx context.Context, spec *api.ClusterConfig, given []string, ...) error
- func SupportsWindowsWorkloads(nodeGroups []KubeNodeGroup) bool
- func UpdateAuthConfigMap(ctx context.Context, nodeGroups []*api.NodeGroup, ...) error
- func ValidateExistingNodeGroupsForCompatibility(ctx context.Context, cfg *api.ClusterConfig, stackManager manager.StackManager) error
- func ValidateLocalZones(ctx context.Context, ec2API awsapi.EC2, localZones []string, region string) error
- func WaitForNodes(ctx context.Context, clientSet kubernetes.Interface, ng KubeNodeGroup) error
- type Client
- type ClusterInfo
- type ClusterProvider
- func (c *ClusterProvider) CanOperate(spec *api.ClusterConfig) (bool, error)
- func (c *ClusterProvider) CanOperateWithRefresh(ctx context.Context, spec *api.ClusterConfig) (bool, error)
- func (c *ClusterProvider) CanUpdate(spec *api.ClusterConfig) (bool, error)
- func (c *ClusterProvider) ClusterTasksForNodeGroups(cfg *api.ClusterConfig, ...) *tasks.TaskTree
- func (c *ClusterProvider) ControlPlaneVPCInfo() ekstypes.VpcConfigResponse
- func (c *ClusterProvider) ControlPlaneVersion() string
- func (c *ClusterProvider) CreateExtraClusterConfigTasks(ctx context.Context, cfg *api.ClusterConfig) *tasks.TaskTree
- func (c *ClusterProvider) DescribeControlPlane(ctx context.Context, meta *api.ClusterMeta) (*ekstypes.Cluster, error)
- func (c *ClusterProvider) EnableKMSEncryption(ctx context.Context, clusterConfig *api.ClusterConfig) error
- func (c *ClusterProvider) GetCluster(ctx context.Context, clusterName string) (*ekstypes.Cluster, error)
- func (c *ClusterProvider) GetCredentialsEnv() ([]string, error)
- func (c *ClusterProvider) GetCurrentClusterConfigForLogging(ctx context.Context, spec *api.ClusterConfig) (sets.String, sets.String, error)
- func (c *ClusterProvider) GetCurrentClusterVPCConfig(ctx context.Context, spec *api.ClusterConfig) (*ClusterVPCConfig, error)
- func (c *ClusterProvider) GetNodeGroupIAM(ctx context.Context, stackManager manager.StackManager, ng *api.NodeGroup) error
- func (c *ClusterProvider) IsSupportedRegion() bool
- func (c *ClusterProvider) LoadClusterIntoSpecFromStack(ctx context.Context, spec *api.ClusterConfig, ...) error
- func (c *ClusterProvider) LoadClusterVPC(ctx context.Context, spec *api.ClusterConfig, ...) error
- func (c *ClusterProvider) NewOpenIDConnectManager(ctx context.Context, spec *api.ClusterConfig) (*iamoidc.OpenIDConnectManager, error)
- func (c *ClusterProvider) NewStackManager(spec *api.ClusterConfig) manager.StackManager
- func (c *ClusterProvider) RefreshClusterStatus(ctx context.Context, spec *api.ClusterConfig) error
- func (c *ClusterProvider) RefreshClusterStatusIfStale(ctx context.Context, spec *api.ClusterConfig) error
- func (c *ClusterProvider) UpdateClusterConfigForEndpoints(ctx context.Context, cfg *api.ClusterConfig) error
- func (c *ClusterProvider) UpdateClusterConfigForLogging(ctx context.Context, cfg *api.ClusterConfig) error
- func (c *ClusterProvider) UpdateClusterVersion(ctx context.Context, cfg *api.ClusterConfig) (*ekstypes.Update, error)
- func (c *ClusterProvider) UpdateClusterVersionBlocking(ctx context.Context, cfg *api.ClusterConfig) error
- func (c *ClusterProvider) UpdatePublicAccessCIDRs(ctx context.Context, clusterConfig *api.ClusterConfig) error
- func (c *ClusterProvider) ValidateClusterForCompatibility(ctx context.Context, cfg *api.ClusterConfig, stackManager manager.StackManager) error
- type ClusterVPCConfig
- type FargateClient
- type Generator
- type InstanceSelector
- type KubeNodeGroup
- type KubeProvider
- type KubernetesProvider
- func (c *KubernetesProvider) NewClient(spec *api.ClusterConfig) (*Client, error)
- func (c *KubernetesProvider) NewRawClient(spec *api.ClusterConfig) (*kubewrapper.RawClient, error)
- func (c *KubernetesProvider) NewStdClientSet(spec *api.ClusterConfig) (*kubernetes.Clientset, error)
- func (c *KubernetesProvider) ServerVersion(rawClient *kubewrapper.RawClient) (string, error)
- func (c *KubernetesProvider) WaitForControlPlane(meta *api.ClusterMeta, clientSet *kubewrapper.RawClient, ...) error
- type LoggingRetryer
- type NodeGroupService
- func (m *NodeGroupService) ExpandInstanceSelectorOptions(nodePools []api.NodePool, clusterAZs []string) error
- func (m *NodeGroupService) NewAWSSelectorSession(provider api.ClusterProvider)
- func (m *NodeGroupService) Normalize(ctx context.Context, nodePools []api.NodePool, clusterMeta *api.ClusterMeta) error
- type ProviderServices
- func (p ProviderServices) ASG() awsapi.ASG
- func (p ProviderServices) CloudFormationDisableRollback() bool
- func (p ProviderServices) CloudFormationRoleARN() string
- func (p ProviderServices) CloudTrail() awsapi.CloudTrail
- func (p ProviderServices) CloudWatchLogs() awsapi.CloudWatchLogs
- func (p ProviderServices) ConfigProvider() client.ConfigProvider
- func (p ProviderServices) Profile() string
- func (p ProviderServices) Region() string
- func (p ProviderServices) Session() *session.Session
- func (p ProviderServices) WaitTimeout() time.Duration
- type ProviderStatus
- type RetryerV2
- type ServicesV2
- func (s *ServicesV2) CloudFormation() awsapi.CloudFormation
- func (s *ServicesV2) EC2() awsapi.EC2
- func (s *ServicesV2) EKS() awsapi.EKS
- func (s *ServicesV2) ELB() awsapi.ELB
- func (s *ServicesV2) ELBV2() awsapi.ELBV2
- func (s *ServicesV2) IAM() awsapi.IAM
- func (s *ServicesV2) SSM() awsapi.SSM
- func (s *ServicesV2) STS() awsapi.STS
- func (s *ServicesV2) STSPresigner() api.STSPresigner
- type SessionProvider
- type Token
- type TokenGenerator
- type UnsupportedOIDCError
- type VPCControllerTask
- type WindowsIPAMTask
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DoAllNodegroupStackTasks ¶ added in v0.99.0
DoAllNodegroupStackTasks iterates over nodegroup tasks and returns any errors.
func DoCreateFargateProfiles ¶
func DoCreateFargateProfiles(ctx context.Context, config *api.ClusterConfig, fargateClient FargateClient) error
DoCreateFargateProfiles creates fargate profiles as specified in the config
func DoesAWSNodeUseIRSA ¶
func DoesAWSNodeUseIRSA(ctx context.Context, provider api.ClusterProvider, clientSet kubernetes.Interface) (bool, error)
DoesAWSNodeUseIRSA evaluates whether an aws-node uses IRSA
func GetUsername ¶ added in v0.99.0
GetUsername extracts the username part from the IAM role ARN
func LoadConfigFromFile ¶
func LoadConfigFromFile(configFile string) (*api.ClusterConfig, error)
LoadConfigFromFile loads ClusterConfig from configFile
func LogEnabledFeatures ¶ added in v0.80.0
func LogEnabledFeatures(clusterConfig *api.ClusterConfig)
LogEnabledFeatures logs enabled features
func LogWindowsCompatibility ¶
func LogWindowsCompatibility(nodeGroups []KubeNodeGroup, clusterMeta *api.ClusterMeta)
LogWindowsCompatibility logs Windows compatibility messages
func ParseConfig ¶ added in v0.44.0
func ParseConfig(data []byte) (*api.ClusterConfig, error)
ParseConfig parses data into a ClusterConfig
func PlatformVersion ¶
PlatformVersion extracts the digit X in the provided platform version eks.X
func ResolveAMI ¶
func ResolveAMI(ctx context.Context, provider api.ClusterProvider, version string, np api.NodePool) error
ResolveAMI ensures that the node AMI is set and is available
func ScheduleCoreDNSOnFargateIfRelevant ¶
func ScheduleCoreDNSOnFargateIfRelevant(config *api.ClusterConfig, ctl *ClusterProvider, clientSet kubernetes.Interface) error
func SetAvailabilityZones ¶ added in v0.87.0
func SetAvailabilityZones(ctx context.Context, spec *api.ClusterConfig, given []string, ec2API awsapi.EC2, region string) error
SetAvailabilityZones sets the given (or chooses) the availability zones
func SupportsWindowsWorkloads ¶
func SupportsWindowsWorkloads(nodeGroups []KubeNodeGroup) bool
SupportsWindowsWorkloads reports whether nodeGroups can support running Windows workloads
func UpdateAuthConfigMap ¶ added in v0.99.0
func UpdateAuthConfigMap(ctx context.Context, nodeGroups []*api.NodeGroup, clientSet kubernetes.Interface) error
UpdateAuthConfigMap creates or adds a nodegroup IAM role in the auth ConfigMap for the given nodegroup.
func ValidateExistingNodeGroupsForCompatibility ¶ added in v0.99.0
func ValidateExistingNodeGroupsForCompatibility(ctx context.Context, cfg *api.ClusterConfig, stackManager manager.StackManager) error
ValidateExistingNodeGroupsForCompatibility looks at each of the existing nodegroups and validates configuration, if it find issues it logs messages
func ValidateLocalZones ¶ added in v0.97.0
func ValidateLocalZones(ctx context.Context, ec2API awsapi.EC2, localZones []string, region string) error
ValidateLocalZones validates that the specified local zones exist.
func WaitForNodes ¶ added in v0.99.0
func WaitForNodes(ctx context.Context, clientSet kubernetes.Interface, ng KubeNodeGroup) error
WaitForNodes waits till the nodes are ready
Types ¶
type Client ¶
type Client struct { Config *clientcmdapi.Config Generator TokenGenerator // contains filtered or unexported fields }
Client stores information about the client config
func (*Client) NewClientSet ¶
func (c *Client) NewClientSet() (*kubernetes.Clientset, error)
NewClientSet creates a new API client
type ClusterInfo ¶
ClusterInfo provides information about the cluster.
type ClusterProvider ¶
type ClusterProvider struct { // KubeProvider offers helper methods to handle Kubernetes operations KubeProvider // core fields used for config and AWS APIs AWSProvider api.ClusterProvider // informative fields, i.e. used as outputs Status *ProviderStatus }
ClusterProvider stores information about the cluster
func New ¶
func New(ctx context.Context, spec *api.ProviderConfig, clusterSpec *api.ClusterConfig) (*ClusterProvider, error)
New creates a new setup of the used AWS APIs
func (*ClusterProvider) CanOperate ¶
func (c *ClusterProvider) CanOperate(spec *api.ClusterConfig) (bool, error)
CanOperate returns true when a cluster can be operated, otherwise it returns false along with an error explaining the reason
func (*ClusterProvider) CanOperateWithRefresh ¶ added in v0.85.0
func (c *ClusterProvider) CanOperateWithRefresh(ctx context.Context, spec *api.ClusterConfig) (bool, error)
CanOperateWithRefresh returns true when a cluster can be operated, otherwise it returns false along with an error explaining the reason
func (*ClusterProvider) CanUpdate ¶
func (c *ClusterProvider) CanUpdate(spec *api.ClusterConfig) (bool, error)
CanUpdate return true when a cluster or add-ons can be updated, otherwise it returns false along with an error explaining the reason
func (*ClusterProvider) ClusterTasksForNodeGroups ¶
func (c *ClusterProvider) ClusterTasksForNodeGroups(cfg *api.ClusterConfig, installNeuronDevicePluginParam, installNvidiaDevicePluginParam bool) *tasks.TaskTree
ClusterTasksForNodeGroups returns all tasks dependent on node groups
func (*ClusterProvider) ControlPlaneVPCInfo ¶ added in v0.40.0
func (c *ClusterProvider) ControlPlaneVPCInfo() ekstypes.VpcConfigResponse
ControlPlaneVPCInfo returns cached version (EKS API)
func (*ClusterProvider) ControlPlaneVersion ¶
func (c *ClusterProvider) ControlPlaneVersion() string
ControlPlaneVersion returns cached version (EKS API)
func (*ClusterProvider) CreateExtraClusterConfigTasks ¶
func (c *ClusterProvider) CreateExtraClusterConfigTasks(ctx context.Context, cfg *api.ClusterConfig) *tasks.TaskTree
CreateExtraClusterConfigTasks returns all tasks for updating cluster configuration not depending on the control plane availability
func (*ClusterProvider) DescribeControlPlane ¶
func (c *ClusterProvider) DescribeControlPlane(ctx context.Context, meta *api.ClusterMeta) (*ekstypes.Cluster, error)
DescribeControlPlane describes the cluster control plane
func (*ClusterProvider) EnableKMSEncryption ¶ added in v0.39.0
func (c *ClusterProvider) EnableKMSEncryption(ctx context.Context, clusterConfig *api.ClusterConfig) error
EnableKMSEncryption enables KMS encryption for the specified cluster
func (*ClusterProvider) GetCluster ¶
func (c *ClusterProvider) GetCluster(ctx context.Context, clusterName string) (*ekstypes.Cluster, error)
GetCluster display details of an EKS cluster in your account
func (*ClusterProvider) GetCredentialsEnv ¶
func (c *ClusterProvider) GetCredentialsEnv() ([]string, error)
GetCredentialsEnv returns the AWS credentials for env usage
func (*ClusterProvider) GetCurrentClusterConfigForLogging ¶
func (c *ClusterProvider) GetCurrentClusterConfigForLogging(ctx context.Context, spec *api.ClusterConfig) (sets.String, sets.String, error)
GetCurrentClusterConfigForLogging fetches current cluster logging configuration as two sets - enabled and disabled types
func (*ClusterProvider) GetCurrentClusterVPCConfig ¶
func (c *ClusterProvider) GetCurrentClusterVPCConfig(ctx context.Context, spec *api.ClusterConfig) (*ClusterVPCConfig, error)
GetCurrentClusterVPCConfig fetches current cluster endpoint configuration for public and private access types
func (*ClusterProvider) GetNodeGroupIAM ¶
func (c *ClusterProvider) GetNodeGroupIAM(ctx context.Context, stackManager manager.StackManager, ng *api.NodeGroup) error
GetNodeGroupIAM retrieves the IAM configuration of the given nodegroup
func (*ClusterProvider) IsSupportedRegion ¶
func (c *ClusterProvider) IsSupportedRegion() bool
IsSupportedRegion check if given region is supported
func (*ClusterProvider) LoadClusterIntoSpecFromStack ¶ added in v0.40.0
func (c *ClusterProvider) LoadClusterIntoSpecFromStack(ctx context.Context, spec *api.ClusterConfig, stackManager manager.StackManager) error
LoadClusterIntoSpecFromStack uses stack information to load the cluster configuration into the spec At the moment VPC and KubernetesNetworkConfig are respected
func (*ClusterProvider) LoadClusterVPC ¶
func (c *ClusterProvider) LoadClusterVPC(ctx context.Context, spec *api.ClusterConfig, stackManager manager.StackManager) error
LoadClusterVPC loads the VPC configuration
func (*ClusterProvider) NewOpenIDConnectManager ¶
func (c *ClusterProvider) NewOpenIDConnectManager(ctx context.Context, spec *api.ClusterConfig) (*iamoidc.OpenIDConnectManager, error)
NewOpenIDConnectManager returns OpenIDConnectManager
func (*ClusterProvider) NewStackManager ¶
func (c *ClusterProvider) NewStackManager(spec *api.ClusterConfig) manager.StackManager
NewStackManager returns a new stack manager
func (*ClusterProvider) RefreshClusterStatus ¶
func (c *ClusterProvider) RefreshClusterStatus(ctx context.Context, spec *api.ClusterConfig) error
RefreshClusterStatus calls c.DescribeControlPlane and caches the results; it parses the credentials (endpoint, CA certificate) and stores them in ClusterConfig.Status, so that a Kubernetes client can be constructed; additionally it caches Kubernetes version (use ctl.ControlPlaneVersion to retrieve it) and other properties in c.Status.cachedClusterInfo
func (*ClusterProvider) RefreshClusterStatusIfStale ¶ added in v0.73.0
func (c *ClusterProvider) RefreshClusterStatusIfStale(ctx context.Context, spec *api.ClusterConfig) error
RefreshClusterStatusIfStale refreshes the cluster status if enough time has passed since the last refresh
func (*ClusterProvider) UpdateClusterConfigForEndpoints ¶
func (c *ClusterProvider) UpdateClusterConfigForEndpoints(ctx context.Context, cfg *api.ClusterConfig) error
UpdateClusterConfigForEndpoints calls eks.UpdateClusterConfig and updates access to API endpoints
func (*ClusterProvider) UpdateClusterConfigForLogging ¶
func (c *ClusterProvider) UpdateClusterConfigForLogging(ctx context.Context, cfg *api.ClusterConfig) error
UpdateClusterConfigForLogging calls UpdateClusterConfig to enable logging
func (*ClusterProvider) UpdateClusterVersion ¶
func (c *ClusterProvider) UpdateClusterVersion(ctx context.Context, cfg *api.ClusterConfig) (*ekstypes.Update, error)
UpdateClusterVersion calls eks.UpdateClusterVersion and updates to cfg.Metadata.Version, it will return update ID along with an error (if it occurs)
func (*ClusterProvider) UpdateClusterVersionBlocking ¶
func (c *ClusterProvider) UpdateClusterVersionBlocking(ctx context.Context, cfg *api.ClusterConfig) error
UpdateClusterVersionBlocking calls UpdateClusterVersion and blocks until update operation is successful
func (*ClusterProvider) UpdatePublicAccessCIDRs ¶
func (c *ClusterProvider) UpdatePublicAccessCIDRs(ctx context.Context, clusterConfig *api.ClusterConfig) error
UpdatePublicAccessCIDRs calls eks.UpdateClusterConfig and updates the CIDRs for public access
func (*ClusterProvider) ValidateClusterForCompatibility ¶
func (c *ClusterProvider) ValidateClusterForCompatibility(ctx context.Context, cfg *api.ClusterConfig, stackManager manager.StackManager) error
ValidateClusterForCompatibility looks at the cluster stack and check if it's compatible with current nodegroup configuration, if it find issues it returns an error
type ClusterVPCConfig ¶
type ClusterVPCConfig struct { ClusterEndpoints *api.ClusterEndpoints PublicAccessCIDRs []string }
ClusterVPCConfig represents a cluster's VPC configuration
type FargateClient ¶
type Generator ¶ added in v0.92.0
type Generator struct {
// contains filtered or unexported fields
}
Generator provides a token generating functionality using a signed STS CallerIdentity call.
func NewGenerator ¶ added in v0.92.0
func NewGenerator(client api.STSPresigner, clock credentials.Clock) Generator
func (Generator) GetWithSTS ¶ added in v0.92.0
GetWithSTS returns a token valid for clusterID using the given STS client. This implementation follows the steps outlined here: https://github.com/kubernetes-sigs/aws-iam-authenticator#api-authorization-from-outside-a-cluster We either add this implementation or have to maintain two versions of STS since aws-iam-authenticator is not switching over to aws-go-sdk-v2.
type InstanceSelector ¶ added in v0.45.0
type InstanceSelector interface { // Filter returns a set of instance types matching the specified instance selector filters Filter(selector.Filters) ([]string, error) }
InstanceSelector selects a set of instance types matching the specified instance selector criteria
type KubeNodeGroup ¶
type KubeNodeGroup interface { // NameString returns the name NameString() string // Size returns the number of the nodes (desired capacity) Size() int // ListOptions returns the selector for listing nodes in this nodegroup ListOptions() metav1.ListOptions // GetAMIFamily returns the AMI family GetAMIFamily() string }
KubeNodeGroup defines a set of Kubernetes Nodes
type KubeProvider ¶ added in v0.53.0
type KubeProvider interface { NewRawClient(spec *api.ClusterConfig) (*kubewrapper.RawClient, error) NewStdClientSet(spec *api.ClusterConfig) (*k8sclient.Clientset, error) ServerVersion(rawClient *kubernetes.RawClient) (string, error) WaitForControlPlane(meta *api.ClusterMeta, clientSet *kubewrapper.RawClient, waitTimeout time.Duration) error }
KubeProvider is an interface with helper funcs for k8s and EKS that are part of ClusterProvider
type KubernetesProvider ¶ added in v0.99.0
type KubernetesProvider struct { WaitTimeout time.Duration RoleARN string Signer api.STSPresigner }
KubernetesProvider provides helper methods to handle Kubernetes operations.
func (*KubernetesProvider) NewClient ¶ added in v0.99.0
func (c *KubernetesProvider) NewClient(spec *api.ClusterConfig) (*Client, error)
NewClient creates a new client config by embedding the STS token
func (*KubernetesProvider) NewRawClient ¶ added in v0.99.0
func (c *KubernetesProvider) NewRawClient(spec *api.ClusterConfig) (*kubewrapper.RawClient, error)
NewRawClient creates a new raw REST client in one go with an embedded STS token
func (*KubernetesProvider) NewStdClientSet ¶ added in v0.99.0
func (c *KubernetesProvider) NewStdClientSet(spec *api.ClusterConfig) (*kubernetes.Clientset, error)
NewStdClientSet creates a new API client in one go with an embedded STS token, this is most commonly used option
func (*KubernetesProvider) ServerVersion ¶ added in v0.99.0
func (c *KubernetesProvider) ServerVersion(rawClient *kubewrapper.RawClient) (string, error)
ServerVersion will use discovery API to fetch version of Kubernetes control plane
func (*KubernetesProvider) WaitForControlPlane ¶ added in v0.101.0
func (c *KubernetesProvider) WaitForControlPlane(meta *api.ClusterMeta, clientSet *kubewrapper.RawClient, waitTimeout time.Duration) error
WaitForControlPlane waits till the control plane is ready
type LoggingRetryer ¶
type LoggingRetryer struct { client.DefaultRetryer // contains filtered or unexported fields }
LoggingRetryer adds some logging when we are retrying, so we have some idea what is happening Right now it is very basic - e.g. it only logs when we retry (so doesn't log when we fail due to too many retries) It was copied from k8s.io/kops/upup/pkg/fi/cloudup/awsup/logging_retryer.go; the original version used glog, and didn't export the constructor
func (LoggingRetryer) RetryRules ¶
func (l LoggingRetryer) RetryRules(r *request.Request) time.Duration
RetryRules extends on DefaultRetryer.RetryRules
func (LoggingRetryer) ShouldRetry ¶ added in v0.39.0
func (l LoggingRetryer) ShouldRetry(r *request.Request) bool
ShouldRetry uses DefaultRetryer.ShouldRetry but also checks for non-retryable EC2MetadataError (see #2564)
type NodeGroupService ¶
type NodeGroupService struct { Provider api.ClusterProvider // contains filtered or unexported fields }
A NodeGroupService provides helpers for nodegroup creation
func NewNodeGroupService ¶
func NewNodeGroupService(provider api.ClusterProvider, instanceSelector InstanceSelector) *NodeGroupService
NewNodeGroupService creates a new NodeGroupService
func (*NodeGroupService) ExpandInstanceSelectorOptions ¶ added in v0.44.0
func (m *NodeGroupService) ExpandInstanceSelectorOptions(nodePools []api.NodePool, clusterAZs []string) error
ExpandInstanceSelectorOptions sets instance types to instances matched by the instance selector criteria
func (*NodeGroupService) NewAWSSelectorSession ¶ added in v0.53.0
func (m *NodeGroupService) NewAWSSelectorSession(provider api.ClusterProvider)
NewAWSSelectorSession returns a new instance of Selector provided an aws session
func (*NodeGroupService) Normalize ¶
func (m *NodeGroupService) Normalize(ctx context.Context, nodePools []api.NodePool, clusterMeta *api.ClusterMeta) error
Normalize normalizes nodegroups
type ProviderServices ¶
type ProviderServices struct { *ServicesV2 // contains filtered or unexported fields }
ProviderServices stores the used APIs
func (ProviderServices) ASG ¶ added in v0.39.0
func (p ProviderServices) ASG() awsapi.ASG
ASG returns a representation of the AutoScaling API
func (ProviderServices) CloudFormationDisableRollback ¶
func (p ProviderServices) CloudFormationDisableRollback() bool
CloudFormationDisableRollback returns whether stacks should not rollback on failure
func (ProviderServices) CloudFormationRoleARN ¶
func (p ProviderServices) CloudFormationRoleARN() string
CloudFormationRoleARN returns, if any, a service role used by CloudFormation to call AWS API on your behalf
func (ProviderServices) CloudTrail ¶
func (p ProviderServices) CloudTrail() awsapi.CloudTrail
CloudTrail returns a representation of the CloudTrail API
func (ProviderServices) CloudWatchLogs ¶ added in v0.73.0
func (p ProviderServices) CloudWatchLogs() awsapi.CloudWatchLogs
CloudWatchLogs returns a representation of the CloudWatchLogs API.
func (ProviderServices) ConfigProvider ¶ added in v0.39.0
func (p ProviderServices) ConfigProvider() client.ConfigProvider
func (ProviderServices) Profile ¶
func (p ProviderServices) Profile() string
Profile returns provider-level profile name
func (ProviderServices) Region ¶
func (p ProviderServices) Region() string
Region returns provider-level region setting
func (ProviderServices) Session ¶ added in v0.45.0
func (p ProviderServices) Session() *session.Session
func (ProviderServices) WaitTimeout ¶
func (p ProviderServices) WaitTimeout() time.Duration
WaitTimeout returns provider-level duration after which any wait operation has to timeout
type ProviderStatus ¶
type ProviderStatus struct { IAMRoleARN string ClusterInfo *ClusterInfo SessionCreds SessionProvider }
ProviderStatus stores information about the used IAM role and the resulting session
type RetryerV2 ¶ added in v0.90.0
RetryerV2 implements aws.Retryer
func NewRetryerV2 ¶ added in v0.90.0
func NewRetryerV2() *RetryerV2
NewRetryerV2 returns a new *RetryerV2
func (*RetryerV2) IsErrorRetryable ¶ added in v0.90.0
IsErrorRetryable implements aws.Retryer
type ServicesV2 ¶ added in v0.90.0
type ServicesV2 struct {
// contains filtered or unexported fields
}
ServicesV2 implements api.ServicesV2. The SDK clients are initialized lazily and guarded by a mutex.
func (*ServicesV2) CloudFormation ¶ added in v0.95.0
func (s *ServicesV2) CloudFormation() awsapi.CloudFormation
CloudFormation implements the AWS CloudFormation service.
func (*ServicesV2) EC2 ¶ added in v0.94.0
func (s *ServicesV2) EC2() awsapi.EC2
EC2 implements the AWS EC2 service.
func (*ServicesV2) EKS ¶ added in v0.98.0
func (s *ServicesV2) EKS() awsapi.EKS
func (*ServicesV2) ELB ¶ added in v0.91.0
func (s *ServicesV2) ELB() awsapi.ELB
ELB implements the AWS ELB service.
func (*ServicesV2) ELBV2 ¶ added in v0.91.0
func (s *ServicesV2) ELBV2() awsapi.ELBV2
ELBV2 implements the ELBV2 service.
func (*ServicesV2) IAM ¶ added in v0.94.0
func (s *ServicesV2) IAM() awsapi.IAM
IAM implements the AWS IAM service.
func (*ServicesV2) SSM ¶ added in v0.91.0
func (s *ServicesV2) SSM() awsapi.SSM
SSM implements the AWS SSM service.
func (*ServicesV2) STS ¶ added in v0.92.0
func (s *ServicesV2) STS() awsapi.STS
STS implements the AWS STS service.
func (*ServicesV2) STSPresigner ¶ added in v0.92.0
func (s *ServicesV2) STSPresigner() api.STSPresigner
STSPresigner provides a signed STS client for calls to Kubernetes.
type SessionProvider ¶ added in v0.101.0
type SessionProvider interface {
Get() (credentials.Value, error)
}
SessionProvider abstracts an aws credentials.Value provider.
type Token ¶ added in v0.92.0
Token is generated and used by Kubernetes client-go to authenticate with a Kubernetes cluster.
type TokenGenerator ¶ added in v0.92.0
TokenGenerator defines a token generator using STS.
type UnsupportedOIDCError ¶
type UnsupportedOIDCError struct {
// contains filtered or unexported fields
}
UnsupportedOIDCError represents an unsupported OIDC error
func (*UnsupportedOIDCError) Error ¶
func (u *UnsupportedOIDCError) Error() string
type VPCControllerTask ¶
type VPCControllerTask struct { Context context.Context Info string ClusterProvider *ClusterProvider ClusterConfig *api.ClusterConfig PlanMode bool }
VPCControllerTask represents a task to install the VPC controller
func (*VPCControllerTask) Describe ¶
func (v *VPCControllerTask) Describe() string
Describe implements Task
func (*VPCControllerTask) Do ¶
func (v *VPCControllerTask) Do(errCh chan error) error
Do implements Task
type WindowsIPAMTask ¶ added in v0.74.0
type WindowsIPAMTask struct { Info string ClientsetFunc func() (kubernetes.Interface, error) }
WindowsIPAMTask is a task for enabling Windows IPAM.
func (*WindowsIPAMTask) Describe ¶ added in v0.74.0
func (w *WindowsIPAMTask) Describe() string
Describe implements Task.
func (*WindowsIPAMTask) Do ¶ added in v0.74.0
func (w *WindowsIPAMTask) Do(errCh chan error) error
Do implements Task.