Merge branch 'main' into cloudrun-support

This commit is contained in:
Tihomir Jovicic
2021-07-01 08:54:44 +02:00
267 changed files with 2667 additions and 1463 deletions

View File

@@ -1,44 +0,0 @@
package alpine
import (
"dagger.io/alpine"
"dagger.io/dagger/op"
)
TestImageVersion: {
image: alpine.#Image & {
// install an old version on purpose
version: "3.10.9"
}
test: #up: [
op.#Load & {from: image},
op.#Exec & {
args: [
"sh",
"-ec",
"""
test "$(cat /etc/alpine-release)" = 3.10.9
""",
]
},
]
}
TestPackageInstall: {
image: alpine.#Image & {
package: jq: true
package: curl: true
version: "3.13"
}
test: #up: [
op.#Load & {from: image},
op.#Exec & {
args: ["jq", "--version"]
},
op.#Exec & {
args: ["sh", "-ec", "curl --version"]
},
]
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/alpine/plan
module: ./alpine
package: ./tests
name: alpine
sops:
kms: []
@@ -16,8 +17,8 @@ sops:
N0JOK1FwdzkrcGR5V0xhUDdNOFNvYk0KetOvulxA0Hilyhv+eWBqYO3GXNvm38Y1
9Pa7HYazNyi0qMcZpecWlp4QsOoL876dj1rE62cYHT2hkt2J2ijAUw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:25:52Z"
mac: ENC[AES256_GCM,data:wk0mr4hUjg7ipIBE1Aph55inRgrXyO1K3jL1hj6N2oY10t6OyeL5IzZbS3aVBYZZh7QfEGkD0uVTqTJXgj5YorvJ2ZYo2RUV8uyUzUemI5jjytUHhKLV26Xz6R6fGHTFOoHYffZH7YhpX3lrc210eQCxHq8WDONeOqbRmwQT4Lw=,iv:HXQUdMlZvi1oEPQIrVuEk0qg1fGAhifPKRa3Fl4oGJM=,tag:gPSbqGPkNmavb6Zf4P2tWA==,type:str]
lastmodified: "2021-06-24T15:12:38Z"
mac: ENC[AES256_GCM,data:nDngshXQgLAIMAllALoPFQk2HbtnapzDud4LXqZLmHVUZP2LaAES9dGRbWwYc4iLVB1M+Gryk/FdI5/eafsvhSAytGXr6A6CEsrweHc4XPKfyxGS40LVZkxa0ntKUNQDZhlu+NTX333h8NEh99Xx3b7tfg+BtU9fvjnpv7zilW4=,iv:l5A2Bfvb4iT/IER0b2SMV42+7h9+YOIsMuMGG9jhq6E=,tag:v5yE3hZvs5Y5fK9JKaKUSQ==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,88 +0,0 @@
package main
import (
"dagger.io/aws"
"dagger.io/aws/ecr"
"dagger.io/dagger/op"
"dagger.io/random"
)
TestConfig: awsConfig: aws.#Config & {
region: "us-east-2"
}
TestECR: {
suffix: random.#String & {
seed: ""
}
repository: "125635003186.dkr.ecr.\(TestConfig.awsConfig.region).amazonaws.com/dagger-ci"
tag: "test-ecr-\(suffix.out)"
creds: ecr.#Credentials & {
config: TestConfig.awsConfig
}
push: {
ref: "\(repository):\(tag)"
#up: [
op.#DockerBuild & {
dockerfile: """
FROM alpine
RUN echo \(suffix.out) > /test
"""
},
op.#DockerLogin & {
target: repository
username: creds.username
secret: creds.secret
},
op.#PushContainer & {
"ref": ref
},
]
}
pull: #up: [
op.#DockerLogin & {
target: push.ref
username: creds.username
secret: creds.secret
},
op.#FetchContainer & {
ref: push.ref
},
]
verify: #up: [
op.#Load & {
from: pull
},
op.#Exec & {
always: true
args: [
"sh", "-c", "test $(cat test) = \(suffix.out)",
]
},
]
verifyBuild: #up: [
op.#DockerLogin & {
target: push.ref
username: creds.username
secret: creds.secret
},
op.#DockerBuild & {
dockerfile: #"""
FROM \#(push.ref)
RUN test $(cat test) = \#(suffix.out)
"""#
},
]
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/aws-ecr/plan
module: ./aws/ecr
package: ./tests
name: aws-ecr
inputs:
TestConfig.awsConfig.accessKey:
@@ -21,8 +22,8 @@ sops:
aXlvVWJVSGNTSkVyYmpZbi9nUVJZdmMK6csXZ2RMxFw5DB+Hb2TyhyoZT8c2/z7Y
Lc9Pe8gb8aUq5Ha+wCybYvY6JWEM5A9XYJKbE7f4borTfGKS72d6pw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:04Z"
mac: ENC[AES256_GCM,data:OjiRs9wN04IGRKDF7ibgerSnAEkPxQjKQ20ZN6X5cCwppVitwFnTPI9J/HiHQ7XaJSr6oaoELUywzCHa17cQNnz9o4NyDc947h9Tsu90fl2S9ChdSZ+dAP85+T3NWm1fbXPLdFw4EgePfTf6F7/Cktx/UVEFkkeggQoj7/cugRQ=,iv:vFQTDgqbEzIrVwNOKKi4M5DAEVGR3NFwWV9PwyT1Bck=,tag:Anjj7Zbt8oxpAI7RD1GZag==,type:str]
lastmodified: "2021-06-24T15:15:54Z"
mac: ENC[AES256_GCM,data:gH9/NLLJEEX+dYKmHS44aa9ENtN6dUJHcMgpdygPZVnqYYku7UF7ZZYF9FFw6VittsDUaTXPKsA4oXHXBxPws8uFOJ6t3B/WQAXCoSXe/3t7Z99RlaetZEWzAmfecGG1AcQnihwr7ymO6uuZ36s9q+LS1wZ81LG70gCqLR5c+kQ=,iv:kXnb23lkKVnyn3ewfvJhStGEGvT/OUNv5rSzfyV2kJc=,tag:q9IjsV9Yi4J7LS5wLQtx/A==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,53 +0,0 @@
package eks
import (
"dagger.io/aws"
"dagger.io/aws/eks"
"dagger.io/kubernetes"
"dagger.io/dagger/op"
)
TestConfig: awsConfig: aws.#Config & {
region: "us-east-2"
}
TestCluster: eks.#KubeConfig & {
config: TestConfig.awsConfig
clusterName: *"dagger-example-eks-cluster" | string
}
TestEks: {
#GetPods:
"""
kubectl get pods -A
"""
#up: [
op.#Load & {
from: kubernetes.#Kubectl
},
op.#WriteFile & {
dest: "/kubeconfig"
content: TestCluster.kubeconfig
},
op.#WriteFile & {
dest: "/getPods.sh"
content: #GetPods
},
op.#Exec & {
always: true
args: [
"/bin/bash",
"--noprofile",
"--norc",
"-eo",
"pipefail",
"/getPods.sh",
]
env: KUBECONFIG: "/kubeconfig"
},
]
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/aws-eks/plan
module: ./aws/eks
package: ./tests
name: aws-eks
inputs:
TestConfig.awsConfig.accessKey:
@@ -21,8 +22,8 @@ sops:
M3U4UFV5REQzYko3QjlXVE02Z0J4WUkK8uHC67Mutls4drXbCi8AwuFqbRXeb69P
ZnOFZEB4NoayoOojr1mY9ssDTywHF4KwR4E9ZmJ3V3hlEAgMkqfvSA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-17T18:46:34Z"
mac: ENC[AES256_GCM,data:B+WtEMOKXy8AT/YTUaKZ9aA8fQRt2pJp3IaABpj0oYI1vCG953MnDCIxj0j2bTQN5gyaFPF8UQ1o/pRJzCKhm26wbCByUrVdHxHTwoJ7arDqQGwcNKYAuQjLtMG7gsl0BqjCg0oKO5YEa24BqHVf1dEo9AcXd6LBwqvxVjmd98g=,iv:aWxj1Oq6wmUYuWnGOc2zIpzOYJVyXV9qSzBgF+iGsHI=,tag:Bx1A8UxghYq97wEdUxbmdg==,type:str]
lastmodified: "2021-06-24T15:24:06Z"
mac: ENC[AES256_GCM,data:zRB7rhRuH95k2IxAbpf8FBfn0tiXKG4xEOv/M7qHxvexNhZWcBp1GnGnMI53CkzCMtTZcsdzquJJhQct2oyqXGbD9XNk9njC/hamtPVeXXtvDm2FTK8eHbb70tqIFCwspFXvfFMoNWCIZ5+CZTggTIOExnvAqsQ6QAN+FV3o25o=,iv:aghslE9r7hx1zmm2j/XznCyOJEoIs8CgUr5Wy/kuki0=,tag:6e701Vdjg+hnJElvZFnX7Q==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,38 +0,0 @@
package s3
import (
"dagger.io/dagger"
"dagger.io/aws"
"dagger.io/aws/s3"
)
TestConfig: awsConfig: aws.#Config & {
region: "us-east-2"
}
bucket: "dagger-ci"
content: "A simple test sentence"
TestDirectory: dagger.#Artifact
TestS3Object: {
deploy: s3.#Object & {
always: true
config: TestConfig.awsConfig
source: TestDirectory
target: "s3://\(bucket)/"
}
verifyFile: #VerifyS3 & {
config: TestConfig.awsConfig
target: deploy.target
file: "dirFile.txt"
}
verifyDir: #VerifyS3 & {
config: TestConfig.awsConfig
target: deploy.target
file: "foo.txt"
}
}

View File

@@ -1,83 +0,0 @@
package s3
import (
"dagger.io/aws"
"dagger.io/alpine"
"dagger.io/dagger/op"
)
#List: {
// AWS Config
config: aws.#Config
// Target S3 URL (e.g. s3://<bucket-name>/<path>/<sub-path>)
target?: string
contents: {
string
#up: [
op.#Load & {
from: aws.#CLI & {
"config": config
}
},
op.#Exec & {
args: [
"/bin/bash",
"--noprofile",
"--norc",
"-eo",
"pipefail",
"-c",
#"""
aws s3 ls --recursive \#(target) > /contents
"""#,
]
},
op.#Export & {
source: "/contents"
format: "string"
},
]
}
}
#VerifyS3: {
file: string
config: aws.#Config
target: string
lists: #List & {
"config": config
"target": target
}
test: #up: [
op.#Load & {
from: alpine.#Image & {
package: bash: "~5.1"
}
},
op.#WriteFile & {
dest: "/test"
content: lists.contents
},
op.#Exec & {
always: true
args: [
"/bin/bash",
"--noprofile",
"--norc",
"-eo",
"pipefail",
"-c",
"grep -q \(file) /test",
]
},
]
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/aws-s3/plan
module: ./aws/s3/
package: ./tests
name: aws-s3
inputs:
TestConfig.awsConfig.accessKey:
@@ -8,7 +9,7 @@ inputs:
secret: ENC[AES256_GCM,data:Q/W+KH3NEouGt6C5S+KiC43837soYi2Mjb/z5K8rD9gtaNaBjjkJHg==,iv:8nGEzLXd91rF5YBZ/EdQoMN27yrpc0sgm26DEvIuSHM=,tag:/oyKl/vj5MJAm+jZMOOAuQ==,type:str]
TestDirectory:
dir:
path: ./aws/s3/testdata
path: ./aws/s3/tests/testdata
sops:
kms: []
gcp_kms: []
@@ -24,8 +25,8 @@ sops:
aXlvVWJVSGNTSkVyYmpZbi9nUVJZdmMK6csXZ2RMxFw5DB+Hb2TyhyoZT8c2/z7Y
Lc9Pe8gb8aUq5Ha+wCybYvY6JWEM5A9XYJKbE7f4borTfGKS72d6pw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:02Z"
mac: ENC[AES256_GCM,data:hnPBOe4zF1jRtCKDCY8S5Zo+dCbitBBoQrmb2vcCclKhzbwKf6znTnd9F518DIgMUcRER3ii+7dvHgNXWI9gqlvuJleR+rnpUGa1jSlHHrhKFmc+5bKaOPdo394C+wZd/z5sMk02GVNSAJzLI3YhSureE+FUb90oc5Efp3hml7Y=,iv:e5AvOpWVvtBnZ3FnrorOk6HrWF+mFbH2xvSCUzA3g3Q=,tag:2WC4P/1xBzOMpCp72omHkg==,type:str]
lastmodified: "2021-06-24T15:29:49Z"
mac: ENC[AES256_GCM,data:tv+8xGY5Q2TkrO9qLxgtvUzfQG50ugCWGZZ7qIyYu2MB4Am88SVUG95GX/zHt5BGRMZQ/FJRnog7SiprC91wAgCjWR+kykhKeE7lygpVZpJTN0TD72a1X1vQKU7729KxPlu266q47Zc/w1N2tfx3krkQth2AjF12hokdZh93hhc=,iv:BPY2WVnKvxo2MYi58TW/gYPnfnFsOPIupSB7Hlh3y78=,tag:wBtD7PALUBAvO5OUGPuSbg==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,57 +0,0 @@
package docker
import (
"dagger.io/dagger"
"dagger.io/dagger/op"
"dagger.io/docker"
)
TestSourceBuild: dagger.#Artifact @dagger(input)
TestBuild: {
image: docker.#Build & {
source: TestSourceBuild
}
verify: #up: [
op.#Load & {
from: image
},
op.#Exec & {
always: true
args: [
"sh", "-c", """
grep -q "test" /test.txt
""",
]
},
]
}
TestSourceImageFromDockerfile: dagger.#Artifact @dagger(input)
TestImageFromDockerfile: {
image: docker.#ImageFromDockerfile & {
dockerfile: """
FROM alpine
COPY test.txt /test.txt
"""
context: TestSourceImageFromDockerfile
}
verify: #up: [
op.#Load & {
from: image
},
op.#Exec & {
always: true
args: [
"sh", "-c", """
grep -q "test" /test.txt
""",
]
},
]
}

View File

@@ -1,13 +1,14 @@
plan:
module: .dagger/env/docker-build/plan
module: ./docker
package: ./tests/build
name: docker-build
inputs:
TestSourceBuild:
dir:
path: ./docker/testdata/build
path: ./docker/tests/build/testdata/build
TestSourceImageFromDockerfile:
dir:
path: ./docker/testdata/dockerfile
path: ./docker/tests/build/testdata/dockerfile
sops:
kms: []
gcp_kms: []
@@ -23,8 +24,8 @@ sops:
Mm5vT1dHbFViK2ZIakNnVkZTd2lhUHMK63jJsJVLJMbQE2NkAB8qv8JnPHpvcNes
z17EJgl0lCLqeNHtfrTfSiIP4wq8gNLK4avCKK+WGDOIMsXPzK6RNw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-17T20:14:11Z"
mac: ENC[AES256_GCM,data:hlc0Bnfeoor/WKMbQRgTalkxngL0YXTwHAys/moXZ4ZMGd2lt+j4l4EkKSjb3QrJfPllCeqroohLKtN+lP4K9fSCMcfYzic2DTEP68rPwufmrgxys1snOHHgIEfqogL8p55fJdXn91x+WHhPNkbWaaH0WcboYsy0zemUIkjb+xc=,iv:8oUeR1dfT4lrVWyJpGPPFa/jlPgWA/ld3UM9Cw2znxk=,tag:59RyiXwzJ5j+c5faxs9U3w==,type:str]
lastmodified: "2021-06-24T15:44:20Z"
mac: ENC[AES256_GCM,data:zJsFrUaGd2Germ5nzov/0nDFBgtEL8W1Q9iYg3jQmOQhE6n91r4XipKHMuySbznHPqrZPPDeMabJXzMKlvqhAaWXOBAz9FRxSPlKH/UgdeNr9/YyMj25tqF4oycUAZUm6FZ6YCsEVsj7QIZnKKGR1oivE1Qe2gW9brpBzzu9JSU=,iv:ORQlfXm7+NjNA0tKtVVQMvvflS8p4mxZGk7bmzAiOfc=,tag:IKoqSXxl0zuQAcFW7RF1lA==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,26 +0,0 @@
package docker
import (
"dagger.io/dagger"
"dagger.io/docker"
)
TestConfig: {
host: string @dagger(input)
user: string @dagger(input)
key: dagger.#Secret @dagger(input)
keyPassphrase: dagger.#Secret @dagger(input)
}
TestSSH: client: docker.#Command & {
command: #"""
docker $CMD
"""#
ssh: {
host: TestConfig.host
user: TestConfig.user
key: TestConfig.key
keyPassphrase: TestConfig.keyPassphrase
}
env: CMD: "version"
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/docker-command-ssh-key-passphrase/plan
module: ./docker
package: ./tests/command-ssh-key-passphrase
name: docker-command-ssh-key-passphrase
inputs:
TestConfig.host:
@@ -25,8 +26,8 @@ sops:
cW1kbGZveVlkQkJDL2xYbmFRNjZEK0UKrSrOB/RL5lki54j4GUCE2G3CCO/8jpMU
jfYkl7Yowb7kK3kKSNWORhB4ne3MEeGRZpJC8cvH7zjGvt/YYeU14A==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:14Z"
mac: ENC[AES256_GCM,data:N5P+lP0Ct5RH79VKEn8fCZE4OOo77j6+PrKzAbVXlVgC2GfV2nTxd18zQOYLBy5uErD6EWGUqeUgjDaDoSky67a+kOpeja1eNvKVSSzXFXcBjTgCIrbeS6tJfxM1682J8Vj6Kwmsmhc7csSeFOr5yCw5SwZ7NP81QQ+hrPb1348=,iv:EJyFQuZOCI9qq2bZZvlHTZdIh4EO9Z/A+Hq3cwnLNK4=,tag:W5WuqPEFOH8Yv68g/eyTIQ==,type:str]
lastmodified: "2021-06-24T15:57:03Z"
mac: ENC[AES256_GCM,data:YqGUjsf7fG8lMv791l5Td9a2oTbg1DVvZt4Dt1q7+L5opaAxhKoDwSimR7WsYuJJxEqkMoyB4X+7+SNzoAarMWqg20sFjUut6wMgi0iUOhym9OX76UYlC5AvsJ6zbIalgKktiece+3j9vwcqB7rR1ArwddbflRvxkw5VSpVXqj4=,iv:ch01NpT3K14dHrEZ3yigH8S3QlvpAK5Myjhh2P1CRpE=,tag:DjjxGwrGIeMeOaaVJx7DMA==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,25 +0,0 @@
package docker
import (
"dagger.io/dagger"
"dagger.io/docker"
)
TestConfig: {
host: string @dagger(input)
user: string @dagger(input)
key: dagger.#Secret @dagger(input)
keyPassphrase: dagger.#Secret @dagger(input)
}
TestSSH: client: docker.#Command & {
command: #"""
docker version
"""#
ssh: {
host: TestConfig.host
user: TestConfig.user
key: TestConfig.key
keyPassphrase: TestConfig.keyPassphrase
}
}

View File

@@ -1,3 +1,6 @@
plan:
module: ./docker
package: ./tests/command-ssh-wrong-key-passphrase
name: docker-command-ssh-wrong-key-passphrase
inputs:
TestConfig.host:
@@ -23,8 +26,8 @@ sops:
R2tNU2JJWHFQTmhnUDd6eE13UUhQazgK+OQ50Q3+S5Fn2Y132ZeDrgUKWPcAk+et
q8ppfZiPOtH4p6MwboSuh/vaTAAsxks7ctnqnU1pY+EHfnp8bHYHgQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-11T16:09:47Z"
mac: ENC[AES256_GCM,data:RTbDkgxWqVa4kgJPXny9u9hfwF1NG3g9L/6P2P44KE97yNdoxuAkuU1hs6DiATl4hgeck7p56gWLeUTeGAi+llMDqOodmSQEtD/XZvvdmyh4J+09+jg9QRwSL54xNR4Q83YBWy5PZm+hyYQdVl9H3omMCrdO78ydYXPSdDnRk3I=,iv:crEuUK+jQ6QBrf/Dxouu9+I3VXdZazKnHJ1g5JZLD0E=,tag:ymExWezKBTowuH4pugiQ/g==,type:str]
lastmodified: "2021-06-24T15:55:39Z"
mac: ENC[AES256_GCM,data:iE8xzhQ5/nBkzsASZ4R/yK85lb89/TUpLGL+5kfxNlWx6gQmLpzcRAuMObV5Xebv0nd+znLKcmDA35Qj5j66FsaGpk5Lym7c6/W7PT9dt/gfAvjTydHPgkJ8L/EMiSd06cQXq4jMB9/OAzZmPsosRAsmrijvy/tuDXAZM0IjazI=,iv:JfJ3UJsNhRsTz/3npxZ/Hy1HtAsczeVm8F7E0KvLwAE=,tag:fmf+1RVzTtijApc77LnSrQ==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,24 +0,0 @@
package docker
import (
"dagger.io/dagger"
"dagger.io/docker"
)
TestConfig: {
host: string @dagger(input)
user: string @dagger(input)
key: dagger.#Secret @dagger(input)
}
TestSSH: client: docker.#Command & {
command: #"""
docker $CMD
"""#
ssh: {
host: TestConfig.host
user: TestConfig.user
key: TestConfig.key
}
env: CMD: "version"
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/docker-command-ssh/plan
module: ./docker
package: ./tests/command-ssh
name: docker-command-ssh
inputs:
TestConfig.host:
@@ -23,8 +24,8 @@ sops:
UEpoZy9HZUlHOVV3M05OSkZQS1l6aXcK3NfBITvd6la6nkcIzqH69xfv9RR0Jm7x
vU5FvGROK3Z0ZR8NNXAtNH6VQQ21TDD2MOXWOVvjnIAAOVNEyc1amA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:12Z"
mac: ENC[AES256_GCM,data:61Y9VaYoL4kUrxqhS5BVU1g6b4y7vJnuLsoRZF3ltdM7EojZq4bSiKoQHm4AxFL9exoM6ze6NqgqJBaMXQ7erOvX85/SFceCmksWz92n+HJxOfeqbVkY72c7ULVbf9hUs/YJaz7b5kelN6sFFVedY/iUf2JEGg4NSjL53jearNs=,iv:TVMMLWE7A5x1JrvXZxaCrHc5rxdtS/RdGqu7gwGkPS0=,tag:m2JfKTc9A9m0LblO5r1vjA==,type:str]
lastmodified: "2021-06-24T15:50:11Z"
mac: ENC[AES256_GCM,data:smCRgqcXPpgI909GOomUGrPfj5b0cNfha3CTicV7uzj675tTNqEVJTpgZiOWNUv3pQ535nhGuF4WRESZj+TuNabCWj0sMMU1EGvxUXuaV/TSXo3JtdFeU8tpn549UtcHez71sjKHiCTfGDdESPsAsYDLkkMBZkb9UE409on1Ypk=,iv:odHs0ukQTqfWb9ARFHpAh1qTZ/AZMLMQ6ZtVOged97k=,tag:sev1dRKD/7ZBgJamRCHqhQ==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -0,0 +1,2 @@
# dagger state
state/**

View File

@@ -0,0 +1,34 @@
plan:
module: ./docker/compose
package: ./tests
name: docker-compose
inputs:
TestSSH.host:
text: 143.198.64.230
TestSSH.key:
secret: ENC[AES256_GCM,data:8heZn3UqcB0aV9XAn9uLx9gBcTqbmfNX7voBpYCNCGaX1nustSzKhbR29dxAoETIdfSFPetX2s4cCYbPTqFc6KTyRvfdmI8tXvb5+lin/CkdQJy7cR+RiynLEfbs32EPQilaph+kyGyGBAWAme49g8U2om/QObxCSes+Zn8ihfv7lBkLEj8hen2OC7YwIqjs9V8ozNCJ0zsk+NIk5LkryXdWTaYvgGHOmO/NuWz411L/pF1HieOV1L4Fe6E5hsUun0kVny8GxXQSbVCKle9A9TxD2bs+IBVNAUZVTsrjZYyTjYlNNgTaOqPASS5VDrOtR8csrGJ6GyGxtGrtRdhaoXYQA1zfA7uMfSMNlCwk3VB70P60s0U9tKr3HnRFX6rQdKcUwR2a1zbJ8UmHPy9apsM+tc+m/CAb8dkdu6UyiwvBK+kyPDyBVz4rwyhmtiB7cjw9vXYWX3hbZcE0e3RR4Upqw5NkIIlLfNH7T1fPDmVmIlXQk0wKIZJ//dwdJZyrraA+RRtG5b3PECSojIN3x57LnHdIXfp5drHK,iv:xqGFk9QgC6YwqFODSLRwShf+SMyY4PmtfWt5neHwfSY=,tag:vVZtGty5ehLvYzd8H0+Xsw==,type:str]
TestSSH.user:
text: root
repo:
dir:
path: ./docker/compose/tests/testdata
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMSmROdEtUblF3REhwS3hC
bU9ObTE0aWQzdGJzRlB5WjA0UG5nZFFJTEJjClljQWFYYWNQaFozZGRMcWxyT3p3
Y0ZVUlZISUNlVkxVSVBqY0RRaGxPN3cKLS0tIGhsUTFCK2ljaWZFekVQMlRSRmtD
bEY3N3ZLTFpUNzZVWVBOK3VNRk9hWlUKd9db3j7FqFW4t7TxFyzudKDPTVqr66v2
KqedhRYCjF4ZozN0H++xQPH24RBRnwc6Uq0Vm38UYv1ozDN2L/l5DA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-25T13:17:45Z"
mac: ENC[AES256_GCM,data:RclYzWUgBU06881KztfHdaeBtHLOiQZ5xNp0taaxS152rUxyXCXEAFlOu/yqE3RvEoorUp473wDwFUa9DudHidY88YNdfdk5AUuZdsOXW4bRMFPF4eiFugqZJNPepaW1YBDUMeH7XQBN1jyEkFOvzyk2KKQhoUshWyrU5QDR2kc=,iv:MjhUSjzVm6nV2PnSNi346GxkirmF3yAti3Jmb94gLGg=,tag:t4fHAYh60//PlkwUPQh2uA==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,15 +0,0 @@
package main
import (
"dagger.io/docker"
"dagger.io/random"
)
suffix: random.#String & {
seed: ""
}
run: docker.#Run & {
name: "daggerci-test-local-\(suffix.out)"
ref: "hello-world"
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/docker-run-local/plan
module: ./docker
package: ./tests/run-local
name: docker-run-local
sops:
kms: []
@@ -16,8 +17,8 @@ sops:
cnh2eHU5TzFjVkNvTzUyczFBL0pwTDQK60+wrLmTaD3Ws5ZAXdqBkMjaVP7Iz69k
UrkqkMbaUlvvSKK7dB5MuTGEEN6A1viAGal9ZjDHlSobkNPuE24QEA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:06Z"
mac: ENC[AES256_GCM,data:mW3780hxQmjmMD4BvcZbHzfckigDRBlq3DAlkpFqiPIchszGgOoXYC+TK9gkYUWfpDfunucwZ6UdYi2FpVo2p9MVPLEtAAIBgApmCz5OHtQMDIsz8Bt/RLiZpp+FQF77J9eeFELdCkxV904r9QNe1Qy7sfh5s2YDXkhxdQRb5X8=,iv:fnwektBV2bRAI7Zn9wAWoEZeTsbr1iu0wrapBacf5Ao=,tag:JK02UNTC8DzCUmK9A6JnfA==,type:str]
lastmodified: "2021-06-24T16:03:04Z"
mac: ENC[AES256_GCM,data:LJDMvMfHEoJ513yDitCDn8N87J+l+Rtp7tvbV+Px+9K1f/lQavNnlCJk8jVILrxtFmtK3vr6mPNLti8Q78GpjNTO5W/fW9MbXURxNMBfEnbgOP473vBgOHp4wZ/QofbJLvl19o8ldQVy5pdcsoQwYKpukDKpnrvw3zFS5flO87k=,iv:OgtV3N1MIMIfQP4HD08LtBBrefq6xK79dNzJutY2M4o=,tag:yTpgOE9rOmEoTY5l4C0v5g==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,30 +0,0 @@
package main
import (
"dagger.io/docker"
"dagger.io/dagger"
"dagger.io/random"
)
TestConfig: {
host: string @dagger(input)
user: string @dagger(input)
key: dagger.#Secret @dagger(input)
}
TestSSH: {
suffix: random.#String & {
seed: ""
}
run: docker.#Run & {
name: "daggerci-test-ssh-\(suffix.out)"
ref: "hello-world"
ssh: {
host: TestConfig.host
user: TestConfig.user
key: TestConfig.key
}
}
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/docker-run-ssh/plan
module: ./docker
package: ./tests/run-ssh
name: docker-run-ssh
inputs:
TestConfig.host:
@@ -23,8 +24,8 @@ sops:
cnh2eHU5TzFjVkNvTzUyczFBL0pwTDQK60+wrLmTaD3Ws5ZAXdqBkMjaVP7Iz69k
UrkqkMbaUlvvSKK7dB5MuTGEEN6A1viAGal9ZjDHlSobkNPuE24QEA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:22Z"
mac: ENC[AES256_GCM,data:ih3SIsrljcXC+2YGDKo02BG3uPoGlV0E80Z6yK1HGqxQJRICU9WJYLQqnt2Ughq8xNdfuMMuveiIUx2y4e/5a+S1tQi33N9OITCyzPHSVqcRVHj3r3pJXVORFfF++DTAmLamswA6918HHGXmsOqxbTC0rvtV7aIkdU6r6Hh4oCQ=,iv:e+yeE7je7kFjCERTztBxuNria+4nwOXU+qpnHyaR1lQ=,tag:0E+nnEPnnU1S2Ku9I1v1/w==,type:str]
lastmodified: "2021-06-24T16:03:21Z"
mac: ENC[AES256_GCM,data:sTXjqAY5c6jD8alHiGNwM/nHxNWFxD/mJ9mY5L8mAkA2BR/633/JShlMRDMUeUX+fYPDpwDdG5QEy4XT2EsqMdN2+N6SNNpHikg7T6iIbdY4XYY9Toil8Gv3ahXoCQoZyek7uXKUi9mXQiSpI2u4cLsHNDvL5IhWE7maR++403Q=,iv:SLqSa/k+e66kOs1IhKUxj2YQJRUQZYIXacqhTDSefvQ=,tag:fUBQ5vns81L/DFV18HfhEw==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,63 +0,0 @@
package git
import (
"strings"
"dagger.io/git"
"dagger.io/alpine"
"dagger.io/os"
"dagger.io/dagger/op"
)
repo: git.#Repository & {
remote: "https://github.com/blocklayerhq/acme-clothing.git"
ref: "master"
#up: [
op.#FetchGit & {
keepGitDir: true
},
]
}
branch: git.#CurrentBranch & {
repository: repo
}
tagsList: git.#Tags & {
repository: repo
}
TestRepository: os.#Container & {
image: alpine.#Image & {
package: bash: "=5.1.0-r0"
package: git: true
}
mount: "/repo1": from: repo
dir: "/repo1"
command: """
[ -d .git ]
"""
}
TestCurrentBranch: os.#Container & {
image: alpine.#Image & {
package: bash: "=5.1.0-r0"
package: git: true
}
env: BRANCH_NAME: branch.name
command: """
[ $BRANCH_NAME = "master" ]
"""
}
TestCurrentTags: os.#Container & {
image: alpine.#Image & {
package: bash: "=5.1.0-r0"
package: git: true
}
env: TAGS: strings.Join([ for k, v in tagsList.tags {"\(k)=\(v)"}], "\n")
command: """
[ $TAGS = "0=master" ]
"""
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/git/plan
module: ./git
package: ./tests
name: git
sops:
kms: []
@@ -16,8 +17,8 @@ sops:
TmhJNisyamw3d244aGVJSEVFVUVLZGsKvd+nowA0CLXQbdvyI4J0lBjs9vdISWlo
gGvR49uul3Z8raVWXFUzsyQ8xTvYNg0ovynFG2KdagSKr1DlhKMBEQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T16:23:23Z"
mac: ENC[AES256_GCM,data:AdTUEx0RIrJU6aZZNn9iIrl0eM2eParknCVIQL7k1arLRfYH4WyMf9lUa03+Qy83r4miNh4a9kFpNWyodbOR/j7OiLgAxWGXc08XAnIU51F2H7b55cSW9yNJj5kfos2e1pS356MoSaswg4fH8EYVUNgWC6mdBcXzC1m7uiqTS0E=,iv:mK9sjOCd7ePWR4xe5qNwmPuIyNR1nE3Ql65cF15SovI=,tag:DPUTnGTF+Ve+A7ShACNrnQ==,type:str]
lastmodified: "2021-06-24T16:14:47Z"
mac: ENC[AES256_GCM,data:3UHY8Jg+qnbaqTmqzdbmV08zXIFQ8141KMT4Zl3ud5d7PABqQnVAPaL3b7/UvnNo6+ssjnlMVUbKG6duZpqw3scWyrGfUgWfGM6VASoy+LCyquuPuOVzImBeZw19FZsUVzqr79NnzL353KRCz+fM68ZGryZpsyXsl+t6wgd1gpM=,iv:EosxY4VFRGLeIDJ9dNehFK2yey+dKnggbWwRwuORWtI=,tag:R5cvDSq/9GkhhF1fz3e5aQ==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,34 +0,0 @@
package go
import (
"dagger.io/dagger"
"dagger.io/go"
"dagger.io/alpine"
"dagger.io/dagger/op"
)
TestData: dagger.#Artifact @dagger(input)
TestGoBuild: {
build: go.#Build & {
source: TestData
output: "/bin/testbin"
}
test: #up: [
op.#Load & {from: alpine.#Image},
op.#Exec & {
args: [
"sh",
"-ec",
"""
test "$(/bin/testbin)" = "hello world"
""",
]
mount: "/bin/testbin": {
from: build
path: "/bin/testbin"
}
},
]
}

View File

@@ -1,10 +1,11 @@
plan:
module: .dagger/env/go/plan
module: ./go
package: ./tests
name: go
inputs:
TestData:
dir:
path: ./go/testdata
path: ./go/tests/testdata
sops:
kms: []
gcp_kms: []
@@ -20,8 +21,8 @@ sops:
R0o3dlptazJPTmp3OFo5RDcxOVg1VVkK1lLu/wrPvgzXa8Ym3qdvcuYCj8csbtOG
T4HjRvA0EEF8jmFEuqS8Y/N0vQiezoZR7JU9PbjOoD1B5bLHtJcryQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-17T13:10:32Z"
mac: ENC[AES256_GCM,data:oD5rZ0k3KHxQ21eeDP0CQRdSYWBNfrgynNB3xrT3ntSTCsLkRuFH1G5NBnV3Hpvd5B5l5qQuuUDlQLY4nB8mbJJKr/TwYIRMELDDMqpitTfkddjm+UeUrRyTP/YStVnR+g6nv8NcDdHcg4eF2lXl6Q7JKNlsMAGndgb5920QNcY=,iv:vx84/Tp727FpbpXcp2Dm9MXz1OPnnVIICgcofjPjiHI=,tag:8+lCqBKc535mYMmVV2k1wQ==,type:str]
lastmodified: "2021-06-24T16:19:27Z"
mac: ENC[AES256_GCM,data:3dJTQZFlzj4sJkIB99zHMgH7MsTcHiGKwT5GykEzjzq4OH8KOkKyFx0uVrvw4ePYhHMjAcTKcJFWRD+ebrRusKF5yZ19Si7IleCSh4y/IzRE0fWfzCDCYSN2MVwreE9Q10UeL/vBw51cK/k7kCF2DNGkIr5et5wO9R3eStuHfDE=,iv:QJlR6fIRD0AfWneMhCY6HpXpVSFt6431dJuWzXplfB4=,tag:h43ENEs/oVkd/ZtSfgmlmg==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,86 +0,0 @@
package main
import (
"dagger.io/gcp"
"dagger.io/gcp/gcr"
"dagger.io/dagger/op"
"dagger.io/random"
)
TestConfig: gcpConfig: gcp.#Config
TestGCR: {
suffix: random.#String & {
seed: ""
}
repository: "gcr.io/dagger-ci/test"
tag: "test-gcr-\(suffix.out)"
creds: gcr.#Credentials & {
config: TestConfig.gcpConfig
}
push: {
ref: "\(repository):\(tag)"
#up: [
op.#DockerBuild & {
dockerfile: """
FROM alpine
RUN echo \(suffix.out) > /test
"""
},
op.#DockerLogin & {
target: repository
username: creds.username
secret: creds.secret
},
op.#PushContainer & {
"ref": ref
},
]
}
pull: #up: [
op.#DockerLogin & {
target: push.ref
username: creds.username
secret: creds.secret
},
op.#FetchContainer & {
ref: push.ref
},
]
verify: #up: [
op.#Load & {
from: pull
},
op.#Exec & {
always: true
args: [
"sh", "-c", "test $(cat test) = \(suffix.out)",
]
},
]
verifyBuild: #up: [
op.#DockerLogin & {
target: push.ref
username: creds.username
secret: creds.secret
},
op.#DockerBuild & {
dockerfile: #"""
FROM \#(push.ref)
RUN test $(cat test) = \#(suffix.out)
"""#
},
]
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/google-gcr/plan
module: ./gcp/gcr/
package: ./tests
name: google-gcr
inputs:
TestConfig.gcpConfig.project:
@@ -23,8 +24,8 @@ sops:
ZXd6Qmd1YUtxMnVTVkYybWgrV3pVK2MKowMeOZU3j3BxERT0DwhQYCGUDBK6gCdo
WByubiBATdsb7h7ytCC4HutWppynK4MpU+Ya9NP83AZuXo+Wa2u6aQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:26Z"
mac: ENC[AES256_GCM,data:/ZsuT9I5KMWGWc6Kg8jDxiHGhaLd0aGSRv2U4LKLr0LIYQrgmkTRrWSWmaU0QDKSrd+ovVDvg4KhGtGeKHENWp64zWM0I+icdYMByL7qGj8tSPmll4u7SjOIOEzpWHjLVAC+JPD1fpBo4WIwlfDjW1yjFulmxYb4utDLsDuaEH8=,iv:xWrFWD5fkmKA0dbIIiRNOp8mGRKtDX+1BInXJuKjRDE=,tag:Jqeujum1JS1ONt3kV7bvRA==,type:str]
lastmodified: "2021-06-24T16:22:49Z"
mac: ENC[AES256_GCM,data:8VyOUX7cwS6VCrLJi1luMag+vgh9WA0nxi3WqNMpI+w//SVHVtYaZ0wnzof+yictU0+PECwGFWS0ircpmLvLDUGENv2T3fCNgQj4x3TnYRdgHpd1na2XSzc/J1+uWP1FyYBR/ipvY6LnDIY4u7IWpjGNcSs+Iq+gm3S4Hc2e/Eo=,iv:UaYq9P0Y7MvW3DucgpBgc3n/n7vo+itaMhz1umIfOYI=,tag:j1suX3zEBSdRzsDexXNBVA==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -0,0 +1,2 @@
# dagger state
state/**

View File

@@ -0,0 +1,36 @@
plan:
module: ./gcp/gcs/
package: ./tests
name: google-gcs
inputs:
TestConfig.bucket:
text: dagger-ci
TestConfig.gcpConfig.project:
text: dagger-ci
TestConfig.gcpConfig.region:
text: us-west2-a
TestConfig.gcpConfig.serviceKey:
secret: ENC[AES256_GCM,data:UEKTXvyrBgHKOYE9vSGoHua9wWALjghxWu+ui9K3MAS+1mnVlc1qjTbwv/1/hIIkRNlyhY6WlN0k3x2imusFFInzrNZ5G4FJHGiP/zaazd7shUS8LZsh1cL0I1jnsaDJaz4Zw0yVu+FT1z2/+9l81U9MrtvbLNKFSqZJsrymZl5lUCxiRsUEBiC0/rOoOlQ88kfnxUdBXnG7ABciqPUK7cYaMo5RbB1a9YfacB8S2sosClxK727jUgD20I12ru+y5Y/hg00BhBl9bIg35VTI8PFeZvRqQowqaJO+i1BjQbBYef8s9faYdZGEP0hUrvUpPek4Z0ZBDRbxRfRFAiXBbWbvCJErGlsmcNGqllixgDbcYQNKBTjZEKke4PGHtahmPXOIOO9/fxnUCoci//azJ5fUP0Kdiw06DQYQnngwRSA/nOqTBiuWcfiTLY00iQxoh+8Mt5/CMTXhRz8PpRpvXtKLe4ogaVbEBMOXe8+nMtwt0H6kV+YmHgA+vVHw0WYtBF6gmKnXuGWT/dz94SHGe9oMiK7H7KtfRCyN1SBAx3H9R3qitt9114TlWRBvfrVtDsb/E0MQdnbXZQirJ/2ev78DTc5bdRTFus2vvHZB2RP+wr7sB8A+jcWS1RBv0NJOZoPlHqKIfB93NBhI8wU+lqEbTn2Zm0LAvGVypws3ci+0GJFReIok9yGc/WucFBDMWi8tDOwUdbreX7EpdGLSn9Rwq0Oeuo5Udy5Qo4xFAC/v2yCzqb7MrZzX1S+OHyNObUTGuEyTOL8t91KYBebHtLK0Ud9qQoYuO5IvYCGeKIHr5FDFCYKDJAlW8Y9Iw27LsU45rqeHTjUi1BqOLfXZbns79w8WYiz5bqc3eMXmYOgCKtU5BwLo9LV7WR+FW8cCi9gSJHnRbc8uT9V1NWaGeoKuaPXpBWLH/GTKXEKuy1HXz+yPgQsYYN2yrGNgmgXpKbxgp92h6LRA/PRjxrjkAV8kVdivxG3GUFVfq4ZtGlLdRrcYCkDIZVpwPrNp8Qg5NLn5xhWj1hsqqOOJdeDHHLkS48A9pLAhPubRWH0s1IixLstnJ95DGIZDE0QpEh7STctqvS7SVhclroKI5xzT7w3C78fxTKC//JkdrV0/rQ2CQ1u+emaCUt3X1WwYofudoMjp5iESscDvw6PnqzubUT51FwGtAf2hkT07VQWZ2CcNP4dvYgDSsc26Y0hwWdr+ppCy1xbmpENU5moUPELtF9w2da1zG5N32Fcxr9VOqOGwa4pqkasIQPCRdqsEa/34g95L7Z1BAXpMxCLTbW5nxD3wQBsrsTjO0rmBh4n9BdKjqj5GrXOTceAaJ+L3o07aVIzICJ5HGo7GQXjaQOABzysbGr7bdBIQyp//ruqXNLVSaylIunZJY4/HFdqetZj6jfb4rE+/GkjFLw23Ym8RIDYJQsTAR8OdwZNtVPrILdve1ohlyBW/nS+gy5dZ3qHnE9ZxbgN6FpRYr9G4acK3yCyMeuBdiB6Tqz0o6xz/c2WLWpWcw/HivVce53MfbqMhj0K/jjpl+fsJT/+ZkaPviDrOtKR/WPz/ewNwQ7pZgCubtlzCmPw8pBKjP+uI9tvwydgnV8I/LdEvS0IrP9m22kPZiw/m7mPQPkDA7IzQSIlrmWMCt/iJ0rvVEtkyi1pPyzVVby4OyzvyhexVcFu2X1x5jOqfUL3eEjO+IhMJufVCOVlUKNHPci0r4KQZ07n1wPCjUoCN4MMl9D8yaP0l8SQmSmp9/DFVZ1Cd5m+O0cmaQfZX8dYV52uxkPnkRNn9SnKCz5Nf8tBG8p+kvznEYw6d4UKQLocFdzeBU6FBa4zQSf+oXHghds9YGJoWNAGzD9ucgVNyu4hU2rq7UDnAwT/pm8FTbw/OM2uCyPr80J3CpgKPdA0+jEvBNxlezsZeLyTntoZLIstgllETxC9QjqfCVtnQYBYT8oFCXZPadyBZPPVrXvQORCpRXJCQ9iyoiKTQCCOGqGyIgC+23Q0ebmZPr7e4I5JbBZWeh6ek2RRWOZMI0lkLeE72KO+9h8HPxmgMhPtDes/l6DmWjAPb6IwZSM9SseTYF447HL5rQKkv4x7W4Cu1pACSc/2qqdUwnC6jydk8EY2zPa9kdguwdSiDr+KwASZex2MKMJa+peXhTDLqB7jxiO7snU4r0nk7E0B3IBqWM89PVskyNTJXqTkAXyzHWag1S8URPhk9Q9UYpyVCWRzs4nfXAX2WgCJl9iw8ZXrIJZ3fGs3vXQMYI/kGJ7rGIDWhcQEDJGKJYrBCh6zNsbSzBagd5AQ6DNIUEvTUcPvxZP6sy+uiiMMqErDgbi2IT3G6E5sEL0sO7GtrVWoxDQWXX80vtf146fnNNp4uS2wGta7b4kguAt39olceX7nUrYgzLm1aXcr0ObbRjcPdeSlNGLTJGlZRNtvTlFdT1RgTQBfRdG3d1JCraCGsAWxBC+Bwa/zAcdIwUNnMfgdZ5eOAyiBTmoGAAOkUr7avSVvP5Xyrk9JlNzeArrjZUFMYOcXBfkMquqD1NoPHUZ12u9jCoj109zJquxcJ1zGT5TylJYSTc9xz46TfLrz5KvsMhfetBx0ocY8lXjbs3pzB6ZswDGzF4j0eiWBfu9UZoiQVtt1eIfAPoZO9u/n2Wbpx+ov+mJFf0dZklKDED5CUbmj8/izOdE9KbiPDFr1nZZQbO+YwJYhjxxqxzwC41CvH5XQTCCadeWgb5cHEwwunFRVCYeEFvTlP6nR9pS19UZoQvPNk5NEnZVKxWVD1lK18frvX8MxIpB2xaSbUkvGi3tueinLa7OYVfjirBJ1GYbuADa4H0KOxi4MP59ah6TOmsZstA6plFbtRRtk4Iofzu1mAyUN52SZzwCvH5/IxOh6vQxg7EcMfB8O5+S87PeE3vd1ch+UVDwQ3fvNmjd7/77XdKZiR7bwiDxodxABpG4iYrxcfkGPOTCKUlisgFNNmSmwG7FJMYWkz3RcEHib/biklnEKbm/9G5000cwZXXglZb8QjleSklkSEZa4DYec1SNvD/KwRbk5lYr03TDl7DrZo3WjKWvWGMUs3,iv:tPbOGayR7NiXcuHWjX0pX/nSitOxmsr4qqrc6irlIJI=,tag:apejA4UTYTuwT4CUSeoaRQ==,type:str]
TestDirectory:
dir:
path: ./gcp/gcs/tests/testdata
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCRThSTEE1Rm5HU2Y2NkJZ
SEd2blAyeEVnMHBqRGxXMEQ3TGFzWTBwd1EwCnA0OFVmTCsxSmpNV29adGt2ZHFH
WE9vN1ZoNENFV2t1TGVuZkdwVndNbVUKLS0tIGpHZEptYWxEZVNjcXF4NkoyWHRv
ZXd6Qmd1YUtxMnVTVkYybWgrV3pVK2MKowMeOZU3j3BxERT0DwhQYCGUDBK6gCdo
WByubiBATdsb7h7ytCC4HutWppynK4MpU+Ya9NP83AZuXo+Wa2u6aQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-30T10:44:08Z"
mac: ENC[AES256_GCM,data:bVjVtONv7ILxZ3UkYy/l3MnuJB8g4EG++fBfeL/CQPHyembwBURC3nxfB0IdqQmPsa0/ahycNawIvB/owy+Sw6yyaDWGtd/8Jn0CILLZ4Nyx9lNN95J4Ad0FbUKr24Fu17I339rB1GrEjAaTs1qcle53sp4Wq9Blg26Vkut9jmc=,iv:TdFDptBZrScOfywWsIhoLijSFQL18DF94bKMh5DfW5s=,tag:wVoa1K/Nyx05nu+Op0Viuw==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,32 +0,0 @@
package gke
import (
"dagger.io/gcp"
"dagger.io/gcp/gke"
"dagger.io/kubernetes"
"dagger.io/dagger/op"
)
TestConfig: gcpConfig: gcp.#Config
TestCluster: gke.#KubeConfig & {
config: TestConfig.gcpConfig
clusterName: "test-cluster"
}
TestGKE: #up: [
op.#Load & {
from: kubernetes.#Kubectl
},
op.#WriteFile & {
dest: "/kubeconfig"
content: TestCluster.kubeconfig
},
op.#Exec & {
always: true
args: ["kubectl", "get", "nodes"]
env: KUBECONFIG: "/kubeconfig"
},
]

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/google-gke/plan
module: ./gcp/gke
package: ./tests
name: google-gke
inputs:
TestConfig.gcpConfig.project:
@@ -23,8 +24,8 @@ sops:
ZXd6Qmd1YUtxMnVTVkYybWgrV3pVK2MKowMeOZU3j3BxERT0DwhQYCGUDBK6gCdo
WByubiBATdsb7h7ytCC4HutWppynK4MpU+Ya9NP83AZuXo+Wa2u6aQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:28Z"
mac: ENC[AES256_GCM,data:mCi/vNSrtuLP+hBssCP6D5DI9wFSajN7EeFxfKnbqMGRgHRGjbbA0ty1RtJCwlTLYHmLWRxNclkLtCD+tJXQ84YnE/jocPjUK2Z3lR/La/7imy32QM1hfpg14pT4A7lkIizwKfcV+HXgRTE8rQ8eZM+KnuQJXwa1Qds2G33sTpM=,iv:xqDuKP7vBHug+o1lffkJ5YNzh/YPjCGmHCb0U7lgijo=,tag:6ln/mKsYB4Zu6l3YtZ59RA==,type:str]
lastmodified: "2021-06-24T16:23:14Z"
mac: ENC[AES256_GCM,data:xUwP0iRtKFl159PD5u8byQbxMyPHYuQvGQLuplUJMZs/OMSd+YWiWoJRhup4j9/sZbq4Ob6uHr37HMmwbNgieiGX6qabS90Je/1UiufCOWwfVswnT+iUMHyudnS0r+Gh81vwl2eP3xLr6Odm2FbFh8kwF3Yw+NNi3wgei+yZIjU=,iv:tNI8ti2zAem+dcWVdciPLqdpJ6SDIK3CoeQUchlWE58=,tag:MgTShPwKT565cJV2BJLi2g==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -0,0 +1,2 @@
# dagger state
state/**

View File

@@ -0,0 +1,28 @@
plan:
module: ./java/maven
package: ./tests
name: java-maven
inputs:
TestData:
dir:
path: ./java/maven/tests/testdata
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3VURHb25rcVdWRmMyWmVk
c0t4MEZscDdMWEdqMWNPRm0zRG91cnh4cnlvCllCYy9nS2F0ejZFQXBLZzgxU29n
V0tEcEJkQUFzdHczV3MrQjFpUHMzT1kKLS0tIFJvY2QvUjJlRE9hTTJWa1NkK2l4
UjFhYnZNdUxBNEtzWkVvMUoweUFnREEKbs/IGlNmDk8e3ibJSoIcE95txghXwsso
DL281EMf0V+ARsJY2CiehZsZB+xX7y+YfyQyoWx0xMN7bCgPu2snGg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-29T16:06:47Z"
mac: ENC[AES256_GCM,data:DudrYOLr/ymf10B4UzjRfe1+n/hw7KCSSIbzAGcc3kmN/KplkCPYi3n5HCX1XkMOB1mQp9QD+UOQGL5CYPtqnZZKu62JNfbeSqU26BKU97aqL0F2+lPqaYsjSeCAbgUs9O/30A7QErlJiXuzTYC1WcTjpTr0RTeNoHmWKsqZ5ug=,iv:7e1XmOfxyKIOguzDxqQ75nFnV3GZ1vpvz5S5P1O+4Xo=,tag:f6Vb8e721uLyvLfCwE/JEg==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,26 +0,0 @@
package react
import (
"dagger.io/dagger"
"dagger.io/js/yarn"
"dagger.io/alpine"
"dagger.io/os"
)
TestData: dagger.#Artifact
TestReact: {
pkg: yarn.#Package & {
source: TestData
}
test: os.#Container & {
image: alpine.#Image & {
package: bash: "=5.1.0-r0"
}
mount: "/build": from: pkg.build
command: """
test "$(cat /build/test)" = "output"
"""
}
}

View File

@@ -1,10 +1,11 @@
plan:
module: .dagger/env/js-yarn/plan
module: ./js/yarn
package: ./tests
name: js-yarn
inputs:
TestData:
dir:
path: ./js/yarn/testdata
path: ./js/yarn/tests/testdata
sops:
kms: []
gcp_kms: []
@@ -20,8 +21,8 @@ sops:
S2JsNXRkbWVERHM0WWk0bXBJSXJIK1kK9R3gMDcbeKRRlt0HHM+w2kcs+sGfASmE
0YhxbFF2qQPFwHHR7aPmM+L1ML8cXOrxOOyWmmWhXNgtURCJ9/SO3A==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:00Z"
mac: ENC[AES256_GCM,data:EmSUjMv9vC6/XGTHtVBZSOQP/vrb6rTvM3xJLf0rjZadOYviDQKiBygvQjdrnxR7EqDHntkm8ye1ZWsCEiNF/e/H4lEbZL8hVdeqiWqdpDVkzGw5wQRfKuATy7K48o3lPZAWd6vOzRVRpwCx9YVk9nt8v7OSB1mPYqAtRMvoMg8=,iv:qacGNks0dHawJPTtgrbrJkuyITxiiNyACKgLejPS8ZM=,tag:jv7+/6wmJwLGufLS4ERlbg==,type:str]
lastmodified: "2021-06-24T16:32:39Z"
mac: ENC[AES256_GCM,data:jAgt/buOF8cUAT0bQJ3icGI8qR8cOg0ZQqZFuut1VhggLGZTr92Z7XZcChfBdpfPIE98fVuoemTdddEBWKp9g/LjXHyoK4kJxtgTLiH0CGkynVIE01bQUTCQBwaE3KHoRTYuu8xWFw5RpqEgCvlpZnvCGwwMG08NR+hSJJ5j7oY=,iv:+fkJT11KX3xD8OL7NXj+Rs1nuXK8J1AnfF6ZWGGtTTY=,tag:o9xcgR/nLt7hxvMeH1saoQ==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,44 +0,0 @@
package main
import (
"encoding/yaml"
"dagger.io/kubernetes"
"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
apply: kubernetes.#Resources & {
kubeconfig: TestKubeconfig
namespace: "dagger-test"
manifest: yaml.Marshal(kubeSrc)
}
// Verify deployment
verify: #VerifyApply & {
podname: kubeSrc.metadata.name
namespace: apply.namespace
}
}

View File

@@ -1,79 +0,0 @@
package main
import (
"dagger.io/dagger/op"
"dagger.io/kubernetes"
)
#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: kubernetes.#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
}
},
]
}

View File

@@ -1,6 +1,29 @@
plan:
module: .dagger/env/kubernetes-deployment/plan
module: ./kubernetes
package: ./tests
name: kubernetes-deployment
inputs:
TestKubeconfig:
text: |
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1EUXdNakUwTlRJME5Wb1hEVE14TURNek1URTBOVEkwTlZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTkJTCmp4OHZ4YlovRTVDUWw5akdKcWt6NGkxK0xrcjJSQnlsblRvRTV2dnd0VEZMamJudzR6T3RoQlBaV1VGcEZyMG8KNytBNUxaamRnMkRFendRbnpEaUxTc2RuV1plMEg5U3hLNjVMQ0VNdkR5UlFkenc4Wmt4eXNzQ3J3V2tqd3Y0QwpsbjhzYXVvQ0hrd3ZxelhtZjI2bHR1MC9YYUhrNzdwSlZiSTR0NFNpeUNTMjZsNVhyaGhOUlpkSG5La0FOVnQyCitPcWVzUGhQNWJTcDdSdkhLSDJFWXlISkp4azRYdzJhSUl0T1BYSThGcm1LM0NaZEJaN0VVTzRYTE5aa1M1M2UKZWpNRmlXcHNCVlRsR1lhSmYxMXZ6dmlmRE1uemNvV2ZKVGhaZDBMd0dKRVFVeDA0YXpCZ1VrTWJwVGpBL1ErVwoxamx0ZTZzNERuaE5MODFrYUxNQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZIT0d3YjJRcG1RVW0wcWhaTlhDK0d3blBDdm9NQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDSjdkQU94ZkJvSlE5OWgyc0RJWVdKT0NXWU9mK0h1MWhMbHpPMHBsODhEUG9WNGE1dwo0WEZVK1pjcW9aU2hVVjZ2RlFGK2s3Q29ldC8zUUppQ2VOZjhMS2pITlh2OUtKcGFoaDhQbElVb3RHMjF3a1NaCmN6MDFRTms1T2pEdmhXQ1BnckNDUEpTQlV6cXQ4cHZTWkhPL3pZckJReUhYM1VSQmhvUDdUeDg5SnBqSEYrTmEKNlBhYzR4SndKWUxPYVJJcWZwWlE4NUdXanBuWXE0c2p2cHdzbXJJZS8vcmFUTHdaSUVQdG5URlFtNFJseW9CeApDbG5mT1c5MjRFbm5nMVBDZUFNK2JyZ1psODB0NW5wK1hrTkVpaisvbFY1NGZFUjhMbTROWkpabGM4eVlOZDZqCnM2ZzgzRmlWN0tvcGZKZk1VT3hSY0hEempTekp1bGFta2pybQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
server: https://127.0.0.1:35377
name: kind-kind
contexts:
- context:
cluster: kind-kind
user: kind-kind
name: kind-kind
current-context: kind-kind
kind: Config
preferences: {}
users:
- name: kind-kind
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lJU1o0SjMxa0Rsdnd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TVRBME1ESXhORFV5TkRWYUZ3MHlNakEwTURJeE5EVXlORFphTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXo0aGtSb1VSYlZkbEVaUDcKQTdFVGxOOG9iZzRybmY4RkJDeVlJd1dRbDR5d0lMZUV6MWVMajloS1c5Vkx1OW8yemlGQm5GRGhSQXFpc0JlTQpPanlBNzJkZzJibmZKM0kwVERpT05TcWRrS2RDRnU1V2I0TDM0U0NDcVRzeFdUL0JUNjJsZkVFUzIxN3UxV2pSClBWNlcrVjhzSlhwQVJESUxoUmpGS0pNVjE3a2U0RjVUeDE4WDBuOHhXaGhFZFBrR0FzRDdaaDQ3ZFoxbWRQMjAKbWV1M1grREtqUUpydzlVb0hCV3UzZEoyWWtNNmpUR3B1TnlmaVVrYUcrS1lmUThuVFdiM3VvVHJKYXFlL015aApyY3ducGZVNUFzVUJteUJjN1JrZlZsTEpIWDltbU5wYWxkeUpTaFFnRndSZTQ5NFVuVGpjU3lHVzhUUXhMSmVOCkx1NFdBd0lEQVFBQm8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0h3WURWUjBqQkJnd0ZvQVVjNGJCdlpDbVpCU2JTcUZrMWNMNGJDYzhLK2d3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFERnFWMUdvby83NVN5ekVMNlNMeVVhbXJicUJGNFNxRVFYdnBzRjdoYnJ2QWhHMEdIc21DR0tFCk11bFhxeXdiYVpmTGo4ZHFRdVVLTlExN1U5ZWIva0ZXcXRrVlNyZG03eGc0ZythOWFHT0J4RE9vUVZTTHJPeUIKb0ErSUF0d0REZlRUTWhHVksxZXVMWnhXdU1qUkJwMDB5ZUFlVEsyYjlBNUV1dFViWC94MGtWZGhlckx1MitmZAo2Um5VSnBjaEpMR3hjWDZNelVzR0RITC9RcCszaTJ2SnAvQm54V3huNjV0Sm01SXZ3UnQybEZFZ05SUHFiR1NxCit6RVpnZzFTVmlvRUU3U2VsdVV5R2NueHMvQyttdCt3QVZGNzErdGxMN1F5NmFGWEppRXlOOVE2Rjhtd1hDNGkKNmFyb1FFM2JjVkZOOTFKczNFN1NOcVJNci8rWjRFQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBejRoa1JvVVJiVmRsRVpQN0E3RVRsTjhvYmc0cm5mOEZCQ3lZSXdXUWw0eXdJTGVFCnoxZUxqOWhLVzlWTHU5bzJ6aUZCbkZEaFJBcWlzQmVNT2p5QTcyZGcyYm5mSjNJMFREaU9OU3Fka0tkQ0Z1NVcKYjRMMzRTQ0NxVHN4V1QvQlQ2MmxmRUVTMjE3dTFXalJQVjZXK1Y4c0pYcEFSRElMaFJqRktKTVYxN2tlNEY1VAp4MThYMG44eFdoaEVkUGtHQXNEN1poNDdkWjFtZFAyMG1ldTNYK0RLalFKcnc5VW9IQld1M2RKMllrTTZqVEdwCnVOeWZpVWthRytLWWZROG5UV2IzdW9UckphcWUvTXlocmN3bnBmVTVBc1VCbXlCYzdSa2ZWbExKSFg5bW1OcGEKbGR5SlNoUWdGd1JlNDk0VW5UamNTeUdXOFRReExKZU5MdTRXQXdJREFRQUJBb0lCQUVlV3BmaUppSVJ1UkVmMwpBdnk0QmFneC9wRlFSQTJCWGVxZHMzRkpSeUp2L29XYXFLNlpaV1FlV1RBcWVMQjVTclI2Vmxha3M4QXo1d0RWCmJxTGNJaUh6U0Q1eTFwNlZ6NktIVTg3VlAzc1pwenVmeGFNN3kyUVdRZHc4dGY0eWR1MlVXZVJ0MGlKb01memQKNW1mRURGSkRXVWdvVHFqM2xtKzRKcktqWWtLQ1V3QnAzSi9NOEdEWG5xck5jYVVjc2lJSFExZnVJRllENXQ5MQpEWDVPaHAvQUkvNUhJc292YVRrS0g1LzlIblpsRllScWhRYUhRS3BMQnA1TkxyS2UybXpOSS9CUnlkNUkxdm1DCkFkeDA1MEtnSXhNRWpDaXp5MnFWSTd3eGNPR1B3Smx2YkU5b2pDakN3dk1tZWlXTkxLNUpFdXdaZitCWVFFbUIKbXA3dmU2a0NnWUVBOHBxMlkybWtLUXA4UXgzN1RPUEYwZGlWM2pDZ0FhSXoyRDJwSkIyWDEzYlRHK01UT3dONwpURUd5M055TEc3R2RvVmVNNitHMFJUSTR6VFZkWmU2T3k3U1NQQXdxS0IrZGJINEE0NU9MT29rUGxUWDRDTmdQCjB1eXFTSCtLWEQ1dkxkbEFhalpqSzkzK3gvbFFaRWhKM3VqYlFZaStkQVJtOGlwam9XWkR4b2NDZ1lFQTJ2M3UKaXc0R3FrWW1FQjlmTEVqN3hUZE11Q1FHdUxLUEZaUUtSNjRZbUR6MGdESnVkWk1XUmVLZFZibEFDSzBrUHdyegpyOTIrdUpzSWkyUzlNYjVabmo0QnR2Y1JqTzJzcUdoTG9YNDVVZHNadTduSDM3dTNSVzVaRi90VnBTYTJ5SkpPCkxHY3FKY3VyWnB5Vk1uZmt3L3dHdHJSdWNCODV5a1hqSEsrUEY2VUNnWUVBMEtpdWZEeU5POXRQMnk0N1NQdVMKMWhUUmVhUWF5cXptcUhNSU9nN1YzVFRQQitvN1RRT0dsYVRnSU1QelJXTnpyeVF0Q1dnNzgxUHB0TjNVTWVxSAptTDc3RTNobS9kR0xSWmZ1VGM1RjdwZVo5bnpQazFPNThIRXJXR1dSN0JxcTV5VTNHT01rVXNPQjhoOEZ2T3JMCjFsUXkyRit6WnZldVQxU1VFbXB4bXBzQ2dZQlBSVG9URmRtdHkwUzk4MDAxTDVvTGNwQVAyK0tlK3V1MmFPY3IKdVVabjNUQzRNd2t2QURaQXg5NGlDTE80TUV4OWtZNVNhOWM4NWNtN0E1VkVxMTJ2WFV5cm1WVytDTTdHQ3pMTgpXMjZPUmR4VHl0VWlGTVlybU4waFJEWmxXTlV6VjFwNjBrRThlelFwS2FjTUpNQW5mVlJFMEoxbGNyZ3Rrd3k1CjlvYTZqUUtCZ1FESGNuNnl5dzhzSThUTlUvazZDMGhyRkhYeHpLc0ZkMWV5Misxa01ZMm5pR0o3UHRGaHBMZWwKaTIzU3NPSFFyM29Da1l0bHpIL2pzR21OS01IOWxyOFdjTkgvTE04eEJ0N2lhZDFESTlrN0RYbjFscjFIbW1wUApsRlhyQjZ3VDV1UDZVRmhxNHY5NWhkQW5CL3YvOWFPdTIyNlBKYXVUV2RtaGxaNElFa3N1M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
sops:
kms: []
gcp_kms: []
@@ -16,8 +39,8 @@ sops:
SVVkOUtuWTJneE45em5iQ3JvbnIwWlkKgdJC5IzvVDxbWSfU41Xg/UGPxuVBSOGY
eqenr07uWppNaHuLuo9A+znQa2RQ0L2clcB2d+ka+6z5tQyHOfx1nA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T15:41:02Z"
mac: ENC[AES256_GCM,data:R3DuHLEyfehKe1nCWHdKB9jyOs5TXI+r2BmQDMiwI8v0xfZdOZWfwGw3NAFGDZHbaLNTajQkzviDsMhaXg5bxvmK7P8PiJOOmnm/LnDRfnJirGRGpWA7bmsHH/QZL1lb75+cwUrwRZflkKoPy2bQyoC5Rze6/oNhPIUTCwQWaMo=,iv:73ZjXAcazCND3JhC94TjUOlcMbwfTz8YDFP1BPo8yUw=,tag:wUVcfyjtf4KzpU0jDrxleQ==,type:str]
lastmodified: "2021-06-24T18:18:53Z"
mac: ENC[AES256_GCM,data:S2uG/YGGfCxJ1ClEouwEhFa1Huzk//NFQoZM4SCDp0uK73FVxt1+Hi0rfKl7DrGPqw+HJghlamyAwPGZSi9lFBWO6ASti2kfc2FmhQ9pgY+VOiOE7jd7ajw9wWUILpN19GBiwIpO8JN/nqRX9QYLdigUgKa6IVrBwVwjRRKvmmM=,iv:SpSe+nwvtSHogwwNaMbikDzMKDHbla0BqnsZn42nMTQ=,tag:vxn0bHdbMwfZVLx9cSfB4Q==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,56 +0,0 @@
package main
import (
"dagger.io/kubernetes/helm"
"dagger.io/random"
"dagger.io/dagger"
)
// 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)
TestChartSource: dagger.#Artifact @dagger(input)
// Deploy user local chart
TestHelmSimpleChart: {
suffix: random.#String & {
seed: "simple"
}
// Deploy chart
deploy: helm.#Chart & {
name: "dagger-test-inline-chart-\(suffix.out)"
namespace: "dagger-test"
kubeconfig: TestKubeconfig
chartSource: TestChartSource
}
// Verify deployment
verify: #VerifyHelm & {
chartName: deploy.name
namespace: deploy.namespace
}
}
// Deploy remote chart
TestHelmRepoChart: {
suffix: random.#String & {
seed: "repo"
}
// Deploy remote chart
deploy: helm.#Chart & {
name: "dagger-test-repository-\(suffix.out)"
namespace: "dagger-test"
kubeconfig: TestKubeconfig
repository: "https://charts.bitnami.com/bitnami"
chart: "redis"
}
// Verify deployment
verify: #VerifyHelm & {
chartName: deploy.name
namespace: deploy.namespace
}
}

View File

@@ -1,51 +0,0 @@
package main
import (
"dagger.io/dagger/op"
"dagger.io/kubernetes"
)
#VerifyHelm: {
chartName: string
namespace: string
// Verify that pod exist
#getHelmPods:
"""
kubectl get pods --namespace "$KUBE_NAMESPACE" | grep "\(chartName)"
"""
#up: [
op.#Load & {
from: kubernetes.#Kubectl
},
op.#WriteFile & {
dest: "/getHelmPods.sh"
content: #getHelmPods
},
op.#WriteFile & {
dest: "/kubeconfig"
content: TestKubeconfig
mode: 0o600
},
op.#Exec & {
always: true
args: [
"/bin/bash",
"--noprofile",
"--norc",
"-eo",
"pipefail",
"/getHelmPods.sh",
]
env: {
KUBECONFIG: "/kubeconfig"
KUBE_NAMESPACE: namespace
}
},
]
}

View File

@@ -1,10 +1,32 @@
plan:
module: .dagger/env/kubernetes-helm/plan
module: ./kubernetes/helm
package: ./tests
name: kubernetes-helm
inputs:
TestChartSource:
dir:
path: ./kubernetes/helm/testdata/mychart
path: ./kubernetes/helm/tests/testdata/mychart
TestKubeconfig:
text: |
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1EUXdNakUwTlRJME5Wb1hEVE14TURNek1URTBOVEkwTlZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTkJTCmp4OHZ4YlovRTVDUWw5akdKcWt6NGkxK0xrcjJSQnlsblRvRTV2dnd0VEZMamJudzR6T3RoQlBaV1VGcEZyMG8KNytBNUxaamRnMkRFendRbnpEaUxTc2RuV1plMEg5U3hLNjVMQ0VNdkR5UlFkenc4Wmt4eXNzQ3J3V2tqd3Y0QwpsbjhzYXVvQ0hrd3ZxelhtZjI2bHR1MC9YYUhrNzdwSlZiSTR0NFNpeUNTMjZsNVhyaGhOUlpkSG5La0FOVnQyCitPcWVzUGhQNWJTcDdSdkhLSDJFWXlISkp4azRYdzJhSUl0T1BYSThGcm1LM0NaZEJaN0VVTzRYTE5aa1M1M2UKZWpNRmlXcHNCVlRsR1lhSmYxMXZ6dmlmRE1uemNvV2ZKVGhaZDBMd0dKRVFVeDA0YXpCZ1VrTWJwVGpBL1ErVwoxamx0ZTZzNERuaE5MODFrYUxNQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZIT0d3YjJRcG1RVW0wcWhaTlhDK0d3blBDdm9NQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDSjdkQU94ZkJvSlE5OWgyc0RJWVdKT0NXWU9mK0h1MWhMbHpPMHBsODhEUG9WNGE1dwo0WEZVK1pjcW9aU2hVVjZ2RlFGK2s3Q29ldC8zUUppQ2VOZjhMS2pITlh2OUtKcGFoaDhQbElVb3RHMjF3a1NaCmN6MDFRTms1T2pEdmhXQ1BnckNDUEpTQlV6cXQ4cHZTWkhPL3pZckJReUhYM1VSQmhvUDdUeDg5SnBqSEYrTmEKNlBhYzR4SndKWUxPYVJJcWZwWlE4NUdXanBuWXE0c2p2cHdzbXJJZS8vcmFUTHdaSUVQdG5URlFtNFJseW9CeApDbG5mT1c5MjRFbm5nMVBDZUFNK2JyZ1psODB0NW5wK1hrTkVpaisvbFY1NGZFUjhMbTROWkpabGM4eVlOZDZqCnM2ZzgzRmlWN0tvcGZKZk1VT3hSY0hEempTekp1bGFta2pybQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
server: https://127.0.0.1:35377
name: kind-kind
contexts:
- context:
cluster: kind-kind
user: kind-kind
name: kind-kind
current-context: kind-kind
kind: Config
preferences: {}
users:
- name: kind-kind
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lJU1o0SjMxa0Rsdnd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TVRBME1ESXhORFV5TkRWYUZ3MHlNakEwTURJeE5EVXlORFphTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXo0aGtSb1VSYlZkbEVaUDcKQTdFVGxOOG9iZzRybmY4RkJDeVlJd1dRbDR5d0lMZUV6MWVMajloS1c5Vkx1OW8yemlGQm5GRGhSQXFpc0JlTQpPanlBNzJkZzJibmZKM0kwVERpT05TcWRrS2RDRnU1V2I0TDM0U0NDcVRzeFdUL0JUNjJsZkVFUzIxN3UxV2pSClBWNlcrVjhzSlhwQVJESUxoUmpGS0pNVjE3a2U0RjVUeDE4WDBuOHhXaGhFZFBrR0FzRDdaaDQ3ZFoxbWRQMjAKbWV1M1grREtqUUpydzlVb0hCV3UzZEoyWWtNNmpUR3B1TnlmaVVrYUcrS1lmUThuVFdiM3VvVHJKYXFlL015aApyY3ducGZVNUFzVUJteUJjN1JrZlZsTEpIWDltbU5wYWxkeUpTaFFnRndSZTQ5NFVuVGpjU3lHVzhUUXhMSmVOCkx1NFdBd0lEQVFBQm8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0h3WURWUjBqQkJnd0ZvQVVjNGJCdlpDbVpCU2JTcUZrMWNMNGJDYzhLK2d3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFERnFWMUdvby83NVN5ekVMNlNMeVVhbXJicUJGNFNxRVFYdnBzRjdoYnJ2QWhHMEdIc21DR0tFCk11bFhxeXdiYVpmTGo4ZHFRdVVLTlExN1U5ZWIva0ZXcXRrVlNyZG03eGc0ZythOWFHT0J4RE9vUVZTTHJPeUIKb0ErSUF0d0REZlRUTWhHVksxZXVMWnhXdU1qUkJwMDB5ZUFlVEsyYjlBNUV1dFViWC94MGtWZGhlckx1MitmZAo2Um5VSnBjaEpMR3hjWDZNelVzR0RITC9RcCszaTJ2SnAvQm54V3huNjV0Sm01SXZ3UnQybEZFZ05SUHFiR1NxCit6RVpnZzFTVmlvRUU3U2VsdVV5R2NueHMvQyttdCt3QVZGNzErdGxMN1F5NmFGWEppRXlOOVE2Rjhtd1hDNGkKNmFyb1FFM2JjVkZOOTFKczNFN1NOcVJNci8rWjRFQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBejRoa1JvVVJiVmRsRVpQN0E3RVRsTjhvYmc0cm5mOEZCQ3lZSXdXUWw0eXdJTGVFCnoxZUxqOWhLVzlWTHU5bzJ6aUZCbkZEaFJBcWlzQmVNT2p5QTcyZGcyYm5mSjNJMFREaU9OU3Fka0tkQ0Z1NVcKYjRMMzRTQ0NxVHN4V1QvQlQ2MmxmRUVTMjE3dTFXalJQVjZXK1Y4c0pYcEFSRElMaFJqRktKTVYxN2tlNEY1VAp4MThYMG44eFdoaEVkUGtHQXNEN1poNDdkWjFtZFAyMG1ldTNYK0RLalFKcnc5VW9IQld1M2RKMllrTTZqVEdwCnVOeWZpVWthRytLWWZROG5UV2IzdW9UckphcWUvTXlocmN3bnBmVTVBc1VCbXlCYzdSa2ZWbExKSFg5bW1OcGEKbGR5SlNoUWdGd1JlNDk0VW5UamNTeUdXOFRReExKZU5MdTRXQXdJREFRQUJBb0lCQUVlV3BmaUppSVJ1UkVmMwpBdnk0QmFneC9wRlFSQTJCWGVxZHMzRkpSeUp2L29XYXFLNlpaV1FlV1RBcWVMQjVTclI2Vmxha3M4QXo1d0RWCmJxTGNJaUh6U0Q1eTFwNlZ6NktIVTg3VlAzc1pwenVmeGFNN3kyUVdRZHc4dGY0eWR1MlVXZVJ0MGlKb01memQKNW1mRURGSkRXVWdvVHFqM2xtKzRKcktqWWtLQ1V3QnAzSi9NOEdEWG5xck5jYVVjc2lJSFExZnVJRllENXQ5MQpEWDVPaHAvQUkvNUhJc292YVRrS0g1LzlIblpsRllScWhRYUhRS3BMQnA1TkxyS2UybXpOSS9CUnlkNUkxdm1DCkFkeDA1MEtnSXhNRWpDaXp5MnFWSTd3eGNPR1B3Smx2YkU5b2pDakN3dk1tZWlXTkxLNUpFdXdaZitCWVFFbUIKbXA3dmU2a0NnWUVBOHBxMlkybWtLUXA4UXgzN1RPUEYwZGlWM2pDZ0FhSXoyRDJwSkIyWDEzYlRHK01UT3dONwpURUd5M055TEc3R2RvVmVNNitHMFJUSTR6VFZkWmU2T3k3U1NQQXdxS0IrZGJINEE0NU9MT29rUGxUWDRDTmdQCjB1eXFTSCtLWEQ1dkxkbEFhalpqSzkzK3gvbFFaRWhKM3VqYlFZaStkQVJtOGlwam9XWkR4b2NDZ1lFQTJ2M3UKaXc0R3FrWW1FQjlmTEVqN3hUZE11Q1FHdUxLUEZaUUtSNjRZbUR6MGdESnVkWk1XUmVLZFZibEFDSzBrUHdyegpyOTIrdUpzSWkyUzlNYjVabmo0QnR2Y1JqTzJzcUdoTG9YNDVVZHNadTduSDM3dTNSVzVaRi90VnBTYTJ5SkpPCkxHY3FKY3VyWnB5Vk1uZmt3L3dHdHJSdWNCODV5a1hqSEsrUEY2VUNnWUVBMEtpdWZEeU5POXRQMnk0N1NQdVMKMWhUUmVhUWF5cXptcUhNSU9nN1YzVFRQQitvN1RRT0dsYVRnSU1QelJXTnpyeVF0Q1dnNzgxUHB0TjNVTWVxSAptTDc3RTNobS9kR0xSWmZ1VGM1RjdwZVo5bnpQazFPNThIRXJXR1dSN0JxcTV5VTNHT01rVXNPQjhoOEZ2T3JMCjFsUXkyRit6WnZldVQxU1VFbXB4bXBzQ2dZQlBSVG9URmRtdHkwUzk4MDAxTDVvTGNwQVAyK0tlK3V1MmFPY3IKdVVabjNUQzRNd2t2QURaQXg5NGlDTE80TUV4OWtZNVNhOWM4NWNtN0E1VkVxMTJ2WFV5cm1WVytDTTdHQ3pMTgpXMjZPUmR4VHl0VWlGTVlybU4waFJEWmxXTlV6VjFwNjBrRThlelFwS2FjTUpNQW5mVlJFMEoxbGNyZ3Rrd3k1CjlvYTZqUUtCZ1FESGNuNnl5dzhzSThUTlUvazZDMGhyRkhYeHpLc0ZkMWV5Misxa01ZMm5pR0o3UHRGaHBMZWwKaTIzU3NPSFFyM29Da1l0bHpIL2pzR21OS01IOWxyOFdjTkgvTE04eEJ0N2lhZDFESTlrN0RYbjFscjFIbW1wUApsRlhyQjZ3VDV1UDZVRmhxNHY5NWhkQW5CL3YvOWFPdTIyNlBKYXVUV2RtaGxaNElFa3N1M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
sops:
kms: []
gcp_kms: []
@@ -20,8 +42,8 @@ sops:
VHlGUExaMzcwM0pOM2VDY280UWZXSzQKAm7ZV1agxbla3Yrc7vrwJosSjQtWhdac
ZFyQ6Gi+9H7qHZM89yVjAaIg1lwr68HcjYgDzpvvhJO9YPfzwoLyHw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T15:42:52Z"
mac: ENC[AES256_GCM,data:SzHFZpgiv+h1vRjq0GP+4nzj9az6pAwQwstxYz10yBGPQXnZv/VtJm071oouiK7pgD4i7cTvTKgIOaX9K74PiWSiTjWI5F9sGHvt9ZoGyU08OHM6zwGMDiYygBN2+5dd5jBvT4Xy6efa0IOMxSqhp69+VoJRWesAFsN6IfDcIEY=,iv:Af2WeB2eVk5hnWFWaQij7hz2wjXgNWDJTWDm13iKNvA=,tag:uvR1ruMc69ZhDJRtYCFQBw==,type:str]
lastmodified: "2021-06-24T18:19:00Z"
mac: ENC[AES256_GCM,data:YOoJzBwg1qxodJ8BZNwUWB5K5GlN+YKkKVjdc0rlG4SS+XhypsdSTwNCZLxXhT9NeGSeqlECNF6OIIBAomDHyv1PVnbbM65Q6gmNWrdXmWbJqUB1wEOg46NY/DxjmkC2miX6WIOz9zZSDNWKITYyLVVRwR9F1Pgh16x2q2x+MAo=,iv:KF4tAnVZXUm8+J5VKfpPIn3ZzdyyCYZfxyDoFyCb8dM=,tag:5UIN4Vb40+RwDcRjIptSkg==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,32 +0,0 @@
package main
import (
"encoding/yaml"
"dagger.io/dagger"
"dagger.io/kubernetes/kustomize"
)
TestKustomize: {
testdata: dagger.#Artifact
// Run Kustomize
kustom: kustomize.#Kustomize & {
source: testdata
kustomization: yaml.Marshal({
resources: ["deployment.yaml", "pod.yaml"]
images: [{
name: "nginx"
newTag: "v1"
}]
replicas: [{
name: "nginx-deployment"
count: 2
}]
})
}
// Verify kustomization generation
verify: #VerifyKustomize & {
source: kustom
}
}

View File

@@ -1,72 +0,0 @@
package main
import (
"dagger.io/dagger/op"
"dagger.io/dagger"
"dagger.io/alpine"
)
#VerifyKustomize: {
source: dagger.#Artifact
#up: [
op.#Load & {
from: alpine.#Image & {
package: bash: "=~5.1"
}
},
// Check files
op.#Exec & {
always: true
args: [
"sh", "-c", "test $(ls /source | wc -l) = 1",
]
mount: "/source": from: source
},
// Check image tag kustomization
op.#Exec & {
always: true
args: [
"sh", "-c", #"""
grep -q "\- image: nginx:v1" /source/result.yaml
"""#,
]
mount: "/source": from: source
},
// Check replicas kustomization
op.#Exec & {
always: true
args: [
"sh", "-c", #"""
grep -q "replicas: 2" /source/result.yaml
"""#,
]
mount: "/source": from: source
},
// Check pod merge by kustomization
op.#Exec & {
always: true
args: [
"sh", "-c", #"""
grep -q "kind: Pod" /source/result.yaml
"""#,
]
mount: "/source": from: source
},
// Check pod name
op.#Exec & {
always: true
args: [
"sh", "-c", #"""
grep -q "name: test-pod" /source/result.yaml
"""#,
]
mount: "/source": from: source
},
]
}

View File

@@ -1,10 +1,11 @@
plan:
module: .dagger/env/kubernetes-kustomize/plan
module: ./kubernetes/kustomize
package: ./tests
name: kubernetes-kustomize
inputs:
TestKustomize.testdata:
dir:
path: ./kubernetes/kustomize/testdata
path: ./kubernetes/kustomize/tests/testdata
sops:
kms: []
gcp_kms: []
@@ -20,8 +21,8 @@ sops:
OFllMEh3cVJZZnFxbW4xS1RtcFQzcFUKo/1WcYp4nPBXba8wQBe3DMt6pYQJGoSu
ja5BiCffN5wOoW9WT0j8Clx21w7BXcl46+T5GYpXDQDcqf6nCv1kYQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-17T20:48:00Z"
mac: ENC[AES256_GCM,data:SCWiSiDccPkZApOcc8RsYP7WPZUqUyYVB0UgivLhIsNSY5q3kCdenPLTUp2zLOcwaWzTPGmj++QtZjoNobcIhdVt1aJ9uXLLKRUXaRGIO3Jmhg3wj7kSPNjbDLZEB6uyA9h3edQGVVivNlNGpo91tg35QcFPPSG7UiowFnsD0zM=,iv:44hkujM/ZWjtYHau8BFMdOIeBj5jF/WnW4OOK7oSw1Y=,tag:mtJdUR+sA0tjIyAWDpXQlA==,type:str]
lastmodified: "2021-06-24T18:16:21Z"
mac: ENC[AES256_GCM,data:eq7Eev6taZJnkl2SoqihKo9tfAMA3IOnLO9tBoppUeg1LSLe6vZ8QmN7s1Z0gyWNWttnNTdMOvTQTI2PGrayQpLRGzryChcQsuCL7hnij6bQf16IcGn9jbq7NVQ1EreS8iPZYuyYlR5Z9kSARtfAKFALim8ccF+BmR9+X7yBfZ4=,iv:7kovyOERH0dx0NONhmUwOUI39nK5N1rT9o+gi9ol3f4=,tag:6HrkHbiCwrgO7hukxtsXVA==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,51 +0,0 @@
package main
import (
"dagger.io/dagger/op"
"dagger.io/alpine"
"dagger.io/netlify"
"dagger.io/random"
)
TestNetlify: {
data: random.#String & {
seed: ""
}
// Generate a website containing the random number
html: #up: [
op.#WriteFile & {
content: data.out
dest: "index.html"
},
]
// Deploy to netlify
deploy: netlify.#Site & {
contents: html
name: "dagger-test"
}
// Check if the deployed site has the random marker
check: #up: [
op.#Load & {
from: alpine.#Image & {
package: bash: "=~5.1"
package: curl: true
}
},
op.#Exec & {
args: [
"/bin/bash",
"--noprofile",
"--norc",
"-eo",
"pipefail",
"-c",
#"""
test "$(curl \#(deploy.deployUrl))" = "\#(data.out)"
"""#,
]
},
]
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/netlify/plan
module: ./netlify
package: ./tests
name: netlify
inputs:
TestNetlify.deploy.account.name:
@@ -21,8 +22,8 @@ sops:
SEdUK2RsaUxuVWg2aXUwdVJ0eUtrWWMKWkQDBuL5e4QDx5Wy6+fHiD+J4fp7QdMm
lsqgmxRvJMWgEvm1U+hDAo/Pkn8PFUFJf0KxEvkdF4qGuguQePgzFQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:12Z"
mac: ENC[AES256_GCM,data:q9xRCwgpgyiVvF3r2mec7vuF3+wwFepWUb9YpGrOLiFfoqsJngap3kn5vIe+Idk5KsdPKLI13vd8So3Fz1tXy5JTSxljp/IvAr5JQGDpKyo4HRYtgstdJnXVtZf8Hg+V9LC+bZVIY07pXeyDLvk6LEBUo7ANexakr/o6bKGyAG0=,iv:NXtvo0HgElQoD3AI97qrf0M08T+9Cn+5gztUMwR6w/M=,tag:CGDqTu/U/snU2AcjSpA25A==,type:str]
lastmodified: "2021-06-24T18:29:56Z"
mac: ENC[AES256_GCM,data:rDg4tHAp9rxUJRPTmnW3R69JnGfVMnYOBraRX84BRbhFNVS2S4MwK5xjZ5E0ZVBGQDyjmr9ApOMzI2bTFsnCO01FmkISo/V0fR/nPPTz6NABkc/JUFzhi4DAONAV7TXLBv1mwhKoAP9JL26MTYaOfnxehDVrvwciANQMdgqnp/E=,iv:7IHISgR50guk6r3etF+A3AWOn6LZxhE96MWgDMHf8IU=,tag:Bs18JGNWKBjAHzrfFJnL2A==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -0,0 +1,2 @@
# dagger state
state/**

View File

@@ -0,0 +1,29 @@
plan:
module: ./os
package: ./tests/container
name: os-container
inputs:
SimpleSecret.cleartext:
text: hello, world!
SimpleSecret.encrypted:
secret: ENC[AES256_GCM,data:Ps0VwEr1g2VJAkuyvA==,iv:LWWhr6wjWhpiv46VIehkVK0p8gwd8S1atmiFYqWcdLI=,tag:lridOOyvkUlSa6n+e6rMPw==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5SU9NUTRWWTBvZzRWZkNT
Tk5TWFBFcHBWMldNSXA4KzU3TlVwTU9pdEZJCkFXNWpMMmZOZGs3WTYxZ3hDZVpv
L3lYNVh3Ti9UQXZzaTNWRU9IdGh4UncKLS0tIDFxbE1ZTmlUNElWWmRIN2hSRjk4
azJIU2lIVlF4N1VxT2tVWDBPU2RsOEkKqkfxeT/mnnDxdvv/vhXMj2Zl8ogaAHa6
xbBUOaCZ8stwj4Zz4/iKdrPspQQKo7/QuxxAcFUfyuK3fULqJHPXPQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-24T18:33:56Z"
mac: ENC[AES256_GCM,data:0uCRRnDFpow8TTkSZFM5Jn8GZp6C1muLrnHvBUb5/rQ54x+G5lbgqS+rOfgFUgU1/qvKVevO0m96jfo4ZetNLnPscvK8p1oSUGBtk6iQ61tLeIQQFJR82gO2mzqVj0g0KYYeX+1QPglePimYuFy6lRGpqGEPNyxjlhq/EGhHOgU=,iv:7Lrph3Cum9H+2UuAIwCHh/wkVft2fadZ+a2F4aoCZLk=,tag:6Q60ujt3o+mvVErih2dLzg==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

2
stdlib/.dagger/env/os/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
# dagger state
state/**

24
stdlib/.dagger/env/os/values.yaml vendored Normal file
View File

@@ -0,0 +1,24 @@
plan:
module: ./os
package: ./tests/os
name: os
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0bDM5blE0cC9LNHkxZmEy
bitYcjhMOHhrWE5pRm90Qyt4S200ZTN0Q1d3Clh2VmdKQjdGUGdKaThmaktwN1F6
aXZpellwbHpkb3pMb1NMNXVJYnFUMmMKLS0tIFNiZGlBNjE3UjlXWnBjZ3hwSWto
STlrbFNHZGFRUVQ1S1RIaGVyWktNV0kKo9AFURi/BKI+JuGYVuOrsw3eJU3s66Im
FCc5YCzrsjX+Y26Su+XW81fTWkcC910e/g+tlZbEFWKZYa8qu1VkqA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-24T18:33:15Z"
mac: ENC[AES256_GCM,data:8/GzJKtH7GONYbtBDqaSj5HdK8csmwoE7fNx2tRAwUs1uYCaZT4n1NBFuxDj/iFtVKB/St2Ba4thEE6+99azLnmMoC1Ss/1v9ZPfINzZuEZBFf3+ufVNSdI49c8DOeRfPNieupPdmPwHFBUN1nPpaK3bYmgr8CaVkdY3+iq4hX8=,iv:lIMOnbJr1gBoCdlbRWTOg2jA57fhZLu970k5QqV+1Yk=,tag:IziUm3K+8IdBJ5XYoeHhjg==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -0,0 +1,2 @@
# dagger state
state/**

View File

@@ -0,0 +1,69 @@
package main
import (
"alpha.dagger.io/dagger"
"alpha.dagger.io/os"
"alpha.dagger.io/alpine"
)
// Assert that there are no errors
err: ""
// Directory containing universe packages (./universe/ in dagger repo)
universe: dagger.#Input & dagger.#Artifact
ctr: #CueCLI & {
ctx: universe
command: """
(
find . -name '*.cue' -print0 | xargs -0iX dirname X | sort -u | {
while read -r dir; do
[ "$(basename $dir)" = "cue.mod" ] && continue
echo "--- $dir"
cue eval "$dir" >/dev/null
done
} > /out 2>/err
) || true
"""
}
result: (os.#File & {
from: ctr.ctr
path: "/out"
}).contents @dagger(output)
err: (os.#File & {
from: ctr.ctr
path: "/err"
}).contents @dagger(output)
#CueCLI: {
command: string
ctx: dagger.#Artifact
vendor: [name=string]: dagger.#Artifact
ctr: os.#Container & {
image: alpine.#Image & {
package: {
curl: true
tar: true
}
}
setup: [
"""
set -e
cd $(mktemp -d)
curl -L https://github.com/cuelang/cue/releases/download/v0.4.0/cue_v0.4.0_linux_amd64.tar.gz -o cue.tgz
tar zxvf cue.tgz
cp cue /usr/local/bin/cue
rm -fr ./*
""",
]
mount: "/ctx": from: ctx
for name, dir in vendor {
mount: "/ctx/cue.mod/pkg/\(name)": from: dir
}
dir: "/ctx"
"command": command
}
}

View File

@@ -0,0 +1,27 @@
plan:
module: .dagger/env/sanity-check/plan
name: sanity-check
inputs:
universe:
dir:
path: .
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtMjhYeVhscGxYWVg1RHZ2
bjlWcnFuQ1hvVGVvZGRDYUlpeWpYYUZnWW5nCndObmdoSkpZZXI4MytwNUtsMkwr
ZkY4a01iN1dSL05KaGExSk0rWFpjNzQKLS0tIGF0eVRXalloUERaU2lhZ2gwcG1G
RE1BR1ZvSlpRWnpZVERFQlB5ckhPYk0KMm8XjFKgcjWaXh9F542NXyv9dBZQdZJC
rn5YittfEOwRkrlqBCVwPtU+nhE5oDxnt9a0n8JMUgvB0Nnd6tgP+A==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-24T15:27:51Z"
mac: ENC[AES256_GCM,data:SDJPXr1NjGSOcHMLmKrzJ9XkFjfXOg7g5pdgXS3fQ4sSALVBqhHSfHJnH2m4NVSJPyOd35ia2/BivTWTGw1oguovLSfSvlptPUDqbwsXQoB2NEFcAJ6eJeDyz8Bx98OrBliyJaVOVYzF4y5dWwW2BGuevW097PbY/Sv3p6x8fyY=,iv:IftNBSOvEn3nGRQlD47At8pvundsXdk68yz+cWct/tU=,tag:XUPxsP39xSjPgvIZNBV09w==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@@ -1,74 +0,0 @@
package terraform
import (
"dagger.io/dagger"
"dagger.io/dagger/op"
"dagger.io/alpine"
"dagger.io/terraform"
)
TestData: dagger.#Artifact @dagger(input)
TestConfig: awsConfig: {
accessKey: dagger.#Secret @dagger(input)
secretKey: dagger.#Secret @dagger(input)
region: "us-east-2"
}
#TestGetConfig: {
accessKey: dagger.#Secret
secretKey: dagger.#Secret
visibleAccessKey: string
visibleSecretKey: string
#up: [
op.#Load & {from: alpine.#Image & {
package: {
bash: true
jq: true
}
}},
op.#Exec & {
always: true
args: ["/bin/bash", "-c", #"""
export ACCESS_KEY=$(cat /accessKey)
export SECRET_KEY=$(cat /secretKey)
jq --arg key0 'visibleAccessKey' --arg value0 "$ACCESS_KEY" \
--arg key1 'visibleSecretKey' --arg value1 "$SECRET_KEY" \
'. | .[$key0]=$value0 | .[$key1]=$value1' <<< '{}' > /out
"""#,
]
mount: {
"/accessKey": secret: accessKey
"/secretKey": secret: secretKey
}
},
op.#Export & {
source: "/out"
format: "json"
},
]
}
TestTerraform: {
config: #TestGetConfig & {
accessKey: TestConfig.awsConfig.accessKey
secretKey: TestConfig.awsConfig.secretKey
}
apply: terraform.#Configuration & {
source: TestData
env: {
AWS_ACCESS_KEY_ID: config.visibleAccessKey
AWS_SECRET_ACCESS_KEY: config.visibleSecretKey
AWS_DEFAULT_REGION: TestConfig.awsConfig.region
AWS_REGION: TestConfig.awsConfig.region
}
}
}

View File

@@ -1,5 +1,6 @@
plan:
module: .dagger/env/terraform/plan
module: ./terraform
package: ./tests
name: terraform
inputs:
TestConfig.awsConfig.accessKey:
@@ -8,7 +9,7 @@ inputs:
secret: ENC[AES256_GCM,data:cBYaVhbeV9D6acJWNU7uL8AsEtpnY0wHM8td9ZAJ9ebGB+BY4iBZLQ==,iv:SDkRKQQKBSz/cRQlW65sIjF0PhHhhKkGUEgZe9CV7Ek=,tag:OCUQmgjP2p57YoLts9Dh4w==,type:str]
TestData:
dir:
path: ./terraform/testdata
path: ./terraform/tests/testdata
sops:
kms: []
gcp_kms: []
@@ -24,8 +25,8 @@ sops:
cC9LSiswbFRKaTNXUGNIWVZVbGJqV1UK3/wsgPwR5P2fzs80wcz1dM/8sbBWMR+B
dmhP99OQisIgcwGATy0nh726pYKtosDpSLIJkLZDAUq9qRKm9bch1w==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T16:01:11Z"
mac: ENC[AES256_GCM,data:XznDGqfZkC6vsv696qWVxbBCUgsyU/zPZg0NCULCXAfO08Hsteb0c93Y8DA3CV8flQW3cgn5XLugNnQADJ6luTXHbqIVMVMUSe1q41Kxl7exr/dn0robqaRm5MnloG823s9X3sAOcPzyTSxy1YVZfYaYbG23w9IeNmVTyaUttkU=,iv:kEQs7+bx+7j2v5b6Bx0r+ZVtp7rj/8mgX4oRUP7cruc=,tag:oQEfCPO/0V11rmkc0yaz3Q==,type:str]
lastmodified: "2021-06-24T18:37:04Z"
mac: ENC[AES256_GCM,data:yKkQ3Vf3O3881P5+i9CFLKHIB9gWPonutIsVihhH+m852T4lNB7tZMpwvDqG8+tsjnGakpaYrTmt2f1SegJrSQYN6nr3kGCagx3GEwcz5m9MtzlPeMfI8kqEJW99Bmv5JiABQpro5FK+S7uyAO9WEN17tMaqYh+BhNaOarcEjyo=,iv:uendThnoUOGzLsdycG069OQ4U0jtHz2kQCXPP3A3dQU=,tag:7LhJruk/cgOCLnMA7BhWCQ==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1