forked from kubeflow/examples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
get-data-job.jsonnet
43 lines (40 loc) · 1.46 KB
/
get-data-job.jsonnet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
local env = std.extVar("__ksonnet/environments");
local params = std.extVar("__ksonnet/params").components["get-data-job"];
local k = import "k.libsonnet";
local getDataJob(namespace, name, pvc, url, mountPath) = {
apiVersion: "batch/v1",
kind: "Job",
metadata: {
name: name,
namespace: namespace,
},
spec: {
template: {
spec: {
containers: [{
name: "get-data",
image: "inutano/wget",
imagePullPolicy: "IfNotPresent",
command: ["wget", url, "-P", mountPath, "--no-check-certificate"],
volumeMounts: [{
mountPath: mountPath,
name: "pets-data",
},],
},],
volumes: [{
name: "pets-data",
persistentVolumeClaim: {
claimName: pvc,
},
},],
restartPolicy: "Never",
},
},
backoffLimit: 4,
},
};
std.prune(k.core.v1.list.new([
getDataJob(env.namespace, params.name + "-dataset", params.pvc, params.urlData, params.mountPath),
getDataJob(env.namespace, params.name + "-annotations", params.pvc, params.urlAnnotations, params.mountPath),
getDataJob(env.namespace, params.name + "-model", params.pvc, params.urlModel, params.mountPath),
getDataJob(env.namespace, params.name + "-config", params.pvc, params.urlPipelineConfig, params.mountPath)]))