Skip to content

Class: Cluster#

Cluster

beta

Hierarchy#

  • Cluster

Implements#

Index#

Constructors#

Properties#

Accessors#

Methods#

Constructors#

constructor#

+ new Cluster(model: ClusterModel): Cluster

Defined in src/main/cluster.ts:257

Parameters:

Name Type
model ClusterModel

Returns: Cluster

Properties#

accessible#

accessible: boolean = false

Defined in src/main/cluster.ts:150

Can user access cluster resources

observable


accessibleNamespaces#

accessibleNamespaces: string[] = []

Implementation of ClusterModel.accessibleNamespaces

Defined in src/main/cluster.ts:218

List of accessible namespaces provided by user in the Cluster Settings

observable


Protected activated#

activated: boolean = false

Defined in src/main/cluster.ts:83


allowedNamespaces#

allowedNamespaces: string[] = []

Defined in src/main/cluster.ts:205

List of allowed namespaces verified via K8S::SelfSubjectAccessReview api

observable


allowedResources#

allowedResources: string[] = []

Defined in src/main/cluster.ts:212

List of allowed resources

observable

internal


apiUrl#

apiUrl: string

Defined in src/main/cluster.ts:125

Kubernetes API server URL

observable


contextHandler#

contextHandler: ContextHandler

Defined in src/main/cluster.ts:74

Context handler

internal


contextName#

contextName: string

Implementation of ClusterModel.contextName

Defined in src/main/cluster.ts:107

Kubeconfig context name

observable


disconnected#

disconnected: boolean = true

Defined in src/main/cluster.ts:168

Is cluster disconnected. False if user has selected to connect.

observable


enabled#

enabled: boolean = false

Defined in src/main/cluster.ts:138

Is cluster instance enabled (disabled clusters are currently hidden)

observable


Protected eventDisposers#

eventDisposers: Function[] = []

Defined in src/main/cluster.ts:82


failureReason#

failureReason: string

Defined in src/main/cluster.ts:174

Connection failure reason

observable


Protected getAllowedNamespacesErrorCount#

getAllowedNamespacesErrorCount: number = 0

Defined in src/main/cluster.ts:685


id#

id: ClusterId

Implementation of ClusterModel.id

Defined in src/main/cluster.ts:62

Unique id for a cluster


initialized#

initialized: boolean = false

Defined in src/main/cluster.ts:101

Is cluster object initialized

observable


initializing#

initializing: boolean = false

Defined in src/main/cluster.ts:94

Is cluster object initializinng on-going

observable


isAdmin#

isAdmin: boolean = false

Defined in src/main/cluster.ts:180

Does user have admin like access

observable


isGlobalWatchEnabled#

isGlobalWatchEnabled: boolean = false

Defined in src/main/cluster.ts:187

Global watch-api accessibility , e.g. "/api/v1/services?watch=1"

observable


kubeConfigPath#

kubeConfigPath: string

Implementation of ClusterModel.kubeConfigPath

Defined in src/main/cluster.ts:119

Path to kubeconfig

observable


kubeCtl#

kubeCtl: Kubectl

Defined in src/main/cluster.ts:68

Kubectl

internal


kubeProxyUrl#

kubeProxyUrl: string

Defined in src/main/cluster.ts:132

Internal authentication proxy URL

observable

internal


Protected kubeconfigManager#

kubeconfigManager: KubeconfigManager

Defined in src/main/cluster.ts:81


metadata#

metadata: ClusterMetadata

Implementation of ClusterModel.metadata

Defined in src/main/cluster.ts:199

Metadata

observable


online#

online: boolean = false

Defined in src/main/cluster.ts:144

Is cluster online

observable


ownerRef#

ownerRef: string

Implementation of ClusterModel.ownerRef

Defined in src/main/cluster.ts:80

Owner reference

If extension sets this it needs to also mark cluster as enabled on activate (or when added to a store)


preferences#

preferences: ClusterPreferences

Implementation of ClusterModel.preferences

Defined in src/main/cluster.ts:193

