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,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
""",
]
},
]
}

View File

@@ -0,0 +1,2 @@
FROM alpine
RUN echo test >> /test.txt

View File

@@ -0,0 +1 @@
test

View File

@@ -0,0 +1,13 @@
package docker
TestConfig: {
host: string @dagger(input)
}
TestHost: client: #Command & {
command: #"""
docker $CMD
"""#
host: TestConfig.host
env: CMD: "version"
}

View File

@@ -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"
}

View File

@@ -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
}
}

View 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"
}

View 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
}
}

View File

@@ -0,0 +1,2 @@
FROM alpine
RUN echo test >> /test.txt

View 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
},
]
}

View 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
}
}
}

View File

@@ -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
}
}
}

View 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
}
}
}

View 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
}
}

View 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
}

View 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"]
}

View 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
}
}
}