Skip to content

Add direct backend#43

Open
nhynes wants to merge 6 commits intomainfrom
nhynes/direct-backend
Open

Add direct backend#43
nhynes wants to merge 6 commits intomainfrom
nhynes/direct-backend

Conversation

@nhynes
Copy link
Member

@nhynes nhynes commented Mar 5, 2026

This PR adds a new "direct" backend which runs programs natively but with sandbox like bubblewrap (linux) or seatbelt (macos). The way to use this is amber compile --direct ... which will output an artifact that can then be run with amber run which acts as a sort of init process that manages the process tree. The mesh/capability semantics otherwise are preserved.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7a92eaea1f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


(entrypoint, rendered_env)
};
let entrypoint = resolve_relative_entrypoint(entrypoint, component_source_dir.as_deref())?;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Skip source-dir rewrite for non-direct helper runs

build_run_plan now unconditionally calls resolve_relative_entrypoint, which errors when the program starts with a relative path containing a separator (for example ./start.sh) and AMBER_COMPONENT_SOURCE_DIR is missing. That environment variable is only populated by the direct runner path in cli/src/main.rs, while non-direct helper launches (for example the HelperRunner path in compiler/src/targets/mesh/docker_compose/mod.rs) only pass AMBER_DIRECT_ENTRYPOINT_B64/template/mount env vars. As a result, existing docker-compose/kubernetes workloads that require helper mode (runtime templating or mounts) and use a relative image entrypoint will now fail at runtime.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant