/brane

Programmable Orchestration of Applications and Networking

Primary LanguageRustApache License 2.0Apache-2.0

logo

Programmable Orchestration of Applications and Networking


Audit status CI status License: Apache-2.0 Coverage status Release DOI

Introduction

Regardless of the context and rationale, running distributed applications on geographically dispersed IT resources often comes with various technical and organizational challenges. If not addressed appropriately, these challenges may impede development, and in turn, scientific and business innovation. We have designed and developed Brane to support implementers in addressing these challenges. Brane makes use of containerization to encapsulate functionalities as portable building blocks. Through programmability, application orchestration can be expressed using intuitive domain-specific languages. As a result, end-users with limited or no programming experience are empowered to compose applications by themselves, without having to deal with the underlying technical details.

See the documentation for more information.

Contributing

If you're interrested in contributing, please read the code of conduct and contributing guide.

Bug reports and feature requests can be created in the issue tracker.

Development

The latest version of Rust, and the following system dependencies must be installed (assuming Ubuntu 20.04):

  • build-essential
  • cmake
  • docker-compose
  • docker.io
  • libssl-dev
  • musl-tools
  • pkg-config

Builds

To compile and test the complete project:

$ cargo build
$ cargo test

To build optimized versions of the binaries (brane and branelet):

$ make build-binaries

To build optimized versions of the services (Docker images):

$ make build-services