Packages
dagger
1.0.0-beta.11
1.0.0-beta.11
0.21.9
0.21.8
0.21.7
0.21.6
0.21.5
0.21.4
0.21.3
0.21.2
0.21.1
0.21.0
0.20.8
0.20.7
0.20.6
0.20.5
0.20.4
0.20.3
0.20.2
0.20.1
0.20.0
0.19.11
0.19.10
0.19.9
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.19
0.18.18
0.18.17
0.18.16
0.18.15
0.18.14
0.18.13
0.18.12
0.18.11
0.18.10
0.18.9
0.18.8
0.18.7
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.2
0.17.1
0.17.0
0.16.3
0.16.2
0.16.1
0.16.0
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.0
0.13.7
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.9
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.2
0.0.0
retired
Dagger SDK for Elixir
Current section
Files
Jump to
Current section
Files
README.md
> **Warning** This SDK is experimental. Please do not use it for anything
> mission-critical. Possible issues include:
- Missing features
- Stability issues
- Performance issues
- Lack of polish
- Upcoming breaking changes
- Incomplete or out-of-date documentation
# Dagger
[Dagger](https://dagger.io) SDK for Elixir.
## Installation
Fetch from repository by:
```elixir
def deps do
[
{:dagger, github: "dagger/dagger", sparse: "sdk/elixir"}
]
end
```
## Running
Let's write a code below into a script:
```elixir
# ci.exs
client = Dagger.connect!()
{:ok, out} =
client
|> Dagger.Client.container([])
|> Dagger.Container.from("hexpm/elixir:1.14.4-erlang-25.3-debian-buster-20230227-slim")
|> Dagger.Container.with_exec(["elixir", "--version"])
|> Dagger.Container.stdout()
IO.puts(out)
Dagger.close(client)
```
Then running with:
```shell
elixir ci.exs
```
Where `ci.exs` contains Elixir script above.
## Using with Dagger Function
The SDK support the Dagger Function by initiate it with:
```shell
dagger init --sdk=elixir <name>
```
**CAUTIONS**: Please note that `dagger` version 0.11.6 and earlier are not
compatible with the runtime on `main` branch. If you are using `dagger` v0.11.6, please pin the sdk to `github.com/dagger/dagger/sdk/elixir/runtime@sdk/elixir/v0.11.6`
instead.
The SDK will generate 2 modules inside the `dagger` directory (or the destination defined
by `--source` during call `dagger module init`):
1. The `dagger` SDK itself.
2. The package `<name>` that contains your functions.