Skip to main content

Class: KubeConfig

Quick start: const kc = new KubeConfig(); kc.loadFromDefault(); const api = kc.makeApiClient(CoreV1Api); — See examples

Defined in: src/config.ts:142

Implements​

  • SecurityAuthentication

Constructors​

Constructor​

new KubeConfig(): KubeConfig

Defined in: src/config.ts:241

Returns​

KubeConfig

Properties​

clusters​

clusters: Cluster[]

Defined in: src/config.ts:224

The list of all known clusters


contexts​

contexts: Context[]

Defined in: src/config.ts:234

The list of all known contexts


currentContext​

currentContext: string

Defined in: src/config.ts:239

The name of the current context


users​

users: User[]

Defined in: src/config.ts:229

The list of all known users

Methods​

addAuthenticator()​

addAuthenticator(authenticator): void

Defined in: src/config.ts:164

Parameters​

authenticator​

Authenticator

Returns​

void


addCluster()​

addCluster(cluster): void

Defined in: src/config.ts:495

Parameters​

cluster​

Cluster

Returns​

void


addContext()​

addContext(ctx): void

Defined in: src/config.ts:519

Parameters​

ctx​

Context

Returns​

void


addUser()​

addUser(user): void

Defined in: src/config.ts:507

Parameters​

user​

User

Returns​

void


applySecurityAuthentication()​

applySecurityAuthentication(context): Promise<void>

Defined in: src/config.ts:351

Applies SecurityAuthentication to RequestContext of an API Call from API Client

Parameters​

context​

RequestContext

Returns​

Promise<void>

Implementation of​

SecurityAuthentication.applySecurityAuthentication


applyToHTTPSOptions()​

applyToHTTPSOptions(opts): Promise<void>

Defined in: src/config.ts:304

Parameters​

opts​

any

Returns​

Promise<void>


createDispatcherOptions()​

createDispatcherOptions(cluster, agentOptions): DispatcherOptions

Defined in: src/config.ts:711

Build the dispatcher configuration (options + type) without constructing the actual Dispatcher instance. Exposed as a separate method so that tests can validate the option-mapping logic directly instead of reaching into undici's Symbol-keyed private state.

Parameters​

cluster​

Cluster | null

agentOptions​

AgentOptions

Returns​

DispatcherOptions


exportConfig()​

exportConfig(): string

Defined in: src/config.ts:636

Returns​

string


getCluster()​

getCluster(name): Cluster | null

Defined in: src/config.ts:282

Parameters​

name​

string

Returns​

Cluster | null


getClusters()​

getClusters(): Cluster[]

Defined in: src/config.ts:251

Returns​

Cluster[]


getContextObject()​

getContextObject(name): Context | null

Defined in: src/config.ts:267

Parameters​

name​

string

Returns​

Context | null


getContexts()​

getContexts(): Context[]

Defined in: src/config.ts:247

Returns​

Context[]


getCurrentCluster()​

getCurrentCluster(): Cluster | null

Defined in: src/config.ts:274

Returns​

Cluster | null


getCurrentContext()​

getCurrentContext(): string

Defined in: src/config.ts:259

Returns​

string


getCurrentUser()​

getCurrentUser(): User | null

Defined in: src/config.ts:286

Returns​

User | null


getName()​

getName(): string

Defined in: src/config.ts:395

Returns name of this security authentication method

Returns​

string

string

Implementation of​

SecurityAuthentication.getName


getUser()​

getUser(name): User | null

Defined in: src/config.ts:294

Parameters​

name​

string

Returns​

User | null


getUsers()​

getUsers(): User[]

Defined in: src/config.ts:255

Returns​

User[]


loadExecCredentialPluginPolicyFromKuberc()​

loadExecCredentialPluginPolicyFromKuberc(file?, platform?): ExecCredentialPluginPolicy | undefined

Defined in: src/config.ts:192

Loads the exec credential plugin policy from a kubectl kuberc file and applies it with setExecCredentialPluginPolicy.

If file is not given, the file is located the same way kubectl does: the KUBERC environment variable if set, otherwise $HOME/.kube/kuberc. Setting KUBERC=off or KUBECTL_KUBERC=false disables loading, in which case the current policy is unchanged. A missing default kuberc file is not an error, a missing explicitly specified file is.

Parameters​

file?​

string

optional path to the kuberc file.

platform?​

string = process.platform

Returns​

ExecCredentialPluginPolicy | undefined

the loaded policy, or undefined if no kuberc file was loaded.


loadFromCluster()​

loadFromCluster(pathPrefix?): void

Defined in: src/config.ts:427

Parameters​

pathPrefix?​

string = ''

Returns​

void


loadFromClusterAndUser()​

loadFromClusterAndUser(cluster, user): void

Defined in: src/config.ts:414

Parameters​

cluster​

Cluster

user​

User

Returns​

void


loadFromDefault()​

loadFromDefault(opts?, contextFromStartingConfig?, platform?): void

Defined in: src/config.ts:531

Parameters​

opts?​

Partial<ConfigOptions>

contextFromStartingConfig?​

boolean = false

platform?​

string = process.platform

Returns​

void


loadFromFile()​

loadFromFile(file, opts?): void

Defined in: src/config.ts:298

Parameters​

file​

string

opts?​

Partial<ConfigOptions>

Returns​

void


loadFromOptions()​

loadFromOptions(options): void

Defined in: src/config.ts:407

Parameters​

options​

any

Returns​

void


loadFromString()​

loadFromString(config, opts?): void

Defined in: src/config.ts:399

Parameters​

config​

string

opts?​

Partial<ConfigOptions>

Returns​

void


makeApiClient()​

makeApiClient<T>(apiClientType): T

Defined in: src/config.ts:600

Type Parameters​

T​

T extends ApiType

Parameters​

apiClientType​

ApiConstructor<T>

Returns​

T


makePathsAbsolute()​

makePathsAbsolute(rootDirectory): void

Defined in: src/config.ts:620

Parameters​

rootDirectory​

string

Returns​

void


mergeConfig()​

mergeConfig(config, preserveContext?): void

Defined in: src/config.ts:480

Parameters​

config​

KubeConfig

preserveContext?​

boolean = false

Returns​

void


setCurrentContext()​

setCurrentContext(context): void

Defined in: src/config.ts:263

Parameters​

context​

string

Returns​

void


setExecCredentialPluginPolicy()​

setExecCredentialPluginPolicy(policy?): void

Defined in: src/config.ts:176

Sets the application policy for kubeconfig exec credential plugins. The semantics match the credentialPluginPolicy and credentialPluginAllowlist fields of a kubectl kuberc file, see https://kubernetes.io/docs/reference/kubectl/kuberc/ The policy is checked before every plugin execution, including token refreshes.

Parameters​

policy?​

ExecCredentialPluginPolicy

the policy, undefined restores the default AllowAll behavior.

Returns​

void

Throws​

Error if the policy is misconfigured.