)]}'
{
  "log": [
    {
      "commit": "4b8c7e9c13f099696e7f2723033fa33f0c7df9a9",
      "tree": "35513cdec2453824a8573391d2c46ac36e8f2054",
      "parents": [
        "fe6b506b6124b39b0b36c483d03de3b4efc5bdc4"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jul 04 13:57:12 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Fri Jul 05 11:16:18 2024 +0000"
      },
      "message": "third_party/edk: update to 202405\n\nImproves boot times by approximately 3 seconds and gets us an\nup-to-date version again.\n\nChange-Id: I929498a7b825911d849441aa707c1a225b9594d7\nReviewed-on: https://review.monogon.dev/c/monogon/+/3209\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "fe6b506b6124b39b0b36c483d03de3b4efc5bdc4",
      "tree": "b3a4cbd0f4890dc5ee9a30eb643b2d3e9aa79fa5",
      "parents": [
        "9f21f5396aa18bc9f2f83c867ff883f49bbf02ae"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 02 16:32:35 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jul 04 14:50:22 2024 +0000"
      },
      "message": "m/node: switch to cgroupv2\n\nThis switches us from legacy cgroup (v1) to cgroup v2 aka unified\ncgroup. Our versions of Kubernetes, containerd and runc/gVisor all\nsupport this by now.\n\ncgroup_bpf needs to be enabled in the kernel for containerd with cgroup\nv2. Also enable swap as this now works with cgroup v2, this gets rid of\na warning for every pod being started.\n\nWe are not really using cgroups ourselves, but as the root cgroup in v2\nis special, move our own process into a subgroup at startup.\n\nChange-Id: I8d63b2ad672568c052c3fe1a2306182f033667fa\nReviewed-on: https://review.monogon.dev/c/monogon/+/3207\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "9f21f5396aa18bc9f2f83c867ff883f49bbf02ae",
      "tree": "c232f42c84bd6b7ace576261a188134cb0c69771",
      "parents": [
        "f430fbfe35b70283090b6174cf5a920163c0148c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 07 15:14:20 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 04 12:19:37 2024 +0000"
      },
      "message": "treewide: introduce osbase package and move things around\n\nAll except localregistry moved from metropolis/pkg to osbase,\nlocalregistry moved to metropolis/test as its only used there anyway.\n\nChange-Id: If1a4bf377364bef0ac23169e1b90379c71b06d72\nReviewed-on: https://review.monogon.dev/c/monogon/+/3079\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "f430fbfe35b70283090b6174cf5a920163c0148c",
      "tree": "b5b1f17390d705d26115556904e15429cf2279f8",
      "parents": [
        "2e100e1e9c419779b7e522aef359753f4f2a7ad5"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 20 14:38:30 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 02 15:22:07 2024 +0000"
      },
      "message": "tools/gopackagesdriver: init\n\nThis adds a gopackagesdriver for the monorepo, it can be used to get\ngopls working. This is by itself not sufficient as additional gopls\nconfiguration needs to be supplied and gopls needs to be run inside the\nthe nix-shell.\n\nChange-Id: I5a02ff98591bffe54472ca16d0509e8010bcdb89\nReviewed-on: https://review.monogon.dev/c/monogon/+/3175\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "2e100e1e9c419779b7e522aef359753f4f2a7ad5",
      "tree": "7f70e95508488b100a890959439bca3a63029374",
      "parents": [
        "53458ba5e9a9be9d7bbca7b01fb7ad5ff1201698"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 01 12:20:00 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 01 15:01:11 2024 +0000"
      },
      "message": "workspace: make query regexes anchored in gopackagesdriver\n\nBefore this fix, when using VS Code with the Go extension, the initial \nquery of all go packages from the gopackagesdriver with a ./... query \nfailed with the error:\nroot package @@//cloud/bmaas/bmdb/model:sqlc_model is missing\n\nThis happened because an unanchored regex was used to query for \ngo_library rules, and this query also returned sqlc_go_library rules. \nThis patches rules_go to add the missing regex anchors.\n\nIt turns out that this error caused gopls to discard the result of the \ninitial query of everything, and it then queried individual files as \nthey were opened in the editor. This no longer happens after this fix, \nso the editor features are now available immediately when opening a go \nsource file.\n\nChange-Id: I03ec50777d1cc543eb1cd767b58f61bb5b5261f5\nReviewed-on: https://review.monogon.dev/c/monogon/+/3187\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "53458ba5e9a9be9d7bbca7b01fb7ad5ff1201698",
      "tree": "0da5c7f8d4bec5c26d13b727de829bbb4bf91111",
      "parents": [
        "dac0bba8b4762def59b5f929f6e9cc04f376e3e3"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 18 09:56:46 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 25 08:21:11 2024 +0000"
      },
      "message": "m/test/launch: order nodes in NodeIDs correctly\n\nThis ensures that referring to node by number via NodeIDs is possible -\nie. that NodeIDs[n] is the ID of the nth node as defined in NodeOpts or\nas used as the \u0027idx\u0027 argument in RebootNode.\n\nThis was never and is still not correctly formalized, even in comments,\nand is yet another proof that the cluster launch code deserves to be\nrewritten from first principles.\n\nFixes #301.\n\nChange-Id: I1ad13dc3bdd35a0c34f86e5d051ca9378491c876\nReviewed-on: https://review.monogon.dev/c/monogon/+/3168\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "dac0bba8b4762def59b5f929f6e9cc04f376e3e3",
      "tree": "40fba4fb9ee37046742701791200ffacb353910f",
      "parents": [
        "8ac3e566eda3f968966fbe712be5c9158b04d0c3"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 13 09:10:09 2024 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 20 12:04:53 2024 +0000"
      },
      "message": "m/n/c/network: make bringup order deterministic\n\nThis will ensure that given the same static network config the bringup\nsequence is the same. In turn this will make the MAC address of bonds\nstatic as well as generally providing more consistent behavior.\n\nChange-Id: If3e381e685195be2fa473f1610cc0418b25f85a6\nReviewed-on: https://review.monogon.dev/c/monogon/+/3138\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "8ac3e566eda3f968966fbe712be5c9158b04d0c3",
      "tree": "87087014d39a6f00788c4868ebd16f9e3fcfebb6",
      "parents": [
        "4a472882b3e35a630922279579201ae6fcbeb081"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed May 29 14:16:27 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 20 12:04:53 2024 +0000"
      },
      "message": "g/a/toposort: add deterministic version\n\nAdds a slower, but deterministic version of TopologicalOrder. To make\nimplementation easier, the visit recursive function is slightly\nrefactored.\nBoth implementations look very similar, but it adds more lines to keep a\ncommon implementation versus just having two separate functions.\n\nChange-Id: Ife4cbda128cf476005b75e216352b522b949d6a2\nReviewed-on: https://review.monogon.dev/c/monogon/+/3137\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4a472882b3e35a630922279579201ae6fcbeb081",
      "tree": "94ef4c552bb2a14a6786ac1bb7e6b44240880e7b",
      "parents": [
        "5e74d7058fb122db65cb172820630b788ff76f0c"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 13 11:40:34 2024 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 20 12:04:53 2024 +0000"
      },
      "message": "m/n/c/network: explain why links cannot be returned\n\nExplain the cause of the revert of CL 3112 as the code is kind of\nconfusing without knowing why the returned link is an empty link\nstructure with just the index set instead of the original one.\n\nChange-Id: I5b9cdf6e76eb33cb610cc53976edc5863c9dc583\nReviewed-on: https://review.monogon.dev/c/monogon/+/3140\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "5e74d7058fb122db65cb172820630b788ff76f0c",
      "tree": "9e4d0a264c84682b346c6b0e63adbdaae3103072",
      "parents": [
        "76ddab10810885a7feced9b1894e6235a41c1166"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 13 09:37:39 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 20 12:04:53 2024 +0000"
      },
      "message": "m/n/c/network: refetch link attributes from kernel\n\nFetch all link attributes from the kernel once an interface is\ncreated/configured to ensure all attributes are present and any\ndefaults set by the kernel are taken into account.\n\nOnly affects the static configuration path, dynamic configuration path\nalready gets the interface data directly from the kernel.\n\nThis is an alternative to CL 3112 which had to be reverted.\n\nChange-Id: I1076fa318cac5f0ecdb47c5b0aac4dfe7ea2cac9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3139\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "76ddab10810885a7feced9b1894e6235a41c1166",
      "tree": "cd5cac5ffdc2f1171a02a40b165b96856d23a52a",
      "parents": [
        "667940cf589d681726c635945785e65136f04da1"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jun 19 12:52:33 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jun 19 15:23:56 2024 +0000"
      },
      "message": "metropolis/kubernetes: bump to 1.30.2\n\nThis fixes https://github.com/kubernetes/kubernetes/issues/124930\n\nChange-Id: Ib1f96372acdd1eeef6a0206688bd032aa73ef0a0\nReviewed-on: https://review.monogon.dev/c/monogon/+/3172\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "667940cf589d681726c635945785e65136f04da1",
      "tree": "d373536745721a0de2887fb76a092ec89331c5fd",
      "parents": [
        "8c2b394342413c878d62aa67a49a219891eb6c99"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jun 18 17:52:19 2024 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jun 19 13:05:53 2024 +0000"
      },
      "message": "README.md: add Discord\n\nChange-Id: Idf71bfc8c194e797fc1e2971347f0b117ca767e4\nReviewed-on: https://review.monogon.dev/c/monogon/+/3170\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8c2b394342413c878d62aa67a49a219891eb6c99",
      "tree": "6288b6db7f5581b155e14fbd74c1e615291ef960",
      "parents": [
        "1ce8039189e7280a929eced4b78f6042f1afdb16"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon May 27 20:07:18 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jun 18 12:11:36 2024 +0000"
      },
      "message": "m/n/c/network: do not refetch interface metadata\n\nWe can use netlinkLinkToNetInterface to do this without an IO operation.\n\nChange-Id: I9e01c5b05633b3dc45820370a72ed9343bfcea29\nReviewed-on: https://review.monogon.dev/c/monogon/+/3114\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "1ce8039189e7280a929eced4b78f6042f1afdb16",
      "tree": "5ba3b9d8587361ff55853ee77fe380e6081d07e2",
      "parents": [
        "30e30b3323f05cb76a5168c24a487e4d8138b653"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon May 27 20:06:43 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jun 18 12:11:36 2024 +0000"
      },
      "message": "m/n/c/n/dhcp4c: verify hardware address sanity\n\nComplain early if an empty or all-zero hardware address is passed in, as\nthis is never valid.\n\nChange-Id: I3abfcd618aaa8018e88267d414d7a34a859f3ce2\nReviewed-on: https://review.monogon.dev/c/monogon/+/3113\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "30e30b3323f05cb76a5168c24a487e4d8138b653",
      "tree": "f658e7c3537c1511dc84d6d2acad99a5c514269b",
      "parents": [
        "11198c83ff733a10bfd731f20abadd286e753e28"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed May 22 14:11:56 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jun 12 10:00:40 2024 +0000"
      },
      "message": "m/node: allow specifying node labels during node registration\n\nChange-Id: Ie7fc7387314cd2f59661c2d07530b712f8f29b48\nReviewed-on: https://review.monogon.dev/c/monogon/+/3104\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "11198c83ff733a10bfd731f20abadd286e753e28",
      "tree": "62d9f95bf1736fd9e3f77d6e21256223ff86a89d",
      "parents": [
        "41113935d59f3c0210b04d6251b1559979c677fb"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed May 22 14:11:01 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jun 12 10:00:40 2024 +0000"
      },
      "message": "m/node: allow specifying node labels during cluster bootstrap\n\nWe also drive-by refactor ProvideBootstrapData to take a structure\ninstead of a bunch of unnamed arguments.\n\nChange-Id: I8d876fd726fa87420789513540b20f523994d801\nReviewed-on: https://review.monogon.dev/c/monogon/+/3103\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "41113935d59f3c0210b04d6251b1559979c677fb",
      "tree": "e51f6fcbbf47dcda3255a237c901aee4ae84b64a",
      "parents": [
        "1f789540bbe4bf94c4ccae795272703577ca586e"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed May 22 14:02:17 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jun 12 10:00:40 2024 +0000"
      },
      "message": "metroctl: display labels for nodes\n\nChange-Id: I78c0c5b37d10989539bfe5f13b0afdc3fc8a2a7a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3102\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "1f789540bbe4bf94c4ccae795272703577ca586e",
      "tree": "2ecd2308e42e5f25e898f6901cd7562c3adad18a",
      "parents": [
        "2b6dc312656035aedade6f368af1994bdb8b6021"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed May 22 14:01:50 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jun 12 10:00:40 2024 +0000"
      },
      "message": "m/{node,proto}: implement Node Labels\n\nNodes can now have Labels attached to them. These are string key/value\ndata designed after Kubernetes labels. They are meant to be used to\nattach metadata to nodes, for example external IDs, nicknames or\ngeographical information.\n\nThis change implements just the core functionality: storing them within\netcd, retrieving them via management and curator APIs, and mutating them\nvia a new management RPC.\n\nFollowup changes will impelement provisioning labels at\nbootstrap/registration time and accessing label data from metroctl.\n\nChange-Id: I556b452a65061294e7c51037723a6db31d587716\nReviewed-on: https://review.monogon.dev/c/monogon/+/3101\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "2b6dc312656035aedade6f368af1994bdb8b6021",
      "tree": "488e63bfdf22b6b389e160a01d4f731c3956e2f3",
      "parents": [
        "8111b901b88c8ef9ca5e113584c928de4bfdd24d"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 04 17:44:55 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 11 17:01:21 2024 +0000"
      },
      "message": "metropolis/test: create swtpm TPMs at runtime instead of compile time\n\nThe generated TPM data is random (it contains generated cryptographic\nkeys) so we really shouldn\u0027t be building it with Bazel.\n\nInstead, let\u0027s create it at runtime for e2e tests, and also actually\ngenerate separate TPM data per node with a common issuer for all.\n\nMoving the logic out of //metropolis/node also feels deserved, as this\nis all squarely in test territory.\n\nChange-Id: I257ee54c88ede685ba3faf573282b0f9228b10e8\nReviewed-on: https://review.monogon.dev/c/monogon/+/3132\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "8111b901b88c8ef9ca5e113584c928de4bfdd24d",
      "tree": "aea324f74b734a944136f47c96de4e3286dfd982",
      "parents": [
        "b07c57a3d0d7bc3d63e86e0b50c2ed4f5c6e5af6"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 04 14:33:40 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 11 17:01:21 2024 +0000"
      },
      "message": "third_party/sandboxroot: remove swtpm, regenerate\n\nChange-Id: I6e3de33b0477e2a35fd3f6076e23195ed632cd4e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3131\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "b07c57a3d0d7bc3d63e86e0b50c2ed4f5c6e5af6",
      "tree": "a189e5d724ab5f83cc0e6d237b8cb4bc1fcf1be2",
      "parents": [
        "551a8199dab7faaa0bfb2c082c7f55a0940df247"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 04 14:33:27 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 11 17:01:21 2024 +0000"
      },
      "message": "metropolis: use swtpm from monorepo\n\nChange-Id: I6da94c7eaa31930d120955a17661152fc284f4a0\nReviewed-on: https://review.monogon.dev/c/monogon/+/3130\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "551a8199dab7faaa0bfb2c082c7f55a0940df247",
      "tree": "a3401e58cc04141b08ba72eafd57ad287163885f",
      "parents": [
        "2dc428095db12457baa21f1016ed32e016dab5b1"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 04 14:32:11 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 11 17:01:21 2024 +0000"
      },
      "message": "m/test/swptm/swtpm_cert: init\n\nThis is a Go reimplementaiton of swtpm_cert from upstream swtpm.\n\nChange-Id: I5738709fbe9512cfb3c853622f0ff6655506e9a9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3129\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "2dc428095db12457baa21f1016ed32e016dab5b1",
      "tree": "64099a44141eb5d5909accafd14925fadc53a9ce",
      "parents": [
        "72c1f2b4fde0477c9e1d02803fe8c5ffef116f42"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 04 14:30:19 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 11 17:01:21 2024 +0000"
      },
      "message": "m/test/swptm/certtool: init\n\nThis implements a minimal GnuTLS certtool replacement. It will be used\nby swtpm_setup and friends when generating an emulated TPM certificate.\n\nChange-Id: I7635ccdc50459fec9287ea790488e110c6ce3094\nReviewed-on: https://review.monogon.dev/c/monogon/+/3128\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "72c1f2b4fde0477c9e1d02803fe8c5ffef116f42",
      "tree": "1b7ef9cd58d07415af303a392e221e8844ec1618",
      "parents": [
        "00986a95f02c76d1a5691170ddc7688a48c880aa"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 04 13:42:48 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 11 17:01:21 2024 +0000"
      },
      "message": "third_party: add boringssl, libtpms, swtpm\n\nThis isn\u0027t yet used, but will soon be used as the main swtpm\nimplementation (instead of whatever is provided by the ambient\nenvironment and/or sandbox).\n\nChange-Id: I8c8cc7fd7841f10e14d6390595805a8b905d4f4e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3127\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "00986a95f02c76d1a5691170ddc7688a48c880aa",
      "tree": "6cb0edb40ff6affe72a4ff1ec03de375055df51f",
      "parents": [
        "d02c6c7745943f19d453f6fba0bfb701e7f222df"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu May 30 12:00:23 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 06 15:03:00 2024 +0000"
      },
      "message": "Revert \"m/n/c/network: return original links\"\n\nThis reverts commit 966f5eae18326ca6efd6ca9f90013ba8d2d25ac0.\n\nReason for revert: Breaks static networking with a lot of interfaces\n\nChange-Id: I3cd54c3fc4e57f05aa1d939583d292bee028d560\nReviewed-on: https://review.monogon.dev/c/monogon/+/2604\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "d02c6c7745943f19d453f6fba0bfb701e7f222df",
      "tree": "47a142a6b71e2aaa8e6a1ac9dc8d948158b70fec",
      "parents": [
        "327cdbaec24fe9eddf6cb7589acbe7e8612eb6a4"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed May 22 18:19:00 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 04 15:54:09 2024 +0000"
      },
      "message": "m/test/launch/cli: turn targets back into binaries and aliases\n\nWe had some kind of hack to get //metropolis:{launch,launch-cluster} to\nwork as `bazel test` targets, but I see no reason to ever want that.\n\nHaving the thing go through a test_suite and a native_test broke passing\nSIGINT and caused the emulated environments to continue running in the\nbackground forked off the server when the user exited via Ctrl-C.\n\nFor some reason, running in tests also allowed us to do a weird hack in\nwhich we could resolve the TPM config directory as a runfile and list\nfiles there (running via `bazel run` broke that). Let\u0027s also fix this to\njust use a file list instead.\n\nChange-Id: I3389617272307275e2755e540b233f88ca80f0bd\nReviewed-on: https://review.monogon.dev/c/monogon/+/3105\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "327cdbaec24fe9eddf6cb7589acbe7e8612eb6a4",
      "tree": "c2f3a0ee4dec46da45708da7547b71e094cfb993",
      "parents": [
        "966f5eae18326ca6efd6ca9f90013ba8d2d25ac0"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 21 13:51:32 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu May 30 18:38:30 2024 +0000"
      },
      "message": "cloud: fix %v in cases where we should use %w\n\nChange-Id: I161fe87fbc2bf8c4c2c7756074fc1050f268121e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3099\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "966f5eae18326ca6efd6ca9f90013ba8d2d25ac0",
      "tree": "b6c3431d3d4718b78489ea2e8ab51574ed57456a",
      "parents": [
        "1595e01e480fd2ab3f7690102bb722c4a6882bc4"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon May 27 20:06:00 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue May 28 11:19:10 2024 +0000"
      },
      "message": "m/n/c/network: return original links\n\nDo not recreate the netlink device structure as it loses information by\ndoing so, breaking things like DHCP which rely on for example the link\nHwAddr. We already have proper *netlink.Device structures as they get\ntype-asserted anyways.\n\nChange-Id: I90b8b6078fd7d6bd4e9e11e54751132bce22b517\nReviewed-on: https://review.monogon.dev/c/monogon/+/3112\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "1595e01e480fd2ab3f7690102bb722c4a6882bc4",
      "tree": "3999563b95a0d5c8cacb77f4d5e649261e129797",
      "parents": [
        "3b5a917c5a1ac49acad50eeacb5cf275efc3631e"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Sun May 26 14:20:12 2024 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon May 27 17:01:01 2024 +0000"
      },
      "message": "third_party/linux: enable more network drivers\n\nEnables drivers for VMWare\u0027s VMXNET3 paravirtual adapter, IP over\nThunderbolt/USB4 as well as Microsoft\u0027s Hyper-V paravirtual adapter.\n\nThese were missed as they are in a different configuration category.\n\nChange-Id: I1a391e5e258ba810bb229ce325932600be52cbd6\nReviewed-on: https://review.monogon.dev/c/monogon/+/3110\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "3b5a917c5a1ac49acad50eeacb5cf275efc3631e",
      "tree": "1da59c672acf3b68aab81fae38c6b6e5929b82a2",
      "parents": [
        "988403453448d27f6df6eea0a232e97c2a2e739b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu May 23 13:33:52 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu May 23 12:44:02 2024 +0000"
      },
      "message": "treewide: initialize empty structs with var\n\nChange-Id: I72d3993eaf5fe57c77b1dda8218e36a8cc11813d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3108\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "988403453448d27f6df6eea0a232e97c2a2e739b",
      "tree": "73318162f2e4f37f39b6619097ff425fb0908585",
      "parents": [
        "dd5b03c0f43dabdd1b2882a4147f5b4a828543b8"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed May 22 13:03:55 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu May 23 11:44:32 2024 +0000"
      },
      "message": "metroctl: add --columns options for `node describe`\n\nChange-Id: I58763edc25de7ac50885beb343831ae1b65ec65d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3100\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "dd5b03c0f43dabdd1b2882a4147f5b4a828543b8",
      "tree": "c5ad7f6f841cce6f18fbf85c1820503e6fe740a6",
      "parents": [
        "a42844a2d797d0ddc3a8eb0658ecd26f949277df"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu May 16 18:07:06 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed May 22 12:12:27 2024 +0000"
      },
      "message": "m/test/launch/cluster: make node images use qcow2-based snapshots instead of copying\n\nThis is a mild speedup, saving a few seconds from every E2E test (time\nwhich would\u0027ve otherwise been spent copying image blocks) and\nalleviating IOPS pressure as the test runs on tests which don\u0027t use\nintegrity checking.\n\nChange-Id: I8feece1c028b62e54dc0b45732443d7c93515d7f\nReviewed-on: https://review.monogon.dev/c/monogon/+/3093\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "a42844a2d797d0ddc3a8eb0658ecd26f949277df",
      "tree": "61cefc86911d080e8dd37b81a3f3358ae1076055",
      "parents": [
        "5878603e42a090dca43467173a249d5a8be4533f"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu May 16 18:06:19 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed May 22 12:12:27 2024 +0000"
      },
      "message": "go/qcow2: implement simple image generator\n\nThis is a write-at-once, write-only library for qcow2 images. We will\nuse it in tests to generate copy-on-write, snapshot-style images\n(instead of wasting disk space and iops copying the node image every\ntime).\n\nChange-Id: I3c8eaeb0c6fa1da44255eb7fc577168d6066d8e3\nReviewed-on: https://review.monogon.dev/c/monogon/+/3092\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "5878603e42a090dca43467173a249d5a8be4533f",
      "tree": "ec164a6f23caf39dbbfbecd27f8abc2778a7bee1",
      "parents": [
        "f8baa3a161261f0906bb06825e49d7556a35376c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 21 13:47:41 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 21 12:55:58 2024 +0000"
      },
      "message": "metropolis/cli/metroctl: fix %v in cases where we should use %w\n\nChange-Id: I5504dd8d12fe09d4373df619a3cecbfa39c7587b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3097\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "f8baa3a161261f0906bb06825e49d7556a35376c",
      "tree": "6a19309bd319d571f5fd949cba5384a4b6091902",
      "parents": [
        "adcf5d79ca9e4dd370d24e6579932a3dbaf5bd50"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 21 13:47:19 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 21 12:55:58 2024 +0000"
      },
      "message": "metropolis/node/core/metrics: fix %v in cases where we should use %w\n\nChange-Id: I7dec62ae0b3010470704f64717956e454287a456\nReviewed-on: https://review.monogon.dev/c/monogon/+/3096\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "adcf5d79ca9e4dd370d24e6579932a3dbaf5bd50",
      "tree": "bc038e72961171e033b9fb85abea5731ee38eb26",
      "parents": [
        "0726486159ad5ee1e1ddcd8d8e1e52bb6cf11e20"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 21 13:46:25 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 21 12:55:58 2024 +0000"
      },
      "message": "metropolis/test: fix %v in cases where we should use %w\n\nChange-Id: I3ad73960ad6655332c9d223e13796ca410dca582\nReviewed-on: https://review.monogon.dev/c/monogon/+/3095\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "0726486159ad5ee1e1ddcd8d8e1e52bb6cf11e20",
      "tree": "e4be052d41c0ecf116c3316f9220ca3f8c0293b9",
      "parents": [
        "8814f52a4b2baffd5bd1495483a806535e0eca02"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 21 13:43:39 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 21 12:55:58 2024 +0000"
      },
      "message": "third_party/sandboxroot/mirror: fix %v in cases where we should use %w\n\nChange-Id: I567a61c3c7fc790f586d6214f5275f1fd06c1180\nReviewed-on: https://review.monogon.dev/c/monogon/+/3094\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "8814f52a4b2baffd5bd1495483a806535e0eca02",
      "tree": "cc61e7260a52617b7ee62b4a44ada9ea4cfa26a0",
      "parents": [
        "99b021469b209bf184cd8d18749a7c1e74852a50"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 08 00:41:13 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 21 10:16:56 2024 +0000"
      },
      "message": "metropolis/pkg/logtree: move logtree protobuf definition to logtree pkg\n\nBefore this change we had the LogEntry message inside the metropolis\ncommon proto file. This splits it out into the logtree package to make\nit standalone in a future change.\n\nChange-Id: Idb26a829d6174efa946a6c4ce0f1b984cb2f18a2\nReviewed-on: https://review.monogon.dev/c/monogon/+/3080\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "99b021469b209bf184cd8d18749a7c1e74852a50",
      "tree": "9b916b10f5048cd40e9b0c929926d6d70abb36fa",
      "parents": [
        "d5d33ba1e0798b48f56e6a1bc9178af9fc778179"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Apr 17 16:33:28 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu May 16 08:35:09 2024 +0000"
      },
      "message": "m/test/e2e: split out tests into subpackages\n\nThe end-to-end tests have grown large enough that they merit their own\ntest targets. To make this more Go-idiomatic, we split away the tests\nnot just int separate Bazel targets, but also Go packages.\n\nWe also add per-test resource requests for Bazel, including a new\nresource kind (iops). This makes the tests more deterministic and allows\nuse to eg. use --runs_per_test\u003d10 to deflake test logic without hitting\nresource contention issues.\n\n//metropolis/test/e2e/suites/core:core_test                              PASSED in 35.1s\n  Stats over 10 runs: max \u003d 35.1s, min \u003d 26.6s, avg \u003d 31.9s, dev \u003d 2.6s\n//metropolis/test/e2e/suites/ha:ha_test                                  PASSED in 114.6s\n  Stats over 10 runs: max \u003d 114.6s, min \u003d 90.1s, avg \u003d 100.9s, dev \u003d 7.6s\n//metropolis/test/e2e/suites/ha_cold:ha_cold_test                        PASSED in 67.8s\n  Stats over 10 runs: max \u003d 67.8s, min \u003d 55.5s, avg \u003d 62.0s, dev \u003d 4.1s\n//metropolis/test/e2e/suites/kubernetes:kubernetes_test                  PASSED in 80.9s\n  Stats over 10 runs: max \u003d 80.9s, min \u003d 58.8s, avg \u003d 68.6s, dev \u003d 6.0s\n\nChange-Id: I8f31e09f599fd90c9941e2b69f36789817fa90ce\nReviewed-on: https://review.monogon.dev/c/monogon/+/3086\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "d5d33ba1e0798b48f56e6a1bc9178af9fc778179",
      "tree": "76f4f0b0a1175a77b64d5dd7469b3ec6a3d57c2d",
      "parents": [
        "69f5f4e5ffac12c1d8e45e4cc9dc72868aa3af41"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed May 15 11:45:35 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed May 15 16:15:25 2024 +0000"
      },
      "message": "m/n/k/reconciler: remove PSP role and rolebinding\n\nPod Security Policies have been removed from Kubernetes. The default PSP \nwas removed in commit 6211e4dc40, but the role and rolebinding was still \nleft. They do not have a function anymore. Now that reconciler updates \nare implemented, these will be removed from existing clusters after \nupgrading.\n\nChange-Id: Ia953a5ae03c581b15efc4e3b3711aaa008dc145d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3091\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "69f5f4e5ffac12c1d8e45e4cc9dc72868aa3af41",
      "tree": "a28c2166fc40b1a2bee20070b4ae6788477ccf1f",
      "parents": [
        "6bc958326f8bd4f3a1606e8a767d21f12f584e88"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed May 15 10:32:07 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed May 15 16:15:25 2024 +0000"
      },
      "message": "m/n/k/reconciler: implement updates\n\nThe reconciler now checks if already present object are equal to the \nexpected object, and else updates them. If the update fails due to \nimmutable fields, the object is instead deleted and recreated.\n\nAlso, the reconciler now logs create/update/delete operations.\n\nFor the CSI driver, the StorageCapacity and RequiresRepublish were added \nand set to their default value. If we don\u0027t do this, the API server will \nadd these defaults, and then our update comparison fails. There is also \na new test which ensures that expected objects have all defaults already \napplied. This test will fail if a Kubernetes upgrade adds new fields \nwith default values.\n\nCloses #288.\n\nChange-Id: Ibfb37d07b4613ae1a883ad47715feeda87135820\nReviewed-on: https://review.monogon.dev/c/monogon/+/2893\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "6bc958326f8bd4f3a1606e8a767d21f12f584e88",
      "tree": "cead58fb3ed141410735bec33c387fe88fb53734",
      "parents": [
        "ae7ad94cd590cb4f93eb0dd6597efa2bbd9e2f09"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue May 14 18:46:46 2024 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed May 15 12:30:02 2024 +0000"
      },
      "message": "workspace: update linux-firmware to 20240513\n\nNot many changes for the parts we\u0027re using.\nIntel DDP for E800 now supports the E825C family.\nNew microcode without changelog for AMD family 19h.\n\nChange-Id: I2242b68bf902929ece4d62b7771b848ed4f12a8d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3090\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ae7ad94cd590cb4f93eb0dd6597efa2bbd9e2f09",
      "tree": "e7899fd9d1492daa0915c1a9721d3601fc85f225",
      "parents": [
        "146346870881d7043bf591ea1e7ca6cdde8e11d6"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue May 14 18:21:55 2024 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed May 15 12:30:02 2024 +0000"
      },
      "message": "workspace: update Linux to 6.6.30\n\nStable kernel release bump, no notable changes expected.\nNo known regressions relevant to us according to the regressions list.\n\nChange-Id: I3fdf0248a8f679f9a80fa6c2f510a3f31e374df5\nReviewed-on: https://review.monogon.dev/c/monogon/+/3089\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "146346870881d7043bf591ea1e7ca6cdde8e11d6",
      "tree": "3160d2f6f0baf7a50887db6b144a6fcb645f91e3",
      "parents": [
        "de12c7ef5833ae349d8f39c8116431a286838fd7"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 08 02:53:55 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 14 21:12:26 2024 +0000"
      },
      "message": "metropolis/proto/api: remove unused import\n\nChange-Id: I45418860e5c0059b2853dbb0ba0dfc8c442aabfa\nReviewed-on: https://review.monogon.dev/c/monogon/+/3085\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "de12c7ef5833ae349d8f39c8116431a286838fd7",
      "tree": "4d379b1e6c0851b646f983cdb4c6f61b16588992",
      "parents": [
        "d20ddccddf601c2a34cc5238bd82b6a4a1744502"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 25 18:00:40 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 14 21:12:21 2024 +0000"
      },
      "message": "cloud/equinix/cli: add list command\n\nThis also replaces the packngo library with our fork\n\nChange-Id: I7ef23b840ce0de01109ab5764ed2c23feff72e49\nReviewed-on: https://review.monogon.dev/c/monogon/+/3060\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "d20ddccddf601c2a34cc5238bd82b6a4a1744502",
      "tree": "52eeeb7917b79220ad0f0cb34447525f7c21341b",
      "parents": [
        "8bc82868fd289220078ff317235db084349d9f70"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed May 08 14:18:29 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 14 12:11:45 2024 +0000"
      },
      "message": "m/n/k/reconciler: implement leader election\n\nBefore this change, the reconciler runs on all Kubernetes controllers. \nWhen we are in a rolling upgrade of the cluster where a reconciled \nobject changes, this will cause the old and new versions of the \nreconciler to fight each other, constantly updating the object back and \nforth.\n\nNow, the reconciler is elected among nodes of the latest release. The \nstatus of the reconciliation is communicated to all Kubernetes \ncontrollers through a new key-value in etcd.\n\nAdditionally, compatibility constraints can be expressed by changing the \nconstants minReconcilerRelease and minApiserverRelease, allowing \nreconciliation to happen in a controlled way that ensures compatibility \neven during rolling upgrades.\n\nChange-Id: Iaf7c27702bd9809a13d47bcf041b71438353bef2\nReviewed-on: https://review.monogon.dev/c/monogon/+/3062\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "8bc82868fd289220078ff317235db084349d9f70",
      "tree": "38c893fc96169d4c79a7d699d83158f86f564d04",
      "parents": [
        "b765f24f8f1c93b817c8a3f4f1eef2514562b140"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Apr 30 11:47:09 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon May 13 10:44:10 2024 +0000"
      },
      "message": "third_party/linux: fix LACP issues\n\nThis fixes two major issues with the Linux LACP implementation:\nFirst, the bond interface indicates carrier availability before any port\nis even in aggregation state. It pretty much only cares about underlying\nport carrier state which is not meaningful in LACP-controlled\naggregation.\nSecond, individual ports are added to the list of transmitting ports\nimmediately after coming up. This causes packets to be transmitted\nbefore the LACP state indicates that this should happen.\n\nFix both of these issues by only enabling ports when the LACP state\nmachine places them in collecting/distributing state and making the bond\ncarrier state dependent on ports being enabled. This makes the interface\nalso behave logically consistent, i.e. it can transmit packets when its\ncarrier is reported up and not when its carrier is reported down.\n\nWhile in there, fix some timer-related annoyances which make convergence\nunnecessarily slow.\n\nThis also comes with a ktest which can be used for testing and\nverification of these changes.\n\nChange-Id: I60d0ed483f4f4ccea4d582b80e2bb29ff741783d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3073\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "b765f24f8f1c93b817c8a3f4f1eef2514562b140",
      "tree": "1afe10327fcbbefa99de0bf3bfcb0d28ca77abca",
      "parents": [
        "da1c950d5099b7384d9239d3590393080e9bc8f4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 08 01:40:02 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon May 13 10:07:41 2024 +0000"
      },
      "message": "metropolis/cli/pkg/context: replace with signal.NotifyContext\n\nChange-Id: I457ccb83c7e25988755bb9463a8c83fc328a722b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3081\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "da1c950d5099b7384d9239d3590393080e9bc8f4",
      "tree": "d33be83a68b9341f9c5f83aeef80383e5c0d5b3b",
      "parents": [
        "2f842379253a73de17fc67385765c7862e317453"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 08 01:24:29 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon May 13 10:07:37 2024 +0000"
      },
      "message": "metropolis/pkg/(event|pki): remove dependency to consensus/client\n\nWe are currently depending on the consensus client, even when we just\nneed a plain etcd client. This change removes the dependency by adding\na ThinClient interface that wraps KV amd Watcher from clientv3.\n\nChange-Id: I33994ab35ebb3a63c9dda4b588b7f529535e3083\nReviewed-on: https://review.monogon.dev/c/monogon/+/3082\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "2f842379253a73de17fc67385765c7862e317453",
      "tree": "6b78e8f3ff5cbc2b4faeeebaf55e07a2369408fe",
      "parents": [
        "ddc5e6a098c24c1e69b5c692f534b05dbc763367"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 07 00:07:11 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 07 12:04:28 2024 +0000"
      },
      "message": "metropolis/cli/metroctl: register context flag to the correct command\n\nChange-Id: I934a5094dfb1dcbd472300888a0aef89b3917719\nReviewed-on: https://review.monogon.dev/c/monogon/+/3078\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\nReviewed-by: Hendrik Hofstadt \u003chendrik@monogon.tech\u003e\n"
    },
    {
      "commit": "ddc5e6a098c24c1e69b5c692f534b05dbc763367",
      "tree": "962bc2b07f054b9c2552018a305fca2d9ee277f9",
      "parents": [
        "2d83a128f6096b8133af9edec00e1cd0cd8215b0"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 23 23:44:34 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon May 06 13:34:32 2024 +0000"
      },
      "message": "treewide: update to UwUbernetes (Kubernetes 1.30)\n\nCo-authored-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nCo-authored-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nChange-Id: Id923f503938314ef8fb4243f36604752edbb4605\nReviewed-on: https://review.monogon.dev/c/monogon/+/3047\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "2d83a128f6096b8133af9edec00e1cd0cd8215b0",
      "tree": "5fffaa49de3a25ffb8f2588b4050e2da7879ce4a",
      "parents": [
        "6ea5762b371bd7a6b35538b37b2781f8386dd323"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon May 06 14:38:32 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon May 06 13:33:59 2024 +0000"
      },
      "message": "m/n/k/p/kvmdevice: fix device inode error handling\n\nThis was broken in d5f851bb47, where the inverted logic was not kept\nwhen migrating to errors.Is.\n\nChange-Id: Id1bbc96f80b33df539a3a5051d56e126bb453390\nReviewed-on: https://review.monogon.dev/c/monogon/+/3077\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "6ea5762b371bd7a6b35538b37b2781f8386dd323",
      "tree": "cf36b0f29317b931bb73f15801f2b53857d08722",
      "parents": [
        "c8f5e641f19af02cb1e98ced8e5da58ac6e99f66"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Apr 17 21:02:32 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu May 02 09:36:56 2024 +0000"
      },
      "message": "m/pkgs/localregistry: make even more runfile aware\n\nChange-Id: I67b4ee5d6bc6a21a91932885ccc67fbf107bf995\nReviewed-on: https://review.monogon.dev/c/monogon/+/3053\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "c8f5e641f19af02cb1e98ced8e5da58ac6e99f66",
      "tree": "973d1c4b443c88a4827aeebce344ed593664cd37",
      "parents": [
        "cceb6a36f1084fb3ced6332be39a6a3256514ebb"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 30 17:20:32 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 02 09:00:34 2024 +0000"
      },
      "message": "m/p/tpm/e/internal: fix validation logic error\n\nThe previous logic was wrong: (et \u003c 0x80000000 \u0026\u0026 et \u003e 0x800000FF) \nalways evaluates to false. The overall condition evaluates to true for \nvalues in the range [0x80000000, 0x800000FF] and thus incorrectly \nrejects them as invalid.\n\nNow, an error is only returned if the value is not in either of the two \nvalid ranges.\n\nChange-Id: I30ac473cca323e4f7bb0ca2137fcb0eee18a806a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3069\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "cceb6a36f1084fb3ced6332be39a6a3256514ebb",
      "tree": "4eff76a3ccdc71387e2861ebec57a97df07d6fc9",
      "parents": [
        "fbd55e74da4468e977ab3c0bbbdbb481607d4eaf"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Apr 16 13:33:15 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Apr 30 14:51:05 2024 +0000"
      },
      "message": "m/c/metroctl: add exclude flag to node update\n\nThis allows excluding nodes from updates, required for doing update\nsequencing manually on large clusters until we have an in-cluster\nsequencer.\n\nChange-Id: Ia522f55496b562781815aceb1321b6a2de93653d\nReviewed-on: https://review.monogon.dev/c/monogon/+/2985\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "fbd55e74da4468e977ab3c0bbbdbb481607d4eaf",
      "tree": "e6d815c8b50cd824364ad9416283e87913086610",
      "parents": [
        "e2b2865ae953e5d30c3f0900c8f50b358d47899d"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:07:48 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 30 13:31:08 2024 +0000"
      },
      "message": "m/p/tpm/e/internal: remove unsigned comparison against negative value\n\nChange-Id: Id775b09b329aa86c12e52a53f8947428e03ed07b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3018\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "e2b2865ae953e5d30c3f0900c8f50b358d47899d",
      "tree": "0b2c3abc3b9eff7aadb62378e79f240e88a67672",
      "parents": [
        "7be54aa2e0614d174d664c67f8dfccd5a2f1e856"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Apr 12 16:49:16 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 30 12:10:27 2024 +0000"
      },
      "message": "build/analysis: make nogo stricter by enabling more checks\n\nChange-Id: I2164e17ff0c11ffc22793bb8789f218ceda3706a\nReviewed-on: https://review.monogon.dev/c/monogon/+/2975\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "7be54aa2e0614d174d664c67f8dfccd5a2f1e856",
      "tree": "0af35e56eadcb6449676a0c6eb51ce90e815ed02",
      "parents": [
        "500f6e08356b1cf358e619247582be784616964e"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Apr 09 12:07:10 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Apr 25 12:01:18 2024 +0000"
      },
      "message": "m/test/e2e: add TestE2EColdStartHA\n\nThis exercises full cluster shutdown and restart.\n\nChange-Id: I546a46c7c8d34da23466b8b959076135c503b077\nReviewed-on: https://review.monogon.dev/c/monogon/+/2943\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "500f6e08356b1cf358e619247582be784616964e",
      "tree": "acbefa8a8ff731ef38ea547172d8c87249209e77",
      "parents": [
        "e564f17cc268763402ccaed1d2416309568c06f9"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Apr 03 12:06:40 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Apr 25 12:01:18 2024 +0000"
      },
      "message": "m/t/launch/cluster: add ShutdownNode/StartNode calls\n\nThis is a simplistic implementation of the ability to shut down and then\nstart nodes back up.\n\nThis has the following known issues:\n\n 1. Starting a node back up won\u0027t start it\u0027s TPM emulator again.\n 2. LaunchNode and StartNode likely should be reworked into CreateNode\n    and StartNode.\n\nA future change will clean this up, but this is enough to be able to\nimplement cold cluster startup tests.\n\nChange-Id: I2ed34a30c8659e5023866aaa8f4ff19caafb53fd\nReviewed-on: https://review.monogon.dev/c/monogon/+/2942\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "e564f17cc268763402ccaed1d2416309568c06f9",
      "tree": "bc2a39f001bad14a9e6688d7e258ac1640200d83",
      "parents": [
        "d5cabdeb41f24c70ca6977a6f8bfb798719d1df1"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Apr 03 12:06:06 2024 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Apr 25 12:01:18 2024 +0000"
      },
      "message": "m/t/launch/cluster: allow specifying InitialClusterConfiguration\n\nThis allows different tests to run clusters with different\nClusterConfigurations.\n\nChange-Id: I159ced96e95c6762c493c590e596c1a8dd94b35d\nReviewed-on: https://review.monogon.dev/c/monogon/+/2941\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "d5cabdeb41f24c70ca6977a6f8bfb798719d1df1",
      "tree": "c39a483f677612e3e1d22a1410b5e4336c230521",
      "parents": [
        "931b3a3f18f36e7e8de80c7d7632105077d832a9"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Apr 19 02:56:46 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:30:10 2024 +0000"
      },
      "message": "m/node/core/consensus: correctly handle failed parsing of node urls\n\nChange-Id: Ib7a655d4bba35d5adbc28ab083d13e2eb3b82378\nReviewed-on: https://review.monogon.dev/c/monogon/+/3031\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "931b3a3f18f36e7e8de80c7d7632105077d832a9",
      "tree": "c22db8ea573669747bc337c366aaf2896c59666e",
      "parents": [
        "62050ca7c7094f714525cfbb3a0385707ccbc86e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:39:20 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "metropolis/pkg/supervisor: read directly from channel instead via select\n\nChange-Id: I05fa6d44b0536040a53e1f62f4adb8548de97b37\nReviewed-on: https://review.monogon.dev/c/monogon/+/3006\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "62050ca7c7094f714525cfbb3a0385707ccbc86e",
      "tree": "00eec35a9dfa61b7308c9239d58ed377191db4fc",
      "parents": [
        "8215e0c5e05e8c3822c2bac69898b1ec0a6de682"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Apr 22 18:29:35 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "metropolis/pkg/tpm/eventlog: simplify replay events error check\n\nChange-Id: Ib8d0fe3981ae2d64c72cb657b1d17b011bdde32c\nReviewed-on: https://review.monogon.dev/c/monogon/+/3035\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8215e0c5e05e8c3822c2bac69898b1ec0a6de682",
      "tree": "e3158f3a70798b8286017e202d08aaecad682757",
      "parents": [
        "a3cd52cd6c211c28dfe7a601c7f59a05bc058781"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Apr 19 00:40:58 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "metropolis/pkg/verity: remove noop on encoder close\n\nChange-Id: I68b69a070aa02cb58f0855e9b002cdcdcde6821f\nReviewed-on: https://review.monogon.dev/c/monogon/+/3030\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "a3cd52cd6c211c28dfe7a601c7f59a05bc058781",
      "tree": "94faa3ea035d1056fe560f05764291dec45932e7",
      "parents": [
        "8732d437505cb1280004bcaa8a330aaf57ba402e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:21:16 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: documentation on exported values should start with their name\n\nChange-Id: I1bd89db3d9be101a682d8c18ebeb18f19fb189f4\nReviewed-on: https://review.monogon.dev/c/monogon/+/3029\nTested-by: Jenkins CI\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "8732d437505cb1280004bcaa8a330aaf57ba402e",
      "tree": "f2509dc348a4e886020a85cdb41f3ea74aa763c3",
      "parents": [
        "51daf25d90adca76375e0d141c93d692ab2cd2eb"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:20:05 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: documentation on exported types should start with their name\n\nChange-Id: I2e25157459ecc55421138e9fb6a15de5024d00fd\nReviewed-on: https://review.monogon.dev/c/monogon/+/3028\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "51daf25d90adca76375e0d141c93d692ab2cd2eb",
      "tree": "6784b8f4a4c5facdc345ef1d47e0946a6267e74a",
      "parents": [
        "b41b548058101e663a9591beaf2c491a44638d56"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:18:43 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: documentation on exported functions should start with their name\n\nChange-Id: Iea3e929bed743d7edfbf5b54bbaa31796aeaaadd\nReviewed-on: https://review.monogon.dev/c/monogon/+/3027\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "b41b548058101e663a9591beaf2c491a44638d56",
      "tree": "4e977981d188d2e1d8cc37ba717c9a1787a04324",
      "parents": [
        "513df18bf6ae7ad0cc17807674ee561c518d0654"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:24:01 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: remove duplicate imports\n\nChange-Id: I3708f9b6fb95d9463e3b9da12757a4b19416124f\nReviewed-on: https://review.monogon.dev/c/monogon/+/3026\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "513df18bf6ae7ad0cc17807674ee561c518d0654",
      "tree": "2f9ce2af2964680376b62b183d65a93ae615c2e9",
      "parents": [
        "a21783f4a1c8f67eea0ca354e31f73ccfd682688"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:44:50 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: errors variables should be prefixed with Err\n\nChange-Id: Ic277f98ebcd03356500ce7daba199738e701e81c\nReviewed-on: https://review.monogon.dev/c/monogon/+/3025\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "a21783f4a1c8f67eea0ca354e31f73ccfd682688",
      "tree": "1c287d468103b0ec6c18f6f91e3ae911f106d3f3",
      "parents": [
        "73e9882a907654dbecfb55ea0f30030e0fedbb1e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:44:16 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "metropolis/pkg/verity: remove unused receiver name\n\nChange-Id: I20416f48c8796601e30d75e42031805841fd242d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3024\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "73e9882a907654dbecfb55ea0f30030e0fedbb1e",
      "tree": "b69ef493fcdf76614ed82d64f1a9ec8c79bb0375",
      "parents": [
        "07541ae311e9477cf1e5a20af82a81ee77840afe"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:13:49 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: cleanup error string formatting\n\nChange-Id: I9012ba58dded916984468219b214200144a439b9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3023\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "07541ae311e9477cf1e5a20af82a81ee77840afe",
      "tree": "23dc4e6cbeed0fbd75ad8b3b1403b43f46d07c66",
      "parents": [
        "c4ac94e00db2a588acaab6a776becb551797f3cc"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:50:16 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "m/node/core/localstorage/crypt: fix use of non-octal value as filemode\n\nChange-Id: Ie57b0d45c2f41e82ec65379c97bc7d649c4df73f\nReviewed-on: https://review.monogon.dev/c/monogon/+/3022\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "c4ac94e00db2a588acaab6a776becb551797f3cc",
      "tree": "7b1590ed633800e27cb75cc4ead9bef04d249b1b",
      "parents": [
        "2d5ae8fda8eb566280ec81a8368cc524b809a8b4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:12:38 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "m/pkg/fat32: replace strings.ToLower comparison with strings.EqualFold\n\nChange-Id: Ibd22f86e500a97e147e286aaa566e13d902da588\nReviewed-on: https://review.monogon.dev/c/monogon/+/3021\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "2d5ae8fda8eb566280ec81a8368cc524b809a8b4",
      "tree": "a0a6165fc87599fdd9dc198d9ad35604fc7fcc0b",
      "parents": [
        "096654adb312a1bc858a0f886b8fba755eab52b4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:11:53 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: add nolint after t.Skip/log.Fatal to make staticcheck happy\n\nChange-Id: I8b3dcff93fcb1d11673f327252693e6aba26c239\nReviewed-on: https://review.monogon.dev/c/monogon/+/3020\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "096654adb312a1bc858a0f886b8fba755eab52b4",
      "tree": "bb753ba3a24eab6a63b7f7c1757f35f0540b880a",
      "parents": [
        "a355821fa06a7f68ff8ddca6050f71e92e4939a5"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:10:19 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: add missing error handling\n\nChange-Id: I55ccf3ff490b58f6af93e665c668428acddc8d65\nReviewed-on: https://review.monogon.dev/c/monogon/+/3019\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "a355821fa06a7f68ff8ddca6050f71e92e4939a5",
      "tree": "17e5e7581716aa12139ffc082dd9d688ffcd1583",
      "parents": [
        "92316fdcb21e4cba0494793f5b90924accfd3fc3"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:41:38 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "metropolis/cli/dbg: replace deprecated grpc.WithInsecure\n\nChange-Id: I288446fa4055ee95ae024b634228afbae633dede\nReviewed-on: https://review.monogon.dev/c/monogon/+/3017\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "92316fdcb21e4cba0494793f5b90924accfd3fc3",
      "tree": "3e58fea500fec60fc0df8542f1737173de8677d5",
      "parents": [
        "24ce66f0f5f5dac457d5e65beb2980db6780a72a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:06:40 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: remove unnecessary use of fmt.Sprint\n\nChange-Id: I619dcf56665365e09be27e7c58b8b3596715b8b4\nReviewed-on: https://review.monogon.dev/c/monogon/+/3016\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "24ce66f0f5f5dac457d5e65beb2980db6780a72a",
      "tree": "ca5e78ebae92122ec6f9cbe5cf34e64984ebcc05",
      "parents": [
        "2d0230524e96bdca53354fe191554342674c5fc4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:59:24 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "metropolis/node/kubernetes/reconciler: remove redundant nil check\n\nChange-Id: I0ebd2d8d815a964fa854e86868a4870b754ea548\nReviewed-on: https://review.monogon.dev/c/monogon/+/3015\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "2d0230524e96bdca53354fe191554342674c5fc4",
      "tree": "43f1a485803af9bd44ea4cf69ae56effce0bbdb8",
      "parents": [
        "e4c60f9f823202d3703a2d1e393c15ed036796a2"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:05:51 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "cloud/bmaas/bmdb/reflection: don’t use fmt.Sprintf for string types\n\nChange-Id: Ic5a0619fe3a83ba0852770c46277e0804295ada7\nReviewed-on: https://review.monogon.dev/c/monogon/+/3014\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e4c60f9f823202d3703a2d1e393c15ed036796a2",
      "tree": "8fa72e8fa1ff8e940d249364f448a397262f9c11",
      "parents": [
        "0cf8944e8539a575ce280d70d54bf4ecf16b8228"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Apr 19 00:01:47 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "m/n/c/n/dhcp4c/callback: Replace x.Sub(time.Now()) with time.Until(x)\n\nChange-Id: Iedf1300986d553dbe0721b66ae2b229333cea520\nReviewed-on: https://review.monogon.dev/c/monogon/+/3013\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "0cf8944e8539a575ce280d70d54bf4ecf16b8228",
      "tree": "31a87285fcdbc782a00a8378ae3208f701106c86",
      "parents": [
        "e1acfe37a1249543b9b3180d602db79539468696"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:05:03 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: remove redundant returns\n\nChange-Id: I15f3f94273ffbb199dd47d7869de56196e1f4bd1\nReviewed-on: https://review.monogon.dev/c/monogon/+/3012\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "e1acfe37a1249543b9b3180d602db79539468696",
      "tree": "856ebc0ccbbd7fe7c7e54af5da24ce6b01beb77c",
      "parents": [
        "d6877d590b69dd14e75ff27f596550cc0207c8cf"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:02:22 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: use a single append to concatenate two slices\n\nChange-Id: I3930313203c753aa5e629af0db3bf604baaa6b43\nReviewed-on: https://review.monogon.dev/c/monogon/+/3011\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "d6877d590b69dd14e75ff27f596550cc0207c8cf",
      "tree": "96b739ec343dbca1d52927d4d4bcf26fa874d3b8",
      "parents": [
        "a2eea1645cb4b5ef4abb2e05fb3da40f52005b84"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Apr 19 01:02:57 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "metropolis/node/core/roleserve: simplify returning boolean expression\n\nChange-Id: I82af117bab94b3acf51889fb0d2ebe6e58d96cc2\nReviewed-on: https://review.monogon.dev/c/monogon/+/3010\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "a2eea1645cb4b5ef4abb2e05fb3da40f52005b84",
      "tree": "b8315b17bed9d3430f2f31d29b680d84d113c280",
      "parents": [
        "885668aeee35ec2644490912f91d81d4b55c3c3f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:39:38 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: replace call to bytes.Compare with bytes.Equal\n\nChange-Id: I6498593b67386ae858fb06a48f2385940688d880\nReviewed-on: https://review.monogon.dev/c/monogon/+/3009\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "885668aeee35ec2644490912f91d81d4b55c3c3f",
      "tree": "87fd029792e55a3a95bce9dc56f14a271569a76f",
      "parents": [
        "073e7c4693e902852e4fa56f3000d60efee10e91"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Apr 19 00:01:06 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: remove comparison with boolean constant\n\nChange-Id: Iae5abb2a470865f0a831ed770b16eb439589d012\nReviewed-on: https://review.monogon.dev/c/monogon/+/3008\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "073e7c4693e902852e4fa56f3000d60efee10e91",
      "tree": "ffc4d7bc848d0b1e366429028bcbb546d20a548c",
      "parents": [
        "b2778e4a5148af45254043a9663a2879f783a1f8"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Apr 19 01:57:11 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "go/types/mapsets: use copy instead of loop\n\nChange-Id: I39da63e9ef7f91157d1ea9e5eadf6cef90342019\nReviewed-on: https://review.monogon.dev/c/monogon/+/3007\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "b2778e4a5148af45254043a9663a2879f783a1f8",
      "tree": "ad5137ea6d128806548008e56481889788df5b29",
      "parents": [
        "683b62b946dcdbe73b3270340c6235d4478c27a3"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Apr 19 00:56:45 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:22:13 2024 +0000"
      },
      "message": "metropolis/node/core/curator: merge assignment into variable declaration\n\nChange-Id: I85369786be45d732df26a7f5f5fd3e062f0e8146\nReviewed-on: https://review.monogon.dev/c/monogon/+/3004\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "683b62b946dcdbe73b3270340c6235d4478c27a3",
      "tree": "a4c609a9ba09caaba5087fff27b8b4cb87c834ee",
      "parents": [
        "13b4947ef9396dcb6d4496b9868e58a67b0375a9"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:40:33 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:22:13 2024 +0000"
      },
      "message": "treewide: simplify boolean expressions\n\nChange-Id: Ife45e57b8fdbf2a7a6fa10e00a4daf41af785996\nReviewed-on: https://review.monogon.dev/c/monogon/+/3003\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "13b4947ef9396dcb6d4496b9868e58a67b0375a9",
      "tree": "fde1e7ba823e591b301c3958197172895c98d3a2",
      "parents": [
        "783d078dee9f8446ef702ccef1e16444ed21623a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 22:39:50 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:22:13 2024 +0000"
      },
      "message": "metropolis/pkg/efivarfs: use strings.ReplaceAll\n\nChange-Id: Ifb9da5aa20cabc482bbf44cb809b73e32d75e312\nReviewed-on: https://review.monogon.dev/c/monogon/+/3002\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "783d078dee9f8446ef702ccef1e16444ed21623a",
      "tree": "24e6efe8c3619652d9d34995c30d6fecdcbe92a2",
      "parents": [
        "5538121358e94f82dfe465ae318f7f52ec00c74a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 17 17:38:32 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:22:13 2024 +0000"
      },
      "message": "metropolis/node/build/kconfig-patcher: check for bufio.Scanner error\n\nChange-Id: I7656d6a6b7ab71363c6b267f9bfb41e23ca50dad\nReviewed-on: https://review.monogon.dev/c/monogon/+/2999\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "5538121358e94f82dfe465ae318f7f52ec00c74a",
      "tree": "afae8687a7682f8287640de97ebaaae40beed646",
      "parents": [
        "6e5b8a5b7ad46cc519ba3ca6166cee160b536185"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 17 02:42:31 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:22:13 2024 +0000"
      },
      "message": "cloud/agent: remove unnecessary convertions\n\nChange-Id: Ia67bbc3d80e499267a6c39211eea8c1b7c4da28a\nReviewed-on: https://review.monogon.dev/c/monogon/+/2998\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "6e5b8a5b7ad46cc519ba3ca6166cee160b536185",
      "tree": "89460ff19e0b4f63abe13e5e2c3bd68acfd33f30",
      "parents": [
        "62a02ea54a45152baea559172b95c94822b8fa1c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 17 02:34:07 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:22:13 2024 +0000"
      },
      "message": "treewide: add nolint exceptions for returnerrcheck\n\nChange-Id: Ife7e28de0317627994cb55d6bd5b10fa6016332b\nReviewed-on: https://review.monogon.dev/c/monogon/+/2997\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "62a02ea54a45152baea559172b95c94822b8fa1c",
      "tree": "af75cd566f1c516cbea1d7976513cec66b20feb8",
      "parents": [
        "4beb06e01ac4b5b548424f71b8c74888adc07770"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 17 02:33:55 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:22:13 2024 +0000"
      },
      "message": "build/toolbase: only use Getcwd when it didn\u0027t fail\n\nChange-Id: I77e155e51d956b32bdcfd216f3852e028f8e0c5a\nReviewed-on: https://review.monogon.dev/c/monogon/+/2996\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4beb06e01ac4b5b548424f71b8c74888adc07770",
      "tree": "866b4b84f2bc409dcc4d81adf566cf2731f39b8d",
      "parents": [
        "47d0344a962610f8c0b05bd3c6b42d456f6ba465"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 17 00:56:53 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:22:13 2024 +0000"
      },
      "message": "metropolis/pkg/gpt: call Hash.Sum with nil instead of empty byte slice\n\nChange-Id: I90baf8c86a366964c5fc0967ea38cb40b5bc5240\nReviewed-on: https://review.monogon.dev/c/monogon/+/2995\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "47d0344a962610f8c0b05bd3c6b42d456f6ba465",
      "tree": "f7c886d5aca45759d1ebe67ceb91481c3396243d",
      "parents": [
        "3074ec6981425c6c955fae9886f6995d2498ea72"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 23 15:08:44 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:22:13 2024 +0000"
      },
      "message": "metropolis/pkg/supervisor: simplify error unwrap and comparison\n\nChange-Id: I09ac13eb507197b8326820eef49760831683787f\nReviewed-on: https://review.monogon.dev/c/monogon/+/3044\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "3074ec6981425c6c955fae9886f6995d2498ea72",
      "tree": "d85601804e39df66df7876d155c6fd7de2647055",
      "parents": [
        "06c1964cf46749e7942b4eedec82a885db089c3e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 23 15:08:05 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:21:36 2024 +0000"
      },
      "message": "treewide: remove empty slice return value with nil\n\nChange-Id: I36253a7f3c7d882175b90be34e685dde3e923521\nReviewed-on: https://review.monogon.dev/c/monogon/+/3043\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "06c1964cf46749e7942b4eedec82a885db089c3e",
      "tree": "e0d7ff2894b8b414c1702542f308bd2aa3add776",
      "parents": [
        "6250705e0fb83cc9c92a50b3a87f95d7089effee"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 23 15:07:40 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 14:16:25 2024 +0000"
      },
      "message": "treewide: compare syscall.Errno directly instead of interface type\n\nChange-Id: I03eba72177113cf40afc38981c5311a8013855f9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3042\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "6250705e0fb83cc9c92a50b3a87f95d7089effee",
      "tree": "605e229a9fc68fef7ee9759438c4ec90f6b4d6b4",
      "parents": [
        "3215ee8eb6a096a0d310cb0f465584783435e4ad"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 23 15:06:14 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 13:15:18 2024 +0000"
      },
      "message": "cloud/shepherd/provider/equinix: fix wrong usage of slices.DeleteFunc\n\nChange-Id: I736dc4ebde844d602ea84c5660c583e881538b16\nReviewed-on: https://review.monogon.dev/c/monogon/+/3041\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "3215ee8eb6a096a0d310cb0f465584783435e4ad",
      "tree": "e9e8b2a06e1ff9f7f35ca003abcfbee578090e2f",
      "parents": [
        "c20e37259411b9cc1d6be4f179ab34fb940c1029"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 23 15:12:39 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 13:15:14 2024 +0000"
      },
      "message": "metropolis/pkg/tpm: replace external errors package with stdlib\n\nChange-Id: Icacaf8b4a189d7b3cb9b516007ce4796da010573\nReviewed-on: https://review.monogon.dev/c/monogon/+/3039\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "c20e37259411b9cc1d6be4f179ab34fb940c1029",
      "tree": "f84f66494f198611935d870747cbde6b85fdd5ec",
      "parents": [
        "af821c801fb70dc3d178dc3ca0c3d4538f9f29aa"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 23 15:04:45 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 13:15:14 2024 +0000"
      },
      "message": "treewide: replace errors.Wrap assertions with fmt.Errorf\n\nChange-Id: Ib67c949c492654df402e0f49670167fb7857aabb\nReviewed-on: https://review.monogon.dev/c/monogon/+/3040\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    }
  ],
  "next": "af821c801fb70dc3d178dc3ca0c3d4538f9f29aa"
}
