diff --git a/components/k8s-model-server/images/releaser/components/workflows.jsonnet b/components/k8s-model-server/images/releaser/components/workflows.jsonnet index 3ab1325c1dc..ea8d532c63e 100644 --- a/components/k8s-model-server/images/releaser/components/workflows.jsonnet +++ b/components/k8s-model-server/images/releaser/components/workflows.jsonnet @@ -1,7 +1,7 @@ local params = std.extVar("__ksonnet/params").components.workflows; -local k = import 'k.libsonnet'; -local workflows = import 'workflows.libsonnet'; +local k = import "k.libsonnet"; +local workflows = import "workflows.libsonnet"; local namespace = params.namespace; local serving_image = params.serving_image; local testing_image = params.testing_image; diff --git a/components/k8s-model-server/images/releaser/components/workflows.libsonnet b/components/k8s-model-server/images/releaser/components/workflows.libsonnet index a01d524842a..7774be89b31 100644 --- a/components/k8s-model-server/images/releaser/components/workflows.libsonnet +++ b/components/k8s-model-server/images/releaser/components/workflows.libsonnet @@ -209,7 +209,7 @@ { name: "SERVING_IMAGE", value: serving_image + ":" + name, - } + }, ], [{ name: "dind", diff --git a/kubeflow/argo/prototypes/argo.jsonnet b/kubeflow/argo/prototypes/argo.jsonnet index e6e4ee84797..8a3443ac07b 100644 --- a/kubeflow/argo/prototypes/argo.jsonnet +++ b/kubeflow/argo/prototypes/argo.jsonnet @@ -8,7 +8,7 @@ // TODO(https://github.com/ksonnet/ksonnet/issues/222): We have to add namespace as an explicit parameter // because ksonnet doesn't support inheriting it from the environment yet. -local k = import 'k.libsonnet'; +local k = import "k.libsonnet"; local argo = import "kubeflow/argo/argo.libsonnet"; std.prune(k.core.v1.list.new(argo.parts(params.namespace).all)) diff --git a/kubeflow/core/iap.libsonnet b/kubeflow/core/iap.libsonnet index b35c5ecc7a4..b82c22f1ab0 100644 --- a/kubeflow/core/iap.libsonnet +++ b/kubeflow/core/iap.libsonnet @@ -1,6 +1,6 @@ { parts(namespace):: { - local k = import 'k.libsonnet', + local k = import "k.libsonnet", // We split the components into two protoypes. // 1. Prototype contains the ingress and servcie @@ -186,7 +186,7 @@ stat_prefix: "ingress_http", access_log: [ { - format: "ACCESS [%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\"\n", + format: 'ACCESS [%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%" "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%"\n', path: "/dev/fd/1", }, ], @@ -393,7 +393,7 @@ stat_prefix: "ingress_http", access_log: [ { - format: "ACCESS [%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\"\n", + format: 'ACCESS [%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%" "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%"\n', path: "/dev/fd/1", }, ], @@ -600,9 +600,9 @@ paths: [ { backend: { - # Due to https://github.com/kubernetes/contrib/blob/master/ingress/controllers/gce/examples/health_checks/README.md#limitations - # Keep port the servicePort the same as the port we are targetting on the backend so that servicePort will be the same as targetPort for the purpose of - # health checking. + // Due to https://github.com/kubernetes/contrib/blob/master/ingress/controllers/gce/examples/health_checks/README.md#limitations + // Keep port the servicePort the same as the port we are targetting on the backend so that servicePort will be the same as targetPort for the purpose of + // health checking. serviceName: "envoy", servicePort: healthEnvoyPort, }, diff --git a/kubeflow/core/jupyterhub.libsonnet b/kubeflow/core/jupyterhub.libsonnet index e1c8269213f..f8e3035b187 100644 --- a/kubeflow/core/jupyterhub.libsonnet +++ b/kubeflow/core/jupyterhub.libsonnet @@ -23,10 +23,10 @@ authenticatorOptions:: { - ### Authenticator Options + //## Authenticator Options local kubeConfigDummyAuthenticator = "c.JupyterHub.authenticator_class = 'dummyauthenticator.DummyAuthenticator'", - # This configuration allows us to use the id provided by IAP. + // This configuration allows us to use the id provided by IAP. local kubeConfigIAPAuthenticator = @"c.JupyterHub.authenticator_class ='jhub_remote_user_authenticator.remote_user_auth.RemoteUserAuthenticator' c.RemoteUserAuthenticator.header_name = 'x-goog-authenticated-user-email'", @@ -50,7 +50,7 @@ c.RemoteUserAuthenticator.header_name = 'x-goog-authenticated-user-email'", local volumeMounts = std.map(function(v) { - mountPath: '/mnt/' + v, + mountPath: "/mnt/" + v, name: v, }, volumeClaims), @@ -96,7 +96,7 @@ c.RemoteUserAuthenticator.header_name = 'x-goog-authenticated-user-email'", local volumeMounts = std.map(function(v) { - mountPath: '/mnt/' + v, + mountPath: "/mnt/" + v, name: v, }, volumeClaims), diff --git a/kubeflow/core/prototypes/all.jsonnet b/kubeflow/core/prototypes/all.jsonnet index 78eb3672117..8320be400e4 100644 --- a/kubeflow/core/prototypes/all.jsonnet +++ b/kubeflow/core/prototypes/all.jsonnet @@ -13,7 +13,7 @@ // @optionalParam jupyterHubImage string gcr.io/kubeflow/jupyterhub-k8s:1.0.1 The image to use for JupyterHub. // @optionalParam jupyterHubAuthenticator string null The authenticator to use -local k = import 'k.libsonnet'; +local k = import "k.libsonnet"; local all = import "kubeflow/core/all.libsonnet"; std.prune(k.core.v1.list.new(all.parts(params).all)) diff --git a/kubeflow/core/prototypes/iap-envoy.jsonnet b/kubeflow/core/prototypes/iap-envoy.jsonnet index dbc88227971..d44e8c18d99 100644 --- a/kubeflow/core/prototypes/iap-envoy.jsonnet +++ b/kubeflow/core/prototypes/iap-envoy.jsonnet @@ -12,17 +12,17 @@ // TODO(https://github.com/ksonnet/ksonnet/issues/222): We have to add namespace as an explicit parameter // because ksonnet doesn't support inheriting it from the environment yet. -local k = import 'k.libsonnet'; +local k = import "k.libsonnet"; local iap = import "kubeflow/core/iap.libsonnet"; local util = import "kubeflow/core/util.libsonnet"; -local name = import 'param://name'; -local namespace = import 'param://namespace'; +local name = import "param://name"; +local namespace = import "param://namespace"; -local envoyImage = import 'param://envoyImage'; -local audiencesParam = import 'param://audiences'; -local audiences = std.split(audiencesParam, ','); -local disableJwtCheckingParam = import 'param://disableJwtChecking'; +local envoyImage = import "param://envoyImage"; +local audiencesParam = import "param://audiences"; +local audiences = std.split(audiencesParam, ","); +local disableJwtCheckingParam = import "param://disableJwtChecking"; local disableJwtChecking = util.toBool(disableJwtCheckingParam); iap.parts(namespace).envoy(envoyImage, audiences, disableJwtChecking) diff --git a/kubeflow/core/prototypes/iap-ingress.jsonnet b/kubeflow/core/prototypes/iap-ingress.jsonnet index 34b7c647e13..7f6453c5ab9 100644 --- a/kubeflow/core/prototypes/iap-ingress.jsonnet +++ b/kubeflow/core/prototypes/iap-ingress.jsonnet @@ -10,12 +10,12 @@ // TODO(https://github.com/ksonnet/ksonnet/issues/222): We have to add namespace as an explicit parameter // because ksonnet doesn't support inheriting it from the environment yet. -local k = import 'k.libsonnet'; +local k = import "k.libsonnet"; local iap = import "kubeflow/core/iap.libsonnet"; -local name = import 'param://name'; -local namespace = import 'param://namespace'; -local secretName = import 'param://secretName'; -local ipName = import 'param://ipName'; +local name = import "param://name"; +local namespace = import "param://namespace"; +local secretName = import "param://secretName"; +local ipName = import "param://ipName"; iap.parts(namespace).ingressParts(secretName, ipName) diff --git a/kubeflow/core/tests/util_test.jsonnet b/kubeflow/core/tests/util_test.jsonnet index 38a9d6d8238..0f60c1d8716 100644 --- a/kubeflow/core/tests/util_test.jsonnet +++ b/kubeflow/core/tests/util_test.jsonnet @@ -1,4 +1,4 @@ -local util = import '../util.libsonnet'; +local util = import "../util.libsonnet"; std.assertEqual(util.upper("True"), "TRUE") && std.assertEqual(util.upper("TrUe"), "TRUE") && diff --git a/kubeflow/seldon/core.libsonnet b/kubeflow/seldon/core.libsonnet index d9c9f037a7e..1af1982631a 100644 --- a/kubeflow/seldon/core.libsonnet +++ b/kubeflow/seldon/core.libsonnet @@ -1,4 +1,4 @@ -local k = import 'k.libsonnet'; +local k = import "k.libsonnet"; local deployment = k.extensions.v1beta1.deployment; local container = k.apps.v1beta1.deployment.mixin.spec.template.spec.containersType; local service = k.core.v1.service.mixin; @@ -6,14 +6,14 @@ local serviceAccountMixin = k.core.v1.serviceAccount.mixin; local clusterRoleBindingMixin = k.rbac.v1beta1.clusterRoleBinding.mixin; local clusterRoleBinding = k.rbac.v1beta1.clusterRoleBinding; local serviceAccount = k.core.v1.serviceAccount; -local baseApife = import 'json/apife-deployment.json'; -local apifeService = import 'json/apife-service.json'; -local operatorDeployment = import 'json/operator-deployment.json'; -local redisDeployment = import 'json/redis-deployment.json'; -local redisService = import 'json/redis-service.json'; -local rbacServiceAccount = import 'json/rbac-service-account.json'; -local rbacClusterRoleBinding = import 'json/rbac-cluster-binding.json'; -local crdDefn = import 'crd.libsonnet'; +local baseApife = import "json/apife-deployment.json"; +local apifeService = import "json/apife-service.json"; +local operatorDeployment = import "json/operator-deployment.json"; +local redisDeployment = import "json/redis-deployment.json"; +local redisService = import "json/redis-service.json"; +local rbacServiceAccount = import "json/rbac-service-account.json"; +local rbacClusterRoleBinding = import "json/rbac-cluster-binding.json"; +local crdDefn = import "crd.libsonnet"; { parts(namespace):: { diff --git a/kubeflow/seldon/crd.libsonnet b/kubeflow/seldon/crd.libsonnet index e7e8617818e..bec55029330 100644 --- a/kubeflow/seldon/crd.libsonnet +++ b/kubeflow/seldon/crd.libsonnet @@ -1,5 +1,5 @@ -local k = import 'k.libsonnet'; -local podTemplateValidation = import 'json/pod-template-spec-validation.json'; +local k = import "k.libsonnet"; +local podTemplateValidation = import "json/pod-template-spec-validation.json"; { crd():: diff --git a/kubeflow/seldon/prototypes/core.jsonnet b/kubeflow/seldon/prototypes/core.jsonnet index d7c2e9c05ca..d94d85ec96e 100644 --- a/kubeflow/seldon/prototypes/core.jsonnet +++ b/kubeflow/seldon/prototypes/core.jsonnet @@ -16,27 +16,27 @@ // TODO(https://github.com/ksonnet/ksonnet/issues/222): We have to add namespace as an explicit parameter // because ksonnet doesn't support inheriting it from the environment yet. -local k = import 'k.libsonnet'; +local k = import "k.libsonnet"; local core = import "kubeflow/seldon/core.libsonnet"; -local name = import 'param://name'; -local namespace = import 'param://namespace'; -local withRbac = import 'param://withRbac'; -local withApife = import 'param://withApife'; +local name = import "param://name"; +local namespace = import "param://namespace"; +local withRbac = import "param://withRbac"; +local withApife = import "param://withApife"; // APIFE -local apifeImage = import 'param://apifeImage'; -local apifeServiceType = import 'param://apifeServiceType'; +local apifeImage = import "param://apifeImage"; +local apifeServiceType = import "param://apifeServiceType"; // Cluster Manager (The CRD Operator) -local operatorImage = import 'param://operatorImage'; -local operatorSpringOptsParam = import 'param://operatorSpringOpts'; +local operatorImage = import "param://operatorImage"; +local operatorSpringOptsParam = import "param://operatorSpringOpts"; local operatorSpringOpts = if operatorSpringOptsParam != "null" then operatorSpringOptsParam else ""; -local operatorJavaOptsParam = import 'param://operatorJavaOpts'; +local operatorJavaOptsParam = import "param://operatorJavaOpts"; local operatorJavaOpts = if operatorJavaOptsParam != "null" then operatorJavaOptsParam else ""; // Engine -local engineImage = import 'param://engineImage'; +local engineImage = import "param://engineImage"; // APIFE local apife = [ diff --git a/kubeflow/tf-job/prototypes/tf-cnn-benchmarks.jsonnet b/kubeflow/tf-job/prototypes/tf-cnn-benchmarks.jsonnet index f512109e137..b4a8a0218e4 100644 --- a/kubeflow/tf-job/prototypes/tf-cnn-benchmarks.jsonnet +++ b/kubeflow/tf-job/prototypes/tf-cnn-benchmarks.jsonnet @@ -19,19 +19,19 @@ // TODO(https://github.com/ksonnet/ksonnet/issues/222): We have to add namespace as an explicit parameter // because ksonnet doesn't support inheriting it from the environment yet. -local k = import 'k.libsonnet'; +local k = import "k.libsonnet"; local deployment = k.extensions.v1beta1.deployment; local container = deployment.mixin.spec.template.spec.containersType; local podTemplate = k.extensions.v1beta1.podTemplate; -local tfJob = import 'kubeflow/tf-job/tf-job.libsonnet'; +local tfJob = import "kubeflow/tf-job/tf-job.libsonnet"; -local name = import 'param://name'; -local namespace = import 'param://namespace'; +local name = import "param://name"; +local namespace = import "param://namespace"; -local numGpus = import 'param://num_gpus'; -local batchSize = import 'param://batch_size'; -local model = import 'param://model'; +local numGpus = import "param://num_gpus"; +local batchSize = import "param://batch_size"; +local model = import "param://model"; local args = [ "python", @@ -42,10 +42,10 @@ local args = [ "--flush_stdout=true", ] + if numGpus == 0 then - # We need to set num_gpus=1 even if not using GPUs because otherwise the devie list - # is empty because of this code - # https://github.com/tensorflow/benchmarks/blob/master/scripts/tf_cnn_benchmarks/benchmark_cnn.py#L775 - # We won't actually use GPUs because based on other flags no ops will be assigned to GPus. + // We need to set num_gpus=1 even if not using GPUs because otherwise the devie list + // is empty because of this code + // https://github.com/tensorflow/benchmarks/blob/master/scripts/tf_cnn_benchmarks/benchmark_cnn.py#L775 + // We won't actually use GPUs because based on other flags no ops will be assigned to GPus. [ "--num_gpus=1", "--local_parameter_device=cpu", @@ -58,11 +58,11 @@ local args = [ ] ; -local image = import 'param://image'; -local imageGpu = import 'param://image_gpu'; -local numPs = import 'param://num_ps'; -local numWorkers = import 'param://num_workers'; -local numGpus = import 'param://num_gpus'; +local image = import "param://image"; +local imageGpu = import "param://image_gpu"; +local numPs = import "param://num_ps"; +local numWorkers = import "param://num_workers"; +local numGpus = import "param://num_gpus"; local workerSpec = if numGpus > 0 then tfJob.parts.tfJobReplica("WORKER", numWorkers, args, imageGpu, numGpus) diff --git a/kubeflow/tf-job/prototypes/tf-job.jsonnet b/kubeflow/tf-job/prototypes/tf-job.jsonnet index 6b9f5962a14..2e48b527a56 100644 --- a/kubeflow/tf-job/prototypes/tf-job.jsonnet +++ b/kubeflow/tf-job/prototypes/tf-job.jsonnet @@ -17,25 +17,25 @@ // TODO(https://github.com/ksonnet/ksonnet/issues/222): We have to add namespace as an explicit parameter // because ksonnet doesn't support inheriting it from the environment yet. -local k = import 'k.libsonnet'; -local tfJob = import 'kubeflow/tf-job/tf-job.libsonnet'; +local k = import "k.libsonnet"; +local tfJob = import "kubeflow/tf-job/tf-job.libsonnet"; -local name = import 'param://name'; -local namespace = import 'param://namespace'; +local name = import "param://name"; +local namespace = import "param://namespace"; -local argsParam = import 'param://args'; +local argsParam = import "param://args"; local args = if argsParam == "null" then [] else - std.split(argsParam, ','); - -local image = import 'param://image'; -local imageGpu = import 'param://image_gpu'; -local numMasters = import 'param://num_masters'; -local numPs = import 'param://num_ps'; -local numWorkers = import 'param://num_workers'; -local numGpus = import 'param://num_gpus'; + std.split(argsParam, ","); + +local image = import "param://image"; +local imageGpu = import "param://image_gpu"; +local numMasters = import "param://num_masters"; +local numPs = import "param://num_ps"; +local numWorkers = import "param://num_workers"; +local numGpus = import "param://num_gpus"; local workerSpec = if numGpus > 0 then tfJob.parts.tfJobReplica("WORKER", numWorkers, args, imageGpu, numGpus) diff --git a/kubeflow/tf-job/tf-job.libsonnet b/kubeflow/tf-job/tf-job.libsonnet index 5ca3135505e..b539051ddcd 100644 --- a/kubeflow/tf-job/tf-job.libsonnet +++ b/kubeflow/tf-job/tf-job.libsonnet @@ -1,4 +1,4 @@ -local k = import 'k.libsonnet'; +local k = import "k.libsonnet"; { parts:: { diff --git a/kubeflow/tf-serving/prototypes/tf-serving-all-features.jsonnet b/kubeflow/tf-serving/prototypes/tf-serving-all-features.jsonnet index debb8db521b..52570011168 100644 --- a/kubeflow/tf-serving/prototypes/tf-serving-all-features.jsonnet +++ b/kubeflow/tf-serving/prototypes/tf-serving-all-features.jsonnet @@ -11,14 +11,14 @@ // TODO(https://github.com/ksonnet/ksonnet/issues/222): We have to add namespace as an explicit parameter // because ksonnet doesn't support inheriting it from the environment yet. -local k = import 'k.libsonnet'; -local tfServing = import 'kubeflow/tf-serving/tf-serving.libsonnet'; +local k = import "k.libsonnet"; +local tfServing = import "kubeflow/tf-serving/tf-serving.libsonnet"; -local name = import 'param://name'; -local namespace = import 'param://namespace'; -local modelPath = import 'param://model_path'; -local modelServerImage = import 'param://model_server_image'; -local httpProxyImage = import 'param://http_proxy_image'; +local name = import "param://name"; +local namespace = import "param://namespace"; +local modelPath = import "param://model_path"; +local modelServerImage = import "param://model_server_image"; +local httpProxyImage = import "param://http_proxy_image"; std.prune(k.core.v1.list.new([ tfServing.parts.deployment.modelServer(name, namespace, modelPath, modelServerImage, httpProxyImage), diff --git a/kubeflow/tf-serving/tf-serving.libsonnet b/kubeflow/tf-serving/tf-serving.libsonnet index 2b6252e8bf2..045d144f423 100644 --- a/kubeflow/tf-serving/tf-serving.libsonnet +++ b/kubeflow/tf-serving/tf-serving.libsonnet @@ -1,4 +1,4 @@ -local k = import 'k.libsonnet'; +local k = import "k.libsonnet"; local deployment = k.extensions.v1beta1.deployment; local container = deployment.mixin.spec.template.spec.containersType; local storageClass = k.storage.v1beta1.storageClass; diff --git a/scripts/autoformat_jsonnet.sh b/scripts/autoformat_jsonnet.sh index adc3c38adc8..3bea6287a15 100755 --- a/scripts/autoformat_jsonnet.sh +++ b/scripts/autoformat_jsonnet.sh @@ -17,5 +17,12 @@ # Script to autoformat libsonnet files. # Assumes jsonnet is on the path. set -ex -find ./ -name "*.libsonnet" -exec jsonnet fmt {} -i --indent 2 ";" -find ./ -name "*.jsonnet" -exec jsonnet fmt {} -i --indent 2 ";" + +# 2 spaces vertical indentation +# Use double quotes for strings +# Use // for comments +find -E $(pwd) -iregex ".*\.(libsonnet|jsonnet)$" -exec \ + jsonnet fmt {} -i \ + --string-style d \ + --comment-style s \ + --indent 2 ";" diff --git a/testing/workflows/components/workflows.jsonnet b/testing/workflows/components/workflows.jsonnet index 0794547a13d..9a3a765def7 100644 --- a/testing/workflows/components/workflows.jsonnet +++ b/testing/workflows/components/workflows.jsonnet @@ -1,7 +1,7 @@ local params = std.extVar("__ksonnet/params").components.workflows; -local k = import 'k.libsonnet'; -local workflows = import 'workflows.libsonnet'; +local k = import "k.libsonnet"; +local workflows = import "workflows.libsonnet"; local namespace = params.namespace; // TODO(jlewi): Can we make name default so some random unique value? diff --git a/testing/workflows/vendor/kubeflow/core/jupyterhub.libsonnet b/testing/workflows/vendor/kubeflow/core/jupyterhub.libsonnet index b78058a6648..32b020822e3 100644 --- a/testing/workflows/vendor/kubeflow/core/jupyterhub.libsonnet +++ b/testing/workflows/vendor/kubeflow/core/jupyterhub.libsonnet @@ -146,7 +146,7 @@ c.KubeSpawner.pvc_name_template = 'claim-{username}{servername}' local volumeMounts = std.map(function(v) { - mountPath: '/mnt/' + v, + mountPath: "/mnt/" + v, name: v, }, volumeClaims), diff --git a/testing/workflows/vendor/kubeflow/core/prototypes/all.jsonnet b/testing/workflows/vendor/kubeflow/core/prototypes/all.jsonnet index 31722ab6775..a633133c2b0 100644 --- a/testing/workflows/vendor/kubeflow/core/prototypes/all.jsonnet +++ b/testing/workflows/vendor/kubeflow/core/prototypes/all.jsonnet @@ -14,32 +14,32 @@ // TODO(https://github.com/ksonnet/ksonnet/issues/222): We have to add namespace as an explicit parameter // because ksonnet doesn't support inheriting it from the environment yet. -local k = import 'k.libsonnet'; +local k = import "k.libsonnet"; local jupyter = import "kubeflow/core/jupyterhub.libsonnet"; local tfjob = import "kubeflow/core/tf-job.libsonnet"; local nfs = import "kubeflow/core/nfs.libsonnet"; -local name = import 'param://name'; -local namespace = import 'param://namespace'; +local name = import "param://name"; +local namespace = import "param://namespace"; -local cloud = import 'param://cloud'; +local cloud = import "param://cloud"; // TODO(jlewi): Make this a parameter -local jupyterHubImage = 'gcr.io/kubeflow/jupyterhub:1.0'; -local diskParam = import 'param://disks'; +local jupyterHubImage = "gcr.io/kubeflow/jupyterhub:1.0"; +local diskParam = import "param://disks"; local diskNames = if diskParam != "null" && std.length(diskParam) > 0 then - std.split(diskParam, ',') + std.split(diskParam, ",") else []; local jupyterConfigMap = if std.length(diskNames) == 0 then jupyter.parts(namespace).jupyterHubConfigMap else jupyter.parts(namespace).jupyterHubConfigMapWithVolumes(diskNames); -local tfJobImage = import 'param://tfJobImage'; -local tfDefaultImage = import 'param://tfDefaultImage'; -local tfJobUiServiceType = import 'param://tfJobUiServiceType'; -local jupyterHubServiceType = import 'param://jupyterHubServiceType'; +local tfJobImage = import "param://tfJobImage"; +local tfDefaultImage = import "param://tfDefaultImage"; +local tfJobUiServiceType = import "param://tfJobUiServiceType"; +local jupyterHubServiceType = import "param://jupyterHubServiceType"; // Create a list of the resources needed for a particular disk local diskToList = function(diskName) [