Preferences

observable


ready#

ready: boolean = false

Defined in src/main/cluster.ts:156

Is cluster instance in usable state

observable


reconnecting#

reconnecting: boolean = false

Defined in src/main/cluster.ts:162

Is cluster currently reconnecting

observable


whenInitialized#

whenInitialized: Promise‹void› & object = when(() => this.initialized)

Defined in src/main/cluster.ts:86


whenReady#

whenReady: Promise‹void› & object = when(() => this.ready)

Defined in src/main/cluster.ts:87


workspace#

workspace: WorkspaceId

Implementation of ClusterModel.workspace

Defined in src/main/cluster.ts:113

Workspace id

observable

Accessors#

available#

get available(): boolean

Defined in src/main/cluster.ts:225

Is cluster available

computed

Returns: boolean


isManaged#

get isManaged(): boolean

Defined in src/main/cluster.ts:277

Is cluster managed by an extension

Returns: boolean


name#

get name(): string

Defined in src/main/cluster.ts:234

Cluster name

computed

Returns: string


prometheusPreferences#

get prometheusPreferences(): ClusterPrometheusPreferences

Defined in src/main/cluster.ts:244

Prometheus preferences

computed

internal

Returns: ClusterPrometheusPreferences


version#

get version(): string

Defined in src/main/cluster.ts:255

Kubernetes version

Returns: string

Methods#

activate#

activate(force: boolean): Promise‹void›

Defined in src/main/cluster.ts:357

internal

Parameters:

Name Type Default Description
force boolean false force activation

Returns: Promise‹void›


Protected bindEvents#

bindEvents(): void

Defined in src/main/cluster.ts:326

internal

Returns: void


canI#

canI(resourceAttributes: V1ResourceAttributes): Promise‹boolean›

Defined in src/main/cluster.ts:574

internal

Parameters:

Name Type Description
resourceAttributes V1ResourceAttributes resource attributes

Returns: Promise‹boolean›


canUseWatchApi#

canUseWatchApi(customizeResource: V1ResourceAttributes): Promise‹boolean›

Defined in src/main/cluster.ts:606

internal

Parameters:

Name Type Default
customizeResource V1ResourceAttributes {}

Returns: Promise‹boolean›


disconnect#

disconnect(): void

Defined in src/main/cluster.ts:405

internal

Returns: void


Protected ensureKubectl#

ensureKubectl(): Promise‹boolean›

Defined in src/main/cluster.ts:385

internal

Returns: Promise‹boolean›


Protected getAllowedNamespaces#

getAllowedNamespaces(): Promise‹string[]›

Defined in src/main/cluster.ts:687

Returns: Promise‹string[]›


Protected getAllowedResources#

getAllowedResources(): Promise‹("namespaces" | "nodes" | "events" | "resourcequotas" | "services" | "limitranges" | "secrets" | "configmaps" | "ingresses" | "networkpolicies" | "persistentvolumeclaims" | "persistentvolumes" | "storageclasses" | "pods" | "daemonsets" | "deployments" | "statefulsets" | "replicasets" | "jobs" | "cronjobs" | "endpoints" | "customresourcedefinitions" | "horizontalpodautoscalers" | "podsecuritypolicies" | "poddisruptionbudgets")[]›

Defined in src/main/cluster.ts:722

Returns: Promise‹("namespaces" | "nodes" | "events" | "resourcequotas" | "services" | "limitranges" | "secrets" | "configmaps" | "ingresses" | "networkpolicies" | "persistentvolumeclaims" | "persistentvolumes" | "storageclasses" | "pods" | "daemonsets" | "deployments" | "statefulsets" | "replicasets" | "jobs" | "cronjobs" | "endpoints" | "customresourcedefinitions" | "horizontalpodautoscalers" | "podsecuritypolicies" | "poddisruptionbudgets")[]›


Protected getConnectionStatus#

getConnectionStatus(): Promise‹ClusterStatus›

Defined in src/main/cluster.ts:530

Returns: Promise‹ClusterStatus›


