stdlib: added @dagger(input) and @dagger(output) attributes

Signed-off-by: Sam Alba <sam.alba@gmail.com>
This commit is contained in:
Sam Alba
2021-05-26 12:23:44 +02:00
parent 42e91c0a30
commit 7009d01835
19 changed files with 121 additions and 119 deletions

View File

@@ -11,47 +11,47 @@ import (
// Install a Helm chart
#Chart: {
// Helm deployment name
name: string
name: string @dagger(input)
// Helm chart to install from source
chartSource: dagger.#Artifact
chartSource: dagger.#Artifact @dagger(input)
// Helm chart to install from repository
chart?: string
chart?: string @dagger(input)
// Helm chart repository (defaults to stable)
repository: *"https://charts.helm.sh/stable" | string
repository: *"https://charts.helm.sh/stable" | string @dagger(input)
// Helm values (either a YAML string or a Cue structure)
values?: string
values?: string @dagger(input)
// Kubernetes Namespace to deploy to
namespace: string
namespace: string @dagger(input)
// Helm action to apply
action: *"installOrUpgrade" | "install" | "upgrade"
action: *"installOrUpgrade" | "install" | "upgrade" @dagger(input)
// time to wait for any individual Kubernetes operation (like Jobs for hooks)
timeout: string | *"5m"
timeout: string | *"5m" @dagger(input)
// 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
wait: *true | bool
wait: *true | bool @dagger(input)
// if set, installation process purges chart on fail.
// The wait option will be set automatically if atomic is used
atomic: *true | bool
atomic: *true | bool @dagger(input)
// Kube config file
kubeconfig: dagger.#Secret
kubeconfig: dagger.#Secret @dagger(input)
// Helm version
version: *"3.5.2" | string
version: *"3.5.2" | string @dagger(input)
// Kubectl version
kubectlVersion: *"v1.19.9" | string
kubectlVersion: *"v1.19.9" | string @dagger(input)
#up: [
op.#Load & {

View File

@@ -47,19 +47,19 @@ import (
#Apply: {
// Kubernetes config to deploy
source: dagger.#Artifact
source: dagger.#Artifact @dagger(input)
// Kubernetes config to deploy inlined in a string
sourceInline?: string
sourceInline?: string @dagger(input)
// Kubernetes Namespace to deploy to
namespace: string
namespace: string @dagger(input)
// Version of kubectl client
version: *"v1.19.9" | string
version: *"v1.19.9" | string @dagger(input)
// Kube config file
kubeconfig: dagger.#Secret
kubeconfig: dagger.#Secret @dagger(input)
#code: #"""
kubectl create namespace "$KUBE_NAMESPACE" || true

View File

@@ -8,7 +8,7 @@ import (
#Kustomization: {
// Kustomize binary version
version: *"v3.8.7" | string
version: *"v3.8.7" | string @dagger(input)
#code: #"""
[ -e /usr/local/bin/kubectl ] || {
@@ -46,13 +46,13 @@ import (
// Apply a Kubernetes Kustomize folder
#Kustomize: {
// Kubernetes source
source: dagger.#Artifact
source: dagger.#Artifact @dagger(input)
// Optional Kustomization file
kustomization: string
kustomization: string @dagger(input)
// Kustomize binary version
version: *"v3.8.7" | string
version: *"v3.8.7" | string @dagger(input)
#code: #"""
cp /kustomization.yaml /source | true