Run plano natively by default#744
Conversation
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
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
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>
409ef02 to
76a70d6
Compare
|
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? |
- Flip --native to --docker on up/down commands (native is now default) - Add ensure_wasm_plugins() and ensure_brightstaff_binary() to auto-download from GitHub releases - Add _find_config_dir() to support pip-installed usage without repo checkout - Bundle config templates in wheel via pyproject.toml force-include - Add publish-binaries.yml CI workflow for release binary uploads - Update docs to reflect native-first experience
db11594 to
edfd237
Compare
|
Two comments 1/ update the demos to run with - doocker right now, else we will break all the current demos |
@salmanap did update CI to publish compressed artifacts and now using all demos with native build also updated demos Readme files to reflect that. |
Summary
planoai up), Docker is opt-in (--docker)planoai build)pip install planoai && planoai up config.yamlworks without repo clone