TerrariumExe

Hex.pmHexDocsCI

exe.dev provider for Terrarium sandbox environments.

exe.dev provides persistent Linux VMs with sub-second start times, unrestricted outbound internet access, and SSH-based access.

Installation

def deps do
  [
    {:terrarium_exe, "~> 0.1.0"}
  ]
end

Usage

# Configure
config :terrarium,
  providers: [
    exe: {Terrarium.Providers.Exe,
      token: System.fetch_env!("EXE_DEV_TOKEN"),
      ssh_key_path: "~/.ssh/id_ed25519"
    }
  ]

# Create a sandbox
{:ok, sandbox} = Terrarium.create(:exe)

# Execute commands
{:ok, result} = Terrarium.exec(sandbox, "echo hello")

# File operations
:ok = Terrarium.write_file(sandbox, "/home/exedev/config.txt", "content")
{:ok, content} = Terrarium.read_file(sandbox, "/home/exedev/config.txt")

# Clean up
:ok = Terrarium.destroy(sandbox)

Authentication

exe.dev uses token-based authentication. Tokens are generated by signing with your SSH key registered with exe.dev. See the exe.dev API docs for token generation details.

License

MIT