5a1d4bff62
This adds support to loading artifacts (e.g. docker.#Build, os.#Container, ...) into any arbitrary docker engine (through a dagger.#Stream for UNIX sockets or SSH for a remote engine) Implementation: - Add op.#SaveImage which serializes an artifact into an arbitrary path (docker tarball format) - Add docker.#Load which uses op.#SaveImage to serialize to disk and executes `docker load` to load it back Caveats: Because we're doing this in userspace rather than letting dagger itself load the image, the performance is pretty bad. The buildkit API is meant for streaming (get a stream of a docker image pipe it into docker load). Because of userspace, we have to load the entire docker image into memory, then serialize it in a single WriteFile LLB operation. Example: ```cue package main import ( "alpha.dagger.io/dagger" "alpha.dagger.io/docker" ) source: dagger.#Input & dagger.#Artifact dockersocket: dagger.#Input & dagger.#Stream build: docker.#Build & { "source": source } load: docker.#Load & { source: build tag: "testimage" socket: dockersocket } ``` Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com> |
||
---|---|---|
.. | ||
argocd | ||
aws | ||
azure | ||
dagger | ||
docker | ||
gcp | ||
java | ||
js | ||
kubernetes | ||
alpine.md | ||
argocd.md | ||
git.md | ||
go.md | ||
io.md | ||
netlify.md | ||
os.md | ||
random.md | ||
README.md | ||
terraform.md |
Index
- alpine - Base package for Alpine Linux
- argocd - ArgoCD client operations
- aws - AWS base package
- aws/cloudformation - AWS CloudFormation
- aws/ecr - Amazon Elastic Container Registry (ECR)
- aws/ecs - AWS Elastic Container Service (ECS)
- aws/eks - AWS Elastic Kubernetes Service (EKS)
- aws/elb - AWS Elastic Load Balancer (ELBv2)
- aws/rds - AWS Relational Database Service (RDS)
- aws/s3 - AWS Simple Storage Service
- azure - Azure base package
- azure/resourcegroup - -
- azure/staticwebapp - -
- azure/storage - -
- dagger - Dagger core types
- dagger/op - op: low-level operations for Dagger processing pipelines
- docker - Docker container operations
- docker/compose - Docker-compose operations
- gcp - Google Cloud Platform
- gcp/cloudrun - -
- gcp/gcr - Google Container Registry
- gcp/gcs - Google Cloud Storage
- gcp/gke - Google Kubernetes Engine
- gcp/secretmanager - Google Cloud Secret Manager
- git - Git operations
- go - Go build operations
- io - IO operations
- java/maven - Maven is a build automation tool for Java
- js/yarn - Yarn is a package manager for Javascript applications
- kubernetes - Kubernetes client operations
- kubernetes/helm - Helm package manager
- kubernetes/kustomize - Kustomize config management
- netlify - Netlify client operations
- os - OS operations
- random - Random generation utilities
- terraform - Terraform operations