Add missing definitions to Dagger CUE API
Link to the source of truth cue files. While at it, move this page from Knowledge Base, which is a generic category, to Core Concepts. The URL didn't change so that we don't break existing links. FWIW /1213/dagger-cue would have been my choice. Initially contributed as a change part of https://github.com/dagger/dagger/pull/1758 Should be merged after https://github.com/dagger/dagger/pull/1799 Related to https://github.com/dagger/dagger/pull/1768 Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
This commit is contained in:
@@ -1,52 +0,0 @@
|
||||
---
|
||||
slug: /1213/api
|
||||
displayed_sidebar: europa
|
||||
---
|
||||
|
||||
# Dagger CUE API (0.2+)
|
||||
|
||||
As of Dagger 0.2 (codename Europa), the Dagger CUE API can be imported at `dagger.io/dagger`.
|
||||
|
||||
The Dagger CUE API is the set of CUE packages released alongside the Dagger engine, to allow developers to access its features.
|
||||
|
||||
### Plan definition
|
||||
|
||||
`#Plan` defines the structure of a Dagger plan - a complete configuration executable by `dagger do`.
|
||||
|
||||
### Core types
|
||||
|
||||
Dagger extends the CUE type system with the following core types:
|
||||
|
||||
* `#FS`: a reference to a filesystem tree
|
||||
* `#Secret`: a secure reference to an external secret
|
||||
* `#Service` a reference to a network service endpoints
|
||||
|
||||
### Core actions
|
||||
|
||||
Dagger works by executing actions in a certain order and passing data between actions in a certain layout.
|
||||
|
||||
Developers can combine actions into higher-level actions, which in turn can be combined into even higher-level actions,
|
||||
and so on at arbitrary levels of depth. At the bottom of this abstraction stack are *core actions*: these
|
||||
are implemented by Dagger itself, and are always available.
|
||||
|
||||
The following core actions are available:
|
||||
|
||||
| Core action | File | Description |
|
||||
| -- | -- | -- |
|
||||
| `#Exec` | exec.cue | Execute a command in a docker-compatible container |
|
||||
| `#HTTPFetch` | http.cue | Download an archive from an HTTP server |
|
||||
| `#Push` | image.cue | Upload an image to a docker registry |
|
||||
| `#Pull` | image.cue | Download an image from a docker registry |
|
||||
| `#Dockerfile` | image.cue | Execute a Dockerfile |
|
||||
| `#Set` | image.cue | Modify a docker image |
|
||||
| `#GitPush` | git.cue | Upload a repository to a remote git server |
|
||||
| `#GitPull` | git.cue | Download a repository from a remote git server |
|
||||
| `#DecodeSecret` | secrets.cue | Decode a secret without leaking its contents |
|
||||
| `#NewSecret` | secrets.cue | Dynamically create a new secret |
|
||||
| `#Source` | fs.cue | Access the source for the current CUE package |
|
||||
| `#Mkdir` | fs.cue | Create a directory in a filesystem tree |
|
||||
| `#ReadFile` | fs.cue | Read a file from a tree |
|
||||
| `#WriteFile` | fs.cue | Write a file to a tree |
|
||||
| `#Scratch` | fs.cue | Create an empty tree |
|
||||
| `#Copy` | fs.cue | Copy files between two trees |
|
||||
| `#Subdir` | fs.cue | Read a subdirectory from a filesystem tree |
|
Reference in New Issue
Block a user