From 2e748c9c31cf1611cfc979c6f3a96e9441c52856 Mon Sep 17 00:00:00 2001 From: Andrea Luzzardi Date: Tue, 1 Jun 2021 18:58:18 -0700 Subject: [PATCH] stdlib: kubernetes: misc fixes - `source` is now optional - `sourceInline` renamed to `manifest` - `kubeconfig` is a `string` rather than a `dagger.#Secret` Signed-off-by: Andrea Luzzardi --- examples/kubernetes-app/main.cue | 6 +++--- stdlib/kubernetes/kubernetes.cue | 19 ++++++++++--------- tests/stdlib/kubernetes/kubernetes.cue | 6 +++--- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/examples/kubernetes-app/main.cue b/examples/kubernetes-app/main.cue index c95f6c72..31247209 100644 --- a/examples/kubernetes-app/main.cue +++ b/examples/kubernetes-app/main.cue @@ -37,9 +37,9 @@ cluster: eks.#KubeConfig & { // Example of a simple `kubectl apply` using a simple config kubeApply: kubernetes.#Apply & { - sourceInline: yaml.Marshal(kubeSrc) - namespace: "test" - kubeconfig: cluster.kubeconfig + manifest: yaml.Marshal(kubeSrc) + namespace: "test" + kubeconfig: cluster.kubeconfig } // Example of a `helm install` using a local chart diff --git a/stdlib/kubernetes/kubernetes.cue b/stdlib/kubernetes/kubernetes.cue index 5d01cadb..a4b2703d 100644 --- a/stdlib/kubernetes/kubernetes.cue +++ b/stdlib/kubernetes/kubernetes.cue @@ -47,22 +47,23 @@ import ( #Apply: { // Kubernetes config to deploy - source: dagger.#Artifact @dagger(input) + source?: dagger.#Artifact @dagger(input) - // Kubernetes config to deploy inlined in a string - sourceInline?: string @dagger(input) + // Kubernetes manifest to deploy inlined in a string + manifest?: string @dagger(input) // Kubernetes Namespace to deploy to - namespace: string @dagger(input) + namespace: *"default" | string @dagger(input) // Version of kubectl client version: *"v1.19.9" | string @dagger(input) // Kube config file - kubeconfig: dagger.#Secret @dagger(input) + // FIXME: should be `dagger.#Secret` + kubeconfig: string @dagger(input) #code: #""" - kubectl create namespace "$KUBE_NAMESPACE" || true + kubectl create namespace "$KUBE_NAMESPACE" > /dev/null 2>&1 || true kubectl --namespace "$KUBE_NAMESPACE" apply -R -f /source """# @@ -79,10 +80,10 @@ import ( content: kubeconfig mode: 0o600 }, - if sourceInline != _|_ { + if manifest != _|_ { op.#WriteFile & { dest: "/source" - content: sourceInline + content: manifest } }, op.#Exec & { @@ -99,7 +100,7 @@ import ( KUBECONFIG: "/kubeconfig" KUBE_NAMESPACE: namespace } - if sourceInline == _|_ { + if manifest == _|_ { mount: "/source": from: source } }, diff --git a/tests/stdlib/kubernetes/kubernetes.cue b/tests/stdlib/kubernetes/kubernetes.cue index 877d5455..467cc299 100644 --- a/tests/stdlib/kubernetes/kubernetes.cue +++ b/tests/stdlib/kubernetes/kubernetes.cue @@ -34,9 +34,9 @@ TestKubeApply: { // Apply deployment apply: kubernetes.#Apply & { - kubeconfig: config.contents - namespace: "dagger-test" - sourceInline: yaml.Marshal(kubeSrc) + kubeconfig: config.contents + namespace: "dagger-test" + manifest: yaml.Marshal(kubeSrc) } // Verify deployment