Documentation ¶
Index ¶
- func CheckInstanceAvailability(ctx context.Context, spec *api.ClusterConfig, ec2API awsapi.EC2) error
- 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 GetNodes(clientSet kubernetes.Interface, ng KubeNodeGroup) (int, error)
- func GetUsername(roleArn string) string
- func IsAccessEntryEnabled(accessConfig *ekstypes.AccessConfigResponse) bool
- func LoadConfigFromFile(configFile string) (*api.ClusterConfig, error)
- func LoadConfigWithReader(configFile string, configReader io.Reader) (*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, ...) (bool, error)
- func SupportsWindowsWorkloads(nodeGroups []KubeNodeGroup) bool
- func UpdateAuthConfigMap(nodeGroups []*api.NodeGroup, clientSet kubernetes.Interface) 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 AWSConfigurationLoader
- 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) GetClusterState() *ekstypes.Cluster
- func (c *ClusterProvider) GetCredentialsEnv(ctx context.Context) ([]string, error)
- func (c *ClusterProvider) GetCurrentClusterConfigForLogging(ctx context.Context, spec *api.ClusterConfig) (sets.Set[string], sets.Set[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) IsAccessEntryEnabled() bool
- func (c *ClusterProvider) IsSupportedRegion() bool
- func (c *ClusterProvider) LoadClusterIntoSpecFromStack(ctx context.Context, spec *api.ClusterConfig, stack *manager.Stack) error
- func (c *ClusterProvider) LoadClusterVPC(ctx context.Context, spec *api.ClusterConfig, stack *manager.Stack) 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) UpdateClusterConfig(ctx context.Context, input *eks.UpdateClusterConfigInput) 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 ConfigurationLoader
- type FargateClient
- type InstanceSelector
- type KubeNodeGroup
- type KubeProvider
- type KubernetesProvider
- func (c *KubernetesProvider) NewClient(clusterInfo kubeconfig.ClusterInfo) (*Client, error)
- func (c *KubernetesProvider) NewRawClient(clusterInfo kubeconfig.ClusterInfo) (*kubewrapper.RawClient, error)
- func (c *KubernetesProvider) NewStdClientSet(clusterInfo kubeconfig.ClusterInfo) (kubernetes.Interface, error)
- func (c *KubernetesProvider) ServerVersion(rawClient *kubewrapper.RawClient) (string, error)
- func (c *KubernetesProvider) WaitForControlPlane(meta *api.ClusterMeta, clientSet *kubewrapper.RawClient, ...) error
- type NodeGroupService
- 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) Profile() api.Profile
- func (p ProviderServices) Region() string
- func (p ProviderServices) WaitTimeout() time.Duration
- type ProviderStatus
- type RetryerV2
- type ServicesV2
- func (s *ServicesV2) AWSConfig() aws.Config
- func (s *ServicesV2) CloudFormation() awsapi.CloudFormation
- func (s *ServicesV2) CredentialsProvider() aws.CredentialsProvider
- 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) Outposts() awsapi.Outposts
- func (s *ServicesV2) SSM() awsapi.SSM
- func (s *ServicesV2) STS() awsapi.STS
- func (s *ServicesV2) STSPresigner() api.STSPresigner
- type VPCControllerTask
- type WindowsIPAMTask
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckInstanceAvailability ¶ added in v0.106.0
func CheckInstanceAvailability(ctx context.Context, spec *api.ClusterConfig, ec2API awsapi.EC2) error
CheckInstanceAvailability verifies that if any instances are provided in any node groups that those instances are available in the selected AZs.
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 GetNodes ¶ added in v0.137.0
func GetNodes(clientSet kubernetes.Interface, ng KubeNodeGroup) (int, error)
func GetUsername ¶ added in v0.99.0
GetUsername extracts the username part from the IAM role ARN
func IsAccessEntryEnabled ¶ added in v0.167.0
func IsAccessEntryEnabled(accessConfig *ekstypes.AccessConfigResponse) bool
IsAccessEntryEnabled reports whether the specified accessConfig has access entries enabled.
func LoadConfigFromFile ¶
func LoadConfigFromFile(configFile string) (*api.ClusterConfig, error)
LoadConfigFromFile loads ClusterConfig from configFile
func LoadConfigWithReader ¶ added in v0.186.0
LoadConfigWithReader loads ClusterConfig from configFile or configReader.
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) (bool, error)
SetAvailabilityZones sets the given (or chooses) the availability zones Returns whether azs were set randomly or provided by a user. CheckInstanceAvailability is only run if azs were provided by the user. Random selection already performs this check and makes sure AZs support all given instances.
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(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 AWSConfigurationLoader ¶ added in v0.153.0
type Client ¶
type Client struct { Config *clientcmdapi.Config // 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, preNodeGroupAddons *tasks.TaskTree, updateVPCCNITask *tasks.GenericTask) *tasks.TaskTree
CreateExtraClusterConfigTasks returns all tasks for updating cluster configuration
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) GetClusterState ¶ added in v0.167.0
func (c *ClusterProvider) GetClusterState() *ekstypes.Cluster
GetClusterState returns the EKS cluster state.
func (*ClusterProvider) GetCredentialsEnv ¶
func (c *ClusterProvider) GetCredentialsEnv(ctx context.Context) ([]string, error)
GetCredentialsEnv returns the AWS credentials for env usage
func (*ClusterProvider) GetCurrentClusterConfigForLogging ¶
func (c *ClusterProvider) GetCurrentClusterConfigForLogging(ctx context.Context, spec *api.ClusterConfig) (sets.Set[string], sets.Set[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) IsAccessEntryEnabled ¶ added in v0.167.0
func (c *ClusterProvider) IsAccessEntryEnabled() bool
IsAccessEntryEnabled reports whether the cluster has access entries enabled.
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, stack *manager.Stack) 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, stack *manager.Stack) 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. It also updates ClusterConfig to reflect the current cluster state.
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) UpdateClusterConfig ¶ added in v0.164.0
func (c *ClusterProvider) UpdateClusterConfig(ctx context.Context, input *eks.UpdateClusterConfigInput) error
UpdateClusterConfig calls EKS.UpdateClusterConfig and waits for the update to complete.
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 ConfigurationLoader ¶ added in v0.153.0
type ConfigurationLoader struct {
AWSConfigurationLoader
}
func (ConfigurationLoader) LoadDefaultConfig ¶ added in v0.153.0
func (cl ConfigurationLoader) LoadDefaultConfig(ctx context.Context, optFns ...func(*config.LoadOptions) error) (aws.Config, error)
type FargateClient ¶
type InstanceSelector ¶ added in v0.45.0
type InstanceSelector interface { // Filter returns a set of instance types matching the specified instance selector filters. Filter(context.Context, 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(clusterInfo kubeconfig.ClusterInfo) (*kubernetes.RawClient, error) NewStdClientSet(clusterInfo kubeconfig.ClusterInfo) (k8sclient.Interface, error) ServerVersion(rawClient *kubernetes.RawClient) (string, error) WaitForControlPlane(meta *api.ClusterMeta, clientSet *kubernetes.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(clusterInfo kubeconfig.ClusterInfo) (*Client, error)
NewClient creates a new client config.
func (*KubernetesProvider) NewRawClient ¶ added in v0.99.0
func (c *KubernetesProvider) NewRawClient(clusterInfo kubeconfig.ClusterInfo) (*kubewrapper.RawClient, error)
NewRawClient creates a new raw REST client.
func (*KubernetesProvider) NewStdClientSet ¶ added in v0.99.0
func (c *KubernetesProvider) NewStdClientSet(clusterInfo kubeconfig.ClusterInfo) (kubernetes.Interface, error)
NewStdClientSet creates a new API client.
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 NodeGroupService ¶
type NodeGroupService struct {
// contains filtered or unexported fields
}
A NodeGroupService provides helpers for nodegroup creation.
func NewNodeGroupService ¶
func NewNodeGroupService(provider api.ClusterProvider, instanceSelector InstanceSelector, outpostsService *outposts.Service) *NodeGroupService
NewNodeGroupService creates a new NodeGroupService.
func (*NodeGroupService) ExpandInstanceSelectorOptions ¶ added in v0.44.0
func (n *NodeGroupService) ExpandInstanceSelectorOptions(nodePools []api.NodePool, clusterAZs []string) error
ExpandInstanceSelectorOptions sets instance types to instances matched by the instance selector criteria.
func (*NodeGroupService) Normalize ¶
func (n *NodeGroupService) Normalize(ctx context.Context, nodePools []api.NodePool, clusterConfig *api.ClusterConfig) 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) Profile ¶
func (p ProviderServices) Profile() api.Profile
Profile returns the provider-level AWS profile.
func (ProviderServices) Region ¶
func (p ProviderServices) Region() string
Region returns provider-level region setting
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 }
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) AWSConfig ¶ added in v0.148.0
func (s *ServicesV2) AWSConfig() aws.Config
func (*ServicesV2) CloudFormation ¶ added in v0.95.0
func (s *ServicesV2) CloudFormation() awsapi.CloudFormation
CloudFormation implements the AWS CloudFormation service.
func (*ServicesV2) CredentialsProvider ¶ added in v0.148.0
func (s *ServicesV2) CredentialsProvider() aws.CredentialsProvider
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
EKS returns the AWS EKS service.
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) Outposts ¶ added in v0.112.0
func (s *ServicesV2) Outposts() awsapi.Outposts
Outposts returns the AWS Outposts 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 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.