add more type declarations
Signed-off-by: Jamie Klassen <jklassen@vmware.com>
This commit is contained in:
@@ -15,10 +15,13 @@
|
||||
*/
|
||||
|
||||
import {
|
||||
Cluster,
|
||||
Context,
|
||||
CoreV1Api,
|
||||
CustomObjectsApi,
|
||||
KubeConfig,
|
||||
Metrics,
|
||||
CustomObjectsApi,
|
||||
User,
|
||||
} from '@kubernetes/client-node';
|
||||
import { ClusterDetails } from '../types/types';
|
||||
|
||||
@@ -29,26 +32,26 @@ import { ClusterDetails } from '../types/types';
|
||||
export class KubernetesClientProvider {
|
||||
// visible for testing
|
||||
getKubeConfig(clusterDetails: ClusterDetails) {
|
||||
const cluster = {
|
||||
const cluster: Cluster = {
|
||||
name: clusterDetails.name,
|
||||
server: clusterDetails.url,
|
||||
skipTLSVerify: clusterDetails.skipTLSVerify,
|
||||
skipTLSVerify: clusterDetails.skipTLSVerify || false,
|
||||
caData: clusterDetails.caData,
|
||||
};
|
||||
|
||||
// TODO configure
|
||||
const user = {
|
||||
const user: User = {
|
||||
name: 'backstage',
|
||||
token: clusterDetails.serviceAccountToken,
|
||||
};
|
||||
|
||||
const context = {
|
||||
const context: Context = {
|
||||
name: `${clusterDetails.name}`,
|
||||
user: user.name,
|
||||
cluster: cluster.name,
|
||||
};
|
||||
|
||||
const kc = new KubeConfig();
|
||||
const kc: KubeConfig = new KubeConfig();
|
||||
if (clusterDetails.serviceAccountToken) {
|
||||
kc.loadFromOptions({
|
||||
clusters: [cluster],
|
||||
@@ -63,19 +66,19 @@ export class KubernetesClientProvider {
|
||||
return kc;
|
||||
}
|
||||
|
||||
getCoreClientByClusterDetails(clusterDetails: ClusterDetails) {
|
||||
getCoreClientByClusterDetails(clusterDetails: ClusterDetails): CoreV1Api {
|
||||
const kc = this.getKubeConfig(clusterDetails);
|
||||
|
||||
return kc.makeApiClient(CoreV1Api);
|
||||
}
|
||||
|
||||
getMetricsClient(clusterDetails: ClusterDetails) {
|
||||
getMetricsClient(clusterDetails: ClusterDetails): Metrics {
|
||||
const kc = this.getKubeConfig(clusterDetails);
|
||||
|
||||
return new Metrics(kc);
|
||||
}
|
||||
|
||||
getCustomObjectsClient(clusterDetails: ClusterDetails) {
|
||||
getCustomObjectsClient(clusterDetails: ClusterDetails): CustomObjectsApi {
|
||||
const kc = this.getKubeConfig(clusterDetails);
|
||||
|
||||
return kc.makeApiClient(CustomObjectsApi);
|
||||
|
||||
Reference in New Issue
Block a user