braidnet
November 29, 2023 ยท View on GitHub
An OTP application to spawn containers and orchestrate communication between them and their peers hosted by remote braidnet instances.
Main steps
We currently only support Fly.io as cloud infrastracture.
- Deploy a single braidcert instance to be the root of trust in the internal PKI.
- Deploy
braidnetonto host machines. - Build docker conteiners with your Erlang Apps using braidnode.
- Finally, use braid to define your node connections and deploy your applications.
Build
rebar3 compile
Run locally
Start braidcert first in a separate shell, then:
rebar3 shell
Deploy
Braidnet will only be able to start up if it can connect to a braidcert instance.
For now, braidnet is meant to be deployed on Fly.io.
Create a new Fly application, replace the value of the app field
in the fly.toml file in this repo with your Fly app's name,
and deploy using flyctl.
Use
To interface with braidnet and deploy applications, use braid.
Configuration
When braidnet is ran via the rebar3 shell, config/shell.config applies.
When the relx release is ran, config/container.config.src (and
config/container.vm.args.src) apply.
The possible configuration values are:
[
{braidnet, [
% HTTP Bearer authetication token between braid and braidnet:
{rest_api_token, binary()},
% braidcert Fly.io app URL:
{braidcert_url, string()},
% HTTP Bearer authetication token between braidcert and braidnet:
{braidcert_key, string()}
% Enable only accepting signed Docker images:
{docker_trust, boolean()}
]}
].