Find our roadmap there ☝️
In preparation for running untrusted Modules in Station, runtime isolation will be added. A VM or similar approach will separate the Module from the machine it’s running on, and limit its access to designated folders and ports. A yet unspecified module - likely written in Rust and compiled to WebAssembly - will be added for demonstration.
Station will ensure its use of resources is practically unnoticeable by the operator, while maximal in efficiency. Modules will be assigned performance quotas, and Station will select the most efficient modules to run per device.
We will have official documentation for module authors, explaining how they can build a trusted Station Module and integrate it with Station.
Through a Module discovery mechanism, Station will be able to run both trusted and untrusted modules. Aided by documentation and initial close collaboration, developers from all over the world will be able to contribute modules, without the need for any gatekeeping. A yet unspecified module will be added, ideally in collaboration with an external team, to prove the system’s accessibility. This will allow for unthought-of modules to emerge over time.
It should be easy to submit a compute function to Station (e.g. in Python), pay for resources, and eventually get back the results.