unity-builder/src/model/cloud-runner/k8s/kubernetes-secret.ts

32 lines
821 B
TypeScript
Raw Normal View History

import { CoreV1Api } from '@kubernetes/client-node';
import CloudRunnerSecret from '../services/cloud-runner-secret';
import * as k8s from '@kubernetes/client-node';
class KubernetesSecret {
static async createSecret(
2021-08-17 22:13:46 +00:00
secrets: CloudRunnerSecret[],
secretName: string,
namespace: string,
kubeClient: CoreV1Api,
) {
const secret = new k8s.V1Secret();
secret.apiVersion = 'v1';
secret.kind = 'Secret';
secret.type = 'Opaque';
secret.metadata = {
name: secretName,
};
secret.data = {};
for (const buildSecret of secrets) {
2021-12-29 22:55:42 +00:00
secret.data[buildSecret.ParameterKey] = buildSecret.ParameterValue;
}
try {
await kubeClient.createNamespacedSecret(namespace, secret);
} catch (error) {
throw error;
}
}
}
export default KubernetesSecret;