Fusion is a zero-dependency Elixir library for running code on remote servers using Erlang distribution over SSH. It connects to remote machines via SSH, sets up port tunnels, bootstraps a remote BEAM node, and lets you execute Elixir functions remotely. Key features include automatic dependency resolution (pushing required modules and their transitive dependencies), transparent cluster joining via tunneled EPMD, and BEAM bytecode transfer using :code.load_binary. The architecture covers SSH tunnel setup, remote BEAM bootstrapping with correct distribution flags, and code pushing via :erpc.call. Testing supports unit, integration, and Docker-based end-to-end tiers.
Sort: