cue modules: move stdlib to pkg/alpha.dagger.io

In preparation for Europa, we will vendor multiple CUE modules:

- `pkg/alpha.dagger.io`: legacy non-europa packages
- `pkg/dagger.io`: core Europa packages
- `pkg/universe.dagger.io`: Europa universe

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This commit is contained in:
Andrea Luzzardi
2022-01-11 12:40:02 -08:00
parent e5316f3a1e
commit 282759c0e5
277 changed files with 33 additions and 31 deletions

View File

@@ -0,0 +1,61 @@
package kubernetes
import (
"encoding/yaml"
"alpha.dagger.io/random"
)
// 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)
TestKubeApply: {
suffix: random.#String & {
seed: ""
}
// Pod spec
kubeSrc: {
apiVersion: "v1"
kind: "Pod"
metadata: name: "kube-test-\(suffix.out)"
spec: {
restartPolicy: "Never"
containers: [{
name: "test"
image: "hello-world"
}]
}
}
// Apply deployment
resources: #Resources & {
kubeconfig: TestKubeconfig
namespace: "dagger-test"
manifest: yaml.Marshal(kubeSrc)
}
// Verify deployment
verify: #VerifyApply & {
podname: kubeSrc.metadata.name
namespace: resources.namespace
}
}
TestLinkApply: {
// Podname from hello-world-pod
_podname: "hello-world"
// Apply deployment
resources: #Resources & {
kubeconfig: TestKubeconfig
namespace: "dagger-test"
url: "https://gist.githubusercontent.com/grouville/04402633618f3289a633f652e9e4412c/raw/293fa6197b78ba3fad7200fa74b52c62ec8e6703/hello-world-pod.yaml"
}
// Verify deployment
verify: #VerifyApply & {
podname: _podname
namespace: resources.namespace
}
}

View File

@@ -0,0 +1,78 @@
package kubernetes
import (
"alpha.dagger.io/dagger/op"
)
#VerifyApply: {
podname: string
namespace: string
// Verify that pod exist
#GetPods:
"""
kubectl get pods --namespace "$KUBE_NAMESPACE" \( podname )
"""
// Clear that pod for future test
#DeletePods:
"""
kubectl delete pods --namespace "$KUBE_NAMESPACE" \( podname )
"""
#up: [
op.#Load & {
from: #Kubectl
},
op.#WriteFile & {
dest: "/kubeconfig"
content: TestKubeconfig
mode: 0o600
},
op.#WriteFile & {
dest: "/getPods.sh"
content: #GetPods
},
// Check pods
op.#Exec & {
always: true
args: [
"/bin/bash",
"--noprofile",
"--norc",
"-eo",
"pipefail",
"/getPods.sh",
]
env: {
KUBECONFIG: "/kubeconfig"
KUBE_NAMESPACE: namespace
}
},
op.#WriteFile & {
dest: "/deletePods.sh"
content: #DeletePods
},
op.#Exec & {
always: true
args: [
"/bin/bash",
"--noprofile",
"--norc",
"-eo",
"pipefail",
"/deletePods.sh",
]
env: {
KUBECONFIG: "/kubeconfig"
KUBE_NAMESPACE: namespace
}
},
]
}