Add native execution mode: run Plano without Docker#744
Open
adilhafeez wants to merge 3 commits intomainfrom
Open
Add native execution mode: run Plano without Docker#744adilhafeez wants to merge 3 commits intomainfrom
adilhafeez wants to merge 3 commits intomainfrom
Conversation
adilhafeez
added a commit
that referenced
this pull request
Feb 12, 2026
Add `--native` flag to `planoai build`, `up`, and `down` commands, enabling Plano to run directly on the host without Docker. Envoy is auto-downloaded on first run, and WASM plugins + brightstaff are compiled from source. - Native build via `planoai build --native` (Rust toolchain required) - Auto-download Envoy from tetratelabs/archive-envoy releases - Config rendering reuses config_generator in-process - Process management via double-fork daemonization with PID file - Tracing support: `--with-tracing` injects tracing config automatically - Supports linux-amd64, linux-arm64, darwin-arm64 - Demo config, script, and README in demos/native_run/ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
92382fe to
1ac442f
Compare
adilhafeez
added a commit
that referenced
this pull request
Feb 12, 2026
Add `--native` flag to `planoai build`, `up`, and `down` commands, enabling Plano to run directly on the host without Docker. Envoy is auto-downloaded on first run, and WASM plugins + brightstaff are compiled from source. - Native build via `planoai build --native` (Rust toolchain required) - Auto-download Envoy from tetratelabs/archive-envoy releases - Config rendering reuses config_generator in-process - Process management via double-fork daemonization with PID file - Tracing support: `--with-tracing` injects tracing config automatically - Bump black to 24.10.0 for Python 3.14 compatibility - Supports linux-amd64, linux-arm64, darwin-arm64 - Demo config, script, and README in demos/native_run/ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
df70c80 to
8e27de6
Compare
adilhafeez
added a commit
that referenced
this pull request
Feb 19, 2026
Add `--native` flag to `planoai build`, `up`, and `down` commands, enabling Plano to run directly on the host without Docker. Envoy is auto-downloaded on first run, and WASM plugins + brightstaff are compiled from source. - Native build via `planoai build --native` (Rust toolchain required) - Auto-download Envoy from tetratelabs/archive-envoy releases - Config rendering reuses config_generator in-process - Process management via double-fork daemonization with PID file - Tracing support: `--with-tracing` injects tracing config automatically - Bump black to 24.10.0 for Python 3.14 compatibility - Supports linux-amd64, linux-arm64, darwin-arm64 - Demo config, script, and README in demos/native_run/ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8e27de6 to
1bf866b
Compare
409ef02 to
76a70d6
Compare
Contributor
|
Before I do a line-level code review: Is the build command mandatory? Meaning if we don't build native then the developer can't run native? This presumes that they must have our source code locally. If the idea is for us to be a stand-alone binary (much like Envoy can be) then shouldn't we support that as a first-class option. Plus I am not sure if I have seen this --native flag in other open source projects that support both a dockerized container image and a binary. Can you share examples on the developer experience that might inform me here? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--nativeflag toplanoai build,up, anddowncommands for running Plano directly on the host without Docker~/.plano/bin/with version pinningplanoai build --nativeSample session
Files changed
cli/planoai/native_binaries.pycli/planoai/native_runner.pycli/planoai/main.py--nativeflag onbuild/up/downcommandscli/planoai/consts.pyPLANO_HOME,ENVOY_VERSION, etc.)cli/planoai/core.py_get_gateway_portsto supportmodel_providerskeyDockerfileENVOY_VERSIONtoARG, pinned in sync withconsts.pydocs/source/get_started/quickstart.rstdocs/source/resources/deployment.rstTest plan
planoai build --nativebuilds WASM plugins and brightstaffplanoai up config.yaml --nativestarts natively, health checks passcurl http://localhost:12000/v1/chat/completionsroutes through proxy to OpenAIplanoai down --nativecleanly stops both processesplanoai up config.yaml(without--native) still works via Docker unchanged