Awesome
braidnet
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
braidnet
onto 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()}
]}
].