diff --git a/docs/reference/kubernetes/README.md b/docs/reference/kubernetes/README.md index d2f71aa4..0e702977 100644 --- a/docs/reference/kubernetes/README.md +++ b/docs/reference/kubernetes/README.md @@ -37,7 +37,7 @@ Apply Kubernetes resources |*url* | `*null \| string` |Kubernetes manifest url to deploy remote configuration | |*namespace* | `*"default" \| string` |Kubernetes Namespace to deploy to | |*version* | `*"v1.19.9" \| string` |Version of kubectl client | -|*kubeconfig* | `string` |Kube config file | +|*kubeconfig* | `dagger.#Secret` |Kube config file | ### kubernetes.#Resources Outputs diff --git a/docs/reference/kubernetes/helm.md b/docs/reference/kubernetes/helm.md index 39c6c010..f17e5e56 100644 --- a/docs/reference/kubernetes/helm.md +++ b/docs/reference/kubernetes/helm.md @@ -19,12 +19,15 @@ Install a Helm chart | Name | Type | Description | | ------------- |:-------------: |:-------------: | |*name* | `string` |Helm deployment name | +|*chart* | `*null \| string` |Helm chart to install from repository | +|*repository* | `*null \| string` |Helm chart repository | +|*values* | `*null \| string` |Helm values (either a YAML string or a Cue structure) | |*namespace* | `string` |Kubernetes Namespace to deploy to | |*action* | `*"installOrUpgrade" \| "install" \| "upgrade"` |Helm action to apply | |*timeout* | `*"5m" \| string` |time to wait for any individual Kubernetes operation (like Jobs for hooks) | |*wait* | `*true \| bool` |if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as successful. It will wait for as long as timeout | |*atomic* | `*true \| bool` |if set, installation process purges chart on fail. The wait option will be set automatically if atomic is used | -|*kubeconfig* | `string` |Kube config file | +|*kubeconfig* | `dagger.#Secret` |Kube config file | |*version* | `*"3.5.2" \| string` |Helm version | |*kubectlVersion* | `*"v1.19.9" \| string` |Kubectl version | diff --git a/stdlib/kubernetes/helm/helm.cue b/stdlib/kubernetes/helm/helm.cue index a35d9122..8c0a9beb 100644 --- a/stdlib/kubernetes/helm/helm.cue +++ b/stdlib/kubernetes/helm/helm.cue @@ -22,10 +22,10 @@ import ( chart: dagger.#Input & {*null | string} // Helm chart repository - repository: dagger.#Input & {string} + repository: dagger.#Input & {*null | string} // Helm values (either a YAML string or a Cue structure) - values: dagger.#Input & {string} + values: dagger.#Input & {*null | string} // Kubernetes Namespace to deploy to namespace: dagger.#Input & {string} @@ -95,13 +95,13 @@ import ( } }, - if chart != _|_ { + if chart != null { op.#WriteFile & { dest: "/helm/chart" content: chart } }, - if (values & string) != _|_ { + if values != null { op.#WriteFile & { dest: "/helm/values.yaml" content: values @@ -121,7 +121,7 @@ import ( KUBECONFIG: "/kubeconfig" KUBE_NAMESPACE: namespace - if repository != _|_ { + if repository != null { HELM_REPO: repository } HELM_NAME: name @@ -131,7 +131,7 @@ import ( HELM_ATOMIC: strconv.FormatBool(atomic) } mount: { - if chartSource != _|_ && chart == _|_ { + if chartSource != null && chart == null { "/helm/chart": from: chartSource } if (kubeconfig & dagger.#Secret) != _|_ { diff --git a/stdlib/kubernetes/helm/tests/helm.cue b/stdlib/kubernetes/helm/tests/helm.cue index b72dc007..a1d5b916 100644 --- a/stdlib/kubernetes/helm/tests/helm.cue +++ b/stdlib/kubernetes/helm/tests/helm.cue @@ -7,9 +7,9 @@ import ( // We assume that a kinD cluster is running locally // To deploy a local KinD cluster, follow this link : https://kind.sigs.k8s.io/docs/user/quick-start/ -TestKubeconfig: string @dagger(input) +TestKubeconfig: dagger.#Input & {string} -TestChartSource: dagger.#Artifact @dagger(input) +TestChartSource: dagger.#Input & {dagger.#Artifact} // Deploy user local chart TestHelmSimpleChart: { diff --git a/stdlib/kubernetes/kubernetes.cue b/stdlib/kubernetes/kubernetes.cue index 5f29af9b..a5874558 100644 --- a/stdlib/kubernetes/kubernetes.cue +++ b/stdlib/kubernetes/kubernetes.cue @@ -95,7 +95,7 @@ import ( dest: "/kubeconfig" content: kubeconfig mode: 0o600 - }, + } }, if manifest != null {