package main import ( "dagger.io/dagger" ) dagger.#Plan & { inputs: secrets: { echo: command: { name: "echo" args: ["hello europa"] } relative: command: { name: "cat" args: ["./test.txt"] } badCommand: command: { name: "rtyet" // should fail because command doesn't exist args: ["hello europa"] } badArgs: command: { name: "cat" args: ["--sfgjkhf"] // // should fail because invalid option } } actions: { _image: dagger.#Pull & { source: "alpine:3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3" } test: { [string]: dagger.#Exec & { input: _image.output mounts: secret: { dest: "/run/secrets/test" // contents: inputs.secrets.echo.contents } args: [ "sh", "-c", #""" test "$(cat /run/secrets/test)" = "hello europa" ls -l /run/secrets/test | grep -- "-r--------" """#, ] } valid: mounts: secret: contents: inputs.secrets.echo.contents relative: mounts: secret: contents: inputs.secrets.relative.contents badCommand: mounts: secret: contents: inputs.secrets.badCommand.contents badArgs: mounts: secret: contents: inputs.secrets.badArgs.contents } } }