)]}'
{
  "log": [
    {
      "commit": "31b15ab02038b60d714b2a9c9563309c8bdb6cb6",
      "tree": "4aca62f631adb43e974d7d34f6bcfcecde168b12",
      "parents": [
        "1a7e1fe7c4059d79a4f5452d3ac9821cdaf22245"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 11:56:06 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 14:52:26 2025 +0000"
      },
      "message": "osbase/oci/osimage: fix possible nil dereference\n\nBecause a double pointer was passed to json.Unmarshal, it could set\nconfig to nil when the json is \"null\", resulting in a nil pointer\ndereference.\n\nChange-Id: I93077e1cafd8c4e3d0a47d9a4f2321e2ea005d58\nReviewed-on: https://review.monogon.dev/c/monogon/+/4487\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "1a7e1fe7c4059d79a4f5452d3ac9821cdaf22245",
      "tree": "f1fc24285aa0eb0753a7221882b9e3724dc4a641",
      "parents": [
        "d4309bbea5cb711ec4288850e21da90b6b3e237e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Fri Jul 25 16:50:12 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 14:52:26 2025 +0000"
      },
      "message": "m/node/core/update: add support for OCI index\n\nThe updater now also accepts OCI indexes, and will select the image with\nthe matching architecture from the index.\n\nThis is tested by making on of the update steps a multiarch index.\nThe testos_multiarch_* targets are tagged \"manual\" such that test //...\ndoes not build it for all variants.\n\nChange-Id: I2682beb1adf61de0e86c53371c63c4fd9afecf08\nReviewed-on: https://review.monogon.dev/c/monogon/+/4478\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "d4309bbea5cb711ec4288850e21da90b6b3e237e",
      "tree": "dd09079d373807a15172675eb162a1396459f8ec",
      "parents": [
        "954c4b349725bb7fe8852dd9b85ddcfe3d0f3368"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Fri Jul 18 10:13:22 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 14:52:26 2025 +0000"
      },
      "message": "metropolis/node: generate OCI index\n\nThis adds a multi-architecture OCI index target for metropolis. mkoci is\nextended to add the platform to the index.json. Product info is extended\nto add the PlatformOS field, which mkoci puts into the platform.\n\nThe OCI spec requires the os field of the platform to be set. We don\u0027t\nneed this field so we could simply put \"unknown\" there, but I think\n\"uefi\" is nicer. Registry UIs display the os and architecture fields.\n\nChange-Id: I24acf3c01201b50238abd30cfd86da2eda43c1d9\nReviewed-on: https://review.monogon.dev/c/monogon/+/4477\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "954c4b349725bb7fe8852dd9b85ddcfe3d0f3368",
      "tree": "015402ba225b5e58a72ec4b7c3f8cbbd038cbf71",
      "parents": [
        "2963b681d81e259fdea28db466c90e204be00e4b"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Fri Jul 18 09:46:25 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 14:52:26 2025 +0000"
      },
      "message": "osbase/build/mkoci/index: add package\n\nThis adds the mkoci/index package, which contains a Bazel rule for\nbuilding a multi-platform OCI index for an image.\n\nrules_oci also has an image index rule, but it is not suitable for us.\nThat rule tries to read the platform from the container image config,\nmeaning it only works for container images. The rule here works for\narbitrary OCI artifact types. To make this work, the rule which\ngenerates the image must put the platform into the descriptor in\nindex.json.\n\nBecause the index is not for any specific platform, there is a new \"all\"\nplatform where the index is generated.\n\nChange-Id: I4ab1b87609d10b77c2f7fc42ee427f87d9f5ddc2\nReviewed-on: https://review.monogon.dev/c/monogon/+/4476\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "2963b681d81e259fdea28db466c90e204be00e4b",
      "tree": "d6715fb940f09942cbe8fdc58138a30b43b039c8",
      "parents": [
        "1354c78f69335cbd809b0237bab1aa93e69419a1"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 17:03:44 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 14:52:26 2025 +0000"
      },
      "message": "osbase/oci: implement support for OCI index\n\nPreviously, only OCI images were supported, now we can also handle\nindexes. The new Ref type is either an Image or Index.\n\nChange-Id: I1b282ed6078d53e9a69e7613f601fdbbe64e192b\nReviewed-on: https://review.monogon.dev/c/monogon/+/4475\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "1354c78f69335cbd809b0237bab1aa93e69419a1",
      "tree": "5b85624b5edddc867e87ed9b79fea40ad8048d5c",
      "parents": [
        "e4264a30deb7c1a9da66be6d6c1083fd8217f171"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 19:01:08 2025 +0000"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 19:10:33 2025 +0000"
      },
      "message": "Revert \"osbase/logtree: add WithBacklogOrder\"\n\nThis reverts commit 3553b240af181f5eba87ffd2af9323fa054e1967.\n\nReason for revert: We don\u0027t have any consumer for this API as WithStartPosition will be sufficient.\n\nChange-Id: I6553a99d16b6f11160df31074f44431b5a6592ed\nReviewed-on: https://review.monogon.dev/c/monogon/+/4464\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "e4264a30deb7c1a9da66be6d6c1083fd8217f171",
      "tree": "e7548049db9b49c4d93e40da2f2bf86fa4688470",
      "parents": [
        "a24a7a6223f56bf401b5d1382e03e11537e5bdcc"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 07:16:22 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 17:07:35 2025 +0000"
      },
      "message": "treewide: replace references to @@ with @monogon\n\nBy giving our module a name, we can use inject_repo to inject ourselves into rules_go dependencies. This then allows usage of an absolute name reference inside the patches.\n\nChange-Id: I3a1ef8ae721c4e96e0ee23c8c3438720edb29ffe\nReviewed-on: https://review.monogon.dev/c/monogon/+/4461\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "a24a7a6223f56bf401b5d1382e03e11537e5bdcc",
      "tree": "0ada464675617cc998ad24a0f10e40d28ee94845",
      "parents": [
        "4ebbc5f0b21a9a3af79b239323e502d780d8cd9c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 07:09:22 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 17:07:31 2025 +0000"
      },
      "message": "treewide: replace template_file rule with expand_template\n\nLess custom rules, more good?\n\nChange-Id: Ie6d3c0c8912ed85058cd8aadfe2e9c7689e01f79\nReviewed-on: https://review.monogon.dev/c/monogon/+/4460\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4ebbc5f0b21a9a3af79b239323e502d780d8cd9c",
      "tree": "b11452a47897d8957b8d719f6ccf715190dbb6d7",
      "parents": [
        "346e2455c7eb2c2229dc3988079b96a1fc08f40f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 16:04:35 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 13:32:34 2025 +0000"
      },
      "message": "metropolis/node: remove console\u003dtty0 from cmdline\n\nIn a previous change I already removed the forced existence of\ntty0 as forwarded console. This is needed as we do want to\nexclusively use tty0 for tconsole and having a log forwarder\nrunning in parallel breaks the rendering.\n\nChange-Id: Ie74d4728f2f9dd45abb65d961845f62b319e2b6d\nReviewed-on: https://review.monogon.dev/c/monogon/+/4438\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "346e2455c7eb2c2229dc3988079b96a1fc08f40f",
      "tree": "67b5eb97e9a6e792a432124d6c627a6bbfe2fc28",
      "parents": [
        "1b5164db6da76b58a329c44f700873ba4793ecf6"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 16:02:07 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 13:32:34 2025 +0000"
      },
      "message": "osbase/bringup: remove tty0 from default consoles\n\nThis default was copied from the cloud/agent and intereferes with\ntconsole in metropolis. It\u0027s not possible to stop the\nforwarder from the root runnable and since the code imports\nall kernel cmdline console arguments, we can safely remove this default listener.\n\nChange-Id: I5d38d2fde8499ae2ee9057cc21b6b2a1244a0e65\nReviewed-on: https://review.monogon.dev/c/monogon/+/4437\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "1b5164db6da76b58a329c44f700873ba4793ecf6",
      "tree": "279a5d5a7df7688f334d1ef2020d83e3ae042bac",
      "parents": [
        "717b6387c063ac985d2081e70f0c71db98001385"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 05:57:23 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 13:32:10 2025 +0000"
      },
      "message": "metropolis/node: remove old bundle.zip\n\nWithout it we can also ditch rules_pkg\n\nChange-Id: Ida41a22e5102ab8f3f13bf546590511339bb101b\nReviewed-on: https://review.monogon.dev/c/monogon/+/4459\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "717b6387c063ac985d2081e70f0c71db98001385",
      "tree": "405c82ce85fab16fe903060ca82fe24071b2849a",
      "parents": [
        "4e3e971b53637407d67df93c8944dec288746b13"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 22 20:41:45 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jul 23 10:26:40 2025 +0000"
      },
      "message": "README: adjust env requirements for sandbox-less builds\n\nSince we can now build without sandboxroot, we no longer need user\nnamespaces to build. Also add git and python3 to the requirements list,\nbut these are not new, they were already required before but just not\ndocumented.\n\nChange-Id: I516ecfa601587295a61f7a6c5464ff8b3018a99e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4456\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4e3e971b53637407d67df93c8944dec288746b13",
      "tree": "8580bf61f1f98c37d342fc304d310710ec34bfcf",
      "parents": [
        "ba82bc6039f694ef5a9c891d50329822985233c9"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 22 20:22:05 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jul 23 10:26:40 2025 +0000"
      },
      "message": "third_party/linux: unbreak i2c-dw-platform for AMD\n\ni2c-designware-platform on x86_64 AMD has a silent dependency on\nCONFIG_X86_AMD_PLATFORM_DEVICE. If not enabled the kernel executes bad\ncode when it should interact with the clock tree, so enable it.\n\nChange-Id: I6eba0da9bc226ef7a6e87e4c0dbda965f2c57444\nReviewed-on: https://review.monogon.dev/c/monogon/+/4455\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "ba82bc6039f694ef5a9c891d50329822985233c9",
      "tree": "5e3352a7eac99feb58ab179c0fbabb3f333158b9",
      "parents": [
        "3553b240af181f5eba87ffd2af9323fa054e1967"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 22 20:17:05 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jul 23 10:26:40 2025 +0000"
      },
      "message": "osbase/kmod: fix module deps naming\n\nLinux for some reason converts \u0027-\u0027 to \u0027_\u0027 in module names, but not for\ndependencies. There are also instances of comma-separated dependency\nlists, normalize these as well.\n\nFail building of metadata in case dependencies do not resolve.\nPreviously we just wrote zero as dependency index which is obviously\ninvalid. With the current config and these fixes everything resolves and\nthis ensures that with any future kconfig changes we actually load\neverything correctly.\n\nChange-Id: Ifedb5c7a251ba6ddbe4cd66408b0259a72d6521d\nReviewed-on: https://review.monogon.dev/c/monogon/+/4454\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "3553b240af181f5eba87ffd2af9323fa054e1967",
      "tree": "6b6457ca8fff37cde8eca98067884bbe9e39bbbd",
      "parents": [
        "c263592f0b260d13439e7e4a566b3db3ae6ebc38"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 21 18:19:05 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 17:24:03 2025 +0000"
      },
      "message": "osbase/logtree: add WithBacklogOrder\n\nBy moving the log entry reversal to the logtree.LogReader,\nthe behavior of getEntries and scanEntries changed. This is\nfine as there are no other consumers for these functions outside of\nlogtree and the reader keeps the previous behavior, but also allows\nto skip it.\n\nChange-Id: If1fddd14d43aca64009655b978d6a05dd910eb50\nReviewed-on: https://review.monogon.dev/c/monogon/+/4447\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "c263592f0b260d13439e7e4a566b3db3ae6ebc38",
      "tree": "c95dbb68e8d2d19a4dd575f9a3736b82775e2947",
      "parents": [
        "5a4037ccda447a1346c905287499bd069a408f8b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 21 18:01:23 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 17:24:03 2025 +0000"
      },
      "message": "osbase/logtree: add WithStreamBufferSize option\n\nChange-Id: I3aa2e39a2a191d8bac6812181df00f17660c99a9\nReviewed-on: https://review.monogon.dev/c/monogon/+/4446\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "5a4037ccda447a1346c905287499bd069a408f8b",
      "tree": "22948091ba54cfad137587abef794930d03aa25a",
      "parents": [
        "9e964888dbac4ba94a1925deb1765d478b3258ff"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jul 21 18:27:05 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jul 22 15:50:31 2025 +0000"
      },
      "message": "third_party/nix/pkgs/bazel_8: fix linux-sandbox\n\nLooks like this never actually worked on NixOS due to a\nhardcoded /bin/true.\n\nChange-Id: I6a6a6964bf6951592e92bfcd16b309a8d46e123d\nReviewed-on: https://review.monogon.dev/c/monogon/+/4448\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "9e964888dbac4ba94a1925deb1765d478b3258ff",
      "tree": "178d087c11dc1c462a86dbeb84ab4a257450df38",
      "parents": [
        "ce0ea8fc0f9f887535e7556c1f1f47d6719efae9"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 01:06:21 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 15:32:33 2025 +0000"
      },
      "message": "osbase/logtree: use constant for defaultDNQuota\n\nChange-Id: I74273a63b837b92f7147b2f694fd5324da34fbd4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4451\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ce0ea8fc0f9f887535e7556c1f1f47d6719efae9",
      "tree": "096f6732fbe2a3552472718b267a943d59f5b995",
      "parents": [
        "50093be02ea628287b98f98f1c7511a8c6d5a305"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 21 19:13:43 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 15:32:30 2025 +0000"
      },
      "message": "osbase/logtree: make Read() more readable\n\nChange-Id: Ic6b365a79f90c59d2624889f795bfc7c684d815a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4449\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "50093be02ea628287b98f98f1c7511a8c6d5a305",
      "tree": "8e57b7db6a1050e036e4ff829c574a146072c579",
      "parents": [
        "8a75ccd30eb81a9e66d8fcf983c122dc21db26f7"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 21 17:39:09 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 15:32:30 2025 +0000"
      },
      "message": "osbase/logtree: refactor LogReadOption to use functions\n\nThis makes default values way easier\n\nChange-Id: Iddfe22da84054bd122eb7a2db63b07329a9458e0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4445\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "8a75ccd30eb81a9e66d8fcf983c122dc21db26f7",
      "tree": "d8a1bfc4bf183711d86e65b75cc3c6fd0882a30c",
      "parents": [
        "e10570c7991d736e43e13afeeac1013ec3eaa0aa"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 00:39:07 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 15:32:30 2025 +0000"
      },
      "message": ".gitignore: add .gitreview\n\ngit-review is a tool that helps submitting git branches to Gerrit for review.\n\nChange-Id: I5b5693463b8e41e1166545402e60b56c5b82be4a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4450\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "e10570c7991d736e43e13afeeac1013ec3eaa0aa",
      "tree": "0d71df70a90534a2d3bcc2a49ad69ef131825ed7",
      "parents": [
        "df4ab3c35c0aa0213a59d56b2333196fa8a34720"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 19:36:10 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Fri Jul 18 17:32:06 2025 +0000"
      },
      "message": "third_party/linux: use UTC timestamp\n\nPreviously, the build timestamp was generated in the local timezone,\nwhich the date command reads from /etc/localtime. This meant that the\nbuild was not reproducible across hosts with different timezones.\nNow, it should always print the timestamp in UTC.\n\nChange-Id: I696c1fa410fb3abf7918e861015566298250d541\nReviewed-on: https://review.monogon.dev/c/monogon/+/4443\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "df4ab3c35c0aa0213a59d56b2333196fa8a34720",
      "tree": "e96f94150e01dec48e62621c99d27c3e3e2e3a76",
      "parents": [
        "cfbc903146d77408567646708f4c9c3ae782145a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 17 15:21:25 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 17 15:03:12 2025 +0000"
      },
      "message": "build/ci: build toolchain bundle\n\nCloses monogon/monogon#490\n\nChange-Id: I05aa62d9eb296d7730679883d017ec3480d22fb1\nReviewed-on: https://review.monogon.dev/c/monogon/+/4442\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "cfbc903146d77408567646708f4c9c3ae782145a",
      "tree": "494bf768df9bea2743345c10fa0a6335ac04bbbd",
      "parents": [
        "a16e6f917f70054bbe50fdc100ae1a7be2e40d91"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 15 14:18:45 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 17 14:53:07 2025 +0000"
      },
      "message": "treewide: bump to k8s v1.33.2\n\nUpdate Kubernetes to 1.33 which is already at patch version 2. As part\nof K8s gomod dependencies containerd was bumped a minor release to 2.1.3.\nThe UserNamespacesSupport feature gate is now default-on and was thus\ndropped. The netlink patches were upstreamed and can now be dropped as\npart of the depenency update. A new klog sink adapter for our logging\ninterface was introduced as the client-go MutationCache now requires a\nlogger.\n\ncontainerd abuses gRPC interfaces for mocking, thus they are not\nforward-compatible and need a new patch to be compatible with the\nCRI version now being used.\n\nChange-Id: I4feb2ab3bcfca5b83c7ea38ed444b14ade1e9bf0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4433\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "a16e6f917f70054bbe50fdc100ae1a7be2e40d91",
      "tree": "4ca516d9720adf2b0f723da10f901c9950d794a6",
      "parents": [
        "bd57c1d1c5055b8f6ec7f2fade44746529506d43"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 23:48:18 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 17 13:05:11 2025 +0000"
      },
      "message": "build/ci: split up stages for more parallelism\n\nChange-Id: I1fa1be24f789562bcd060ac3b5ff4cc314cffe59\nReviewed-on: https://review.monogon.dev/c/monogon/+/4440\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "bd57c1d1c5055b8f6ec7f2fade44746529506d43",
      "tree": "a252398e84e1886be2df2be1f2069267c866e56a",
      "parents": [
        "371faaca47a77fa1c567f26c082a1d8e9c7ce30f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 15:57:55 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 17 12:35:36 2025 +0000"
      },
      "message": "metropolis/test/launch: enable VNC for launch-cluster\n\nChange-Id: Ia32860b98ed7d4aec6aa7f6a2fb22813edea0e48\nReviewed-on: https://review.monogon.dev/c/monogon/+/4436\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "371faaca47a77fa1c567f26c082a1d8e9c7ce30f",
      "tree": "fee968b5e3263f9fde87d01cf0f75c06aaae039b",
      "parents": [
        "7d1538f30cda018f55303fb1a76a8ddf3286990a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 14:02:58 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 12:30:25 2025 +0000"
      },
      "message": "m/cli/metroctl: add multiplatform metroctl target\n\nThis adds a target which builds metroctl for multiple platforms. Because\nthis target will be built with \"bazel test //...\", we no longer need to\nexplicitly test building metroctl for various platforms in CI.\n\nBuilding fails with --config\u003drace; I added a target_compatible_with so\nthe target is skipped in this case.\n\nChange-Id: Ib747233bc8442af5f947d35289d36ddd147b7953\nReviewed-on: https://review.monogon.dev/c/monogon/+/4439\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "7d1538f30cda018f55303fb1a76a8ddf3286990a",
      "tree": "0d9a46cc49ac41a3f85e3e87ece77a26aea235c0",
      "parents": [
        "4bd25e8621d42bdff3d9966a43be14f99f4fe752"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 10:08:18 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 09:05:31 2025 +0000"
      },
      "message": "osbase/build/mkpayload: make section order reproducible\n\nIteration order of Go maps is randomized, which resulted in sections\nbeing added to the EFI file in random order. Now, the sections are\nstored in a slice instead of a map, such that they are added to the file\nin the order they are defined. This fixes a reproducibility bug.\n\nChange-Id: I2a4c775a6b16e4f8a00c6b195dd169d874213d47\nReviewed-on: https://review.monogon.dev/c/monogon/+/4441\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "4bd25e8621d42bdff3d9966a43be14f99f4fe752",
      "tree": "10e88bf5cad3546392e76b0919a3d0e432f0769e",
      "parents": [
        "7ae2559d38ac1f3765044c52b98ff5665e7317d2"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jul 11 19:36:28 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 21:51:25 2025 +0000"
      },
      "message": "treewide: override TMPDIR for tests that use qemu\n\nWhen running QEMU with snapshot\u003don set, QEMU creates a copy of the\nprovided file in $TMPDIR. If $TMPDIR is set to /tmp, it will always\nbe overridden to /var/tmp. This creates an issue for us, as the\nbazel tests only wire up /tmp, with /var/tmp being unaccessible\nbecause of permissions. Bazel provides $TEST_TMPDIR for this\nusecase, which we resolve to an absolute path and then override\n$TMPDIR.\n\nChange-Id: I767159211d3b3db2aafd0f4fc17d6d6480974f16\nReviewed-on: https://review.monogon.dev/c/monogon/+/4422\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "7ae2559d38ac1f3765044c52b98ff5665e7317d2",
      "tree": "04d2b449c53e0a3afd9272f0df7e136497937247",
      "parents": [
        "5d357d87ad3dc14bedbfd9e012eae5b8ff85f772"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 06:53:30 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 21:14:23 2025 +0000"
      },
      "message": "root: add .envrc\n\nChange-Id: I969b8d32157e408d09bc2f32b8450581d5eb9c37\nReviewed-on: https://review.monogon.dev/c/monogon/+/4413\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "5d357d87ad3dc14bedbfd9e012eae5b8ff85f772",
      "tree": "1791af9ca36aabd988b8db1c81516debbf9036da",
      "parents": [
        "2b480f6eb860b94cf96f133f3700e08f18c76c40"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 18:47:15 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 21:14:12 2025 +0000"
      },
      "message": "treewide: remove FHSEnv\n\nTo remove the FHSenv, we have to patch rules_python to use\n/usr/bin/env to resolve the path to bash instead of hardcoding it.\nAdditionally, we now bring a Nix-compatible Bazel 8.\n\nChange-Id: Id51e7748eea6dd77185f43a52fe45b5110ba4a2b\nReviewed-on: https://review.monogon.dev/c/monogon/+/4427\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "2b480f6eb860b94cf96f133f3700e08f18c76c40",
      "tree": "3da0c62f81b8c67ab5138beb34be7f3b57ea05b6",
      "parents": [
        "26add7576e6d9346b33de5fbbccabba1108f4785"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 15 14:45:05 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 15 14:17:45 2025 +0000"
      },
      "message": "treewide: use go version from go.mod\n\nInstead of manually syncing the Go version we use to build,\nwe can tell rules_go to fetch it from our go.mod.\n\nChange-Id: Ic6bcf71ca67d0773c525ffaa0b992df34d5e7f5f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4434\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "26add7576e6d9346b33de5fbbccabba1108f4785",
      "tree": "1ca5aa22e92a5b6a79d2aa02fb69a7bc412c79a2",
      "parents": [
        "2add1cb4f90df3dfe3dac1748605555f4158f125"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 15 11:36:05 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 15 12:21:06 2025 +0000"
      },
      "message": "m/n/core/curator: remove flaky attribute\n\nThe issue is closed for a while now.\n\nCloses monogon/monogon#392\n\nChange-Id: Ie6f5be2882706f149901e098315e742b4bd19644\nReviewed-on: https://review.monogon.dev/c/monogon/+/4432\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "2add1cb4f90df3dfe3dac1748605555f4158f125",
      "tree": "5c79b1296315a835cdf402f54350ab03090d2ce1",
      "parents": [
        "e2265b30113f50b7b2d04259ad326c3e4aba7f5e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 14 09:26:18 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Jul 15 11:55:43 2025 +0000"
      },
      "message": "osbase/build/mkverity: generate salt from product info\n\nThe salt is now generated from the product info file, instead of the\ninput image file. This reduces build time by around 0.3 s.\n\nChange-Id: Id3263e24604745324a5652658ff79cc79c9df5fa\nReviewed-on: https://review.monogon.dev/c/monogon/+/4431\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e2265b30113f50b7b2d04259ad326c3e4aba7f5e",
      "tree": "cc66d11b44a21770f6855e75fe3bc1f7ad0d80ce",
      "parents": [
        "f6c2cd25e6f0dca5cbe6279d46a3a77f14120529"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 19:31:07 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 18:06:03 2025 +0000"
      },
      "message": ".github/workflows: fix syntax\n\nChange-Id: I5db08f6aedf95d9d32f6ffce7508f23febb41e11\nReviewed-on: https://review.monogon.dev/c/monogon/+/4426\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "f6c2cd25e6f0dca5cbe6279d46a3a77f14120529",
      "tree": "8e9bbb99b82d70495c3752a7e76ae5ee0dfdcca7",
      "parents": [
        "9c8f253e311762b742bf15b1f271008ccaecfc65"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 22:13:55 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 16:37:57 2025 +0000"
      },
      "message": "b/t/toolchain-bundle: patch bison to use env for path resolving\n\nChange-Id: I266b30d442aa62f32ffbb6ccbe869012a91bcf0a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4420\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "9c8f253e311762b742bf15b1f271008ccaecfc65",
      "tree": "cd1a2911594fc34cc9ce8f921890f16cea0173a3",
      "parents": [
        "9a063aec1750c21e684ab6f9d367dd0d02563648"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 23:09:06 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 16:37:24 2025 +0000"
      },
      "message": "third_party/linux: force bison und flex from toolchain-bundle\n\nAlso fix BISON_PKGDIR env var\n\nChange-Id: Iadf71b1b02b06a7faaa6ecdc4e154c3f08b81007\nReviewed-on: https://review.monogon.dev/c/monogon/+/4421\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "9a063aec1750c21e684ab6f9d367dd0d02563648",
      "tree": "c6b1139fabf647f30b8619a14fefddf80b7dfea9",
      "parents": [
        "ea800253e8a4b5ddf44b9358fcc9e6c67f88ee78"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 18:35:34 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 16:37:20 2025 +0000"
      },
      "message": "third_party/edk2: use busybox toolchain\n\nThis add the busybox toolchain as we need it as soon as the tools are\nnot in PATH. Currently its fine as we have a FHSEnv on NixOS and\ncoreutils in our Jenkins CI. As soon as we remove the FHSEnv this is\nactually required. It\u0027s done by replacing the strace toolchain which\nwas added by accident when debugging the edk2 build.\n\nChange-Id: I081099d93ea3625a00d216569f522154ba3faabe\nReviewed-on: https://review.monogon.dev/c/monogon/+/4416\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ea800253e8a4b5ddf44b9358fcc9e6c67f88ee78",
      "tree": "f5b197a7d1e6d5f089a736e175f8e63840a03299",
      "parents": [
        "8cd10304755dbd8962bc4e7b68af9ac3bcb99ffd"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 07:00:29 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 16:34:22 2025 +0000"
      },
      "message": "b/t/toolchain-bundle: add python3.12\n\nChange-Id: Iedf0c35f5f4334bf5c93c5cc937ef855cbabd5c6\nReviewed-on: https://review.monogon.dev/c/monogon/+/4411\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "8cd10304755dbd8962bc4e7b68af9ac3bcb99ffd",
      "tree": "285095d58c359e2c1883320e9fdbdbcdb5abc82d",
      "parents": [
        "3871fa1003840be797fc3f49efb716ae5f4862b1"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 17:58:42 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 16:34:22 2025 +0000"
      },
      "message": "third_party/nix: bump nixpkgs\n\nChange-Id: Ie33773d96451a92ce431b49a87e410c536ff4857\nReviewed-on: https://review.monogon.dev/c/monogon/+/4423\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3871fa1003840be797fc3f49efb716ae5f4862b1",
      "tree": "22394cf2fbae2c134fc297b9e7231b640b3b9218",
      "parents": [
        "58bbc85c27d2d91276113640ba1fe6ea0f2e8b0c"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 17:30:00 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 10 11:11:12 2025 +0000"
      },
      "message": "osbase/build/mkverity: make build reproducible\n\nThe verity encoder previously generated a random salt. To make the build\nreproducible, the salt is now taken from a hash of the entire input\nfile.\n\nI shortened the salt from 64 bytes to 16 bytes. This is enough for the\npurpose of the salt, which is to make hash collisions not reusable\nacross images. A potential benefit of the 64 byte salt is that it fills\na sha256 block and thus the remaining data is aligned to that block\nsize. On the other hand, with a 16 byte salt, one fewer hash block is\nneeded because the sha256 length fits in the last partially filled\nblock.\n\nThe encoder also generated a random UUID, but this did not affect\nreproducibility as we do not write the superblock. For now, I removed\nthe UUID generation as it is completely unused.\n\nNow, the build of //metropolis/node:oci_image is reproducible on my\nmachine.\n\nChange-Id: I756ca31d02e65c7d6ce7bbfd6749c835ab696f3f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4418\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "58bbc85c27d2d91276113640ba1fe6ea0f2e8b0c",
      "tree": "bf38ed05f93a7eac50b610a454203d995c4220f0",
      "parents": [
        "03dadba89882b90e671a0942311e1588b37fc918"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 10:13:21 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 10 11:11:12 2025 +0000"
      },
      "message": "third_party/linux: make build reproducible\n\nLinux includes a timestamp, username and hostname in /proc/version and\nother places. We need to set these to a fixed value to make the build\nreproducible. For the timestamp, we can use the modified date of any\nfile in the source archive; all files in the archive have the same\ntimestamp.\n\nSee Linux Documentation/kbuild/reproducible-builds.rst\n\nChange-Id: If50bb5a8ee73e5bc37e95a5d38e7ee87d85518a5\nReviewed-on: https://review.monogon.dev/c/monogon/+/4417\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "03dadba89882b90e671a0942311e1588b37fc918",
      "tree": "1a722255b8f5238ead2911ba17b18e914433e235",
      "parents": [
        "62229cf857f1f205b4190bd3d6069928984e36fe"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 06:58:03 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 23:59:05 2025 +0000"
      },
      "message": "build/toolchain/toolchain-bundle: Add and use supported targets list\n\nThis makes the definitions less verbose.\n\nChange-Id: Ifc4d9853b408da876100c41e79bc9d4f4d800d63\nReviewed-on: https://review.monogon.dev/c/monogon/+/4410\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "62229cf857f1f205b4190bd3d6069928984e36fe",
      "tree": "050834d60ca831733825a83aceab78736a5a4404",
      "parents": [
        "59b49c9b57d37673ef4ecf0c2855280910fc4462"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 12:47:31 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jul 09 18:03:12 2025 +0000"
      },
      "message": "treewide: update etcd to 3.6\n\nThis is a fairly large update, containing 4 years of upstream\ndevelopment. A lot of code has been moved around, requiring a rebase of\nall patches and ajustments in code using it.\n\nUpstream requires that upgrades first go through etcd 3.5.20, which is\ndone in a CL below this one. Other than that upgrades are possible\nthrough normal Monogon node updates, but downgrades (while implemented\nfor 3.6.0) are still not supported in Monogon until further work is\ndone.\n\nThere are significant issues in etcd synchronization between the\n\"outside\" manager (embed or standalone) and the core (EtcdServer), one\nof which affects removal of the ConsensusMember role, causing a panic\ndue to the client listener not being closed when the server shuts down\non its own. This is triggered by the autopromoter hitting an endpoint on\na shut-down etcd, which accesses a nil backend. This issue existed\nbefore, a full fix will likely involve either significantly rewriting or\ngetting rid of the embed package, so this just fixes the panic-causing\ncode path.\n\nChange-Id: If5932a7428a262fde406a5bb652a40d211301734\nReviewed-on: https://review.monogon.dev/c/monogon/+/4394\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "59b49c9b57d37673ef4ecf0c2855280910fc4462",
      "tree": "16f86529ce090fb684d9382969dd839326b018b0",
      "parents": [
        "f59b6bea7c5cee84b1b52e706eb3d9b8da7cf010"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 06:54:49 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 16:21:00 2025 +0000"
      },
      "message": "third_party/rules_rust: remove direnv dependency for loader_wrapper\n\nChange-Id: I0eb1106b8ec3775ee1218fa9874dcadee3419403\nReviewed-on: https://review.monogon.dev/c/monogon/+/4408\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "f59b6bea7c5cee84b1b52e706eb3d9b8da7cf010",
      "tree": "02e7b2df095ce099c19b7d629ebd31d6dd60b30e",
      "parents": [
        "06341a6b1afd7e6c7c395bd6731c7df978c8c4e5"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 06:54:15 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 16:21:00 2025 +0000"
      },
      "message": "third_party/glib: disable glibc specific features\n\nChange-Id: Icafde61cb3a273495f30165134d26665aa969cb9\nReviewed-on: https://review.monogon.dev/c/monogon/+/4407\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "06341a6b1afd7e6c7c395bd6731c7df978c8c4e5",
      "tree": "afef720aecd0149092f252413db89d1b5ceba4da",
      "parents": [
        "2b9a0a0fcf0aeece55ba8792a22cfa42733823c0"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 08:02:35 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 14:53:49 2025 +0000"
      },
      "message": "build/binary_tarball: rename from static_binary_tarball\n\nThe static_binary_tarball rule no longer has a transition to build\nstatically, so the \"static\" part of the name is not meaningful anymore.\n\nChange-Id: Ifaecf2f7846a963d957d4bfcc89a3d9e7e911f5c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4415\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "2b9a0a0fcf0aeece55ba8792a22cfa42733823c0",
      "tree": "b8694b0d0224bcdc37238306e00e68bf261bd71d",
      "parents": [
        "10d47cc2d5d64f2a0b0e9a70b7ce09a306a14c37"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 07:54:12 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 14:53:49 2025 +0000"
      },
      "message": "treewide: remove build_static_transition\n\nWe now build everything statically on Linux. This means we don\u0027t need\nthe build_static_transition anymore, as it has become a no-op.\n\nChange-Id: Id6b978daf09bf3e8e252d00da3795909d7ce3b75\nReviewed-on: https://review.monogon.dev/c/monogon/+/4414\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "10d47cc2d5d64f2a0b0e9a70b7ce09a306a14c37",
      "tree": "d979a6c9fd50666fbcf23507601c81f1079ea47d",
      "parents": [
        "bb53d28169fe2f80fd42635b03fe8ee01af85bb4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 00:34:51 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "fionera@fionera.de",
        "time": "Wed Jul 09 14:31:46 2025 +0000"
      },
      "message": "metropolis/node/abloader: Update to uefi 0.35.0 and prost 0.14.1\n\nChange-Id: I8e81056621c465173cb8416f01c37a46ed65fc28\nReviewed-on: https://review.monogon.dev/c/monogon/+/4377\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "bb53d28169fe2f80fd42635b03fe8ee01af85bb4",
      "tree": "a061351e24b704cc8b3ff475d820da3dc5b3ce64",
      "parents": [
        "e18cf27d820dc24ac610130a3cdab642cc4903b6"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jul 08 17:13:31 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jul 08 15:59:40 2025 +0000"
      },
      "message": "tools/bazel: short-circuit wrapper when running inside nix-shell\n\nTested:\n- `bazel` inside Nix shell.\n- `tools/bazel info` inside Nix shell.\n- `tools/bazel info` outside Nix shell.\n-  `nix-shell -p bazelisk --run \u0027bazelisk info\u0027` outside Nix shell.\n\nChange-Id: I6a6a696430ea12d0bd61db56f13af596cf0a6729\nReviewed-on: https://review.monogon.dev/c/monogon/+/4405\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e18cf27d820dc24ac610130a3cdab642cc4903b6",
      "tree": "38df60da52fa51d40f33093dd663b7b0a5a018c4",
      "parents": [
        "66953ecf01f293fa3fe1619883682cafad67d866"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jul 08 16:56:03 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jul 08 15:27:05 2025 +0000"
      },
      "message": "intellij: remove custom tooling\n\n- The patch hasn\u0027t applied in a long time, and nobody has complained,\n  so it would appear that the patch is no longer necessary.\n\n- localconfig and run configs are unused/unmaintained.\n\nChange-Id: I6a6a6964d58dac6b7f2e749059716edf98ac129f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4404\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "66953ecf01f293fa3fe1619883682cafad67d866",
      "tree": "199930e9641b034474ce1143000cd74bd6d23914",
      "parents": [
        "12240f9bb95fae3b6c4737d825c498f35320e89b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 02 21:24:09 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 13:25:30 2025 +0000"
      },
      "message": "treewide: remove sandboxroot\n\nBe gone! 🎉\n\nChange-Id: Ibd032f4bcfe079c7d2acf4e444f543da30a14c53\nReviewed-on: https://review.monogon.dev/c/monogon/+/4398\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "12240f9bb95fae3b6c4737d825c498f35320e89b",
      "tree": "6cb9d3e47168fc7736c0ce484879f9d59cae9893",
      "parents": [
        "a92977339eef83af2cf94d28fe8786c0fafe53bc"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Apr 28 14:59:33 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 13:25:25 2025 +0000"
      },
      "message": "third_party/edk2: use toolchain-bundle for edk2 build\n\nThis moves the build into a custom rule instead of a genrule.\nThis also adds the AARCH64 build and renames the files to be more\ngeneric\n\nChange-Id: If6e3cecaf4011e2e39f13b1d40bcc7060cee3afb\nReviewed-on: https://review.monogon.dev/c/monogon/+/4154\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "a92977339eef83af2cf94d28fe8786c0fafe53bc",
      "tree": "ea1080bab9a9569f0f90ef5d3178aaf2445a7fe9",
      "parents": [
        "0a2a9402b6e3b576ce5c0ac6e98d1d6271b925ac"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 13:23:24 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 08 12:00:34 2025 +0000"
      },
      "message": "gomod: update etcd to 3.5.21\n\nThis is required for any in-place upgrades to etcd 3.6 and higher as\nearlier 3.5 releases have a bug [1] relating to learner metadata which\nall Monogon nodes would trigger. Any ConsensusMember nodes first need to\nbe upgraded to a build containing this change but not the 3.6 upgrade\nbefore being able to upgrade to a 3.6-containg version.\n\n[1] https://github.com/etcd-io/etcd/issues/19557\n\nChange-Id: I689b3456daf0fa28c38a8cc22e33cb4b6032ad49\nReviewed-on: https://review.monogon.dev/c/monogon/+/4393\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "0a2a9402b6e3b576ce5c0ac6e98d1d6271b925ac",
      "tree": "452483ca78690107d633ea71a6ea3ef7e6e3bbd6",
      "parents": [
        "6cca932dd18af0bb3e0c6dba5a71855983b3af19"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 01:55:59 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 11:43:48 2025 +0000"
      },
      "message": "metropolis/cli/takeover/e2e: write metroctl configs to tmp directory\n\nWithout the sandboxroot, metroctl tries to create /.config,\nwhich obviously will fail as it doesn\u0027t have root permissions.\nThis overrides the config dir to use a temporary directory.\n\nChange-Id: I8c8316e170e1e21d006ba831eaa86734fdb726cc\nReviewed-on: https://review.monogon.dev/c/monogon/+/4402\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "6cca932dd18af0bb3e0c6dba5a71855983b3af19",
      "tree": "4c1df95b3663ccd40e44c03967d582c3732af96d",
      "parents": [
        "c3a6a05f3e140657c45abfdc9a945e2ab379d47c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 15 21:13:32 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 11:43:32 2025 +0000"
      },
      "message": "third_party/linux: use toolchain-bundle for linux kernel build\n\nThis contains lots of workarounds and should be migrated to a native\nbazel integration.\n\nChange-Id: Ib0a52daf3879df4d5369541475c42fa506a54328\nReviewed-on: https://review.monogon.dev/c/monogon/+/4101\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "c3a6a05f3e140657c45abfdc9a945e2ab379d47c",
      "tree": "baad4789b83e9ab93e43394d1944f6d2270a79a2",
      "parents": [
        "31c44491e5a1632f6f881df3b52beadddb57653c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 07 17:00:11 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 11:43:32 2025 +0000"
      },
      "message": "build/platforms: fix missing flags on remote execution platform\n\nChange-Id: Ie3408448a44a87cb099b5d4ef3d902c45669b6fe\nReviewed-on: https://review.monogon.dev/c/monogon/+/4401\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "31c44491e5a1632f6f881df3b52beadddb57653c",
      "tree": "768d72d556413b32eaeb8ceb24bf3d645507b1a9",
      "parents": [
        "c4c89601ff800c421caea620d7c183c3c616bb46"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 13:32:10 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 08 10:23:10 2025 +0000"
      },
      "message": "m/n/c/network: log interfaces when none match\n\nThis helps users figure out what interfaces are available for matching\nwhen no interfaces match a given description. Also helps distinguishing\nbad selectors from hardware which does not show up (because of missing\ndrivers or hardware/firmware issues).\n\nChange-Id: Ie4bbdc04b76af7feed123b5df587c9eb5ee7ea37\nReviewed-on: https://review.monogon.dev/c/monogon/+/4395\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "c4c89601ff800c421caea620d7c183c3c616bb46",
      "tree": "305a1f1044aaaa7f0d4fb1e9e40ff81003aca131",
      "parents": [
        "83e86df1b58c6ff0a982c1241a83d240b878fef6"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 07 17:00:11 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 07 20:50:20 2025 +0000"
      },
      "message": "treewide: remove host_cc_toolchain, add static flags to linux platforms\n\nWith rules_rust now being able to build with our toolchain and sysroot,\nwe can finally get rid of the host_cc_toolchain.\n\nChange-Id: Ic63bc34ff94d152a9c2d8a01a6036255da5e14cc\nReviewed-on: https://review.monogon.dev/c/monogon/+/4397\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "83e86df1b58c6ff0a982c1241a83d240b878fef6",
      "tree": "7d622c8d6d58877d35134300b917c6cdf983e3dc",
      "parents": [
        "548cbe63b69b01f3013c0935f217eab653c5ed63"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 13:52:47 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 15:06:13 2025 +0000"
      },
      "message": "third_party/linux: increase maximum CPUs to 512\n\nServer CPUs with more than 64 cores are very common, so we need to bump\nthis. Linux technically supports up to 8192 cores (x86_64) or 4096 cores\n(arm64), but only with offstack CPU masks. These have some known\nfunctional and performance issues and thus should only be enabled when\nneeded. For arbitrary reasons [1] this limit is 256 on ARM64 and 512 on\nx86_64. Since we need a 512 limit on all architectures this places us in\nthe unfortunate situation of needing to enable offstack for ARM64 but\nnot for x86_64. This aligns with other distros like Google\u0027s COS and\nClear Linux, but is unfortunate. We do not increase the ARM64 limit\nfurther as despite offstack being selected, some drivers (like mlx5) do\nstill keep these structures on the stack [2].\n\n[1] https://lore.kernel.org/linux-arm-kernel/ZfiFMr8s68cf2uac@arm.com/T/#t\n[2] https://lore.kernel.org/all/20250620111010.3364606-1-arnd@kernel.org/\n\nChange-Id: I78a8b3b886ddb15f8bdd919c3806a3416e5cf943\nReviewed-on: https://review.monogon.dev/c/monogon/+/4396\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "548cbe63b69b01f3013c0935f217eab653c5ed63",
      "tree": "93f5cfa0f9d6bdf4aa077d22339005bc786bcaf9",
      "parents": [
        "edb3b3ad467533231dcd041c71d7370401bf12eb"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 03 16:26:11 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 07 14:38:48 2025 +0000"
      },
      "message": "third_party/rules_rust: Use musl toolchain and add loader_wrapper\n\nChange-Id: Ia873e6bf43ed8f6f3c56943dba0e893b7efb7f44\nReviewed-on: https://review.monogon.dev/c/monogon/+/4310\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "edb3b3ad467533231dcd041c71d7370401bf12eb",
      "tree": "3e9a38e5752d841bc1582d920e40bcc577a6018e",
      "parents": [
        "3545df32f717c806d2610bbdc2bceaa6645069e2"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 11:18:56 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 12:00:13 2025 +0000"
      },
      "message": "third_party/linux: enable QLogic FastLinQ NICs\n\nThese are still used in the wild, enable them in our kernel config.\n\nChange-Id: Idbe967609302b77edaa85853203dfaee4cd07852\nReviewed-on: https://review.monogon.dev/c/monogon/+/4392\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "3545df32f717c806d2610bbdc2bceaa6645069e2",
      "tree": "edd421d895a2fc285a74c59790b3a7757d14e1da",
      "parents": [
        "18b18d1cbe84739238215608ba3a1556bab13378"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 11:15:15 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 12:00:13 2025 +0000"
      },
      "message": "m/installer: support kernel modules with firmware\n\nAdd device manager runnable and associated metadata, loadable kernel\nmodules and firmware. This is required to run the installer on platforms\nwhich require loadable firmware to access storage devices.\n\nChange-Id: I680c741df23693a8810220e4831e8bd45afca580\nReviewed-on: https://review.monogon.dev/c/monogon/+/4391\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "18b18d1cbe84739238215608ba3a1556bab13378",
      "tree": "074a2c43ce9aa27b37af2685a3cddda8b4bad0c2",
      "parents": [
        "da101ca15a636d3caac051fdd90aa5801421cd56"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 11:12:28 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 12:00:13 2025 +0000"
      },
      "message": "m/c/metroctl/install: fix custom NodeParameters\n\nUnmarshaling into a nil pointer panics, use a locally-allocated variable\ninstead.\n\nChange-Id: I0b00df6d6b06aaf662ddf93f996df804b8bbef5f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4390\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "da101ca15a636d3caac051fdd90aa5801421cd56",
      "tree": "10ab7641942c9290673ce8ea2af26482e9620fc9",
      "parents": [
        "78fd25b108c2f636de83e5f74c59e4d15f633fb0"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jul 03 11:42:57 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 11:43:58 2025 +0000"
      },
      "message": "linux: add more USB modules\n\nThis adds more USB modules, mostly to support install from USB\non more platforms. Also enables dynamic minor numbers to support\narbitrary numbers of devices.\n\nChange-Id: Ie634fcbc8fd35e4775cc999d6a9af371732f2e4c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4388\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "78fd25b108c2f636de83e5f74c59e4d15f633fb0",
      "tree": "359f13742ba928909ed9acb95c75b70d023c0742",
      "parents": [
        "22bea7550a9cb9265aa0c6a1dd118ff7e9b99300"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 02 21:30:09 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jul 04 19:50:29 2025 +0000"
      },
      "message": "treewide: bump bazel to 8.3.1\n\nThis also bumps bazel_skylib, as it uses deprecated functionality.\n\nChange-Id: I26d665967c14e5b3a437a3322f065ae1e2e63d9e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4383\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "22bea7550a9cb9265aa0c6a1dd118ff7e9b99300",
      "tree": "6e01d4401baf90f5bf7db588eb8ca7174671133e",
      "parents": [
        "1212ea1514581ce6a7779004270c0721262594ba"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 03 07:17:11 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 03 15:48:33 2025 +0000"
      },
      "message": "build/bazel: make Rust EFI builds reproducible\n\nThe abloader build was not reproducible because of this issue:\nhttps://github.com/rust-lang/rust/issues/112587\n\nWe don\u0027t need the PDB file, so this disables it.\n\nCo-authored-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nChange-Id: I8791d5c43ce23c3d1de1e0a3eeedc4d47f8eb4e7\nReviewed-on: https://review.monogon.dev/c/monogon/+/4386\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "1212ea1514581ce6a7779004270c0721262594ba",
      "tree": "118a1c9b69fccae9be2b2de0a00dc65aa886fafb",
      "parents": [
        "804024979fd8c5adaece89207a0d29646d7cbbe2"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 03 07:42:43 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 03 09:42:50 2025 +0000"
      },
      "message": "osbase/bootparam: make test external\n\nThe bootparam package was the only package with this edge case:\n\n1. It has both an internal and an external test.\n2. The external test depends on a separate package, which depends on the\n   package under test.\n\nThe core of rules_go has a 225 line function to handle this edge case:\nhttps://github.com/bazel-contrib/rules_go/blob/v0.55.1/go/private/rules/test.bzl#L519\n\nHowever, the edge case is not handled by the gopackagesdriver.\nAdditionally, the separate package (bootparam/ref) uses cgo, which\ncauses additional problems. This means that the Go VS Code extension\nalways reports 8 warnings in the bootparam and ref packages.\n\nInstead of fixing this edge case in gopackagesdriver, it\u0027s easier to\nmake bootparam package not have this special case by making the internal\ntest external. This removes all the warnings.\n\nChange-Id: Ia0aa4d2b62cdeaaec9983f3ecf4d229ea49358b2\nReviewed-on: https://review.monogon.dev/c/monogon/+/4387\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "804024979fd8c5adaece89207a0d29646d7cbbe2",
      "tree": "70991d13fba4b166da6889acd342bc923f69bd22",
      "parents": [
        "3f5f3ed34f44a7c88f7755f1945db514df03d773"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 02 14:07:34 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 02 16:19:57 2025 +0000"
      },
      "message": "third_party/rules_go: add gopackagesdriver patch\n\nChange-Id: I398dcc4a3a4812083f4b62c00ea21b727b5a8462\nReviewed-on: https://review.monogon.dev/c/monogon/+/4380\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3f5f3ed34f44a7c88f7755f1945db514df03d773",
      "tree": "5e0b535c3b3b72cc78d385093e9cd89cf6514589",
      "parents": [
        "ca73504068e1468d7ac7842007bea4ec6799ec60"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 02 16:10:40 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 02 14:38:19 2025 +0000"
      },
      "message": "treewide: bump toolchain_cc_mngn\n\nThis includes the MSVC compatible efi toolchain flags\n\nChange-Id: I06145ba9b1e403fb9df1005403958d4f04276007\nReviewed-on: https://review.monogon.dev/c/monogon/+/4381\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ca73504068e1468d7ac7842007bea4ec6799ec60",
      "tree": "62f4f9ff7b24898544028fc2583426d59f41fac2",
      "parents": [
        "f6136cab946c3dc574032e671d096c5c86818b9b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jun 05 08:56:34 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 11:30:33 2025 +0000"
      },
      "message": "treewide: add openssl\n\nopenssl is required for building the linux kernel.\n\nChange-Id: Ic855e767b167b1ac3f3172e47e0f42e4f2f35252\nReviewed-on: https://review.monogon.dev/c/monogon/+/4255\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "f6136cab946c3dc574032e671d096c5c86818b9b",
      "tree": "d39591ade1b2fab76e579855197edd4b3cf371e7",
      "parents": [
        "590239d455014624c8e27abfd0c8cf92ec14eb67"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Jul 01 08:38:07 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Jul 01 11:22:22 2025 +0000"
      },
      "message": "m/installer/install: embed bios_bootcode\n\nWe have a BIOS bootcode which displays a message that only UEFI boot is\nsupported, but this was not installed anywhere. Now it\u0027s included in the\ninstaller and in installed nodes.\n\nChange-Id: I319fcd30ad3eacbfdcb9bf7d95925e51ff896570\nReviewed-on: https://review.monogon.dev/c/monogon/+/4378\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "590239d455014624c8e27abfd0c8cf92ec14eb67",
      "tree": "c9849c26bc8280428ab3e8cd30591408e845377b",
      "parents": [
        "8bb5dfa3f09433a84d8bdf3bbc8768969776e160"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 15 17:35:22 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:37 2025 +0000"
      },
      "message": "treewide: configure rules_perl to our toolchain\n\nIn a future commit we will introduce openssl, which needs perl to\ngenerate asm code.\n\nChange-Id: I282c340c698ed339fb409514a9b09ffdf3475c34\nReviewed-on: https://review.monogon.dev/c/monogon/+/4096\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8bb5dfa3f09433a84d8bdf3bbc8768969776e160",
      "tree": "2d78f208863411cccee71cc8cdee6e044a9cb7f6",
      "parents": [
        "8f1efe9a47240058ae639528cb3ced8adfe8b708"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 02 17:59:48 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:37 2025 +0000"
      },
      "message": "treewide: migrate to nasm in toolchain-bundle\n\nChange-Id: Ia5f8e20fee16197ad21320c96c6f2a1e66bc718f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4082\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8f1efe9a47240058ae639528cb3ced8adfe8b708",
      "tree": "d0605e8dd69c1e3e03a249daf545b34e3ded4997",
      "parents": [
        "3a7a67e3cc2d35d698b8a0dcaef1c52d5e92c173"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 01 01:28:43 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:37 2025 +0000"
      },
      "message": "treewide: migrate to qemu-kvm in toolchain-bundle\n\nChange-Id: I42a10a9adf7bdccb83ef997c6d554140ffaade4b\nReviewed-on: https://review.monogon.dev/c/monogon/+/4052\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "3a7a67e3cc2d35d698b8a0dcaef1c52d5e92c173",
      "tree": "2337b91f5df2ec06013795b18089c0bcd58d1743",
      "parents": [
        "98000a51baafc40f861bd17d8a333b65035df21c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 27 21:59:36 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:37 2025 +0000"
      },
      "message": "go/qcow2: migrate to qemu-img in toolchain-bundle\n\nChange-Id: I65a542932233d120bd2015dacd0efe4a9935705e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4051\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "98000a51baafc40f861bd17d8a333b65035df21c",
      "tree": "b6f7c11992b9c61d522c60a86b342a377ee160f2",
      "parents": [
        "a5a817009be47049d7302dd0c1ec08f13c1fe4a7"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 06 14:22:15 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:10 2025 +0000"
      },
      "message": "third_party/nix: introduce toolchain bundle\n\nThis introduces a nix derivation that builds a musl amd64/aarch64\ntoolchain sysroot.\n\nChange-Id: Iba082edb8fd1f2ab580020bb1c7339a76487f3c8\nReviewed-on: https://review.monogon.dev/c/monogon/+/4006\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "a5a817009be47049d7302dd0c1ec08f13c1fe4a7",
      "tree": "7715a4ad10210af395541675b52bc5ee3d7535d8",
      "parents": [
        "f06d2a71dbb9e800501a9b4419ffa193cae4efb4"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jun 25 20:45:25 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jun 30 18:33:45 2025 +0000"
      },
      "message": "Update SETUP.md\n\nChange-Id: I4039769fffec8b139db5ed9533ff9047f8e2ae1a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4311\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "f06d2a71dbb9e800501a9b4419ffa193cae4efb4",
      "tree": "82d9466592e56560bdac9c27542cee5ec246dea5",
      "parents": [
        "c8e2b60307cbb064798af8cfd11a86a9e5216289"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jun 25 18:51:36 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jun 30 18:33:45 2025 +0000"
      },
      "message": "tools/gopackagesdriver: always use bazel wrapper\n\nThis makes gopackagesdriver work outside a Nix shell. It should not\nchange behavior inside a Nix shell since the distribution \"bazel\"\nbinary is a wrapper which calls tools/bazel.\n\nChange-Id: I3b669ae0cea6afdd7ffed4024346e0237ae1e5cf\nReviewed-on: https://review.monogon.dev/c/monogon/+/4309\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "c8e2b60307cbb064798af8cfd11a86a9e5216289",
      "tree": "213dd06a5e3f84398a477a7a2593d231aa5fde62",
      "parents": [
        "27f2efb1df64c9bfa436b524d91e2eee0854973f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 03:16:47 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 17:26:11 2025 +0000"
      },
      "message": "metropolis/cli/metroctl: use DialContext instead of Dial\n\nCloses #387\n\nChange-Id: I2d6e0589d84463e45ca83baa05197bf3b53b8d72\nReviewed-on: https://review.monogon.dev/c/monogon/+/4358\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "27f2efb1df64c9bfa436b524d91e2eee0854973f",
      "tree": "48eebbad03471fe4988d8babf7d299cddab50820",
      "parents": [
        "8b9bf216bd4ab085ac3443edfe70a249f30359f1"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Sat Jun 28 11:53:12 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jun 30 14:22:03 2025 +0000"
      },
      "message": "bazelrc: set remote timeout\n\nThis is needed for remote builds to succeed, so add it to the default\nconfig to make it work OOTB.\n\nChange-Id: I5dbe588f6d2f6356f48d32c9c8d68886b73afc2b\nReviewed-on: https://review.monogon.dev/c/monogon/+/4365\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8b9bf216bd4ab085ac3443edfe70a249f30359f1",
      "tree": "727f9b7ba438590345762dd2eba84b16d08ea1c4",
      "parents": [
        "446a147ed9dd63dc68dc4d4e4a0a09b8e244621e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:59:30 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "osbase/build/mkcpio: remove todo\n\nWe can all agree this is just normal bazel behaviour.\n\nCloses #456\n\nChange-Id: I0637261b99fd966885e958b19abd5dde1356f290\nReviewed-on: https://review.monogon.dev/c/monogon/+/4357\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "446a147ed9dd63dc68dc4d4e4a0a09b8e244621e",
      "tree": "908ef31326e73bd6456190bf21f3189aa04ac97d",
      "parents": [
        "5d3f553965576381e6ae227b44358460e232c584"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:47:42 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "osbase/fat32: remove todo\n\nWe won\u0027t write a FAT32 stub.\n\nCloses #462\n\nChange-Id: If88a809a6295ab897a0508f32e26695b87b00ad7\nReviewed-on: https://review.monogon.dev/c/monogon/+/4356\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "5d3f553965576381e6ae227b44358460e232c584",
      "tree": "ef0c2081810fc54baeca60ad5419bb02aadfffa0",
      "parents": [
        "c36d28d4790c540139b37e4c13c466514c1ac89f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:38:26 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "metropolis/node/kubernetes: remove old todo\n\nCloses #436\n\nChange-Id: Ia5e8392e4046a7282171130410454b66ac211799\nReviewed-on: https://review.monogon.dev/c/monogon/+/4355\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "c36d28d4790c540139b37e4c13c466514c1ac89f",
      "tree": "83afad12f613af8c5554d2a4812debd86b240926",
      "parents": [
        "6675f53d0b12dbbe471269d6902dfa0801a3f1d8"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:35:40 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "metropolis/node/core/network: replace magic number with constant\n\nCloses #418\n\nChange-Id: Ia93f2fbc4c7fe9d9f9ada768610e28e7044f1fa2\nReviewed-on: https://review.monogon.dev/c/monogon/+/4353\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "6675f53d0b12dbbe471269d6902dfa0801a3f1d8",
      "tree": "0752fcdc03c7b2ab39b82401af2b4799b1412af8",
      "parents": [
        "7fd64f60c607878c60e8c9eff2f21139fe389d6e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:34:41 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "metropolis/node/core/roleserve: remove flaky attribute\n\nCloses #421\n\nChange-Id: I4d50d382f31875cd354c67281bcfc91bda14c589\nReviewed-on: https://review.monogon.dev/c/monogon/+/4352\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "7fd64f60c607878c60e8c9eff2f21139fe389d6e",
      "tree": "41634730b730156b62f92e00d0aa2841eb700f0b",
      "parents": [
        "8fd51cd0cb06584bdfe2e7884662276d0c7bfe9b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:32:31 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "osbase/pki: remove SKID workaround\n\nWe are way newer than Go 1.15.\n\nCloses #476\n\nChange-Id: I876d2974598b7daadc9c99e452f57dd6b97a02cb\nReviewed-on: https://review.monogon.dev/c/monogon/+/4351\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8fd51cd0cb06584bdfe2e7884662276d0c7bfe9b",
      "tree": "88aecf3fc0a34f63eea2d9f761c41ce60cb49686",
      "parents": [
        "3259f9a5381cb2b79582e73db1fa2da24772698b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:20:17 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "treewide: remove bzlmod dependency workaround\n\nCloses #487 #486 #485 #484 #483\n\nChange-Id: I2de434dab96743f9051b8c2064fb9f7d05d548aa\nReviewed-on: https://review.monogon.dev/c/monogon/+/4350\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "3259f9a5381cb2b79582e73db1fa2da24772698b",
      "tree": "586adf2e388918ff72d38a7901df4bb2335ab6b2",
      "parents": [
        "b460ec9961de50a67cdd2fd58437d76d86a6ed14"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 00:45:43 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sat Jun 28 23:35:11 2025 +0000"
      },
      "message": ".github/workflows: allow manual run\n\nChange-Id: I299d9a69fbb9f66c0e7b1af342df5f8ad442a1f2\nReviewed-on: https://review.monogon.dev/c/monogon/+/4349\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "b460ec9961de50a67cdd2fd58437d76d86a6ed14",
      "tree": "acdb90afb3b416dcf69de893c914ffe6e8951319",
      "parents": [
        "b8f02067c48f333e4e9d3a5b44b950d553ca35aa"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sat Jun 28 23:36:31 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sat Jun 28 22:32:07 2025 +0000"
      },
      "message": ".github/workflows: add todo-to-issue action\n\nCloses monogon/monogon#173\n\nChange-Id: Ieb7cde52c1c953c033608bedbe4aa812cd4cdc6c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4348\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "b8f02067c48f333e4e9d3a5b44b950d553ca35aa",
      "tree": "ff043fc7bb097ca9b7d9f6108eef4fc04ff17586",
      "parents": [
        "3cc51638344e691b1dd9ff52482886508fff5d05"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jun 25 18:28:02 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jun 26 14:58:25 2025 +0000"
      },
      "message": "tools: make bazel-vscode plugin work in the monorepo\n\nSet Bazel executable and remove stdout pollution.\n\nChange-Id: I2d1d7fb613e7e7a55d34c3e33b7a9e204e866879\nReviewed-on: https://review.monogon.dev/c/monogon/+/4308\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3cc51638344e691b1dd9ff52482886508fff5d05",
      "tree": "7081638fced0141a45da9b162d8c8d227811c261",
      "parents": [
        "daf9e959b0ac976596640eab6a6ce79bbbccd1e7"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 23 14:37:50 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "m/test/e2e/suites/ha: decrease disk size\n\nReduce the size of the data partition from around 3 GB to 512 MB for the\nHA e2e test. This test has encryption with authentication enabled, which\nmeans the entire data partition is initialized. We can speed this test\nup and reduce disk wear by reducing the size.\n\nThe data partition needs to be at least 300 MB for mkfs.xfs.\n\nChange-Id: Idd7a40c55acb6b722489194acef08138cdff8ca9\nReviewed-on: https://review.monogon.dev/c/monogon/+/4298\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "daf9e959b0ac976596640eab6a6ce79bbbccd1e7",
      "tree": "23df07623e9a878e4a2bbd1ddeafecc0b94923fe",
      "parents": [
        "e19d27912839df47bdba0934b079f0a7d75b733c"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 23 13:28:16 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "m/installer/install: take OCI image in Params\n\ninstall.Params now takes an OCI image. This avoids some duplicate code\nto extract info from the OCI image in all places which create\ninstall.Params.\n\nChange-Id: I2430ce1101befaa1b1a4781f592d06ee015a0f99\nReviewed-on: https://review.monogon.dev/c/monogon/+/4297\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e19d27912839df47bdba0934b079f0a7d75b733c",
      "tree": "8e70b78561b7dbb4d3d3988f0b77541e6409e2b3",
      "parents": [
        "e053036c16678261471539e425c59df0dd251603"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 23 12:37:58 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "m/installer/install: move from osbase/build/mkimage/osimage\n\nMove the package osbase/build/mkimage/osimage to\nmetropolis/installer/install. The package contains \"metropolis\" in\nvarious strings, so it fits better in //metropolis than in //osbase.\nThe parent package mkimage no longer exists.\n\nThe rename also removes the name clash with osbase/oci/osimage.\n\nChange-Id: Ia228ab94c937f4c7a5b6eb1fcc77993a594d64b6\nReviewed-on: https://review.monogon.dev/c/monogon/+/4296\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "e053036c16678261471539e425c59df0dd251603",
      "tree": "8f6007aa1442bd15275a5df747a372b7df3a9d84",
      "parents": [
        "3b0c8dd5b5a4cb535f9d256a0b6b3676507eb3e4"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 23 11:50:34 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "osbase/build/mkimage: delete package\n\nWe no longer use pre-build disk images for cluster launch, and it also\ndoesn\u0027t make sense to distribute these as release artifacts. This means\nwe no longer need mkimage.\n\nChange-Id: I72aa376561c91e114a80367f814b03434c82355f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4295\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "3b0c8dd5b5a4cb535f9d256a0b6b3676507eb3e4",
      "tree": "e568a2087ba4f8335a1e2ba10a8e01e9809b4de8",
      "parents": [
        "e0db72ca567b5142bb6a31d745b3bf78cd8eb53a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 23 10:32:07 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "m/test/launch: build image at runtime\n\nTest launch now builds the node disk image from the OCI image, instead\nof creating a qcow2 snapshot of the pre-built disk image. This speeds up\ntests and test cluster launch.\n\nThe OCI image is uncompressed and payloads are not verified, which\nenables the previously implemented copy_file_range optimization. If the\nhost file system supports reflinks, this has a similar effect as the\nqcow2 snapshot had previously: Building the image is very fast as the\nrootfs data is not copied on disk. On my machine, it takes 30 ms.\n\nThe build before launching a cluster is now faster: The MkImage step\ntaking 6 s is replaced by MkOCI taking 1 s. The majority of this time is\nspent by Bazel computing hashes of files. For MkImage, the generated\nfile was a 5 GB disk image consisting mostly of zeroes, which took a\nlong time to hash.\n\nAdditionally, the qcow2 layer added some overhead, which is now gone.\nThe HA e2e test previously took 103 s on my machine, now it takes 80 s.\n\nChange-Id: I0ce5059626cc682061c26ac3c8d11b752e641c60\nReviewed-on: https://review.monogon.dev/c/monogon/+/4294\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "e0db72ca567b5142bb6a31d745b3bf78cd8eb53a",
      "tree": "9182fda3cfa5e5f407969f66d7ca01ff5dbd5734",
      "parents": [
        "16298986aba754618473fe7658f74c8ebe28ee7e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 18 18:14:07 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "osbase/blockdev: implement copy_file_range optimization\n\nThis change enables the use of the copy_file_range syscall on Linux when\ncopying from an os.File to a blockdev.File. This speeds up building of\nsystem images, especially with a file system which supports reflinks.\n\nThe implementation is partially based on the implementation in the Go\nstandard library for copy_file_range between two os.File in\nsrc/os/zero_copy_linux.go and src/internal/poll/copy_file_range_unix.go.\nWe can\u0027t use that implementation, because it only supports using the\nfile offset for both source and destination, but we want to provide the\ndestination offset as an argument. To support this, the ReaderFromAt\ninterface is introduced.\n\nWith these changes, copy_file_range is now used when building system\nimages, for both the rootfs and files on the FAT32 boot partition. If\nthe file system supports it (e.g. XFS), reflinks will be used for the\nrootfs, which means no data is copied. For files on the FAT32 partition,\nreflinks probably can\u0027t be used, because these are only aligned to 512\nbytes but would need to be aligned to 4096 bytes on my system for\nreflinking.\n\nChange-Id: Ie42b5834e6d3f63a5cc1f347d2681d8a6bb5c006\nReviewed-on: https://review.monogon.dev/c/monogon/+/4293\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "16298986aba754618473fe7658f74c8ebe28ee7e",
      "tree": "c2542547264b317fd6bde3a14d34db3814d93b63",
      "parents": [
        "54a2cf98fec77bc2718ec82881dd7d105f7154f1"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 25 01:08:14 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 25 14:29:17 2025 +0000"
      },
      "message": "build/mirror_proxy: replace rules_pkg with static_binary_tarball\n\nChange-Id: I184e1d36cc22b3075e5d7b49c40856a684b45976\nReviewed-on: https://review.monogon.dev/c/monogon/+/4301\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "54a2cf98fec77bc2718ec82881dd7d105f7154f1",
      "tree": "19f678994ce4dcaf1cf50e13c6fb85e8fa6cded0",
      "parents": [
        "2da91b9ecb9113ec8afb8e67baf749c0d56f8a73"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 25 01:06:37 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 25 12:32:47 2025 +0000"
      },
      "message": "treewide: bump rules_cc and aspect_bazel_lib\n\nThis removes all deprecation warnings from rules_cc\n\nChange-Id: Ieeb26c63dcbccf07ecc564c99659f3746a9bfa6a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4300\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "2da91b9ecb9113ec8afb8e67baf749c0d56f8a73",
      "tree": "767c30441bd1a43393c72fd08704ef8ceca096f0",
      "parents": [
        "b0f019c5976abc762bb7ec95462a7e346905bac2"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 15 21:10:12 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 24 15:56:14 2025 +0000"
      },
      "message": "treewide: introduce cc_static_library_with_headers\n\nTo properly wire up cc_libraries we need to build them static and\nkeep the headers. Thats not possible with vanilla cc_static_library.\n\nChange-Id: Ia72660636086132eec6722f19b4233d45ce8f837\nReviewed-on: https://review.monogon.dev/c/monogon/+/4098\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    }
  ],
  "next": "b0f019c5976abc762bb7ec95462a7e346905bac2"
}
