blob: a7ef16952d158dac18ae128ef38a9cedd4b1faf5 [file] [log] [blame] [view]
# Monogon Monorepo
This is the main repository containing the source code for the [Monogon Platform](https://monogon.tech).
*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](https://github.com/bazelbuild/bazelisk) >= v1.15.0
- 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.
### IntelliJ support
This repository is compatible with the IntelliJ Bazel plugin out of the box, which enables
full autocompletion for external dependencies and generated code.
The following steps are necessary:
- Install Google's [Bazel plugin](https://plugins.jetbrains.com/plugin/8609-bazel) in IntelliJ.
- Make sure that Bazel "*Bazel Binary Location*" in Other Settings → Bazel Settings points to Bazelisk.
- Use _File → Import Bazel project_... and select your monorepo checkout.
After running the first sync, everything should now resolve in the IDE, including generated code.
## Monogon OS
### Run a single node demo cluster
Launch the node:
bazel run //:launch -c dbg
Run a kubectl command:
bazel run //metropolis/cli/dbg -c dbg -- kubectl describe node
### Test suite
Run full test suite:
bazel test -c dbg //...