Protected getKubeconfig#

getKubeconfig(): KubeConfig

Defined in src/main/cluster.ts:483

Returns: KubeConfig


getMeta#

getMeta(): object

Defined in src/main/cluster.ts:673

Returns: object

  • accessible: boolean = this.accessible

  • disconnected: boolean = this.disconnected

  • id: string = this.id

  • initialized: boolean = this.initialized

  • name: string = this.contextName

  • online: boolean = this.online

  • ready: boolean = this.ready


getMetrics#

getMetrics(prometheusPath: string, queryParams: IMetricsReqParams & object): Promise‹any›

Defined in src/main/cluster.ts:518

internal

Parameters:

Name Type Description
prometheusPath string path to prometheus service
queryParams IMetricsReqParams & object query parameters

Returns: Promise‹any›


getProxyKubeconfig#

getProxyKubeconfig(): Promise‹KubeConfig›

Defined in src/main/cluster.ts:490

internal

Returns: Promise‹KubeConfig›


getProxyKubeconfigPath#

getProxyKubeconfigPath(): Promise‹string›

Defined in src/main/cluster.ts:499

internal

Returns: Promise‹string›


getState#

getState(): ClusterState

Defined in src/main/cluster.ts:634

Serializable cluster-state used for sync btw main <-> renderer

Returns: ClusterState


init#

init(port: number): Promise‹void›

Defined in src/main/cluster.ts:297

Initialize a cluster (can be done only in main process)

internal

Parameters:

Name Type Description
port number port where internal auth proxy is listening

Returns: Promise‹void›


isAllowedResource#

isAllowedResource(kind: string): boolean

Defined in src/main/cluster.ts:757

Parameters:

Name Type
kind string

Returns: boolean


isClusterAdmin#

isClusterAdmin(): Promise‹boolean›

Defined in src/main/cluster.ts:595

internal

Returns: Promise‹boolean›


isMetricHidden#

isMetricHidden(resource: ResourceType): boolean

Defined in src/main/cluster.ts:319

Parameters:

Name Type
resource ResourceType

Returns: boolean


Protected k8sRequest#

k8sRequestT›(path: string, options: RequestPromiseOptions): Promise‹T›

Defined in src/main/cluster.ts:503

Type parameters:

T

Parameters:

Name Type Default
path string -
options RequestPromiseOptions {}

Returns: Promise‹T›


pushState#

pushState(state: ClusterState): void

Defined in src/main/cluster.ts:667

internal

Parameters:

Name Type Default Description
state ClusterState this.getState() cluster state

Returns: void


reconnect#

reconnect(): Promise‹void›

Defined in src/main/cluster.ts:395

internal

Returns: Promise‹void›


refresh#

refresh(opts: ClusterRefreshOptions): Promise‹void›

Defined in src/main/cluster.ts:424

internal

Parameters:

Name Type Default Description
opts ClusterRefreshOptions {} refresh options

Returns: Promise‹void›


refreshAllowedResources#

refreshAllowedResources(): Promise‹void›

Defined in src/main/cluster.ts:478

internal

Returns: Promise‹void›


refreshConnectionStatus#

refreshConnectionStatus(): Promise‹void›

Defined in src/main/cluster.ts:467

internal

Returns: Promise‹void›


refreshMetadata#

refreshMetadata(): Promise‹void›

Defined in src/main/cluster.ts:443

internal

Returns: Promise‹void›


setState#

setState(state: ClusterState): void

Defined in src/main/cluster.ts:659

internal

Parameters:

Name Type Description
state ClusterState cluster state

Returns: void


toJSON#

toJSON(): ClusterModel

Defined in src/main/cluster.ts:614

Returns: ClusterModel


Protected unbindEvents#

unbindEvents(): void

Defined in src/main/cluster.ts:346

internal

Returns: void


updateModel#

updateModel(model: ClusterModel): void

Defined in src/main/cluster.ts:286

Update cluster data model

Parameters:

Name Type Description
model ClusterModel

Returns: void