import k8s from "@kubernetes/client-node"; import { INFO, ERR } from "../../util/logging.js"; import { jobBuilder, createFile, deleteFile } from "./k8s-common.js"; export default async function createJob(jobRequest) { const job = jobBuilder(jobRequest); job.spec.template.spec.containers[0].image = "node:latest"; job.spec.template.spec.containers[0].command = ["node", "--version"]; // job.spec.template.spec.containers[0].image = "reed"; // job.spec.template.spec.containers[0].command = "python3 -m pytest -v --tb=no -p no:warnings".split(" "); 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("dunestorm-dunemask", job) .then((res) => INFO("K8S", `Job ${jobName} created!`)) .catch((err) => ERR("K8S", err)); /*const filePath = createFile(job); applyFile(filePath); deleteFile(filePath);*/ }