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:
84
pkg/alpha.dagger.io/docker/tests/build/dockerfile.cue
Normal file
84
pkg/alpha.dagger.io/docker/tests/build/dockerfile.cue
Normal file
@@ -0,0 +1,84 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
"alpha.dagger.io/dagger/op"
|
||||
)
|
||||
|
||||
TestSourceBuild: dagger.#Artifact @dagger(input)
|
||||
|
||||
TestBuild: {
|
||||
image: #Build & {
|
||||
source: TestSourceBuild
|
||||
}
|
||||
|
||||
verify: #up: [
|
||||
op.#Load & {
|
||||
from: image
|
||||
},
|
||||
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: [
|
||||
"sh", "-c", """
|
||||
grep -q "test" /test.txt
|
||||
""",
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
TestBuildWithArgs: {
|
||||
image: #Build & {
|
||||
dockerfile: """
|
||||
FROM alpine
|
||||
ARG TEST
|
||||
ENV TEST=$TEST
|
||||
RUN echo "$TEST" > /test.txt
|
||||
"""
|
||||
source: ""
|
||||
args: TEST: "test"
|
||||
}
|
||||
|
||||
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: #Build & {
|
||||
dockerfile: """
|
||||
FROM alpine
|
||||
COPY test.txt /test.txt
|
||||
"""
|
||||
source: TestSourceImageFromDockerfile
|
||||
}
|
||||
|
||||
verify: #up: [
|
||||
op.#Load & {
|
||||
from: image
|
||||
},
|
||||
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: [
|
||||
"sh", "-c", """
|
||||
grep -q "test" /test.txt
|
||||
""",
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
2
pkg/alpha.dagger.io/docker/tests/build/testdata/build/Dockerfile
vendored
Normal file
2
pkg/alpha.dagger.io/docker/tests/build/testdata/build/Dockerfile
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
FROM alpine
|
||||
RUN echo test >> /test.txt
|
1
pkg/alpha.dagger.io/docker/tests/build/testdata/dockerfile/test.txt
vendored
Normal file
1
pkg/alpha.dagger.io/docker/tests/build/testdata/dockerfile/test.txt
vendored
Normal file
@@ -0,0 +1 @@
|
||||
test
|
13
pkg/alpha.dagger.io/docker/tests/command-host/command.cue
Normal file
13
pkg/alpha.dagger.io/docker/tests/command-host/command.cue
Normal file
@@ -0,0 +1,13 @@
|
||||
package docker
|
||||
|
||||
TestConfig: {
|
||||
host: string @dagger(input)
|
||||
}
|
||||
|
||||
TestHost: client: #Command & {
|
||||
command: #"""
|
||||
docker $CMD
|
||||
"""#
|
||||
host: TestConfig.host
|
||||
env: CMD: "version"
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
)
|
||||
|
||||
TestConfig: {
|
||||
host: string @dagger(input)
|
||||
user: string @dagger(input)
|
||||
key: dagger.#Secret @dagger(input)
|
||||
keyPassphrase: dagger.#Secret @dagger(input)
|
||||
}
|
||||
|
||||
TestSSH: client: #Command & {
|
||||
command: #"""
|
||||
docker $CMD
|
||||
"""#
|
||||
ssh: {
|
||||
host: TestConfig.host
|
||||
user: TestConfig.user
|
||||
key: TestConfig.key
|
||||
keyPassphrase: TestConfig.keyPassphrase
|
||||
}
|
||||
env: CMD: "version"
|
||||
}
|
@@ -0,0 +1,24 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
)
|
||||
|
||||
TestConfig: {
|
||||
host: string @dagger(input)
|
||||
user: string @dagger(input)
|
||||
key: dagger.#Secret @dagger(input)
|
||||
keyPassphrase: dagger.#Secret @dagger(input)
|
||||
}
|
||||
|
||||
TestSSH: client: #Command & {
|
||||
command: #"""
|
||||
docker version
|
||||
"""#
|
||||
ssh: {
|
||||
host: TestConfig.host
|
||||
user: TestConfig.user
|
||||
key: TestConfig.key
|
||||
keyPassphrase: TestConfig.keyPassphrase
|
||||
}
|
||||
}
|
26
pkg/alpha.dagger.io/docker/tests/command-ssh/command.cue
Normal file
26
pkg/alpha.dagger.io/docker/tests/command-ssh/command.cue
Normal file
@@ -0,0 +1,26 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
)
|
||||
|
||||
TestConfig: {
|
||||
host: dagger.#Input & {string}
|
||||
user: dagger.#Input & {string}
|
||||
key: dagger.#Input & {dagger.#Secret}
|
||||
}
|
||||
|
||||
TestPassword: dagger.#Input & {dagger.#Secret}
|
||||
|
||||
TestSSH: client: #Command & {
|
||||
command: #"""
|
||||
docker $CMD && [ -f /run/secrets/password ]
|
||||
"""#
|
||||
ssh: {
|
||||
host: TestConfig.host
|
||||
user: TestConfig.user
|
||||
key: TestConfig.key
|
||||
}
|
||||
secret: "/run/secrets/password": TestPassword
|
||||
env: CMD: "version"
|
||||
}
|
32
pkg/alpha.dagger.io/docker/tests/load/load.cue
Normal file
32
pkg/alpha.dagger.io/docker/tests/load/load.cue
Normal file
@@ -0,0 +1,32 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
"alpha.dagger.io/random"
|
||||
)
|
||||
|
||||
dockersocket: dagger.#Stream & dagger.#Input
|
||||
|
||||
source: dagger.#Artifact & dagger.#Input
|
||||
|
||||
TestLoad: {
|
||||
suffix: random.#String & {
|
||||
seed: ""
|
||||
}
|
||||
|
||||
image: #Build & {
|
||||
"source": source
|
||||
}
|
||||
|
||||
load: #Load & {
|
||||
tag: "daggerci-image-load-\(suffix.out)"
|
||||
source: image
|
||||
socket: dockersocket
|
||||
}
|
||||
|
||||
run: #Run & {
|
||||
name: "daggerci-container-load-\(suffix.out)"
|
||||
ref: load.id
|
||||
socket: dockersocket
|
||||
}
|
||||
}
|
2
pkg/alpha.dagger.io/docker/tests/load/testdata/Dockerfile
vendored
Normal file
2
pkg/alpha.dagger.io/docker/tests/load/testdata/Dockerfile
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
FROM alpine
|
||||
RUN echo test >> /test.txt
|
25
pkg/alpha.dagger.io/docker/tests/pull/pull.cue
Normal file
25
pkg/alpha.dagger.io/docker/tests/pull/pull.cue
Normal file
@@ -0,0 +1,25 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger/op"
|
||||
"alpha.dagger.io/alpine"
|
||||
)
|
||||
|
||||
ref: string @dagger(input)
|
||||
|
||||
TestPull: {
|
||||
pull: #Pull & {from: ref}
|
||||
|
||||
check: #up: [
|
||||
op.#Load & {from: alpine.#Image},
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: [
|
||||
"sh", "-c", """
|
||||
grep -q "test" /src/test.txt
|
||||
""",
|
||||
]
|
||||
mount: "/src": from: pull
|
||||
},
|
||||
]
|
||||
}
|
36
pkg/alpha.dagger.io/docker/tests/push-invalid-creds/push.cue
Normal file
36
pkg/alpha.dagger.io/docker/tests/push-invalid-creds/push.cue
Normal file
@@ -0,0 +1,36 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
"alpha.dagger.io/random"
|
||||
)
|
||||
|
||||
TestRegistry: {
|
||||
username: dagger.#Input & {string}
|
||||
secret: dagger.#Input & {dagger.#Secret}
|
||||
}
|
||||
|
||||
TestPush: {
|
||||
// Generate a random string
|
||||
// Seed is used to force buildkit execution and not simply use a previous generated string.
|
||||
tag: random.#String & {seed: "docker push and pull should fail"}
|
||||
|
||||
target: "daggerio/ci-test:\(tag.out)"
|
||||
|
||||
image: #Build & {
|
||||
dockerfile: """
|
||||
FROM alpine
|
||||
RUN echo "test" > /test.txt
|
||||
"""
|
||||
source: ""
|
||||
}
|
||||
|
||||
push: #Push & {
|
||||
"target": target
|
||||
source: image
|
||||
auth: {
|
||||
username: TestRegistry.username
|
||||
secret: TestRegistry.secret
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,65 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/aws"
|
||||
"alpha.dagger.io/aws/ecr"
|
||||
"alpha.dagger.io/dagger"
|
||||
"alpha.dagger.io/random"
|
||||
)
|
||||
|
||||
//
|
||||
// /!\ README /!\
|
||||
// The objective is to push an image on multiple registries to verify
|
||||
// that we correctly handle that kind of configuration
|
||||
//
|
||||
|
||||
TestResources: {
|
||||
// Generate a random string
|
||||
// Seed is used to force buildkit execution and not simply use a previous generated string.
|
||||
suffix: random.#String & {seed: "docker multi registry"}
|
||||
|
||||
image: #Build & {
|
||||
dockerfile: """
|
||||
FROM alpine
|
||||
RUN echo "test" > /test.txt
|
||||
"""
|
||||
source: ""
|
||||
}
|
||||
}
|
||||
|
||||
TestRemoteAWS: {
|
||||
awsConfig: aws.#Config
|
||||
|
||||
ecrCreds: ecr.#Credentials & {
|
||||
config: awsConfig
|
||||
}
|
||||
|
||||
target: "125635003186.dkr.ecr.\(awsConfig.region).amazonaws.com/dagger-ci:test-ecr-\(TestResources.suffix.out)"
|
||||
|
||||
remoteImg: #Push & {
|
||||
"target": target
|
||||
source: TestResources.image
|
||||
auth: {
|
||||
username: ecrCreds.username
|
||||
secret: ecrCreds.secret
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TestRemoteDocker: {
|
||||
dockerConfig: {
|
||||
username: dagger.#Input & {string}
|
||||
secret: dagger.#Input & {dagger.#Secret}
|
||||
}
|
||||
|
||||
target: "daggerio/ci-test:test-docker-\(TestResources.suffix.out)"
|
||||
|
||||
remoteImg: #Push & {
|
||||
"target": target
|
||||
source: TestResources.image
|
||||
auth: {
|
||||
username: dockerConfig.username
|
||||
secret: dockerConfig.secret
|
||||
}
|
||||
}
|
||||
}
|
36
pkg/alpha.dagger.io/docker/tests/push/push.cue
Normal file
36
pkg/alpha.dagger.io/docker/tests/push/push.cue
Normal file
@@ -0,0 +1,36 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
"alpha.dagger.io/random"
|
||||
)
|
||||
|
||||
TestRegistry: {
|
||||
username: dagger.#Input & {string}
|
||||
secret: dagger.#Input & {dagger.#Secret}
|
||||
}
|
||||
|
||||
TestPush: {
|
||||
// Generate a random string
|
||||
// Seed is used to force buildkit execution and not simply use a previous generated string.
|
||||
tag: random.#String & {seed: "docker push"}
|
||||
|
||||
target: "daggerio/ci-test:\(tag.out)"
|
||||
|
||||
image: #Build & {
|
||||
dockerfile: """
|
||||
FROM alpine
|
||||
RUN echo "test" > /test.txt
|
||||
"""
|
||||
source: ""
|
||||
}
|
||||
|
||||
push: #Push & {
|
||||
"target": target
|
||||
source: image
|
||||
auth: {
|
||||
username: TestRegistry.username
|
||||
secret: TestRegistry.secret
|
||||
}
|
||||
}
|
||||
}
|
21
pkg/alpha.dagger.io/docker/tests/run-host/simple.cue
Normal file
21
pkg/alpha.dagger.io/docker/tests/run-host/simple.cue
Normal file
@@ -0,0 +1,21 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/random"
|
||||
)
|
||||
|
||||
TestConfig: {
|
||||
host: string @dagger(input)
|
||||
}
|
||||
|
||||
TestHost: {
|
||||
suffix: random.#String & {
|
||||
seed: "docker-tcp-test"
|
||||
}
|
||||
|
||||
run: #Run & {
|
||||
name: "daggerci-test-tcp-\(suffix.out)"
|
||||
ref: "hello-world"
|
||||
host: TestConfig.host
|
||||
}
|
||||
}
|
18
pkg/alpha.dagger.io/docker/tests/run-local/local.cue
Normal file
18
pkg/alpha.dagger.io/docker/tests/run-local/local.cue
Normal file
@@ -0,0 +1,18 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
"alpha.dagger.io/random"
|
||||
)
|
||||
|
||||
dockersocket: dagger.#Stream & dagger.#Input
|
||||
|
||||
suffix: random.#String & {
|
||||
seed: ""
|
||||
}
|
||||
|
||||
run: #Run & {
|
||||
name: "daggerci-test-local-\(suffix.out)"
|
||||
ref: "hello-world"
|
||||
socket: dockersocket
|
||||
}
|
19
pkg/alpha.dagger.io/docker/tests/run-ports/ports.cue
Normal file
19
pkg/alpha.dagger.io/docker/tests/run-ports/ports.cue
Normal file
@@ -0,0 +1,19 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
"alpha.dagger.io/random"
|
||||
)
|
||||
|
||||
dockersocket: dagger.#Stream & dagger.#Input
|
||||
|
||||
suffix: random.#String & {
|
||||
seed: ""
|
||||
}
|
||||
|
||||
run: #Run & {
|
||||
name: "daggerci-test-ports-\(suffix.out)"
|
||||
ref: "nginx"
|
||||
socket: dockersocket
|
||||
ports: ["8080:80"]
|
||||
}
|
29
pkg/alpha.dagger.io/docker/tests/run-ssh/simple.cue
Normal file
29
pkg/alpha.dagger.io/docker/tests/run-ssh/simple.cue
Normal file
@@ -0,0 +1,29 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
"alpha.dagger.io/random"
|
||||
)
|
||||
|
||||
TestConfig: {
|
||||
host: string @dagger(input)
|
||||
user: string @dagger(input)
|
||||
key: dagger.#Secret @dagger(input)
|
||||
}
|
||||
|
||||
TestSSH: {
|
||||
suffix: random.#String & {
|
||||
seed: ""
|
||||
}
|
||||
|
||||
run: #Run & {
|
||||
name: "daggerci-test-ssh-\(suffix.out)"
|
||||
ref: "hello-world"
|
||||
|
||||
ssh: {
|
||||
host: TestConfig.host
|
||||
user: TestConfig.user
|
||||
key: TestConfig.key
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user