Standalone Marblerun deployment

This guide walks you through deploying Marblerun standalone.

Prerequisites

  • EGo is installed.

Setup the Coordinator control plane

You can download the latest release of our Coordinator control plane on GitHub. If you prefer to build from source please refer to our build guide.

You can then run the Coordinator’s enclave:

erthost build/coordinator-enclave.signed

Per default, the Coordinator starts with the following default values. You can set your desired configuration by setting the environment variables.

SettingDefault ValueEnvironment Variable
the listener address for the gRPC serverlocalhost:2001EDG_COORDINATOR_MESH_ADDR
the listener address for the HTTP serverlocalhost: 4433EDG_COORDINATOR_CLIENT_ADDR
the DNS names for the cluster’s root certificatelocalhostEDG_COORDINATOR_DNS_NAMES
the file path for storing sealed data$PWD/marblerun-coordinator-dataEDG_COORDINATOR_SEAL_DIR

 Note

The Coordinator’s state is sealed to $PWD/marblerun-coordinator-data/sealed_data. If you want a fresh restart remove this file first: rm $PWD/marblerun-coordinator-data/sealed_data.

The Coordinator is now in a pending state, waiting for a Manifest. See the how to add a service documentation for more information on how to create and set a Manifest.

Run your workloads

You first need to build your workloads together with our Marble data plane. See our guides for building EGo and Graphene workloads.

You can then run your Marble as follows:

EDG_MARBLE_TYPE=<your_marbler_type> erthost <your_marbler_binary>

Per default, a Marble starts with the following default values. You can set your desired configuration by setting the environment variables.

SettingDefault ValueEnvironment Variable
network address of the Coordinator’s API for Marbleslocalhost:2001EDG_MARBLE_COORDINATOR_ADDR
reference on one entry from your Manifest’s Marbles section- (this needs to be set every time)EDG_MARBLE_TYPE
local file path where the Marble stores its UUID$PWD/uuidEDG_MARBLE_UUID_FILE
DNS names the Coordinator will issue the Marble’s certificate for$EDG_MARBLE_TYPEEDG_MARBLE_DNS_NAMES