This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/pkg/universe.dagger.io
Gerhard Lazu d3f9fca4ef
Make changelog.com highlevel Europa run
We fixed a few issues with @shykes & @jlongtine, and @talentedmrjones
gave us this great command to run:

    cd pkg/universe.dagger.io/examples/changelog.com/highlevel
    dagger up --europa ./gerhard --log debug --log-format plain
    7:42PM DBG system | detected buildkit config    haveHostNetwork=true isActive=true version=v0.9.3
    7:42PM DBG system | loading plan    args=[
        "./gerhard/"
    ]
    7:42PM DBG system | vendoring packages    mod=/Users/gerhard/github.com/gerhard/dagger/pkg/universe.dagger.io
    7:42PM DBG system | spawning buildkit job    attrs=null localdirs={
        "/Users/gerhard/github.com/thechangelog/changelog.com/": "/Users/gerhard/github.com/thechangelog/changelog.com"
    }
    7:42PM INF actions.test.db.pull._op | computing
    7:42PM INF actions.test.run._exec | computing
    7:42PM INF inputs.directories.app | computing
    7:42PM INF actions.dev.build._dag."0"._op | computing
    7:42PM INF actions.test.build._dag."0"._op | computing
    7:42PM ERR actions.test.run._exec | failed: invalid FS at path "actions.test.run._exec.input": FS is not set    duration=0s
    7:42PM DBG inputs.directories.app | loading local directory    path=/Users/gerhard/github.com/thechangelog/changelog.com/
    7:42PM ERR actions.dev.build._dag."0"._op | canceled    duration=0s
    7:42PM ERR actions.test.db.pull._op | canceled    duration=0s
    7:42PM ERR actions.test.build._dag."0"._op | canceled    duration=0s
    7:42PM ERR inputs.directories.app | canceled    duration=0s
    7:42PM FTL system | failed to up environment: task failed: actions.test.run._exec: invalid FS at path "actions.test.run._exec.input": FS is not set

The next step is to figure out why this is failing @jlongtine.

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-21 19:49:28 +00:00
..
alpine $DAGGER -> dagger 2022-01-19 16:19:07 -07:00
bash europa: vendor universe.dagger.io 2022-01-11 18:09:09 -08:00
cue.mod tests: Basic test infrastructure for Europa Universe 2022-01-19 12:39:39 -08:00
docker netlify: Europa port 2022-01-20 16:10:14 -08:00
examples Make changelog.com highlevel Europa run 2022-01-21 19:49:28 +00:00
git europa: vendor universe.dagger.io 2022-01-11 18:09:09 -08:00
netlify stdlib: expose dagger.#Source 2022-01-20 16:50:53 -08:00
nginx europa: vendor universe.dagger.io 2022-01-11 18:09:09 -08:00
python europa: vendor universe.dagger.io 2022-01-11 18:09:09 -08:00
yarn tests: Basic test infrastructure for Europa Universe 2022-01-19 12:39:39 -08:00
.gitignore tests: Basic test infrastructure for Europa Universe 2022-01-19 12:39:39 -08:00
bats_helpers.bash tests: Basic test infrastructure for Europa Universe 2022-01-19 12:39:39 -08:00
package.json tests: Basic test infrastructure for Europa Universe 2022-01-19 12:39:39 -08:00
README.md europa: vendor universe.dagger.io 2022-01-11 18:09:09 -08:00
test_secrets.yaml netlify: Europa port 2022-01-20 16:10:14 -08:00
yarn.lock tests: Basic test infrastructure for Europa Universe 2022-01-19 12:39:39 -08:00

Europa Universe

About this directory

europa-universe/ is a staging area for the upcoming universe.dagger.io package namespace, which will be shipped as part of the Europa release.

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. It will deprecate the current domain alpha.dagger.io.

Where is the dagger package?

Europa will also introduce a new package for the Dagger Core API: dagger.io/dagger. This is a core package, and is not part of Universe (note the import domain).

The development version of the Europa core API can be imported as alpha.dagger.io/europa/dagger.

Where is the dagger/engine package?

Europa will also introduce a new package for the Low-Level Dagger Engine API : dagger.io/dagger/engine. This is a core package, and is not part of Universe (note the import domain).

The development version of the Europa Low-Level Engine API can be imported as either:

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 comand 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

TODO LIST

  • Support native language dev in docker.#Run with good DX (Python, Go, Typescript etc.)
  • Coding style. When to use verbs vs. nouns?
  • 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?