)]}'
{
  "log": [
    {
      "commit": "10670e58174de17d42ecfe77e45f9826df8a6c74",
      "tree": "60bdeb81a03af09ad57632a818608c6aa1b0a8bd",
      "parents": [
        "0cbf51a530ff05eaacadb12c4cc977c24a0f0fb0"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 23 12:54:48 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 01 06:49:22 2025 +0000"
      },
      "message": "treewide: dynamically generate copyright line\n\nA copyright line with hardcoded year was shown in various places of the\nUI. Instead, take the year from the commit date.\n\nChange-Id: I424d6c5b3aff34fe4479c37f30f9ea280b7eb4af\nReviewed-on: https://review.monogon.dev/c/monogon/+/4168\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "0cbf51a530ff05eaacadb12c4cc977c24a0f0fb0",
      "tree": "fd14354e8ba64d68489f1f4b0116696baf5ee57f",
      "parents": [
        "4cfff958acf023e190191a2842103897201c4dad"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 23 10:21:17 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 01 06:49:22 2025 +0000"
      },
      "message": "m/n/k/hyperkube: avoid unnecessary rebuilds\n\nPreviously, hyperkube was rebuilt each time a commit was made in the\nmonorepo. This change stops this by reading the variables from a\nfiltered stamp file instead. Now, only this filtered file is rebuilt\neach time, which is very fast compared to linking hyperkube.\n\nPreviously, volatile status variables were used for gitTreeState and\nbuildDate. But the volatile status is bad for reproducibility, as it\nmakes Bazel intentionally use stale caches.  Instead, these variables\nare now only defined in release builds, and left unstamped during\ndevelopment. These variables are available at the /version endpoint of\nthe apiserver, so there may be some utility in defining them for release\nbuilds, but they are not needed during development.\n\nThe buildDate is now taken from the commit date instead of\nSOURCE_DATE_EPOCH, which simplifies the build process as we don\u0027t need\nto define that variable anymore.\n\nPreviously, KUBERNETES_gitCommit was referenced but not defined by the\nstatus script. It is now defined as the monorepo commit, which is more\nuseful than leaving it blank.\n\nChange-Id: I6228888507e400ca1f53167ee9d4f132f5711a45\nReviewed-on: https://review.monogon.dev/c/monogon/+/4167\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "4cfff958acf023e190191a2842103897201c4dad",
      "tree": "fcfce746a89ec85fc47ab4c2901ca43dbdc78142",
      "parents": [
        "e269ebf50c81807a8bac8b274590c6441bb84ca9"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 23 10:05:39 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 01 06:49:22 2025 +0000"
      },
      "message": "build: add support for filtered stamp file\n\nThe stable status file changes whenever a commit is made, which triggers\nunnecessary rebuilds of targets which are only stamped with variables\nwhich change less often. My idea for fixing this is to create a filtered\nstamp file with only the variables which change less often, and then\nmake targets depend on this more stable stamp file instead of the stable\nstatus file.\n\nThis change adds a Bazel rule for generating such a filtered stamp file,\nand a patch for rules_go which allows using the filtered file in x_defs.\n\nChange-Id: I1a98babeb0cc5edeac6a90c655117305c499f744\nReviewed-on: https://review.monogon.dev/c/monogon/+/4166\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e269ebf50c81807a8bac8b274590c6441bb84ca9",
      "tree": "f68b09d5f9c7d694fe1798b5710407739075bc0c",
      "parents": [
        "b03d9ff5795fc23bf436089ce40ece0d846d0610"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 23 09:52:49 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 01 06:49:22 2025 +0000"
      },
      "message": "m/node/core/abloader: avoid unnecessary rebuilds\n\nPreviously, the abloader was rebuilt each time the stable status file\nchanged, even though the abloader contains no stamped info.\n\nChange-Id: I8b36357082e3be8b241759e30b0d0d8be4613379\nReviewed-on: https://review.monogon.dev/c/monogon/+/4165\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "b03d9ff5795fc23bf436089ce40ece0d846d0610",
      "tree": "88024534a7d50454121fe7ed65f57164660eb56e",
      "parents": [
        "219c2c68a75f0de70d6cbaf5f6be55d5bf32378f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 02 15:04:03 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 30 21:40:21 2025 +0000"
      },
      "message": "treewide: move HostInterfaceMAC to a tracked duplicate var\n\nThis is required to not accidentally pull-in future qemu runfiles.\n\nChange-Id: I6098900d047f21096c0b1f6b2176d2480f8e6ab0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4054\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "219c2c68a75f0de70d6cbaf5f6be55d5bf32378f",
      "tree": "fd1040c7e82e6a4243b72ed50f5e8b7e30a88bf3",
      "parents": [
        "778cc33e311ab1578b3e1447c10b7d40612a774e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 08:14:25 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 10:17:21 2025 +0000"
      },
      "message": "build/toolchain/protobuf: fix duplicate protoc build\n\nWe were building way too many copies of protoc. Many of these are due to\na bug in rules_go when --incompatible_enable_proto_toolchain_resolution\nis enabled, but not all, so we should do this anyway, and then the bug\nin rules_go is no longer relevant.\n\nBefore:\nbazel cquery \"deps(//...) intersect @protobuf//:protoc\"\n@protobuf//:protoc (e5c4511)\n@protobuf//:protoc (40d0309)\n@protobuf//:protoc (3bbe29a)\n@protobuf//:protoc (070fbf5)\n@protobuf//:protoc (ee343a7)\n@protobuf//:protoc (c3e4ff6)\n\nAfter:\nbazel cquery \"deps(//... except //build/toolchain/protobuf/...) intersect @protobuf//:protoc\"\n@protobuf//:protoc (ee343a7)\n\nChange-Id: I6a826b7bc01453284982204aea808f8f2902d84c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4164\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "778cc33e311ab1578b3e1447c10b7d40612a774e",
      "tree": "78e166c6522ab612967f0cf9cde7d4318808873e",
      "parents": [
        "1b6cd6feb2ea0ee9940e59ec787803dae0071b22"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 16:31:40 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 10:17:21 2025 +0000"
      },
      "message": "m/n/c/abloader: fix duplicate build\n\nPreviously, the abloader was built twice with different\n@io_bazel_rules_go//go/config:static setting.\n\nChange-Id: I41ebac22613b895fe85f14367bdf0f31c817cafe\nReviewed-on: https://review.monogon.dev/c/monogon/+/4163\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "1b6cd6feb2ea0ee9940e59ec787803dae0071b22",
      "tree": "8fd33a9dd8da12a7524bb24fceef24350663d603",
      "parents": [
        "8ffa54e80544005e0f779c681a8c9dfc6afecfa7"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 15:30:22 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 10:17:21 2025 +0000"
      },
      "message": "treewide: replace platform_transition_binary\n\nplatform_transition_binary changes the platform, but does not set\n@io_bazel_rules_go//go/config:static. Instead, build_static_transition\nis now used, which sets both.\n\nA second benefit of this change is that we have fewer places where the\namd64 architecture is mentioned, which should make it easier to enable\nmulti-platform builds.\n\nChange-Id: Id01e0d942a12770b8b34b0e6825f314128149b40\nReviewed-on: https://review.monogon.dev/c/monogon/+/4162\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "8ffa54e80544005e0f779c681a8c9dfc6afecfa7",
      "tree": "526e5805d5ea05fb34d79daf00b8d6b13b28d4ce",
      "parents": [
        "0fd36f458729a67e4daf68a430ce3a79428a05e9"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 11:33:39 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 13:11:33 2025 +0000"
      },
      "message": "osbase/build: ignore race setting in kernel build\n\nThis makes the kernel config the same between builds with and without\nrace. This should speed up CI when the kernel needs building.\n\nBefore:\nbazel cquery \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (090513b)\nbazel cquery --config race \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (b7a4847)\n\nAfter:\nbazel cquery --config race \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (090513b)\n\nChange-Id: Idf9d9503c07053cc34edfe855fb7042d28655683\nReviewed-on: https://review.monogon.dev/c/monogon/+/4159\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "0fd36f458729a67e4daf68a430ce3a79428a05e9",
      "tree": "dae4bd858448b6a72daeab0cbeb177da802aff11",
      "parents": [
        "7c38e7845bad04db14031741e879e887e2f571b5"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 10:26:03 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 13:11:33 2025 +0000"
      },
      "message": "treewide: enable pure Go by default\n\nPure can be safely enabled by default. For those targets which need cgo,\nwe can set `pure \u003d \"off\"` on the go_binary or go_test.\n\nThis simplifies transitions, and makes the files/files_cc distinction\nobsolete.\n\nChange-Id: Ic1a985e7d347a7222f55735c1ee2016e8a7e1c65\nReviewed-on: https://review.monogon.dev/c/monogon/+/4158\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "7c38e7845bad04db14031741e879e887e2f571b5",
      "tree": "8481308f7280a6153de818497d11f0c9614baeeb",
      "parents": [
        "dc97912eb162144d7bd92509ad8f064a8cf98ecb"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 09:23:37 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 13:11:33 2025 +0000"
      },
      "message": "treewide: replace go_binary_with_tag\n\nInstead of using go_binary_with_tag, we can write a go_binary rule which\nembeds the library. Then we can easily change all the Go configs, not\njust tags.\n\nBy default, Gazelle generates the libraries for a go_binary with private\nvisibility, so we need to override it to pulic. The go_binary_with_tag\nrule had the additional feature of combining the specified tags with the\nincoming ones (osusergo, netgo); instead I added those manually.\n\nChange-Id: I23965176f87e3a0bbd18ba5a72f190e4f9047363\nReviewed-on: https://review.monogon.dev/c/monogon/+/4157\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "dc97912eb162144d7bd92509ad8f064a8cf98ecb",
      "tree": "6b0e61c39634423babbdbb51f7c1e1d11a66c33a",
      "parents": [
        "62cecde6415032da48f05a178c8e9e9721dab9c2"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 16 16:27:43 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "metropolis/handbook: update for new OS image format\n\nThis updates the instructions for setting up a demo cluster. We don\u0027t\nhave recent release build, so I changed the instructions to building it\nyourself for now. This way, we don\u0027t need to provide the image as an\nargument to install, because it will be taken from runfiles. The\nprevious instructions didn\u0027t work anyway because the --installer flag\nwas missing, which is now also provided by runfiles.\n\nChange-Id: Ie98cd5a1ab097623b4258ddfaedd2a64bcaefb67\nReviewed-on: https://review.monogon.dev/c/monogon/+/4124\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "62cecde6415032da48f05a178c8e9e9721dab9c2",
      "tree": "47617bd0bcaaf31a45eb085d946ad24db34b4f48",
      "parents": [
        "82e8a57d0d715b9e0479000b18f50aafc63ac58a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 16 15:24:04 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "metropolis: use new OS image format for updates\n\nThis switches the node update implementation to the new OS image format\nbased on OCI artifacts. Updates are now fetched from an OCI registry.\n\nTo update existing clusters, build //metropolis/node:bundle in the new\nversion, then run the update command of the old version of metroctl with\nthis bundle. Once a node is updated, it only accepts updates in the\nnew format. It is possible to rollback if needed by building\n//metropolis/node:oci_image in the old version and using the new version\nof metroctl.\n\nThe node bundle target is no longer referenced anywhere, and will be\nremoved soon.\n\nChange-Id: I00ac6d0d88e379259cea52c8a106204c5eb73fe7\nReviewed-on: https://review.monogon.dev/c/monogon/+/4123\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "82e8a57d0d715b9e0479000b18f50aafc63ac58a",
      "tree": "65ade426b3e5e2286903ad17f940852bee3016d6",
      "parents": [
        "56d1299f8ef9fc41b01abe35bd8946d5a064df27"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 15 13:19:40 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": ".github: delete metropolis release workflow\n\nThe workflow would need to be updated to push the new node OS image OCI\nartifacts to a registry. But the gha-trusted runner no longer exists, so\nthere is no way to test changes and the workflow doesn\u0027t work anyway.\n\nChange-Id: I2f0cab823007dceeac111e37cc37f44f0a2c0948\nReviewed-on: https://review.monogon.dev/c/monogon/+/4094\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "56d1299f8ef9fc41b01abe35bd8946d5a064df27",
      "tree": "88b1e4aed3a44b141c33c9380fe42eeb4c1d1813",
      "parents": [
        "4cc3d4d23485f5144f1ee34877c5cc4ae693755f"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 14 11:49:37 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "osbase/oci: add end-to-end tests\n\nThis adds some end-to-end tests of the OCI OS image generation and\nconsumption implementations.\n\nChange-Id: Id9f4e3ab5b2c959807657e06990525810d4979ff\nReviewed-on: https://review.monogon.dev/c/monogon/+/4092\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4cc3d4d23485f5144f1ee34877c5cc4ae693755f",
      "tree": "c7b8ae03805540f8c78ac99688ba59d2ce9aaa64",
      "parents": [
        "5fdca5678df575870c5c2def673669e894b5158e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 14 11:46:47 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "cloud/agent: use new OS image format for install\n\nThis switches the Agent installation method to the new OS image format\nbased on OCI artifacts. OS images are now fetched from an OCI registry.\n\nChange-Id: Icd59a2c808fd607b95d8aaa8e60022a27fd2d091\nReviewed-on: https://review.monogon.dev/c/monogon/+/4091\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "5fdca5678df575870c5c2def673669e894b5158e",
      "tree": "c4a02abab427e96b568ff5b22f8c77c0882c33ea",
      "parents": [
        "9d2f3c681fee76b54dc202da6ca140151f588be8"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 14 11:33:29 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "metropolis: use new OS image format for install\n\nThis switches the USB and SSH installation methods to the new OS image\nformat based on OCI artifacts.\n\nWhen stored on disk, the new format consists of a directory containing\nan OCI layout, instead of a single file. This means that all steps which\ncopy or upload an image now need to handle a tree of files.\n\nChange-Id: I526d32f5c50bd74f513f785118768a56b2655fa0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4090\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "9d2f3c681fee76b54dc202da6ca140151f588be8",
      "tree": "9f673387eea27eac06fbd16e9c2f3cfc689cc7fb",
      "parents": [
        "82900a743f1eebcb80c0a310563be149691b89a7"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 14 11:17:22 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "m/test/localregistry: use osbase/oci/registry\n\nThis replaces the localregistry implementation with a small wrapper\naround the new registry package.\n\nThe images attribute of the Bazel rule was changed from a list to a\ndict, which makes the repository and tag independent from the file path.\n\nChange-Id: I1f6213dd67f7bdcf2373fe136958caa68b9f4d10\nReviewed-on: https://review.monogon.dev/c/monogon/+/4089\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "82900a743f1eebcb80c0a310563be149691b89a7",
      "tree": "637ba1a2e3aae6504af52d3646b175854c64ef7e",
      "parents": [
        "c53a9fc39866a12580bc2ef904349efc76d30a76"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 14 11:11:37 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "osbase/build/mkoci: add package\n\nThis adds the mkoci package, which contains a Bazel rule for building OS\nimage OCI artifacts.\n\nChange-Id: I1a234238c4982078db8ecea684e5491c980b97c3\nReviewed-on: https://review.monogon.dev/c/monogon/+/4088\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "c53a9fc39866a12580bc2ef904349efc76d30a76",
      "tree": "52de23c2e7f8213d711cfc9a1693540debe8f035",
      "parents": [
        "cc9e4d1ad9641032f87fe3a071bfb861526a6d85"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 14 11:09:27 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "osbase/oci/osimage: add package\n\nThis adds the osimage package, which allows reading OS images\nrepresented as OCI artifacts.\n\nChange-Id: Ie122c16d19145f68d0f92a9d6c598342b4d257bd\nReviewed-on: https://review.monogon.dev/c/monogon/+/4087\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "cc9e4d1ad9641032f87fe3a071bfb861526a6d85",
      "tree": "c4bcd9a554c0c13b80bc575dc3b2916d084318a7",
      "parents": [
        "b48174d1865861e5992136415b1e86d3cac4e7fd"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 14 10:28:40 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "osbase/oci/registry: add package\n\nThis adds the registry package, which contains a client and server\nimplementation of the OCI Distribution spec.\n\nChange-Id: I080bb1dbc511f8e6466ca370b090d459d2b730e8\nReviewed-on: https://review.monogon.dev/c/monogon/+/4086\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "b48174d1865861e5992136415b1e86d3cac4e7fd",
      "tree": "f74a6e47d0b870db70ee11e930341b1d33add7da",
      "parents": [
        "27da2e6feeaee5acaf47ccca3efceb534755628b"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 14 10:13:02 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "osbase/oci: add package\n\nThis adds the oci package, which contains types and tools for working\nwith OCI images.\n\nChange-Id: Ie2a1d82c7ac007f5d1ad47666880dbf8a8bd931d\nReviewed-on: https://review.monogon.dev/c/monogon/+/4085\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "27da2e6feeaee5acaf47ccca3efceb534755628b",
      "tree": "7774ec0ea87c926425bb1c9847f87c9e11ed100a",
      "parents": [
        "db0852264ed945b57320a43665069eee766c8ca8"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 28 16:11:16 2025 +0000"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 29 01:04:07 2025 +0000"
      },
      "message": "osbase/test/ktest: fix transitions\n\nOnly executables which are executed with ctx.actions.run should be\ntransitioned to exec cfg; those which are executed while the test runs\nshould be left as target cfg.\n\nThis misconfiguration caused the //osbase/test/ktest:linux-testing\nkernel to be built twice, once for exec and once for target. This is now\nfixed.\n\nBefore:\nbazel cquery \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (090513b)\n//osbase/test/ktest:linux-testing (0f84b2e)\n\nAfter:\nbazel cquery \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (090513b)\n\nChange-Id: I23441a327f2246c308623e425ca66b79064c51a5\nReviewed-on: https://review.monogon.dev/c/monogon/+/4155\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "db0852264ed945b57320a43665069eee766c8ca8",
      "tree": "a3fd95d3526573ece244d2814114d2bb9e372cce",
      "parents": [
        "08054caeaa6bd5a7008357b628073118da4dc865"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Apr 28 20:58:18 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 29 00:13:59 2025 +0000"
      },
      "message": "build/github_repository: allow storing submodule_info as attr\n\nCurrently we are doing too many requests to the REST API as our CI is\ninvalidating the cache too often. This is a workaround until we can\nstore said data inside MODUEL.bazel.lock.\n\nChange-Id: Iac9be2a4ed3d3fb5f301ac63545d07d807cc2f8e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4156\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "08054caeaa6bd5a7008357b628073118da4dc865",
      "tree": "09a59c5437fcab0a25012d5ab64f2829476d5be4",
      "parents": [
        "7ea9ef105600a845445523033d5745bb654d3000"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Apr 04 01:11:56 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 29 00:04:11 2025 +0000"
      },
      "message": "osbase/build: migrate ignore_unused_configuration transition\n\nWe will use it for other external builds, so lets move it there\nfor easier reuse.\n\nChange-Id: Ib15e299068a34f94e47add115d309f659701b36a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4083\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "7ea9ef105600a845445523033d5745bb654d3000",
      "tree": "628eb95ac3cc9a661472a767f21da7a7750fb008",
      "parents": [
        "51f81e5779eac05472fa060f519c481f512bd704"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Mar 27 15:57:41 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "m/cli/metroctl: use one progress bar for all files\n\nPreviously, there was a separate progress bar for each uploaded file,\nnow there is just one which shows the total number of bytes transferred.\n\nChange-Id: Id4cba63889077a076cb63d437e3fe4b17cfc3786\nReviewed-on: https://review.monogon.dev/c/monogon/+/4049\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "51f81e5779eac05472fa060f519c481f512bd704",
      "tree": "c8002db983f28a4f0441a568bfdc4b69a8fb6f13",
      "parents": [
        "0175d7ab5a5f0414fa4a472b7cf0e066fe8e5f66"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Mar 27 13:13:46 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "osbase/net/sshtakeover: fix upload cancelation\n\nThis updates sftp to the latest version, which has various improvements.\n\nThe previous method of canceling uploads doesn\u0027t work anymore, because\nClose tries to take a lock already held by ReadFromWithConcurrency.\nEven with the previous version of sftp, this wasn\u0027t a correct way to\ncancel an upload, because it just sent a message to the server to close\nthe handle, while continuing the upload in the other goroutine.\n\nThere is a work in progress v2 of sftp where Close actually can be used\nto cancel an upload: https://github.com/pkg/sftp/issues/603\n\nFor now, I think the best way to cancel an upload is to make the reader\nreturn an error.\n\nChange-Id: Id70ea7d35526a2a98295168de26469e28fd127dd\nReviewed-on: https://review.monogon.dev/c/monogon/+/4048\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "0175d7ab5a5f0414fa4a472b7cf0e066fe8e5f66",
      "tree": "6c519e0d656373c0fbe273f4e6eeb5747fa329c7",
      "parents": [
        "997faa44e945697717b2eaf22786ba803f741a1e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Mar 26 12:57:23 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "osbase/net/sshtakeover: refactor package\n\nThis is an extensive refactoring of the sshtakeover package.\n\nThe package is renamed from //go/net/ssh to //osbase/net/sshtakeover,\nto make it more clear what the package is for and avoid clashes with\ngolang.org/x/crypto/ssh.\n\nThe previous Client type was removed, and Dial is now a top-level\nfunction which takes an ssh.ClientConfig. The previous Connection type\nwas renamed to Client, which makes the naming match ssh.Client.\n\nThe Client interface type was moved to //cloud/shepherd/manager. This\nallows us to add more functions to sshtakeover.Client without breaking\nconsumers of the package, which would need to add dummy implementations\nfor functions which they don\u0027t need.\n\nThe Upload function was renamed to UploadExecutable, and the new Upload\nfunction can be used for files that don\u0027t need to be executable.\n\nThe sftp client is now created at the same time as the client, instead\nof creating a new one for each uploaded file.\n\nChange-Id: I3be9c346713cb4e5c2b33f9c8c9a6f11ca569a75\nReviewed-on: https://review.monogon.dev/c/monogon/+/4047\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "997faa44e945697717b2eaf22786ba803f741a1e",
      "tree": "5596de2b7cbb09fd3db1aeb41a45da285ee45e0f",
      "parents": [
        "c1b6df499c0e03d8d65b6570c2dcddb908752f7a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Mar 26 14:24:08 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "m/cli/takeover: refactor CPIO writing\n\nRefactor the CPIO writing to first creating a structfs.Tree and then\nwriting that as CPIO in a separate function. Previously, errors during\nwriting were ignored; they are now properly handled.\n\nChange-Id: Icc7cf1c94dd01bc9d69b01ee2f6696bfa4c183af\nReviewed-on: https://review.monogon.dev/c/monogon/+/4040\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "c1b6df499c0e03d8d65b6570c2dcddb908752f7a",
      "tree": "17d045c8f96dd2d77aef785653ac1f937142c714",
      "parents": [
        "e4c48544e908e78efdb00c8c507c251be26c4ab9"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Mar 20 08:52:18 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "osbase/fat32: adopt structfs\n\nChange the external interface of the FAT32 writer to take a\nstructfs.Tree instead of a FAT32-specific data structure. Producers of\nfile system data are no longer specific to FAT32.\n\nWith these changes, the blkio package becomes obsolete. The\nLazyFileReader did not actually work as intended when used with\nosbase/fat32, because fat32 copies data with io.CopyN and thus stops\nreading before reaching EOF, so the LazyFileReader is never closed. The\nnew Blob interface requires the consumer to explicitly Open and Close.\n\nChange-Id: I9a71a5f0bddf36ac38c656659e6dcfe520b88fb0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4037\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e4c48544e908e78efdb00c8c507c251be26c4ab9",
      "tree": "632b094e96ce0c93bd3c0a624d116bf798d1fc6f",
      "parents": [
        "4f586b56786657f50d0f8fe89697f15f960d6ab1"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Mar 20 08:39:10 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "osbase/structfs: add package\n\nThis adds the structfs package, which defines a data structure for a\nfile system and a blob interface.\n\nChange-Id: I646205faf7d28ec016d2038b0a8931b64e7afc83\nReviewed-on: https://review.monogon.dev/c/monogon/+/4036\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4f586b56786657f50d0f8fe89697f15f960d6ab1",
      "tree": "982fe9e3964a2e1e246de1719e825b146f25c3a5",
      "parents": [
        "1fe3f9419ae27d593a7c1840e6c37b20923da206"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 02 15:04:10 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 03 12:18:32 2025 +0000"
      },
      "message": "metropolis/test/nanoswitch: use osbase/bringup\n\nChange-Id: I061371d271414f6474448450c9183a93d0abf3b7\nReviewed-on: https://review.monogon.dev/c/monogon/+/4055\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "1fe3f9419ae27d593a7c1840e6c37b20923da206",
      "tree": "03d182217e78e21487839fe1691601b15955a5d5",
      "parents": [
        "b8500fb0d7463f8fd629148fd0760ece2a4e7102"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 01 14:22:11 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 03 12:18:32 2025 +0000"
      },
      "message": "metropolis/test/launch: write nanoswitch logs to correct dir\n\nChange-Id: I9ef4f39d0ca279b9b16158453b9e9b7774426480\nReviewed-on: https://review.monogon.dev/c/monogon/+/4053\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "b8500fb0d7463f8fd629148fd0760ece2a4e7102",
      "tree": "a24ad2e9d425d59e89451f88288a6ea7db91855e",
      "parents": [
        "173c4124be37a158c7a8e4cafdab1696d05b6e69"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 24 15:57:52 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 02 09:00:33 2025 +0000"
      },
      "message": "build/rust: move to build/toolchain/rust-efi\n\nChange-Id: I57362142bb77bb9e09b51140f2c5a0ee4b6f597d\nReviewed-on: https://review.monogon.dev/c/monogon/+/4031\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "173c4124be37a158c7a8e4cafdab1696d05b6e69",
      "tree": "737b8dac7086d5d6e76bb56afc7b80402b82d900",
      "parents": [
        "936c35d350139c6d8ef95c6c498a0a0b163842ca"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 24 15:34:34 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 02 09:00:33 2025 +0000"
      },
      "message": "build/toolbase: delete unused code\n\nChange-Id: I25ac3e6671bb6213aa9563ee9aa2b0afc2337805\nReviewed-on: https://review.monogon.dev/c/monogon/+/4030\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "936c35d350139c6d8ef95c6c498a0a0b163842ca",
      "tree": "497f809b754d42cd49f357344dfea4ad749ba23a",
      "parents": [
        "d0cdb57f3d19239d987ffc58d3bb89760837953b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 24 15:34:00 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 02 09:00:33 2025 +0000"
      },
      "message": "build/gotoolwrap: delete unused package\n\nChange-Id: Ie3d4bac9ba52b0d0eae9cafcc141072cf6102ffc\nReviewed-on: https://review.monogon.dev/c/monogon/+/4029\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "d0cdb57f3d19239d987ffc58d3bb89760837953b",
      "tree": "e31c9e4ed046cfbebbd077dc0e5b137f2bb066ea",
      "parents": [
        "47eb65bd29d4576593c134915088fe8bf144b047"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 27 17:18:39 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 31 11:30:21 2025 +0000"
      },
      "message": "treewide: rename osbase/test/launch to osbase/test/qemu\n\nChange-Id: Ia0775c462c8c909dc2080f01ff1f609b6d099179\nReviewed-on: https://review.monogon.dev/c/monogon/+/4046\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "47eb65bd29d4576593c134915088fe8bf144b047",
      "tree": "613483a5514ef15b9698f0b0097feee54bed7325",
      "parents": [
        "90d4051ae6119dc08dfa17f3a9e95e5b98fba2a5"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 27 16:49:27 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 31 11:30:21 2025 +0000"
      },
      "message": "treewide: remove usage of osbase/test/launch for logging\n\nChange-Id: Ib0279f1f1cbbefeb5064e78cfb36b0bf7a59f5cb\nReviewed-on: https://review.monogon.dev/c/monogon/+/4045\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "90d4051ae6119dc08dfa17f3a9e95e5b98fba2a5",
      "tree": "259b6d1ff0d250d9a3a9a64c96a17ce27fda6a27",
      "parents": [
        "363322e4f5719be205a78cea3fc2e30b4ae48929"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Mar 25 12:37:06 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 27 13:01:13 2025 +0000"
      },
      "message": "tools/bazel: don\u0027t patch aspect if not found\n\nChange-Id: I0ac6517ccbee95f1039e764e8a33edb385ccc28c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4038\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "363322e4f5719be205a78cea3fc2e30b4ae48929",
      "tree": "34e43d7c0cbf468c441640304c7e1b9f2604271c",
      "parents": [
        "22c1a2aa07f2c9c48d31779ccfaf59709123c3fa"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Mar 26 15:41:56 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Mar 27 08:59:27 2025 +0000"
      },
      "message": "osbase/net/dns/forward/proxy: make test less flaky\n\nI observed a failure of TestCoreDNSOverflow with a timeout on CI.\nIt additionally caused a panic because response was nil.\n\nThe timeouts were originally set this low to speed up tests, but for\nthese tests, we don\u0027t expect to hit timeouts, so this does not make them\nslower.\n\nChange-Id: Ie8bb6d30be6f0cefba7a124f7b49e1e570d7cd10\nReviewed-on: https://review.monogon.dev/c/monogon/+/4043\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "22c1a2aa07f2c9c48d31779ccfaf59709123c3fa",
      "tree": "c85db8506a099ccce512a25af3c9c5fdb089a9aa",
      "parents": [
        "2368dc7f001e4762b77de92cdf95da5553bb1105"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 24 17:23:17 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Mar 26 14:29:19 2025 +0000"
      },
      "message": "osbase/supervisor: log runnable errors as fatal\n\nAs describe in the issue we are only logging the final error and\nreschedule notice into supervisor\u0027s own dn.\nThis modifies said behavior to log the final error as fatal.\n\nCloses monogon-dev/monogon#296\n\nChange-Id: I048cf38fe3e60df9a6722cfe0c6e1427eaddb586\nReviewed-on: https://review.monogon.dev/c/monogon/+/4032\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "2368dc7f001e4762b77de92cdf95da5553bb1105",
      "tree": "29600c666b4e296eba3c886c14528aa1e21e1853",
      "parents": [
        "4c7bb3771714b9f7c136195bca510fda258ebb05"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Mar 26 09:19:10 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Mar 26 13:45:05 2025 +0000"
      },
      "message": "go.mod: update nftables and drop patches\n\nI have upstreamed these patches.\n\nChange-Id: I27abbea4fa3ce25450f2e14a7247ddc9eeff676a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4041\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "4c7bb3771714b9f7c136195bca510fda258ebb05",
      "tree": "5ccb71d6d8117e05e691b0db3e1b93bf305202b7",
      "parents": [
        "b1780f334762d88d3b2ee45a319711318f24fdc3"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Mar 25 16:03:07 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Mar 26 08:38:16 2025 +0000"
      },
      "message": "osbase/jsonpatch: delete unused package\n\nChange-Id: Idcf02e566f0f7c1ec0362d1e7ac1201bb1772294\nReviewed-on: https://review.monogon.dev/c/monogon/+/4039\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "b1780f334762d88d3b2ee45a319711318f24fdc3",
      "tree": "c9ea4352a3031fd722858a96ab6d1713666fea3b",
      "parents": [
        "ad4d9545ac74b43c3f442627b507d45f7eec3b3f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 24 15:33:51 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Mar 25 21:15:13 2025 +0000"
      },
      "message": "build/savestdout: delete unused package\n\nChange-Id: I81ac21bd5d457a25f7d591bff41c7cf7e88a4fca\nReviewed-on: https://review.monogon.dev/c/monogon/+/4028\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "ad4d9545ac74b43c3f442627b507d45f7eec3b3f",
      "tree": "932ce4ce4788f60232222d8dc2770eaa466a9529",
      "parents": [
        "ae2f9a36c74ae1e15d5ccd472dd2417fca86aaf4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 24 20:20:13 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Mar 25 13:01:09 2025 +0000"
      },
      "message": "osbase/build/fsspec: change order of arguments\n\nWe should always use the key as target path, as that\u0027s unique.\n\nChange-Id: I09085448efda67cb6d1c0470fa15e4282b38e0d5\nReviewed-on: https://review.monogon.dev/c/monogon/+/4035\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "ae2f9a36c74ae1e15d5ccd472dd2417fca86aaf4",
      "tree": "95364139a16f7d49d40b40a8edf1a5e35bd2da16",
      "parents": [
        "ec61a478161002b8cba1a21d152f3285355fa667"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Mar 14 01:17:14 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Mar 25 11:58:22 2025 +0000"
      },
      "message": "third_party/nix: fix bazel not detecting workspace root when bzlmod only\n\nChange-Id: Iaf9e20a12764b9f1dd1869b3e73068261c7ca43f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4027\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "ec61a478161002b8cba1a21d152f3285355fa667",
      "tree": "055a6294ef297b8e992941c92d27968e9592194f",
      "parents": [
        "f07d1b373463bb30a068a1186176277a12a975bc"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Mar 24 18:54:00 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Mar 25 11:48:25 2025 +0000"
      },
      "message": "m/cli/takeover/e2e: test with metroctl\n\nThis extends the starting end of the takeover end-to-end test by\nexecuting metroctl instead of duplicating some of the logic in the test.\n\nVM logs are now printed with %q such that that terminal escape codes are\nprinted escaped instead of raw. Without this, parts of the logs are\nobscured after a new kernel boots.\n\nChange-Id: I05de3eb2ce142a99815eba6b978dad92772fe10f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4034\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "f07d1b373463bb30a068a1186176277a12a975bc",
      "tree": "aaeb325253d1c27744afe998ac388778b3bbecf7",
      "parents": [
        "e817a2a25d8e1f87490d050c6d1ed293f0c81fd3"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Mar 24 18:36:06 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Mar 25 11:48:25 2025 +0000"
      },
      "message": "metropolis/cli/metroctl: fix takeover path\n\nbundlePath was used for both bundle and takeover, probably a copy paste\nmistake.\n\nChange-Id: Ib3acc1f415fa24021bd9800eb9eb5deb061a919a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4033\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "e817a2a25d8e1f87490d050c6d1ed293f0c81fd3",
      "tree": "2abb5abe8adc173ef8c5582cde4538b01b0d0c90",
      "parents": [
        "b00f7f9a97eae55ae6df80bbdea46815498898fa"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Mar 06 17:46:25 2025 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Mar 18 14:02:05 2025 +0000"
      },
      "message": "osbase/fsquota: replace float calculation\n\nFloats have limited precision and are not needed here.\n\nChange-Id: I51053821af226d312e94d51c4d21224e1ca53908\nReviewed-on: https://review.monogon.dev/c/monogon/+/4009\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "b00f7f9a97eae55ae6df80bbdea46815498898fa",
      "tree": "46517933cf9c0d9fc18ccf085dcf335d664e2b94",
      "parents": [
        "1947e9b1480d9a3e90fe8b12bc897fd5cd2abce7"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Mar 06 17:27:22 2025 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Mar 18 14:02:05 2025 +0000"
      },
      "message": "m/node/kubernetes: implement storage resizing\n\nThis implements persistent volume resizing in the storage provisioner.\nThe logic is based on https://github.com/kubernetes-csi/external-resizer\n\nThe mutation caches are an optimization to prevent unnecessary repeated\nprocessing, because they make the controller remember changes that it\nhas made itself, when the watch events for those changes have not\narrived yet.\n\nThe controller supports the RecoverVolumeExpansionFailure feature, which\nallows reducing the requested size when the previous resize fails due to\ninsufficient space. When resize fails, it is retried with backoff.\n\nChange-Id: I0f3d40c1a592b30d25739f5d20b529dfe25dfbe1\nReviewed-on: https://review.monogon.dev/c/monogon/+/4008\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "1947e9b1480d9a3e90fe8b12bc897fd5cd2abce7",
      "tree": "9c3586cc1e87b87b48d489ac77082b91199c699e",
      "parents": [
        "551a7373e295b30eb7453d51d71b21a5f8bac108"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jan 16 16:45:03 2025 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Mar 18 14:02:05 2025 +0000"
      },
      "message": "m/n/kubernetes: fix storage provisioner rate limiting\n\nForget() resets the rate limiter, so it should only be called when\nprocessing has suceeded.\n\nFor example, provisioning can fail for a block volume if there is not\nenough disk space for the requested size. Previously, this caused the\nlog to be quickly  spammed with \"Failed processing item\" messages, all\nwith \"numrequeues: 0\". With the fix, the retries are properly backed\noff, with the requeue counter incrementing.\n\nChange-Id: I8a31fa03fadb202205967e045d4e30f04567d9d1\nReviewed-on: https://review.monogon.dev/c/monogon/+/4007\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "551a7373e295b30eb7453d51d71b21a5f8bac108",
      "tree": "4039f95ddebafeeadb2547484cdf09df4b5f7668",
      "parents": [
        "a0684409400aa22f39b44a125dc07729e98c4908"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Mar 12 19:13:26 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 13 14:38:51 2025 +0000"
      },
      "message": "treewide: remove rlocationpath workaround\n\nIt is apparently no longer necessary to hardcode these paths.\n\nCloses: https://github.com/monogon-dev/monogon/issues/316\nChange-Id: Ic7ff23266bfab3c4d32e54dfcbabf104c5f524c4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4010\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "a0684409400aa22f39b44a125dc07729e98c4908",
      "tree": "f1891aad87d36ac36a93087ff66f8cd753b9f56d",
      "parents": [
        "17ad63fa0b09d3dfe461ac237cd5db5eaeefc2ed"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 11:32:40 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Mar 04 15:54:37 2025 +0000"
      },
      "message": "treewide: bump go deps and cleanup nogo linter config\n\nThis includes a patch for rules_go that is not merged yet, that allows\nto run nogo against all external dependencies.\n\nChange-Id: Ie874278d01e94116a2c3898bc98084c961318fd9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3983\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "17ad63fa0b09d3dfe461ac237cd5db5eaeefc2ed",
      "tree": "aa133f4b89c91044047c902dad5b752696098b14",
      "parents": [
        "12e4b549f88c91e5eccb2abe1631793c879a66c6"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Feb 27 14:43:56 2025 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Feb 27 17:33:51 2025 +0000"
      },
      "message": "m/n/kubernetes/networkpolicy: add Cyclonus test suite\n\nThis adds a test for the network policy controller, based on the\nCyclonus test suite. Running Cyclonus on a real cluster takes multiple\nhours, as there are over 200 test cases, each of which takes around 1\nminute. The test implemented here uses a fake Kubernetes API and pods,\nwhich allows running all tests in around 15 seconds.\n\nIPv6 is partially implemented but disabled. The tests pass, but each\ntest takes around 2 seconds, because some ICMPv6 replies for blocked TCP\nconnections seem to get lost somewhere and are only processed when the\nTCP SYN is resent one second later.\n\nChange-Id: Id77f2dd4d884b6d156e238e07e88c222e3bbe9a2\nReviewed-on: https://review.monogon.dev/c/monogon/+/3905\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "12e4b549f88c91e5eccb2abe1631793c879a66c6",
      "tree": "9bf724f8068149af2711a1132d569c006d507ecd",
      "parents": [
        "ec03df42d643603d0a8d92b0db1cc4a4a865651e"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Feb 19 16:29:30 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Feb 27 17:23:16 2025 +0000"
      },
      "message": "gomod: update k8s-nft-npc\n\nThis includes all of Jan\u0027s fixes to get the test suite to pass.\n\nChange-Id: Ie172325b87e7e4f4859c3576ce8577d48497027f\nReviewed-on: https://review.monogon.dev/c/monogon/+/3924\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ec03df42d643603d0a8d92b0db1cc4a4a865651e",
      "tree": "cc8292ee06d10ff186ef26e8b36730cb14a500e0",
      "parents": [
        "6e2839e982bf86f7a7a9b14f10d6d3c39c070fa0"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Feb 27 14:30:45 2025 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Feb 27 15:16:44 2025 +0000"
      },
      "message": "treewide: update nftables to 0.3 with patches\n\nThis update nftables to 0.3. The bigger-buffer patch is no longer\nneeded, because it turns out that it is possible to increase the buffer\nsize using nftables.WithSockOptions, which k8s-nft-npc now does. I added\ntwo new patches which implement features which we need for k8s-nft-npc.\nI made upstream PRs for these which are still pending review.\n\nChange-Id: Iefbf850147a4c6dfd110e356fb43e822f436e843\nReviewed-on: https://review.monogon.dev/c/monogon/+/3994\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "6e2839e982bf86f7a7a9b14f10d6d3c39c070fa0",
      "tree": "32d3b3ac70018c7d42546619b8c6bcd4139fb452",
      "parents": [
        "9bd9bd45d58fd615c0c240226e6fb74e406b0d17"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Feb 26 17:14:09 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Feb 27 12:43:25 2025 +0000"
      },
      "message": "vscode: update for Bazel 8\n\nChange-Id: I8992cc0763cb828f648927aa5aeb058044aa6d85\nReviewed-on: https://review.monogon.dev/c/monogon/+/3989\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "9bd9bd45d58fd615c0c240226e6fb74e406b0d17",
      "tree": "18961f688d41f4098e34231c201f2e96ac35d864",
      "parents": [
        "ffd8c7bb37da9b72eb66a0555e319ca2290ea761"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Feb 14 17:08:52 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 27 07:43:17 2025 +0000"
      },
      "message": "treewide: replace deprecated grpc.Dial with grpc.NewClient\n\nChange-Id: I925912ca1ee01d547fd9c1813eb083a2cd9a590a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3858\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ffd8c7bb37da9b72eb66a0555e319ca2290ea761",
      "tree": "fe656d2063543dc01aadcd4ef175652b48a925d3",
      "parents": [
        "12cab56e96b6591f4756bdca96e26260431fbcda"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 24 22:02:01 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 27 07:43:12 2025 +0000"
      },
      "message": "build/bazel: bump edk2 to stable202502\n\nCloses monogon-dev/monogon#313\n\nChange-Id: I99189a0aabae21b7647e78e1cae4f094298611dc\nReviewed-on: https://review.monogon.dev/c/monogon/+/3967\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "12cab56e96b6591f4756bdca96e26260431fbcda",
      "tree": "bdba0d9a4bc52abe4fb2dd8bf287055f844725a1",
      "parents": [
        "e294916b24bb6d0035484d215421ceb03c6598b7"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 25 17:01:02 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Feb 26 14:11:21 2025 +0000"
      },
      "message": "m/n/c/l/crypt: open blockdevs read-only for discovery\n\nUse the new blockdev capabilities to only open the block devices in\nread-only mode for partition discovery. This allows us to disable writes\nto mounted partitions in Linux 6.12 and not get a spurious warning for\nevery boot. It\u0027s also generally good practice as we don\u0027t want to write\nat that stage anyways.\n\nChange-Id: If8dd9b49ae593aac6f0a25d439baa0b7d60d7ffe\nReviewed-on: https://review.monogon.dev/c/monogon/+/3986\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e294916b24bb6d0035484d215421ceb03c6598b7",
      "tree": "3efe5ae3c4452a026403177ba806c7d21168cafb",
      "parents": [
        "bed76d97e58becd2aa314a6132c9968efabc16b5"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 18 04:55:13 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 21:36:31 2025 +0000"
      },
      "message": "osbase/bringup/test: replace test builds with macro\n\nThis just makes the BUILD.bazel a bit more readable\n\nChange-Id: If9ca4b8776c2b428da467dcd8627e839bac37468\nReviewed-on: https://review.monogon.dev/c/monogon/+/3904\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "bed76d97e58becd2aa314a6132c9968efabc16b5",
      "tree": "d9e862bcddf77a913e8bdd3bb361f2fbcd949be5",
      "parents": [
        "8eb0244ed3653b6bcb80a29acb4f9e6b66a272f4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 18 03:04:14 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 21:36:11 2025 +0000"
      },
      "message": "osbase/build: move efi.bzl, split and move def.bzl to their corresponding action\n\nThis is a small reorganization to make the osbase/build less dependent on each other.\n\nChange-Id: I8c12f04f3bdc98128c5424f142f452c2e094f2e8\nReviewed-on: https://review.monogon.dev/c/monogon/+/3903\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "8eb0244ed3653b6bcb80a29acb4f9e6b66a272f4",
      "tree": "1d41385e553b8ab7b60e3dad8fc0bcfc8ab5cf29",
      "parents": [
        "2c3956750bb75b0d18ddd52565f998492b0f83f4"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 25 16:57:52 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 25 21:03:14 2025 +0000"
      },
      "message": "o/blockdev: add options support\n\nAllow passing options to Open(). This resolves a TODO left from when\nblockdev was initially implemented and is now needed as Linux 6.12\nrejects opening mounted block devices read-write, so we needed at least\na read-only option.\n\nI also implemented the two options mentioned in the now-removed TODO\neven though we\u0027re not using them yet.\n\nThese options are implemented generically to facilitate their use in\ncross-platform code. Unsupported options are rejected at runtime. This\nis similar to how Go\u0027s own stdlib does this.\n\nChange-Id: I2548cb31e59a5c1198ca04537450bdf665878ca8\nReviewed-on: https://review.monogon.dev/c/monogon/+/3985\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "2c3956750bb75b0d18ddd52565f998492b0f83f4",
      "tree": "e74900cf54d9476463bde2bac7a8c3e040ff18a6",
      "parents": [
        "d842aaf9b5b45c6a0851542e8c9d21032f99a249"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 18 12:26:41 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 25 16:04:13 2025 +0000"
      },
      "message": "m/n/c/network: drop random snat mapping workaround\n\nLinux has since fixed the issue that if two connections get assigned the\nsame mapped port/address combo one of them drops the packet. Instead\nthey just \"requeue\" it so it gets a new non-conflicting mapping.\n\nThis allows us the drop the workaround that mappings need to be\ngenerated on a per-connection basis instead of just a per-port basis,\nthis makes Linux behave more like an endpoint-independent NAT which is\nbetter for anything trying to establish P2P connections and also a bit\neasier to debug as source ports get preserved if possible.\n\nChange-Id: Ibfaf63746a269ec6bf0444e8c7dddb3a51b07900\nReviewed-on: https://review.monogon.dev/c/monogon/+/3907\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "d842aaf9b5b45c6a0851542e8c9d21032f99a249",
      "tree": "1aab5f477d1019cf62e1f69b160afc3d639e2722",
      "parents": [
        "44c31a087929a16e93700d7d92fcff1bd066b8c0"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Feb 17 17:39:46 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 25 16:04:05 2025 +0000"
      },
      "message": "workspace: update linux to 6.12.15\n\nSwitch to the current 6.12 LTS branch and rebase the patches.\nAlso switch to using savedefconfig for config instead of just including\nthe entire thing. This makes it much more readable as it only contains\nsettings we\u0027ve touched.\n\nChange-Id: I2b15944f0083399290a2539c42e37205e839bf36\nReviewed-on: https://review.monogon.dev/c/monogon/+/3908\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "44c31a087929a16e93700d7d92fcff1bd066b8c0",
      "tree": "76ddd39d59924d802597f69b3d7fca98b3c290fc",
      "parents": [
        "2979a43dca3baa48a5019f1b84a6858a4e674ec6"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 24 21:55:59 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 14:23:22 2025 +0000"
      },
      "message": "build/github_repository: fix wrong template arg\n\nChange-Id: Id29f781e05cc8902ae37874eebf358352a9d6f76\nReviewed-on: https://review.monogon.dev/c/monogon/+/3966\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "2979a43dca3baa48a5019f1b84a6858a4e674ec6",
      "tree": "a936eaeec25efd70d80af140f909bd2ffb27bc68",
      "parents": [
        "bc0689646e342099047f8299f61b8d16241b5041"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 24 18:55:52 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 14:23:22 2025 +0000"
      },
      "message": "treewide: bump to bazel 8\n\nChange-Id: I18b6b4a5893167d722bb6270f11da1814c1664e3\nReviewed-on: https://review.monogon.dev/c/monogon/+/3963\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "bc0689646e342099047f8299f61b8d16241b5041",
      "tree": "51e3c1597fd983583776bac1ee0e4094847fd654",
      "parents": [
        "515f1f3cb911f9afe31867ef9a5f4a976ce6d85b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 24 18:52:04 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 14:23:22 2025 +0000"
      },
      "message": "treewide: bump bazeldeps\n\nChange-Id: I078aa2bfa546da6feb69d65c8261312ddf438a51\nReviewed-on: https://review.monogon.dev/c/monogon/+/3962\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "515f1f3cb911f9afe31867ef9a5f4a976ce6d85b",
      "tree": "f76498cb3a4cbe971a2debd3b64efd2600c0d033",
      "parents": [
        "0edf66c5e42b4cff2a1a95316c1737ac7a0be7f9"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 24 18:51:31 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 14:23:22 2025 +0000"
      },
      "message": "treewide: bump go to 1.24.0\n\nChange-Id: I1638653ac419205fcaaad99bc54c7ff52e94f930\nReviewed-on: https://review.monogon.dev/c/monogon/+/3961\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "0edf66c5e42b4cff2a1a95316c1737ac7a0be7f9",
      "tree": "f7c894cb45552b9018c07a23a6e429089c9ebc53",
      "parents": [
        "16cb15ab5aa2fc0193a1534e65ba2e527e3e8f56"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 24 18:48:23 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 14:23:22 2025 +0000"
      },
      "message": "osbase/build/kconfig-patcher: replace to_json with json.encode\n\nto_json isn\u0027t available in Bazel 8\n\nChange-Id: Ic00091d2e1ea3b6acf1f712ed3653dc9d0c167f1\nReviewed-on: https://review.monogon.dev/c/monogon/+/3940\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "16cb15ab5aa2fc0193a1534e65ba2e527e3e8f56",
      "tree": "0d04d148f5127884b12f73b9bc6f83804c65d4cd",
      "parents": [
        "7b1e4c1e89ba5507dd029984a29739b3d43f6846"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 24 18:47:48 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 14:23:22 2025 +0000"
      },
      "message": "treewide: explicity load built-in rules\n\nIn Bazel 9 all autoloaded rules will be disabled. This prepares us for\nthat.\n\nChange-Id: Ibaa4fa2e6b7095922a5699d2d5f3ae6c2cba3552\nReviewed-on: https://review.monogon.dev/c/monogon/+/3939\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "7b1e4c1e89ba5507dd029984a29739b3d43f6846",
      "tree": "83b1e84285c0833b519390340f706e5781dcd3d4",
      "parents": [
        "9663a1ae47ef87c9711e3325800547e4fdda500d"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 07:55:51 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 08:55:35 2025 +0000"
      },
      "message": "build/analysis: move unparam exclude to generic loop\n\nChange-Id: I6c22fef724bfef326ba90fef9679b3b90c4ed7dd\nReviewed-on: https://review.monogon.dev/c/monogon/+/3982\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "9663a1ae47ef87c9711e3325800547e4fdda500d",
      "tree": "daf868ab0042420d6f3635aced0f6af9e99eb7ab",
      "parents": [
        "a153f52607c8b880d2351299feea5f042186310a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 07:54:11 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 08:55:35 2025 +0000"
      },
      "message": "build/analysis: cleanup haslicense excludes\n\nChange-Id: Ide3d2c590b6a9cfbbe48e9f635c0be4bdba53f1a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3981\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "a153f52607c8b880d2351299feea5f042186310a",
      "tree": "103b474ef2dd260a96471682f1e4f6ba12c1f2ea",
      "parents": [
        "24bf6fdd43f3abb5a96d3081753fbdcc6bd3c1de"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Feb 21 03:00:20 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 24 20:09:07 2025 +0000"
      },
      "message": "third_party/com_k8s_io_kubernetes: fix port allocator warning\n\nThis is the third(?) attempt to fix this, but this time its actually\nfixed :smile:. I missed the store.Release call in the previous version,\nwhich are used to detect leaks.\n\nCloses monogon-dev/monogon#238\n\nChange-Id: I145caf1fe7ea62fc726656d9461925a5708c5c78\nReviewed-on: https://review.monogon.dev/c/monogon/+/3931\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "24bf6fdd43f3abb5a96d3081753fbdcc6bd3c1de",
      "tree": "f1d31a396adfe2489659ac0743a3e173d44c2a4c",
      "parents": [
        "632049b3e6ffda1039ef569ec2c234a7eadceae4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Feb 12 04:48:24 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 17 13:53:17 2025 +0000"
      },
      "message": "osbase/build: replace label_keyed_string_dict with string_keyed_label_dict\n\nBefore bazel 7.4 the string_keyed_label_dict attribute type wasn\u0027t available. fsspec_core_impl was using a label_keyed_string_dict which is structurally wrong but there was no alternative for it. This replaces that usage.\n\nChange-Id: I36c02c84e6aa2557cd2beb09c07d3ceca501553d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3853\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "632049b3e6ffda1039ef569ec2c234a7eadceae4",
      "tree": "21a3d8f8e73b8ffc35fa52859e64eb4550efa07d",
      "parents": [
        "74a233165b0cbf299aa9d9d38310e327f4ba8759"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 11 20:17:57 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Feb 12 21:18:56 2025 +0000"
      },
      "message": "treewide: bump rules_rust to 0.57.1\n\nChange-Id: I547acf33890afa5bee0ba4953b913fefd4b53327\nReviewed-on: https://review.monogon.dev/c/monogon/+/3852\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "74a233165b0cbf299aa9d9d38310e327f4ba8759",
      "tree": "842c3f8a20c04d335dc7a9437012ebd647fb1d29",
      "parents": [
        "30553e846b16792852340975d75191ef104cdd9b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 10 23:12:24 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 11 18:28:55 2025 +0000"
      },
      "message": "build/bazel: set supported_platform_triples for crate_universe\n\nThe default setting contains way too many targets which are getting spliced together. By overriding them to our actual triples, we can reduce the analyze time by over 30s.\n\nChange-Id: I8b4d4066fcdaf299f55921cc0390256f416372c9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3848\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "30553e846b16792852340975d75191ef104cdd9b",
      "tree": "fe86ca5b7996f711bbb3fad119fab5eb80befe30",
      "parents": [
        "52700ae56c5d541e711fbd5f27373b3dc200f8dc"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 10 16:48:47 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 11 18:28:51 2025 +0000"
      },
      "message": "build/analysis/haslicense: only check for license existence\n\nWe previously checked if the license header is byte-identical but since we do have dual-licensed code which would require exceptions. This just checks if a header exists and has the required fields.\n\nChange-Id: I19f17353c3ea6bafbff6fa79af68442d8b96ce64\nReviewed-on: https://review.monogon.dev/c/monogon/+/3840\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "52700ae56c5d541e711fbd5f27373b3dc200f8dc",
      "tree": "ed5e75883fc44d14f7824b0a5ed40a6ab650923e",
      "parents": [
        "e8beaed8dcde2c198e91addb0baa884079363581"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jan 28 15:07:08 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 11 15:05:46 2025 +0000"
      },
      "message": "m/n/k8s: add nftables network policy controller\n\nThis integrates my K8s network policy controller. In its current form it\ndoes not have many guarantees as the custom CNI plugin is not yet in\nthere but it mostly works. Also there is still a DNS hole as host-local\nservices are not properly policed yet.\n\nIt has a basic smoke test using the connectivity testing helper as well\nas some metrics to make sure it is integrated properly and to be able to\nmonitor its performance.\n\nChange-Id: Ia2f54b9975361270678ce742ae5e32df25e515c5\nReviewed-on: https://review.monogon.dev/c/monogon/+/3740\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "e8beaed8dcde2c198e91addb0baa884079363581",
      "tree": "8470b2dfe6a8017729083a4bb119c1d8f0b514d9",
      "parents": [
        "08fd1cb799ef2629a2da846584cd42fe2d6ecb35"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Feb 05 22:03:50 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 11 13:39:37 2025 +0000"
      },
      "message": "m/n/kubernetes: add metricsprovider\n\nKubernetes has a metrics provider interface, add an adapter to be able\nto get these into our Prometheus registry. This code exists in a similar\nform inside K8s but against their custom metrics architecture, not plain\nPrometheus.\n\nAs these metrics are shared across all workqueues we follow K8s in\nimplementing this with a singleton/global. It\u0027s not the prettiest, but\notherwise we may get issues with Prometheus and duplicate metrics.\n\nChange-Id: I0b6d608d14793e44859166a5a59d446c8f662a25\nReviewed-on: https://review.monogon.dev/c/monogon/+/3829\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "08fd1cb799ef2629a2da846584cd42fe2d6ecb35",
      "tree": "891510981041e930b88ddead221836deb5a30a8c",
      "parents": [
        "6948d336e97fc71734013fc5c219671e3bea7965"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Feb 10 19:11:17 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 11 11:59:57 2025 +0000"
      },
      "message": "osbase/socksproxy: implement hostname addresses\n\nThis is required by quite a few clients, like Chrome. Implement it for\nbetter usability of our userspace network while debugging.\n\nChange-Id: I5db16d3702800b79f88d11c132ce8f7469839ec4\nReviewed-on: https://review.monogon.dev/c/monogon/+/3842\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "6948d336e97fc71734013fc5c219671e3bea7965",
      "tree": "1a9e4043d8ff5ad13b330eebcba7ab9058c0e875",
      "parents": [
        "f5c45106f379abbbbf0b43ce2eadbec26fa97308"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 10 19:55:48 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 10 22:41:06 2025 +0000"
      },
      "message": "build/bazel/third_party: replace git_repositories with http_archive\n\nRemove the rest of the git_repositories with http_archive fetches\n\nChange-Id: Ie9fb5f93b4eb333fc26ce52e2d062cacf8177eb4\nReviewed-on: https://review.monogon.dev/c/monogon/+/3843\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "f5c45106f379abbbbf0b43ce2eadbec26fa97308",
      "tree": "93c0cd87f7f4d31cfd1dc101f381fff910ff8ef7",
      "parents": [
        "6e62de0fc553f35cb861ddb59c5788d12b9d83a6"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sat Feb 08 22:30:58 2025 +0000"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 10 22:41:06 2025 +0000"
      },
      "message": "build/github_repository: add repository rule for github\n\nThis adds a repository rule for fetching github repos as their archive including submodules.\n\nCloses monogon-dev/monogon#183\n\nChange-Id: I0f712f3aa31d6cf6f0e3f7693d2e667a5293a589\nReviewed-on: https://review.monogon.dev/c/monogon/+/3841\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "6e62de0fc553f35cb861ddb59c5788d12b9d83a6",
      "tree": "3870f34fdd8b4fe00f20950e2bf8861a3e78d6d0",
      "parents": [
        "59094470108cac86cc8a9615cb934075a2c8780c"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Feb 10 21:02:26 2025 +0100"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Feb 10 22:24:52 2025 +0000"
      },
      "message": ".bazelrc.ci: disable stamping in CI config\n\nThis avoids unnecessary rebuilds and test runs\nwhenever the git head ref changes.\n\nChange-Id: I13d6b4566430aee2b1152575cded6f3ca03828ce\nReviewed-on: https://review.monogon.dev/c/monogon/+/3846\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "59094470108cac86cc8a9615cb934075a2c8780c",
      "tree": "ad823351a916d3391a5738a800c9866a0cae1428",
      "parents": [
        "5ffa636e48f42aef08bd8d186db2213fc8d0d665"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Feb 10 10:17:33 2025 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Feb 10 16:16:47 2025 +0000"
      },
      "message": "m/test/launch/cli/launch-cluster: use metroctl_lite\n\nThis avoids building the bundle and thus speeds up the build of\nlaunch-cluster. metroctl_lite is already used in\n//metropolis/test/launch.\n\nChange-Id: I67ef3e92f068d4314f1ef9942ed2fe49992ce48f\nReviewed-on: https://review.monogon.dev/c/monogon/+/3839\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "5ffa636e48f42aef08bd8d186db2213fc8d0d665",
      "tree": "6c40f21e3e1c52567734de5aa574b92c5ba10e20",
      "parents": [
        "de57e6f273b05ebf9f58bf4a4ca9734038bcad9f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jan 28 19:20:06 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 10 16:11:22 2025 +0000"
      },
      "message": "treewide: Fix RPC_REQUEST_STANDARD_NAME and RPC_RESPONSE_STANDARD_NAME\n\nChange-Id: I190ade92c04313961edd4787196568216d028ba8\nReviewed-on: https://review.monogon.dev/c/monogon/+/3818\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "de57e6f273b05ebf9f58bf4a4ca9734038bcad9f",
      "tree": "8bc29c1edb49cdb69870f13794add9a3fc1b5762",
      "parents": [
        "c359d550ca8bf59acc77dd9aefc5b09572a7e399"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jan 08 16:34:08 2025 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Feb 10 16:00:22 2025 +0000"
      },
      "message": "m/test/e2e/connectivity: add connectivity tester\n\nThis adds a connectivity testing framework. It uses pod agents and\ncommunicates with them over stdio. This is used to implement a simple\nsmoke test and will later be used to test network policy controllers.\n\nChange-Id: If40673a91336dbe3a7a383bf2e9d17736fad3bdc\nReviewed-on: https://review.monogon.dev/c/monogon/+/3756\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "c359d550ca8bf59acc77dd9aefc5b09572a7e399",
      "tree": "ddc9dbbfbae97722d458016e17949c9e086d1fe2",
      "parents": [
        "71718ba65586af1e5a42f1abdf2d734c90720105"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jan 28 14:22:23 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Fri Feb 07 12:44:51 2025 +0000"
      },
      "message": "gomod: update delve\n\nOur Delve is far too old for the current Go version, update it to\nlatest.\n\nChange-Id: Ib7302bafe117e3a2cbc1673e7570423f7303a935\nReviewed-on: https://review.monogon.dev/c/monogon/+/3815\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "71718ba65586af1e5a42f1abdf2d734c90720105",
      "tree": "695dc7f65f3d5495c5dd53019b334513a3978164",
      "parents": [
        "6d33a4342a16200d628f30ff91b169927fc2867a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Feb 07 00:04:28 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 06 23:25:13 2025 +0000"
      },
      "message": "third_party: fixup missed go patches\n\nDue to submission ordering some patches were left in the old place but\nthe BUILD file was removed, breaking main. Fix this by also moving them.\n\nChange-Id: I6bc22a303e71504045faaba998dbd7eba82cc38e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3832\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "6d33a4342a16200d628f30ff91b169927fc2867a",
      "tree": "e65ad23cb6d0b795420b5ec625a757784d4c3e3b",
      "parents": [
        "7887f758de8f9106a484ca59d9734304aa919e36"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 04 14:34:25 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 06 17:03:43 2025 +0000"
      },
      "message": "treewide: add license header and enable haslicense linter\n\nChange-Id: I873a8d4082d75e8f813d8a726a41187eea7a065e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3825\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "7887f758de8f9106a484ca59d9734304aa919e36",
      "tree": "f3e85143bc4b4a064e44534327a1f656c83b6340",
      "parents": [
        "e6cc22700801d284386fdf7345dd85f7e522a6cb"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 04 03:06:56 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 06 16:46:49 2025 +0000"
      },
      "message": "third_party: move go patches into their own folder\n\nChange-Id: I7e2f2790e233aaf13cfd6ed2ffcf5544461a4f39\nReviewed-on: https://review.monogon.dev/c/monogon/+/3822\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "e6cc22700801d284386fdf7345dd85f7e522a6cb",
      "tree": "b1dc8210c8b08850f6ae35e98e0226bce40519ff",
      "parents": [
        "99e15117227f5663d390536118c02fbcc0e71834"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Sep 19 16:32:55 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 06 16:34:21 2025 +0000"
      },
      "message": "build/analysis/haslicense: introduce haslicense lint\n\nThis linter checks that all go source code has our copyright header\n\nChange-Id: Ib79c0685d09bfe26ef87b29b22654eafabd7dba6\nReviewed-on: https://review.monogon.dev/c/monogon/+/3444\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "99e15117227f5663d390536118c02fbcc0e71834",
      "tree": "00f534ca904605a66e6ccfa988bfa6a4744db367",
      "parents": [
        "7c0bd0b18e0c857a8af930607b61bde0b68fb55f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Feb 05 17:38:16 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 06 14:04:05 2025 +0000"
      },
      "message": "treewide: run gofmt -s and enable linter\n\nChange-Id: I90b8ef48c955dccfddc5bbc0a57205b7da844b60\nReviewed-on: https://review.monogon.dev/c/monogon/+/3828\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "7c0bd0b18e0c857a8af930607b61bde0b68fb55f",
      "tree": "2350c0bf5507ad94ac241c10f48c22487cf20595",
      "parents": [
        "e4895292e2627e4047c833e1808e614bba3c4783"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jan 10 04:15:37 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 06 14:04:05 2025 +0000"
      },
      "message": "treewide: add gofmt linter\n\nChange-Id: Ic0d8450b46790c4dc797b117634227be9a48de01\nReviewed-on: https://review.monogon.dev/c/monogon/+/3827\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e4895292e2627e4047c833e1808e614bba3c4783",
      "tree": "0bd7f4de0419c7273e5da32e43adaac75ae059cb",
      "parents": [
        "f525fa74802d2ea61577b188476bea2d54f816d7"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 04 03:10:39 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Feb 05 17:30:48 2025 +0000"
      },
      "message": "third_party: rename build_files to $reponame.bzl\n\nThis enables IDEs to correctly identify the filetype\n\nChange-Id: I9e2644514f001f94abe7da92c332f95889a34380\nReviewed-on: https://review.monogon.dev/c/monogon/+/3823\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "f525fa74802d2ea61577b188476bea2d54f816d7",
      "tree": "9603a1111df362b72286e12dc6a0f8f685a349bf",
      "parents": [
        "b51ecdff88528652297cdaeefa9fd94e7d63f093"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jan 28 15:31:42 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Feb 05 15:45:47 2025 +0000"
      },
      "message": "treewide: Unmark SERVICE_SUFFIX rule exception as todo\n\nWe can\u0027t rename the services as it would be a breaking change.\n\nChange-Id: Ib6db1692e80ddff74819df62824b0d1311f11d7d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3817\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "b51ecdff88528652297cdaeefa9fd94e7d63f093",
      "tree": "14948d20ad9c3057fcc3cf58aaefca8e794bc186",
      "parents": [
        "0dca6c91ea9b8a14278aeb3a1a8ba6b512479862"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jan 22 21:59:59 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Feb 05 15:45:47 2025 +0000"
      },
      "message": "treewide: Unmark missed ENUM_ZERO_VALUE_SUFFIX rule exception as todo\n\nChange-Id: If621eaedf1a1d816a528494efb3e46668c5608e1\nReviewed-on: https://review.monogon.dev/c/monogon/+/3816\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "0dca6c91ea9b8a14278aeb3a1a8ba6b512479862",
      "tree": "d3a4605fa9cefa9dccc79fe3df71d1e4335381a8",
      "parents": [
        "b6ed72eabf092066a837fea4b68846376bd70e8a"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jan 28 15:04:13 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Feb 05 14:55:23 2025 +0000"
      },
      "message": "metropolis: use interface groups\n\nThis adds interface groups to all K8s pod interfaces via a CNI plugin\npatch and corresponding configuration. It also adds an interface group\nto the clusternet interface. Using these new interface groups the\nnftables rules for NAT can be simplified.\n\nThese will also be used by the network policy plugin later.\n\nChange-Id: I4638a4349ccb12b8724ad28ae34bb61cac4b4ece\nReviewed-on: https://review.monogon.dev/c/monogon/+/3814\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "b6ed72eabf092066a837fea4b68846376bd70e8a",
      "tree": "50bf064ef0bfc7c1851834eeca1caa0a5ccbc32d",
      "parents": [
        "ed9a583f96bc6aa19478f76251fb3c1212eaef87"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 04 03:30:02 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Feb 05 13:44:45 2025 +0000"
      },
      "message": "treewide: bump rules_go to 0.52.0\n\nThis version adds support for \"reparing\" nogo failures by generating a\npatch file that the user can apply.\n\nChange-Id: I7cbbf8e39d29e3f657d64629c8c338161b963c10\nReviewed-on: https://review.monogon.dev/c/monogon/+/3824\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ed9a583f96bc6aa19478f76251fb3c1212eaef87",
      "tree": "8585cd84bb2ddf4f01716073a0e7e88dfa46437f",
      "parents": [
        "cebd10b61a82b34298f558f68e701c764289b365"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 04 03:02:45 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Feb 05 13:44:40 2025 +0000"
      },
      "message": "treewide: remove repo_name override for gazelle\n\nWe don\u0027t need it, let\u0027s get rid of it\n\nChange-Id: Ic0d48e21b95bd2fa81024f2b71ae96cbe21cd9d2\nReviewed-on: https://review.monogon.dev/c/monogon/+/3821\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    }
  ],
  "next": "cebd10b61a82b34298f558f68e701c764289b365"
}
