kubernetes reference package v1 title kubeconfig v1 contenttype tool reference Resource Types autogenerated true

Answer:
---
title: kubeconfig (v1)
content_type: tool-reference
package: v1
auto_generated: true
---

## Resource Types

- [Config](#Config)

## `Config`     {#Config}

Config holds the information needed to build connect to remote kubernetes clusters as a given user

Field	Description

apiVersion
string	/v1

kind
string	Config

kind

string

Legacy field from pkg/api/types.go TypeMeta.
TODO(jlowdermilk): remove this after eliminating downstream dependencies.

apiVersion

string

Legacy field from pkg/api/types.go TypeMeta.
TODO(jlowdermilk): remove this after eliminating downstream dependencies.

preferences [Required]

Preferences

Preferences holds general information to be use for cli interactions

clusters [Required]

[]NamedCluster

Clusters is a map of referencable names to cluster configs

users [Required]

[]NamedAuthInfo

AuthInfos is a map of referencable names to user configs

contexts [Required]

[]NamedContext

Contexts is a map of referencable names to context configs

current-context [Required]

string

CurrentContext is the name of the context that you would like to use by default

extensions

[]NamedExtension

Extensions holds additional information. This is useful for extenders so that reads and writes don't clobber unknown fields

## `AuthInfo`     {#AuthInfo}

**Appears in:**

- [NamedAuthInfo](#NamedAuthInfo)

AuthInfo contains information that describes identity information.  This is use to tell the kubernetes cluster who you are.

Field	Description

client-certificate

string

ClientCertificate is the path to a client cert file for TLS.

client-certificate-data

[]byte

ClientCertificateData contains PEM-encoded data from a client cert file for TLS. Overrides ClientCertificate

client-key

string

ClientKey is the path to a client key file for TLS.

client-key-data

[]byte

ClientKeyData contains PEM-encoded data from a client key file for TLS. Overrides ClientKey

token

string

Token is the bearer token for authentication to the kubernetes cluster.

tokenFile

string

TokenFile is a pointer to a file that contains a bearer token (as described above).  If both Token and TokenFile are present, Token takes precedence.

as

string

Impersonate is the username to impersonate.  The name matches the flag.

as-uid

string

ImpersonateUID is the uid to impersonate.

as-groups

[]string

ImpersonateGroups is the groups to impersonate.

as-user-extra

map[string][]string

ImpersonateUserExtra contains additional information for impersonated user.

username

string

Username is the username for basic authentication to the kubernetes cluster.

password

string

Password is the password for basic authentication to the kubernetes cluster.

auth-provider

AuthProviderConfig

AuthProvider specifies a custom authentication plugin for the kubernetes cluster.

exec

ExecConfig

Exec specifies a custom exec-based authentication plugin for the kubernetes cluster.

extensions

[]NamedExtension

Extensions holds additional information. This is useful for extenders so that reads and writes don't clobber unknown fields

## `AuthProviderConfig`     {#AuthProviderConfig}

**Appears in:**

- [AuthInfo](#AuthInfo)

AuthProviderConfig holds the configuration for a specified auth provider.

Field	Description

name [Required]

string

   No description provided.

config [Required]

map[string]string

   No description provided.

## `Cluster`     {#Cluster}

**Appears in:**

- [NamedCluster](#NamedCluster)

Cluster contains information about how to communicate with a kubernetes cluster

Field	Description

server [Required]

string

Server is the address of the kubernetes cluster (https://hostname:port).

tls-server-name

string

TLSServerName is used to check server certificate. If TLSServerName is empty, the hostname used to contact the server is used.

insecure-skip-tls-verify

bool

InsecureSkipTLSVerify skips the validity check for the server's certificate. This will make your HTTPS connections insecure.

certificate-authority

string

CertificateAuthority is the path to a cert file for the certificate authority.

certificate-authority-data

[]byte

CertificateAuthorityData contains PEM-encoded certificate authority certificates. Overrides CertificateAuthority

proxy-url

string

ProxyURL is the URL to the proxy to be used for all requests made by this
client. URLs with "http", "https", and "socks5" schemes are supported.  If
this configuration is not provided or the empty string, the client
attempts to construct a proxy configuration from http_proxy and
https_proxy environment variables. If these environment variables are not
set, the client does not attempt to proxy requests.

socks5 proxying does not currently support spdy streaming endpoints (exec,
attach, port forward).

disable-compression

bool

DisableCompression allows client to opt-out of response compression for all requests to the server. This is useful
to speed up requests (specifically lists) when client-server network bandwidth is ample, by saving time on
compression (server-side) and decompression (client-side): https://github.com/kubernetes/kubernetes/issues/112296.

extensions

[]NamedExtension

Extensions holds additional information. This is useful for extenders so that reads and writes don't clobber unknown fields

## `Context`     {#Context}

**Appears in:**

- [NamedContext](#NamedContext)

Context is a tuple of references to a cluster (how do I communicate with a kubernetes cluster), a user (how do I identify myself), and a namespace (what subset of resources do I want to work with)

Field	Description

cluster [Required]

string

Cluster is the name of the cluster for this context

user [Required]

string

AuthInfo is the name of the authInfo for this context

namespace

string

Namespace is the default namespace to use on unspecified requests

extensions

[]NamedExtension

Extensions holds additional information. This is useful for extenders so that reads and writes don't clobber unknown fields

## `ExecConfig`     {#ExecConfig}

**Appears in:**

- [AuthInfo](#AuthInfo)

ExecConfig specifies a command to provide client credentials. The command is exec'd
and outputs structured stdout holding credentials.

See the client.authentication.k8s.io API group for specifications of the exact input
and output format

Field	Description

command [Required]

string

Command to execute.

args

[]string

Arguments to pass to the command when executing it.

env

[]ExecEnvVar

Env defines additional environment variables to expose to the process. These
are unioned with the host's environment, as well as variables client-go uses
to pass argument to the plugin.

apiVersion [Required]

string

Preferred input version of the ExecInfo. The returned ExecCredentials MUST use
the same encoding version as the input.

installHint [Required]

string

This text is shown to the user when the executable doesn't seem to be
present. For example, brew install foo-cli might be a good InstallHint for
foo-cli on Mac OS systems.

provideClusterInfo [Required]

bool

ProvideClusterInfo determines whether or not to provide cluster information,
which could potentially contain very large CA data, to this exec plugin as a
part of the KUBERNETES_EXEC_INFO environment variable. By default, it is set
to false. Package k8s.io/client-go/tools/auth/exec provides helper methods for
reading this environment variable.

interactiveMode

ExecInteractiveMode

InteractiveMode determines this plugin's relationship with standard input. Valid
values are "Never" (this exec plugin never uses standard input), "IfAvailable" (this
exec plugin wants to use standard input if it is available), or "Always" (this exec
plugin requires standard input to function). See ExecInteractiveMode values for more
details.

If APIVersion is client.authentication.k8s.io/v1alpha1 or
client.authentication.k8s.io/v1beta1, then this field is optional and defaults
to "IfAvailable" when unset. Otherwise, this field is required.

## `ExecEnvVar`     {#ExecEnvVar}

**Appears in:**

- [ExecConfig](#ExecConfig)

ExecEnvVar is used for setting environment variables when executing an exec-based
credential plugin.

Field	Description

name [Required]

string

   No description provided.

value [Required]

string

   No description provided.

## `ExecInteractiveMode`     {#ExecInteractiveMode}

(Alias of `string`)

**Appears in:**

- [ExecConfig](#ExecConfig)

ExecInteractiveMode is a string that describes an exec plugin's relationship with standard input.

## `NamedAuthInfo`     {#NamedAuthInfo}

**Appears in:**

- [Config](#Config)

NamedAuthInfo relates nicknames to auth information

Field	Description

name [Required]

string

Name is the nickname for this AuthInfo

user [Required]

AuthInfo

AuthInfo holds the auth information

## `NamedCluster`     {#NamedCluster}

**Appears in:**

- [Config](#Config)

NamedCluster relates nicknames to cluster information

Field	Description

name [Required]

string

Name is the nickname for this Cluster

cluster [Required]

Cluster

Cluster holds the cluster information

## `NamedContext`     {#NamedContext}

**Appears in:**

- [Config](#Config)

NamedContext relates nicknames to context information

Field	Description

name [Required]

string

Name is the nickname for this Context

context [Required]

Context

Context holds the context information

## `NamedExtension`     {#NamedExtension}

**Appears in:**

- [Config](#Config)

- [AuthInfo](#AuthInfo)

- [Cluster](#Cluster)

- [Context](#Context)

- [Preferences](#Preferences)

NamedExtension relates nicknames to extension information

Field	Description

name [Required]

string

Name is the nickname for this Extension

extension [Required]

k8s.io/apimachinery/pkg/runtime.RawExtension

Extension holds the extension information

## `Preferences`     {#Preferences}

**Appears in:**

- [Config](#Config)

Field	Description

colors

bool

   No description provided.

extensions

[]NamedExtension

Extensions holds additional information. This is useful for extenders so that reads and writes don't clobber unknown fields

</table

title  kubeconfig  v1  content type  tool reference package  v1 auto generated  true         Resource Types       Config   Config                    Config        Config          p Config holds the information needed to build connect to remote kubernetes clusters as a given user  p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody        tr  td  code apiVersion  code  br  string  td  td  code  v1  code   td   tr   tr  td  code kind  code  br  string  td  td  code Config  code   td   tr           tr  td  code kind  code  br    code string  code    td   td      p Legacy field from pkg api types go TypeMeta  TODO jlowdermilk   remove this after eliminating downstream dependencies   p    td    tr   tr  td  code apiVersion  code  br    code string  code    td   td      p Legacy field from pkg api types go TypeMeta  TODO jlowdermilk   remove this after eliminating downstream dependencies   p    td    tr   tr  td  code preferences  code   B  Required   B  br    a href   Preferences   code Preferences  code   a    td   td      p Preferences holds general information to be use for cli interactions  p    td    tr   tr  td  code clusters  code   B  Required   B  br    a href   NamedCluster   code   NamedCluster  code   a    td   td      p Clusters is a map of referencable names to cluster configs  p    td    tr   tr  td  code users  code   B  Required   B  br    a href   NamedAuthInfo   code   NamedAuthInfo  code   a    td   td      p AuthInfos is a map of referencable names to user configs  p    td    tr   tr  td  code contexts  code   B  Required   B  br    a href   NamedContext   code   NamedContext  code   a    td   td      p Contexts is a map of referencable names to context configs  p    td    tr   tr  td  code current context  code   B  Required   B  br    code string  code    td   td      p CurrentContext is the name of the context that you would like to use by default  p    td    tr   tr  td  code extensions  code  br    a href   NamedExtension   code   NamedExtension  code   a    td   td      p Extensions holds additional information  This is useful for extenders so that reads and writes don t clobber unknown fields  p    td    tr    tbody    table       AuthInfo        AuthInfo          Appears in        NamedAuthInfo   NamedAuthInfo     p AuthInfo contains information that describes identity information   This is use to tell the kubernetes cluster who you are   p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code client certificate  code  br    code string  code    td   td      p ClientCertificate is the path to a client cert file for TLS   p    td    tr   tr  td  code client certificate data  code  br    code   byte  code    td   td      p ClientCertificateData contains PEM encoded data from a client cert file for TLS  Overrides ClientCertificate  p    td    tr   tr  td  code client key  code  br    code string  code    td   td      p ClientKey is the path to a client key file for TLS   p    td    tr   tr  td  code client key data  code  br    code   byte  code    td   td      p ClientKeyData contains PEM encoded data from a client key file for TLS  Overrides ClientKey  p    td    tr   tr  td  code token  code  br    code string  code    td   td      p Token is the bearer token for authentication to the kubernetes cluster   p    td    tr   tr  td  code tokenFile  code  br    code string  code    td   td      p TokenFile is a pointer to a file that contains a bearer token  as described above    If both Token and TokenFile are present  Token takes precedence   p    td    tr   tr  td  code as  code  br    code string  code    td   td      p Impersonate is the username to impersonate   The name matches the flag   p    td    tr   tr  td  code as uid  code  br    code string  code    td   td      p ImpersonateUID is the uid to impersonate   p    td    tr   tr  td  code as groups  code  br    code   string  code    td   td      p ImpersonateGroups is the groups to impersonate   p    td    tr   tr  td  code as user extra  code  br    code map string   string  code    td   td      p ImpersonateUserExtra contains additional information for impersonated user   p    td    tr   tr  td  code username  code  br    code string  code    td   td      p Username is the username for basic authentication to the kubernetes cluster   p    td    tr   tr  td  code password  code  br    code string  code    td   td      p Password is the password for basic authentication to the kubernetes cluster   p    td    tr   tr  td  code auth provider  code  br    a href   AuthProviderConfig   code AuthProviderConfig  code   a    td   td      p AuthProvider specifies a custom authentication plugin for the kubernetes cluster   p    td    tr   tr  td  code exec  code  br    a href   ExecConfig   code ExecConfig  code   a    td   td      p Exec specifies a custom exec based authentication plugin for the kubernetes cluster   p    td    tr   tr  td  code extensions  code  br    a href   NamedExtension   code   NamedExtension  code   a    td   td      p Extensions holds additional information  This is useful for extenders so that reads and writes don t clobber unknown fields  p    td    tr    tbody    table       AuthProviderConfig        AuthProviderConfig          Appears in        AuthInfo   AuthInfo     p AuthProviderConfig holds the configuration for a specified auth provider   p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code name  code   B  Required   B  br    code string  code    td   td      span class  text muted  No description provided   span   td    tr   tr  td  code config  code   B  Required   B  br    code map string string  code    td   td      span class  text muted  No description provided   span   td    tr    tbody    table       Cluster        Cluster          Appears in        NamedCluster   NamedCluster     p Cluster contains information about how to communicate with a kubernetes cluster  p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code server  code   B  Required   B  br    code string  code    td   td      p Server is the address of the kubernetes cluster  https   hostname port    p    td    tr   tr  td  code tls server name  code  br    code string  code    td   td      p TLSServerName is used to check server certificate  If TLSServerName is empty  the hostname used to contact the server is used   p    td    tr   tr  td  code insecure skip tls verify  code  br    code bool  code    td   td      p InsecureSkipTLSVerify skips the validity check for the server s certificate  This will make your HTTPS connections insecure   p    td    tr   tr  td  code certificate authority  code  br    code string  code    td   td      p CertificateAuthority is the path to a cert file for the certificate authority   p    td    tr   tr  td  code certificate authority data  code  br    code   byte  code    td   td      p CertificateAuthorityData contains PEM encoded certificate authority certificates  Overrides CertificateAuthority  p    td    tr   tr  td  code proxy url  code  br    code string  code    td   td      p ProxyURL is the URL to the proxy to be used for all requests made by this client  URLs with  quot http quot    quot https quot   and  quot socks5 quot  schemes are supported   If this configuration is not provided or the empty string  the client attempts to construct a proxy configuration from http proxy and https proxy environment variables  If these environment variables are not set  the client does not attempt to proxy requests   p   p socks5 proxying does not currently support spdy streaming endpoints  exec  attach  port forward    p    td    tr   tr  td  code disable compression  code  br    code bool  code    td   td      p DisableCompression allows client to opt out of response compression for all requests to the server  This is useful to speed up requests  specifically lists  when client server network bandwidth is ample  by saving time on compression  server side  and decompression  client side   https   github com kubernetes kubernetes issues 112296   p    td    tr   tr  td  code extensions  code  br    a href   NamedExtension   code   NamedExtension  code   a    td   td      p Extensions holds additional information  This is useful for extenders so that reads and writes don t clobber unknown fields  p    td    tr    tbody    table       Context        Context          Appears in        NamedContext   NamedContext     p Context is a tuple of references to a cluster  how do I communicate with a kubernetes cluster   a user  how do I identify myself   and a namespace  what subset of resources do I want to work with   p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code cluster  code   B  Required   B  br    code string  code    td   td      p Cluster is the name of the cluster for this context  p    td    tr   tr  td  code user  code   B  Required   B  br    code string  code    td   td      p AuthInfo is the name of the authInfo for this context  p    td    tr   tr  td  code namespace  code  br    code string  code    td   td      p Namespace is the default namespace to use on unspecified requests  p    td    tr   tr  td  code extensions  code  br    a href   NamedExtension   code   NamedExtension  code   a    td   td      p Extensions holds additional information  This is useful for extenders so that reads and writes don t clobber unknown fields  p    td    tr    tbody    table       ExecConfig        ExecConfig          Appears in        AuthInfo   AuthInfo     p ExecConfig specifies a command to provide client credentials  The command is exec d and outputs structured stdout holding credentials   p   p See the client authentication k8s io API group for specifications of the exact input and output format  p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code command  code   B  Required   B  br    code string  code    td   td      p Command to execute   p    td    tr   tr  td  code args  code  br    code   string  code    td   td      p Arguments to pass to the command when executing it   p    td    tr   tr  td  code env  code  br    a href   ExecEnvVar   code   ExecEnvVar  code   a    td   td      p Env defines additional environment variables to expose to the process  These are unioned with the host s environment  as well as variables client go uses to pass argument to the plugin   p    td    tr   tr  td  code apiVersion  code   B  Required   B  br    code string  code    td   td      p Preferred input version of the ExecInfo  The returned ExecCredentials MUST use the same encoding version as the input   p    td    tr   tr  td  code installHint  code   B  Required   B  br    code string  code    td   td      p This text is shown to the user when the executable doesn t seem to be present  For example   code brew install foo cli  code  might be a good InstallHint for foo cli on Mac OS systems   p    td    tr   tr  td  code provideClusterInfo  code   B  Required   B  br    code bool  code    td   td      p ProvideClusterInfo determines whether or not to provide cluster information  which could potentially contain very large CA data  to this exec plugin as a part of the KUBERNETES EXEC INFO environment variable  By default  it is set to false  Package k8s io client go tools auth exec provides helper methods for reading this environment variable   p    td    tr   tr  td  code interactiveMode  code  br    a href   ExecInteractiveMode   code ExecInteractiveMode  code   a    td   td      p InteractiveMode determines this plugin s relationship with standard input  Valid values are  quot Never quot   this exec plugin never uses standard input    quot IfAvailable quot   this exec plugin wants to use standard input if it is available   or  quot Always quot   this exec plugin requires standard input to function   See ExecInteractiveMode values for more details   p   p If APIVersion is client authentication k8s io v1alpha1 or client authentication k8s io v1beta1  then this field is optional and defaults to  quot IfAvailable quot  when unset  Otherwise  this field is required   p    td    tr    tbody    table       ExecEnvVar        ExecEnvVar          Appears in        ExecConfig   ExecConfig     p ExecEnvVar is used for setting environment variables when executing an exec based credential plugin   p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code name  code   B  Required   B  br    code string  code    td   td      span class  text muted  No description provided   span   td    tr   tr  td  code value  code   B  Required   B  br    code string  code    td   td      span class  text muted  No description provided   span   td    tr    tbody    table       ExecInteractiveMode        ExecInteractiveMode        Alias of  string      Appears in        ExecConfig   ExecConfig     p ExecInteractiveMode is a string that describes an exec plugin s relationship with standard input   p          NamedAuthInfo        NamedAuthInfo          Appears in        Config   Config     p NamedAuthInfo relates nicknames to auth information  p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code name  code   B  Required   B  br    code string  code    td   td      p Name is the nickname for this AuthInfo  p    td    tr   tr  td  code user  code   B  Required   B  br    a href   AuthInfo   code AuthInfo  code   a    td   td      p AuthInfo holds the auth information  p    td    tr    tbody    table       NamedCluster        NamedCluster          Appears in        Config   Config     p NamedCluster relates nicknames to cluster information  p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code name  code   B  Required   B  br    code string  code    td   td      p Name is the nickname for this Cluster  p    td    tr   tr  td  code cluster  code   B  Required   B  br    a href   Cluster   code Cluster  code   a    td   td      p Cluster holds the cluster information  p    td    tr    tbody    table       NamedContext        NamedContext          Appears in        Config   Config     p NamedContext relates nicknames to context information  p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code name  code   B  Required   B  br    code string  code    td   td      p Name is the nickname for this Context  p    td    tr   tr  td  code context  code   B  Required   B  br    a href   Context   code Context  code   a    td   td      p Context holds the context information  p    td    tr    tbody    table       NamedExtension        NamedExtension          Appears in        Config   Config      AuthInfo   AuthInfo      Cluster   Cluster      Context   Context      Preferences   Preferences     p NamedExtension relates nicknames to extension information  p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code name  code   B  Required   B  br    code string  code    td   td      p Name is the nickname for this Extension  p    td    tr   tr  td  code extension  code   B  Required   B  br    a href  https   pkg go dev k8s io apimachinery pkg runtime  RawExtension   code k8s io apimachinery pkg runtime RawExtension  code   a    td   td      p Extension holds the extension information  p    td    tr    tbody    table       Preferences        Preferences          Appears in        Config   Config      table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code colors  code  br    code bool  code    td   td      span class  text muted  No description provided   span   td    tr   tr  td  code extensions  code  br    a href   NamedExtension   code   NamedExtension  code   a    td   td      p Extensions holds additional information  This is useful for extenders so that reads and writes don t clobber unknown fields  p    td    tr    tbody    table


kubernetes reference contenttype tool reference Resource Types package client authentication k8s io v1 autogenerated true title Client Authentication v1

Answer:
---
title: Client Authentication (v1)
content_type: tool-reference
package: client.authentication.k8s.io/v1
auto_generated: true
---

## Resource Types

- [ExecCredential](#client-authentication-k8s-io-v1-ExecCredential)

## `ExecCredential`     {#client-authentication-k8s-io-v1-ExecCredential}

ExecCredential is used by exec-based plugins to communicate credentials to
HTTP transports.

Field	Description

apiVersion
string	client.authentication.k8s.io/v1

kind
string	ExecCredential

spec [Required]

ExecCredentialSpec

Spec holds information passed to the plugin by the transport.

status

ExecCredentialStatus

Status is filled in by the plugin and holds the credentials that the transport
should use to contact the API.

## `Cluster`     {#client-authentication-k8s-io-v1-Cluster}

**Appears in:**

- [ExecCredentialSpec](#client-authentication-k8s-io-v1-ExecCredentialSpec)

Cluster contains information to allow an exec plugin to communicate
with the kubernetes cluster being authenticated to.

To ensure that this struct contains everything someone would need to communicate
with a kubernetes cluster (just like they would via a kubeconfig), the fields
should shadow "k8s.io/client-go/tools/clientcmd/api/v1".Cluster, with the exception
of CertificateAuthority, since CA data will always be passed to the plugin as bytes.

Field	Description

server [Required]

string

Server is the address of the kubernetes cluster (https://hostname:port).

tls-server-name

string

TLSServerName is passed to the server for SNI and is used in the client to
check server certificates against. If ServerName is empty, the hostname
used to contact the server is used.

insecure-skip-tls-verify

bool

InsecureSkipTLSVerify skips the validity check for the server's certificate.
This will make your HTTPS connections insecure.

certificate-authority-data

[]byte

CAData contains PEM-encoded certificate authority certificates.
If empty, system roots should be used.

proxy-url

string

ProxyURL is the URL to the proxy to be used for all requests to this
cluster.

disable-compression

bool

DisableCompression allows client to opt-out of response compression for all requests to the server. This is useful
to speed up requests (specifically lists) when client-server network bandwidth is ample, by saving time on
compression (server-side) and decompression (client-side): https://github.com/kubernetes/kubernetes/issues/112296.

config

k8s.io/apimachinery/pkg/runtime.RawExtension

Config holds additional config data that is specific to the exec
plugin with regards to the cluster being authenticated to.

This data is sourced from the clientcmd Cluster object's
extensions[client.authentication.k8s.io/exec] field:

clusters:

name: my-cluster
cluster:
...
extensions:

name: client.authentication.k8s.io/exec  # reserved extension name for per cluster exec config
extension:
audience: 06e3fbd18de8  # arbitrary config

In some environments, the user config may be exactly the same across many clusters
(i.e. call this exec plugin) minus some details that are specific to each cluster
such as the audience.  This field allows the per cluster config to be directly
specified with the cluster info.  Using this field to store secret data is not
recommended as one of the prime benefits of exec plugins is that no secrets need
to be stored directly in the kubeconfig.

## `ExecCredentialSpec`     {#client-authentication-k8s-io-v1-ExecCredentialSpec}

**Appears in:**

- [ExecCredential](#client-authentication-k8s-io-v1-ExecCredential)

ExecCredentialSpec holds request and runtime specific information provided by
the transport.

Field	Description

cluster

Cluster

Cluster contains information to allow an exec plugin to communicate with the
kubernetes cluster being authenticated to. Note that Cluster is non-nil only
when provideClusterInfo is set to true in the exec provider config (i.e.,
ExecConfig.ProvideClusterInfo).

interactive [Required]

bool

Interactive declares whether stdin has been passed to this exec plugin.

## `ExecCredentialStatus`     {#client-authentication-k8s-io-v1-ExecCredentialStatus}

**Appears in:**

- [ExecCredential](#client-authentication-k8s-io-v1-ExecCredential)

ExecCredentialStatus holds credentials for the transport to use.

Token and ClientKeyData are sensitive fields. This data should only be
transmitted in-memory between client and exec plugin process. Exec plugin
itself should at least be protected via file permissions.

Field	Description

expirationTimestamp

meta/v1.Time

ExpirationTimestamp indicates a time when the provided credentials expire.

token [Required]

string

Token is a bearer token used by the client for request authentication.

clientCertificateData [Required]

string

PEM-encoded client TLS certificates (including intermediates, if any).

clientKeyData [Required]

string

PEM-encoded private key for the above certificate.

title  Client Authentication  v1  content type  tool reference package  client authentication k8s io v1 auto generated  true          Resource Types       ExecCredential   client authentication k8s io v1 ExecCredential          ExecCredential        client authentication k8s io v1 ExecCredential          p ExecCredential is used by exec based plugins to communicate credentials to HTTP transports   p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody        tr  td  code apiVersion  code  br  string  td  td  code client authentication k8s io v1  code   td   tr   tr  td  code kind  code  br  string  td  td  code ExecCredential  code   td   tr           tr  td  code spec  code   B  Required   B  br    a href   client authentication k8s io v1 ExecCredentialSpec   code ExecCredentialSpec  code   a    td   td      p Spec holds information passed to the plugin by the transport   p    td    tr   tr  td  code status  code  br    a href   client authentication k8s io v1 ExecCredentialStatus   code ExecCredentialStatus  code   a    td   td      p Status is filled in by the plugin and holds the credentials that the transport should use to contact the API   p    td    tr    tbody    table       Cluster        client authentication k8s io v1 Cluster          Appears in        ExecCredentialSpec   client authentication k8s io v1 ExecCredentialSpec     p Cluster contains information to allow an exec plugin to communicate with the kubernetes cluster being authenticated to   p   p To ensure that this struct contains everything someone would need to communicate with a kubernetes cluster  just like they would via a kubeconfig   the fields should shadow  quot k8s io client go tools clientcmd api v1 quot  Cluster  with the exception of CertificateAuthority  since CA data will always be passed to the plugin as bytes   p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code server  code   B  Required   B  br    code string  code    td   td      p Server is the address of the kubernetes cluster  https   hostname port    p    td    tr   tr  td  code tls server name  code  br    code string  code    td   td      p TLSServerName is passed to the server for SNI and is used in the client to check server certificates against  If ServerName is empty  the hostname used to contact the server is used   p    td    tr   tr  td  code insecure skip tls verify  code  br    code bool  code    td   td      p InsecureSkipTLSVerify skips the validity check for the server s certificate  This will make your HTTPS connections insecure   p    td    tr   tr  td  code certificate authority data  code  br    code   byte  code    td   td      p CAData contains PEM encoded certificate authority certificates  If empty  system roots should be used   p    td    tr   tr  td  code proxy url  code  br    code string  code    td   td      p ProxyURL is the URL to the proxy to be used for all requests to this cluster   p    td    tr   tr  td  code disable compression  code  br    code bool  code    td   td      p DisableCompression allows client to opt out of response compression for all requests to the server  This is useful to speed up requests  specifically lists  when client server network bandwidth is ample  by saving time on compression  server side  and decompression  client side   https   github com kubernetes kubernetes issues 112296   p    td    tr   tr  td  code config  code  br    a href  https   pkg go dev k8s io apimachinery pkg runtime  RawExtension   code k8s io apimachinery pkg runtime RawExtension  code   a    td   td      p Config holds additional config data that is specific to the exec plugin with regards to the cluster being authenticated to   p   p This data is sourced from the clientcmd Cluster object s extensions client authentication k8s io exec  field   p   p clusters   p   ul   li name  my cluster cluster      extensions   ul   li name  client authentication k8s io exec    reserved extension name for per cluster exec config extension  audience  06e3fbd18de8    arbitrary config  li    ul    li    ul   p In some environments  the user config may be exactly the same across many clusters  i e  call this exec plugin  minus some details that are specific to each cluster such as the audience   This field allows the per cluster config to be directly specified with the cluster info   Using this field to store secret data is not recommended as one of the prime benefits of exec plugins is that no secrets need to be stored directly in the kubeconfig   p    td    tr    tbody    table       ExecCredentialSpec        client authentication k8s io v1 ExecCredentialSpec          Appears in        ExecCredential   client authentication k8s io v1 ExecCredential     p ExecCredentialSpec holds request and runtime specific information provided by the transport   p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code cluster  code  br    a href   client authentication k8s io v1 Cluster   code Cluster  code   a    td   td      p Cluster contains information to allow an exec plugin to communicate with the kubernetes cluster being authenticated to  Note that Cluster is non nil only when provideClusterInfo is set to true in the exec provider config  i e   ExecConfig ProvideClusterInfo    p    td    tr   tr  td  code interactive  code   B  Required   B  br    code bool  code    td   td      p Interactive declares whether stdin has been passed to this exec plugin   p    td    tr    tbody    table       ExecCredentialStatus        client authentication k8s io v1 ExecCredentialStatus          Appears in        ExecCredential   client authentication k8s io v1 ExecCredential     p ExecCredentialStatus holds credentials for the transport to use   p   p Token and ClientKeyData are sensitive fields  This data should only be transmitted in memory between client and exec plugin process  Exec plugin itself should at least be protected via file permissions   p     table class  table    thead  tr  th width  30   Field  th  th Description  th   tr   thead   tbody           tr  td  code expirationTimestamp  code  br    a href  https   kubernetes io docs reference generated kubernetes api v1 31  time v1 meta   code meta v1 Time  code   a    td   td      p ExpirationTimestamp indicates a time when the provided credentials expire   p    td    tr   tr  td  code token  code   B  Required   B  br    code string  code    td   td      p Token is a bearer token used by the client for request authentication   p    td    tr   tr  td  code clientCertificateData  code   B  Required   B  br    code string  code    td   td      p PEM encoded client TLS certificates  including intermediates  if any    p    td    tr   tr  td  code clientKeyData  code   B  Required   B  br    code string  code    td   td      p PEM encoded private key for the above certificate   p    td    tr    tbody    table