Packages
dagger
0.13.6
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](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=github.com/dagger/dagger/sdk/elixir/runtime <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 init`):
1. The `dagger` SDK itself.
2. The package `<name>` that contains your functions.