|
||
---|---|---|
.. | ||
alpine | ||
aws | ||
bash | ||
cue.mod | ||
docker | ||
examples | ||
git | ||
go | ||
netlify | ||
nginx | ||
powershell | ||
python | ||
x | ||
yarn | ||
.gitignore | ||
bats_helpers.bash | ||
package.json | ||
README.md | ||
secrets_sops.yaml | ||
yarn.lock |
Europa Universe
What is Universe?
The Dagger Universe is a catalog of reusable CUE packages, curated by Dagger but possibly authored by third parties. Most packages in Universe contain reusable actions; some may also contain entire configuration templates.
The import domain for Universe will be universe.dagger.io
.
Universe vs other packages
This table compares Dagger core packages, Dagger Universe packages, and the overall CUE package ecosystem.
Dagger core | Dagger Universe | CUE ecosystem | |
---|---|---|---|
Import path | dagger.io |
universe.dagger.io |
Everything else |
Purpose | Access core Dagger features | Safely reuse code from the Dagger community | Reuse any CUE code from anyone |
Author | Dagger team | Dagger community, curated by Dagger | Anyone |
Release cycle | Released with Dagger engine | Released continuously | No release cycle |
Size | Small | Large | Very large |
Growth rate | Grows slowly, with engine features | Grows fast, with Dagger community | Grows even faster, with CUE ecosystem |
Notable packages
Docker API
Import path: universe.dagger.io/docker
The docker
package is a native Cue API for Docker. You can use it to build, run, push and pull Docker containers directly from Cue.
The Dagger container API defines the following types:
#Image
: a container image#Run
: run a command in a container#Push
: upload an image to a repository#Pull
: download an image from a repository#Build
: build an image
Examples
Import path: universe.dagger.io/examples
This package contains examples of complete Dagger configurations, including the result of following tutorials in the documentations.
For example, the todoapp example corresponds to the Getting Started tutorial
Coding Style
When contributing, please follow the guidelines from the Package Coding Style.
TODO LIST
- Support native language dev in
docker.#Run
with good DX (Python, Go, Typescript etc.) - Easy file injection API (
container.#Image.files
?) - Use file injection instead of inline for
#Command.script
(to avoid hitting arg character limits) - Organize universe packages in sub-categories?