Documentation ¶
Index ¶
- Constants
- func AppendAuthenticator(config *clientcmdapi.Config, cluster ClusterInfo, ...)
- func AutoPath(name string) string
- func CheckAllCommands(kubeconfigPath string, isContextSet bool, contextName string, env []string) error
- func DefaultPath() string
- func MaybeDeleteConfig(meta *api.ClusterMeta)
- func NewForKubectl(cluster ClusterInfo, username, roleARN, profile string) *clientcmdapi.Config
- func NewForUser(cluster ClusterInfo, username string) *clientcmdapi.Config
- func Write(path string, newConfig clientcmdapi.Config, setContext bool) (string, error)
- type AWSAuthenticatorVersionFormat
- type ClusterInfo
- type ConfigBuilder
Constants ¶
const ( // AWSIAMAuthenticator defines the name of the AWS IAM authenticator AWSIAMAuthenticator = "aws-iam-authenticator" // AWSEKSAuthenticator defines the recently added `aws eks get-token` command AWSEKSAuthenticator = "aws" // AWSIAMAuthenticatorMinimumBetaVersion this is the minimum version at which aws-iam-authenticator uses v1beta1 as APIVersion AWSIAMAuthenticatorMinimumBetaVersion = "0.5.3" // AWSCLIv1MinimumBetaVersion this is the minimum version at which aws-cli v1 uses v1beta1 as APIVersion AWSCLIv1MinimumBetaVersion = "1.23.9" // AWSCLIv2MinimumBetaVersion this is the minimum version at which aws-cli v2 uses v1beta1 as APIVersion AWSCLIv2MinimumBetaVersion = "2.6.3" )
Variables ¶
This section is empty.
Functions ¶
func AppendAuthenticator ¶
func AppendAuthenticator(config *clientcmdapi.Config, cluster ClusterInfo, authenticatorCMD, roleARN, profile string)
AppendAuthenticator appends the AWS IAM authenticator, and if profile is non-empty string it sets AWS_PROFILE environment variable also
func CheckAllCommands ¶ added in v0.158.0
func CheckAllCommands(kubeconfigPath string, isContextSet bool, contextName string, env []string) error
CheckAllCommands check version of kubectl, and if it can be used with either of the authenticator commands; most importantly it validates if kubectl can use kubeconfig we've created for it
func MaybeDeleteConfig ¶
func MaybeDeleteConfig(meta *api.ClusterMeta)
MaybeDeleteConfig will delete the auto-generated kubeconfig, if it exists
func NewForKubectl ¶
func NewForKubectl(cluster ClusterInfo, username, roleARN, profile string) *clientcmdapi.Config
NewForKubectl creates configuration for a user with kubectl by configuring a suitable authenticator and respecting provider settings
func NewForUser ¶
func NewForUser(cluster ClusterInfo, username string) *clientcmdapi.Config
NewForUser returns a Config suitable for a user by respecting provider settings
Types ¶
type AWSAuthenticatorVersionFormat ¶ added in v0.86.0
type AWSAuthenticatorVersionFormat struct {
Version string `json:"Version"`
}
AWSAuthenticatorVersionFormat is the format in which aws-iam-authenticator displays version information: {"Version":"0.5.5","Commit":"85e50980d9d916ae95882176c18f14ae145f916f"}
type ClusterInfo ¶ added in v0.112.0
type ClusterInfo interface { // ID returns the cluster ID. // This can either be the name of the cluster or a UUID. ID() string // Meta returns the cluster metadata. Meta() *api.ClusterMeta // GetStatus returns the cluster status. GetStatus() *api.ClusterStatus }
ClusterInfo holds the cluster info.
type ConfigBuilder ¶
type ConfigBuilder struct {
// contains filtered or unexported fields
}
ConfigBuilder can create a client-go clientcmd Config
func NewBuilder ¶
func NewBuilder(metadata *api.ClusterMeta, status *api.ClusterStatus, username string) *ConfigBuilder
NewBuilder returns a minimal ConfigBuilder
func (*ConfigBuilder) Build ¶
func (cb *ConfigBuilder) Build() *clientcmdapi.Config
Build creates the Config with the ConfigBuilder settings
func (*ConfigBuilder) UseCertificateAuthorityFile ¶
func (cb *ConfigBuilder) UseCertificateAuthorityFile(path string) *ConfigBuilder
UseCertificateAuthorityFile sets the config to use CA from file for TLS communication instead of the CA retrieved from EKS
func (*ConfigBuilder) UseSystemCA ¶
func (cb *ConfigBuilder) UseSystemCA() *ConfigBuilder
UseSystemCA sets the config to use the system CAs for TLS communication instead of the CA retrieved from EKS