-module(examples@secret_env). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/examples/secret_env.gleam"). -export([main/0]). -file("src/examples/secret_env.gleam", 18). -spec main() -> nil. main() -> dagger:connect( fun(Client) -> Token = case envoy_ffi:get(<<"MY_TOKEN"/utf8>>) of {ok, Val} -> Val; {error, _} -> gleam_stdlib:println_error(<<"MY_TOKEN not set"/utf8>>), erlang:error(#{gleam_error => panic, message => <<"`panic` expression evaluated."/utf8>>, file => <>, module => <<"examples/secret_env"/utf8>>, function => <<"main"/utf8>>, line => 26}) end, Secret = dagger@dsl@dag:set_secret(<<"my_token"/utf8>>, Token), 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>> ), _pipe@3 = dagger@dsl@container:with_secret_variable( _pipe@2, <<"MY_TOKEN"/utf8>>, Secret ), dagger@dsl@container:with_exec( _pipe@3, [<<"sh"/utf8>>, <<"-c"/utf8>>, <<"echo \"Token length: $(echo $MY_TOKEN | wc -c)\""/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 ).