
Co-authored-by: dunemask <dunemask@gmail.com> Reviewed-on: https://gitea.dunemask.net/elysium/qualiteer/pulls/7
20 lines
818 B
JavaScript
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));
|
|
}
|