qualiteer/lib/server/k8s/k8s.js
dunemask d56f3697b8 [CHORE] Integrate with helm (#7)
Co-authored-by: dunemask <dunemask@gmail.com>
Reviewed-on: https://gitea.dunemask.net/elysium/qualiteer/pulls/7
2023-08-24 18:16:58 +00:00

20 lines
818 B
JavaScript

import k8s from "@kubernetes/client-node";
import { INFO, ERR } from "../util/logging.js";
import { jobBuilder, createFile, deleteFile } from "./k8s-common.js";
const {QUALITEER_JOB_NAMESPACE: jobNamespace } = process.env;
export default async function createJob(jobRequest) {
//console.log(await jobRequest.tests);
const job = jobBuilder(jobRequest);
job.spec.template.spec.containers[0].image =
"registry.dunemask.net/cubit:latest";
const kc = new k8s.KubeConfig();
kc.loadFromCluster();
const batchV1Api = kc.makeApiClient(k8s.BatchV1Api);
const batchV1beta1Api = kc.makeApiClient(k8s.BatchV1beta1Api);
const jobName = job.metadata.name;
batchV1Api
.createNamespacedJob(jobNamespace, job)
.then((res) => INFO("K8S", `Job ${jobName} created!`))
.catch((err) => ERR("K8S", err));
}