8ce8e8e01f
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
59 lines
901 B
CUE
59 lines
901 B
CUE
package docker
|
|
|
|
import (
|
|
"dagger.io/dagger"
|
|
"dagger.io/dagger/op"
|
|
)
|
|
|
|
// Build a Docker image from source, using included Dockerfile
|
|
#Build: {
|
|
source: dagger.#Artifact
|
|
|
|
#up: [
|
|
op.#DockerBuild & {
|
|
context: source
|
|
},
|
|
]
|
|
|
|
}
|
|
|
|
// Pull a docker container
|
|
#Pull: {
|
|
// Remote ref (example: "index.docker.io/alpine:latest")
|
|
from: string
|
|
|
|
#up: [
|
|
op.#FetchContainer & {ref: from},
|
|
]
|
|
}
|
|
|
|
// Push a docker image
|
|
#Push: {
|
|
// Remote ref (example: "index.docker.io/alpine:latest")
|
|
ref: string
|
|
|
|
// Image
|
|
source: dagger.#Artifact
|
|
|
|
#up: [
|
|
op.#Load & {from: source},
|
|
op.#PushContainer & {"ref": ref},
|
|
]
|
|
}
|
|
|
|
// FIXME: #Run
|
|
|
|
// Build a Docker image from the provided Dockerfile contents
|
|
// FIXME: incorporate into #Build
|
|
#ImageFromDockerfile: {
|
|
dockerfile: string
|
|
context: dagger.#Artifact
|
|
|
|
#up: [
|
|
op.#DockerBuild & {
|
|
"context": context
|
|
"dockerfile": dockerfile
|
|
},
|
|
]
|
|
}
|