| commit | 0cbf51a530ff05eaacadb12c4cc977c24a0f0fb0 | [log] [tgz] |
|---|---|---|
| author | Jan Schär <jan@monogon.tech> | Wed Apr 23 10:21:17 2025 +0000 |
| committer | Jan Schär <jan@monogon.tech> | Thu May 01 06:49:22 2025 +0000 |
| tree | fd14354e8ba64d68489f1f4b0116696baf5ee57f | |
| parent | 4cfff958acf023e190191a2842103897201c4dad [diff] |
m/n/k/hyperkube: avoid unnecessary rebuilds Previously, hyperkube was rebuilt each time a commit was made in the monorepo. This change stops this by reading the variables from a filtered stamp file instead. Now, only this filtered file is rebuilt each time, which is very fast compared to linking hyperkube. Previously, volatile status variables were used for gitTreeState and buildDate. But the volatile status is bad for reproducibility, as it makes Bazel intentionally use stale caches. Instead, these variables are now only defined in release builds, and left unstamped during development. These variables are available at the /version endpoint of the apiserver, so there may be some utility in defining them for release builds, but they are not needed during development. The buildDate is now taken from the commit date instead of SOURCE_DATE_EPOCH, which simplifies the build process as we don't need to define that variable anymore. Previously, KUBERNETES_gitCommit was referenced but not defined by the status script. It is now defined as the monorepo commit, which is more useful than leaving it blank. Change-Id: I6228888507e400ca1f53167ee9d4f132f5711a45 Reviewed-on: https://review.monogon.dev/c/monogon/+/4167 Tested-by: Jenkins CI Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
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! In the meantime, join us on Matrix (#monogon-os-community:matrix.org) or Discord.
Our build environment is self-contained and requires only minimal host dependencies:
/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.
The source code lives in //metropolis (Metropolis is the codename of Monogon OS).
See the //metropolis/README.md for a developer quick start guide, or see the Monogon OS Handbook for user documentation.