Current section
Files
Jump to
Current section
Files
src/examples@basic_pipeline.erl
-module(examples@basic_pipeline).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/examples/basic_pipeline.gleam").
-export([main/0]).
-file("src/examples/basic_pipeline.gleam", 14).
-spec main() -> nil.
main() ->
dagger:connect(
fun(Client) ->
Pipeline = begin
_pipe@1 = dagger@dsl@container:container(fun(O) -> _pipe = O,
dagger@dsl@container:opt_platform(
_pipe,
<<"linux/amd64"/utf8>>
) end),
_pipe@2 = dagger@dsl@container:from(
_pipe@1,
<<"alpine:3.21"/utf8>>
),
dagger@dsl@container:with_exec(
_pipe@2,
[<<"echo"/utf8>>,
<<"Hello from Lucy! ⭐ Gleam pipelines are just data."/utf8>>],
fun dagger@dsl@container:none/1
)
end,
dagger@dsl@container:stdout(
Pipeline,
Client,
fun(Result) -> case Result of
{ok, Out} ->
gleam_stdlib:println(gleam@string:trim(Out));
{error, E} ->
gleam_stdlib:println_error(
<<"Pipeline failed: "/utf8,
(gleam@string:inspect(E))/binary>>
)
end end
)
end
).