Changelog #23

banner
Changelog #23
> Devin Outposts on Devboxes> Devbox CLI: exec and logs> More
Zack ChaseZack Chase
2 MIN READ
Devin Outposts now runs sessions on Namespace macOS Devboxes with real Apple Silicon, new devbox exec and logs subcommands let you run and inspect one-off commands on a Devbox, and a batch of CLI, egress filtering, and Devbox platform updates round out the rest.
Get started — it takes less than a minute.

Devin Outposts on Devboxes

Choosing Namespace in Devin

Last week we announced, in partnership with Cognition, support for running Devin sessions on a Namespace Devbox via Devin Outposts. We have given Devin its own computer designed specifically for engineering work, on both Linux and macOS. We are the only Outposts provider that runs Devin sessions on macOS.

You can point Devin at an issue and it reads the code, makes changes, runs tests, and iterates, all within a Namespace Devbox. Devin's agent loop stays in Devin's cloud and everything that touches your code moves onto its own Devbox: command execution, file edits, and repository access.

Devbox CLI: exec and logs

New subcommands let you run a one-off command on a Devbox and inspect its output afterwards, without opening an interactive shell into it.

devbox exec runs a single command against a running Devbox and streams its output back to your terminal, so you can kick off a build or a test run without SSH-ing in first. Add --detach to start the command and immediately print an exec ID instead of waiting for it to finish, which is useful for long-running commands or when you're kicking off work from a script.

Command Line
# run a command on a Devbox; add --detach to start it and print an exec ID without waiting for it to finish
$
devbox exec [name] -- <command>

Once a command is running (or has finished), devbox logs retrieves its output by exec ID, streaming both retained and live log lines. That means a detached execution's logs are still there to inspect later, even after you've closed the terminal that started it.

Command Line
# stream retained and live logs for that execution
$
devbox logs [name] <exec-id>

devbox logs list shows every past execution on a Devbox, so you can find the exec ID you're looking for without having to track it yourself.

Command Line
# list past executions
$
devbox logs list [name]

More updates

Windows: Github Actions caching is generally availableLearn more →

Cache volumes for Windows GitHub Actions runners are now generally available to all workspaces. Enable caching on the windows/amd64 profile in the profile editor and add nscloud-cache-action to your workflow.

Windows: Breakpoint supportLearn more →

Breakpoint is now supported on Windows runners. You can create breakpoints in CI to stop the execution of a workflow and jump into a live debugging session with SSH.

Devbox: stopped Devboxes wake on access

Visiting a stopped Devbox's ingress URL now authenticates the request, wakes the Devbox, and serves a waiting page while it boots, instead of failing outright.

Vault: export secrets to an environment file

Resolve the vault references listed in an env-def file into secrets you can load into a local shell.

Command Line
# resolve vault references into a temporary environment file
$
nsc vault export --envdef <file>
# or emit commands you can eval directly instead
$
nsc vault export --envdef <file> --shell bash
Egress filtering: tagged policies for runner profilesLearn more →

GitHub Actions runner profiles can reference a named workspace egress policy by tag instead of inlining a domain allow-list per profile. Available in the API.

Egress CLI: manage policies

List, create, describe, and update egress policies without leaving the CLI.

Command Line
# list available egress policies
$
nsc egress policy list
# create an egress policy from a JSON configuration file
$
nsc egress policy create --spec_file <path>
# describe an egress policy
$
nsc egress policy describe <tag>
# update an egress policy from a JSON configuration file
$
nsc egress policy update <tag> --spec_file <path>
Tokens: unlimited duration and refreshLearn more →

Create tokens that never expire, and extend existing ones without reissuing them.

Command Line
# create a user-scoped token that doesn't expire
$
nsc token create --user --no_expiry
# extend an existing token's expiry to at least the given duration, without reissuing it
$
nsc token refresh --token_id <id> --minimum_duration <duration>
Dashboard: build status in the audit log

Audit log entries for runner-profile image builds now show a build reference and a Ready/Failed status badge, instead of just session details.

Join 1,000+ of the world’s most ambitious companies