You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Bump flyteidl2 version to latest and get rid of the manually copied
code
* Fix the pem issue where we had to manually download the cert from
amazon before creating the channel (with tonic connections you have to
call `with_native_roots()` to pick up root certs).
* Fix maturin setting so it'll build.
* Pull in some changes that have been made to the main controller.
(#607, #521, #621)
* Add in some CI as a separate PR -
#676. But we need to play with
this experience a bit more first. Need to go through the whole
experience and see how things feel.
* More changes described in
#675 (comment)
---------
Signed-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>
Signed-off-by: machichima <nary12321@gmail.com>
Co-authored-by: machichima <nary12321@gmail.com>
Copy file name to clipboardExpand all lines: README.md
+82-42Lines changed: 82 additions & 42 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -129,68 +129,108 @@ pip install flyte[tui]
129
129
130
130
Flyte 2 is licensed under the [Apache 2.0 License](LICENSE).
131
131
132
-
## Developing the Core Controller
132
+
## Rust Controller (experimental)
133
133
134
-
Create a separate virtual environment for the Rust contoller inside the rs_controller folder. The reason for this is
135
-
because the rust controller should be a separate pypi package. The reason it should be a separate pypi package is that
136
-
including it into the main SDK as a core component means the entire build toolchain for the SDK will need to become
137
-
rust/maturin based. We should probably move to this model in the future though.
134
+
The Rust controller is an alternative implementation of the remote controller written in Rust and exposed
135
+
to Python via maturin / pyo3. Distributed as a separate `flyte_controller_base` wheel so the main SDK does
136
+
not need to switch its build toolchain to rust/maturin. Keep important dependencies (notably `flyteidl2`)
137
+
in lockstep between `pyproject.toml`, `rs_controller/pyproject.toml`, and `rs_controller/Cargo.toml`.
138
138
139
-
Keep important dependencies the same though, namely flyteidl2.
139
+
### Running with the Rust controller
140
140
141
-
The following instructions are for helping to build the default multi-arch image. Each architecture needs a different wheel. Each wheel needs to be built by a different docker image.
141
+
The Rust controller is gated behind an env var. Set it to `1` (also accepts `true` / `yes`):
142
142
143
-
### Setup Builders
144
-
`cd` into `rs_controller` and run `make build-builders`. This will build the builder images once, so you can keep using them as the rust code changes.
0 commit comments