24 lines
1 KiB
JavaScript
24 lines
1 KiB
JavaScript
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);*/
|
|
}
|