Clone this repo:

Branches

  1. a7cfc1c m/p/efivarfs: add Delete and DeleteBootEntry by Lorenz Brun · 1 year, 10 months ago main
  2. d8a3fa2 third_party/go: disable unused node_exporter collectors by Tim Windelschmidt · 1 year, 10 months ago
  3. 63b346d metropolis/node/c/localstorage: make writes durable by Serge Bazanski · 1 year, 10 months ago
  4. e6e570a m/n/k/nfproxy: use discovery/v1 API by Lorenz Brun · 1 year, 10 months ago
  5. 6fa92ac metropolis/node: sanitize served logs to remove invalid UTF-8 characters by Serge Bazanski · 1 year, 10 months ago

Monogon Monorepo

This is the main repository containing the source code for the Monogon Platform.

This is pre-release software - take a look, and check back later!

Environment

Our build environment is self-contained and requires only minimal host dependencies:

  • A Linux machine or VM.
  • Bazelisk >= v1.15.0 (or a working Nix environment).
  • A reasonably recent kernel with user namespaces enabled.
  • Working KVM with access to /dev/kvm (if you want to run tests).

Our docs assume that Bazelisk is available as bazel on your PATH.

Refer to SETUP.md for detailed instructions.

Monogon OS

Run a single node demo cluster

Build CLI and node image:

bazel build //metropolis/cli/dbg //:launch --config dbg

Launch an ephemeral test node:

bazel test //:launch --config dbg --test_output=streamed

Run a kubectl command while the test is running:

bazel-bin/metropolis/cli/dbg/dbg_/dbg kubectl describe node

Test suite

Run full test suite:

bazel test --config dbg //...