Add docker cli package

Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
This commit is contained in:
Helder Correia
2022-03-25 15:17:11 -01:00
parent 4f440bc67a
commit 05d79e8ba6
14 changed files with 228 additions and 90 deletions

View File

@@ -0,0 +1,55 @@
package test
import (
"dagger.io/dagger"
"universe.dagger.io/alpine"
"universe.dagger.io/bash"
"universe.dagger.io/docker"
"universe.dagger.io/docker/cli"
)
dagger.#Plan & {
client: filesystem: "/var/run/docker.sock": read: contents: dagger.#Service
actions: test: {
_cli: alpine.#Build & {
packages: {
bash: {}
"docker-cli": {}
}
}
_image: docker.#Run & {
input: _cli.output
command: {
name: "touch"
args: ["/foo.bar"]
}
}
load: cli.#Load & {
image: _image.output
host: client.filesystem."/var/run/docker.sock".read.contents
tag: "dagger:load"
}
verify: bash.#Run & {
input: _cli.output
mounts: docker: {
contents: client.filesystem."/var/run/docker.sock".read.contents
dest: "/var/run/docker.sock"
}
env: {
IMAGE_NAME: load.tag
IMAGE_ID: load.imageID
// FIXME: without this forced dependency, load.command might not run
DEP: "\(load.success)"
}
script: contents: #"""
test "$(docker image inspect $IMAGE_NAME -f '{{.Id}}')" = "$IMAGE_ID"
docker run --rm $IMAGE_NAME stat /foo.bar
"""#
}
}
}

View File

@@ -0,0 +1,39 @@
package test
import (
"dagger.io/dagger"
"universe.dagger.io/alpine"
"universe.dagger.io/docker/cli"
)
dagger.#Plan & {
client: filesystem: "/var/run/docker.sock": read: contents: dagger.#Service
actions: test: {
run: cli.#Run & {
host: client.filesystem."/var/run/docker.sock".read.contents
command: name: "info"
}
differentImage: {
_cli: alpine.#Build & {
packages: {
bash: {}
"docker-cli": {}
}
}
run: cli.#RunSocket & {
input: _cli.output
host: client.filesystem."/var/run/docker.sock".read.contents
command: {
name: "docker"
args: ["info"]
}
}
}
// FIXME: test remote connections with `docker:dind` image
// when we have long running tasks
}
}

View File

@@ -0,0 +1,10 @@
setup() {
load '../../../bats_helpers'
common_setup
}
@test "docker/cli" {
dagger "do" -p ./run.cue test
dagger "do" -p ./load.cue test
}