)]}'
{
  "log": [
    {
      "commit": "1c42c42ff6621c44cdc3da39b066e4fc270105ef",
      "tree": "d72618e3c8872b1577fd9ba6c323e0c1e43789d7",
      "parents": [
        "0b9276519a7475c3a341f78d83ca8d18cec3b38a"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Aug 01 15:41:54 2024 +0000"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Aug 06 09:13:31 2024 +0000"
      },
      "message": "third_party/linux: enable landlock at boot time\n\nRequired by a customer workload. Also likely to be\nused by our own OS components in the future.\n\nChange-Id: I7ddb2fadba483fd3c4aabecdce45c37679fca6c9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3296\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "0b9276519a7475c3a341f78d83ca8d18cec3b38a",
      "tree": "4824ee5afec87621b60d6cf06e22d3c696d3a978",
      "parents": [
        "a3e38cf9a4fcc0940402c4f18172662a84e28151"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 31 18:08:50 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Aug 05 07:36:08 2024 +0000"
      },
      "message": "m/test/launch: consistently use 0-based node indices\n\nPreviously, the first node was sometimes called node 1 in the logs, and \nsometimes node 0. Now it is always called node 0.\n\nOnce all nodes are up, node info is now printed in the order of node \nnumbers. Previously this was random as this was iterating over a map \n(cluster.Nodes).\n\nChange-Id: I0757c89951d7292f2f720237604a3554af4bf404\nReviewed-on: https://review.monogon.dev/c/monogon/+/3293\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "a3e38cf9a4fcc0940402c4f18172662a84e28151",
      "tree": "add9e62b0d9598619e0000353999729fc7b376b2",
      "parents": [
        "58079040557df838ec418d96155df0b273331dab"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jul 31 14:40:04 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Aug 01 10:11:03 2024 +0000"
      },
      "message": "metroctl: add metrics command\n\nThis is a little helper command to access Node metrics easily for people\n(eg. developers!) who don\u0027t have a metrics collection infrastructure set\nup.\n\nChange-Id: Ibe3b4356db88e31c3156289ab8d8ca2985266b4b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3288\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "58079040557df838ec418d96155df0b273331dab",
      "tree": "38f771f242e9374c36718302d98452a1395f0528",
      "parents": [
        "4a3e05f11004a220ccde2f9f4db026c3090185fa"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 30 19:43:33 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 31 15:53:52 2024 +0000"
      },
      "message": "WORKSPACE: set minimum bazel version to 7.2.1\n\nChange-Id: I73f7cc8b279ada1e8e3405cc9390f5c211bd8129\nReviewed-on: https://review.monogon.dev/c/monogon/+/3283\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "4a3e05f11004a220ccde2f9f4db026c3090185fa",
      "tree": "9f62fc777cea0a42abaf0ae93a82d61829de7e57",
      "parents": [
        "57937c032e093f6b8e6693a4d0c7b370daec7f1a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 30 18:19:21 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 31 15:53:47 2024 +0000"
      },
      "message": "WORKSPACE: migrate simple http_archive, http_file and git_repositories to bzlmod\n\nAll the others will follow but are more invasive changes.\n\nChange-Id: I12b6983015be89e179d7e61ae25bf98a48b2c468\nReviewed-on: https://review.monogon.dev/c/monogon/+/3282\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "57937c032e093f6b8e6693a4d0c7b370daec7f1a",
      "tree": "2d126a161c1e2db3e5be09a5ca8f5823f490ba1f",
      "parents": [
        "f191804f361c6766a6eda8f9bf211219e37c13be"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jul 25 15:37:32 2024 +0000"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jul 29 13:54:36 2024 +0000"
      },
      "message": "Revert \"third_party/edk: update to 202405\"\n\nThis reverts commit 4b8c7e9c13f099696e7f2723033fa33f0c7df9a9.\nFixes https://github.com/monogon-dev/monogon/issues/306.\n\nFollow up in https://github.com/monogon-dev/monogon/issues/313.\n\nChange-Id: I67c2797e3e9398aa587d884817e8b7a7b69b310b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3261\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "f191804f361c6766a6eda8f9bf211219e37c13be",
      "tree": "7c3eecbbec2813ea1b3640a73df9df79559a81af",
      "parents": [
        "e166fa3f1e18bda930bb281758207d7e18c73762"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 23 02:21:24 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 25 14:50:06 2024 +0000"
      },
      "message": "third_party/rust: delete old Cargo.Bazel.lock\n\nSince we moved away from cargo-raze, this file has been become obsolete.\n\nChange-Id: Idf20849dc3a7148739e8a51a427e9098b7a3ec22\nReviewed-on: https://review.monogon.dev/c/monogon/+/3252\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "e166fa3f1e18bda930bb281758207d7e18c73762",
      "tree": "4ef76c49f58e996461b04b394d70230dde955256",
      "parents": [
        "5150223ce08f503f83ddcff2feec46a342b385f5"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jul 25 13:29:12 2024 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jul 25 14:16:01 2024 +0000"
      },
      "message": "WORKSPACE: update linux to 6.6.42\n\nStable release bump, no significant changes expected.\nNo relevant regressions on the linux-regressions list.\n\nChange-Id: I7688746eb94d514d53bfaa696ea5312a03b39690\nReviewed-on: https://review.monogon.dev/c/monogon/+/3254\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "5150223ce08f503f83ddcff2feec46a342b385f5",
      "tree": "ad0b50d7c67772c380b9e053a8292629da5f4b36",
      "parents": [
        "d7e34c4e6c7b8bb603262d7e23262b12c452817e"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jul 25 15:07:25 2024 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jul 25 14:16:01 2024 +0000"
      },
      "message": "WORKSPACE: update CA roots\n\nRemoved:\nGLOBALTRUST 2020 (removed for security reasons, \u003c100 certificates issued)\n\nAdded:\nFIRMAPROFESIONAL CA ROOT-A WEB\n\nChange-Id: Id9ac4cbe007c603a72a92f9c599d3c68043bb9dd\nReviewed-on: https://review.monogon.dev/c/monogon/+/3253\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "d7e34c4e6c7b8bb603262d7e23262b12c452817e",
      "tree": "0c0f85f31fbb5935e5b36ddffc2b28076b8d1aad",
      "parents": [
        "886abba9cf0a0492c3eef3e5978f27af898dde6c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 09 17:32:13 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 25 12:14:55 2024 +0000"
      },
      "message": "osbase/fat32: implement SizeFS\n\nThis function allows the user to find out if a filesystem is fitting on\nthe given blockdevice. This will be used to allow osimage to validate if\n an install will fail because of missing disk space\n\nChange-Id: I05638c91ba7ec9ba835b7b0e3811ee7404df4087\nReviewed-on: https://review.monogon.dev/c/monogon/+/3211\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "886abba9cf0a0492c3eef3e5978f27af898dde6c",
      "tree": "b5f2d53d9e6a6a8cf2f74b8cb3286d9a02874a8f",
      "parents": [
        "e5e90a8911f93d2f7b6bdd7b57cd06d430b353a5"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 21:29:55 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 25 12:10:57 2024 +0000"
      },
      "message": "workspace: use new-style proto toolchain resolution\n\nChange-Id: I6b8dc9f3cd0d365527464fdd518f8ad76a4f8d5d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3235\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "e5e90a8911f93d2f7b6bdd7b57cd06d430b353a5",
      "tree": "04dc5ad0bf34805b8ad14af7f31d8510f4b47370",
      "parents": [
        "d7f5993d91979bd5c68c6d46332ff781d014c21e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 23:46:22 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 25 12:10:57 2024 +0000"
      },
      "message": "treewide: migrate external rules to bzlmod\n\nThis is a huge one as it was very annoying to migrate them separately. This migrates rules_go, gazelle, rust_rust, protobuf to bzlmod\n\nChange-Id: If39591d43ed4c2afa2979ee5915e9d1cfa1574a9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3234\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "d7f5993d91979bd5c68c6d46332ff781d014c21e",
      "tree": "122bbffafdff6b0028b19fbed3c52f5dedc5aef2",
      "parents": [
        "201b527e632caec8480500bc1cca5d8ab0f5896b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 24 23:37:03 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 25 12:10:57 2024 +0000"
      },
      "message": "WORKSPACE: fix usage of bzlmod lockfile\n\nCloses monogon-dev/monogon#311\n\nChange-Id: Ib93802389e3f11f6f03f1fe5278b32c270e37cd4\nReviewed-on: https://review.monogon.dev/c/monogon/+/3250\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "201b527e632caec8480500bc1cca5d8ab0f5896b",
      "tree": "b57aa1b85cfa8ab5878809bf286b713f360da831",
      "parents": [
        "f65898347121ef898f7efcaacfd7f2063045132a"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jul 24 16:31:42 2024 +0000"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jul 25 12:02:52 2024 +0000"
      },
      "message": "metropolis/node/core: mount /sys/fs/bpf\n\nRequired for BPF maps. Currently only used by specific customer\nworkloads which run inside the host network namespace.\n\nChange-Id: Ib948c76ff5eecbc4f8b76d6b48e0eb5ce2e1b1ae\nReviewed-on: https://review.monogon.dev/c/monogon/+/3249\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "f65898347121ef898f7efcaacfd7f2063045132a",
      "tree": "8419cd0014949939800622662bd604d5e8803b7c",
      "parents": [
        "8661db30d08ed95df3749497c2e88a42f1e0fe9a"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jul 24 16:29:22 2024 +0000"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jul 25 12:02:52 2024 +0000"
      },
      "message": "third_party/linux: enable BPF_JIT, XDP_SOCKETS and  HUGETLBFS\n\nKernel features required by customer workloads.\n\nChange-Id: Ifc67025e4832aa79fcec6aa74b7887859d831db4\nReviewed-on: https://review.monogon.dev/c/monogon/+/3248\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "8661db30d08ed95df3749497c2e88a42f1e0fe9a",
      "tree": "d4ae360fa59ba6ef4a337d9b949911b14b80407a",
      "parents": [
        "4cfcc0b0b25fba463225feae64232d40e02b570c"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jul 24 16:28:27 2024 +0000"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jul 25 12:02:52 2024 +0000"
      },
      "message": ".bazelrc: fix a typo\n\nChange-Id: I55f4da402c6b418556f5e8dd2a3b643b9a19128b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3247\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4cfcc0b0b25fba463225feae64232d40e02b570c",
      "tree": "69a7d9ce2d531c763d482e340afe5ceced40c068",
      "parents": [
        "c5e0dbd3437d5c739d42d7724a619b126eabdbf5"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jul 24 13:23:26 2024 +0000"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jul 25 12:02:52 2024 +0000"
      },
      "message": "metropolis/node/kubernetes: allow privileged pods\n\nThere are valid use cases for privileged pods in low-assurance clusters.\nIn particular, \"kubectl debug node/... --profile\u003dsysadmin\" is very\nuseful for debugging and requires privileged pods.\n\nIn a production cluster, we\u0027d want to restrict privileged pods\nand other dangerous capabilities (which are already allowed)\nusing pod security or more sophisticated admission controllers,\nincluding enforcing future cluster integrity policy levels.\n\nChange-Id: I8f6470f636cdd13b7c980f04f08f95aaff833b20\nReviewed-on: https://review.monogon.dev/c/monogon/+/3246\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "c5e0dbd3437d5c739d42d7724a619b126eabdbf5",
      "tree": "d4ddbafe2c049e6bcdf97018d1419e62828f8cbf",
      "parents": [
        "93ba80788f4599aa4afbf9937224046e96dd1713"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jul 24 13:18:45 2024 +0000"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jul 25 12:02:52 2024 +0000"
      },
      "message": "metropolis/node/core: add tmpfs at /dev/shm\n\nk8s requires /dev/shm for \"kubectl debug\" to work.\n\nFixes https://github.com/monogon-dev/monogon/issues/305.\nTested manually on a local test cluster.\n\nChange-Id: I3b29ea75d59e115da80dadf48dabbaba23d7099b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3245\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "93ba80788f4599aa4afbf9937224046e96dd1713",
      "tree": "dc3c66f241b8487c71233960a2fbcbd8e0bc2ad7",
      "parents": [
        "194c871cdcdbc3a84cd19ae22d14cacff5495a09"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 20:58:20 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 24 11:52:55 2024 +0000"
      },
      "message": "treewide: fix \"could not merge expression\" from gazelle\n\nThis isn\u0027t any real bugfix, but more of a style thing. Gazelle can\u0027t work with select or glob statements (bazelbuild/bazel-gazelle#1735), but will work fine with them and even ignore them if set to # keep. This adds that directive to make gazelle less verbose when running.\n\nChange-Id: I7c638867d6b566e1d398eef37aff2316bf90a00f\nReviewed-on: https://review.monogon.dev/c/monogon/+/3241\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "194c871cdcdbc3a84cd19ae22d14cacff5495a09",
      "tree": "c257c554e627dfc61f91c730b9ea633c06548c23",
      "parents": [
        "4a392cadb5cc23102920e9c6eb48ae4f2f07466b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 23:03:21 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 24 11:52:55 2024 +0000"
      },
      "message": "treewide: update rules_python, remove requirement of host toolchain\n\nChange-Id: Ifec4d8c5e352af7dd7ad1ae87b13e7e4406db0e7\nReviewed-on: https://review.monogon.dev/c/monogon/+/3233\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4a392cadb5cc23102920e9c6eb48ae4f2f07466b",
      "tree": "c14ffc1673a0586082a31741346bfcec1d17789c",
      "parents": [
        "745bf6d05ee94a41a73ca4516df5b37de6036432"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 21:49:42 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 24 11:52:55 2024 +0000"
      },
      "message": "go/patches: remove duplicate patch from go-tpm-tools-fix-proto-paths\n\nChange-Id: I84e0373d4318d3714ce7c8c15dfb48c3a3dba7df\nReviewed-on: https://review.monogon.dev/c/monogon/+/3232\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "745bf6d05ee94a41a73ca4516df5b37de6036432",
      "tree": "cb32a27b2998f1da565abb4953ba5f8865783df9",
      "parents": [
        "1000f7311c2f2af53120858fb68bfa248f504475"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 21:43:41 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 24 11:52:47 2024 +0000"
      },
      "message": "treewide: add aliases for third_party dependencies\n\nWith bzlmod it is currently not possible to access other third_party libraries. By adding an alias inside the root module we can work around this with a fairly moderate hack. We do have a folder and BUILD file for every dependency anyway, so this isn\u0027t that bad.\n\nChange-Id: I472194f590fd4c4aa8ba304af70dd8b92ecc5c1e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3231\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "1000f7311c2f2af53120858fb68bfa248f504475",
      "tree": "1b1737ed932430731509fbbb884b998938a7f014",
      "parents": [
        "5285c278b21745b2186fd91ed95af0877c9929c7"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 21:40:36 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "third_party/go: fix patch workaround for delve\n\nChange-Id: I3d8197be119a6ca8fe4a71114c3a219c66fb5160\nReviewed-on: https://review.monogon.dev/c/monogon/+/3230\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "5285c278b21745b2186fd91ed95af0877c9929c7",
      "tree": "d5efe2135e51103608496d2a1de0939efb5032ac",
      "parents": [
        "afeb4c4e3080228015e4bcae85269c69ad8b49dd"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 21:37:59 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "cloud/bmaas/server/api: fix placeholder content\n\nThis just removes a small annoying error message from gazelle output.\n\nChange-Id: I7678013aa0dc324423a0c5607dfd559a45756b83\nReviewed-on: https://review.monogon.dev/c/monogon/+/3229\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "afeb4c4e3080228015e4bcae85269c69ad8b49dd",
      "tree": "ae3b4a89d8476035aabb5d67b7532a8136d48f5b",
      "parents": [
        "aea01b6282f71949ca67d71f0f4508685c4a4a95"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 21:37:26 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "treewide: replace workspace name with new canonical name style\n\nWhen we completely migrate to bzlmod, the old workspace name is not available anymore. This replaces its usage early.\n\nChange-Id: I976d40a71f56199f1f214f04aab0972ff51a7de3\nReviewed-on: https://review.monogon.dev/c/monogon/+/3228\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "aea01b6282f71949ca67d71f0f4508685c4a4a95",
      "tree": "e3f793296a09b59359b66f520ee4de6da96a6bfa",
      "parents": [
        "f1e0fa11da40acaffe33174f9c62eaad7918d4e0"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 21:31:42 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "treewide: add tools.go for all go binaries\n\nWithout these we don\u0027t actually pin the versions inside our go.mod and future versions of gazelle won\u0027t create any repositories for them.\n\nChange-Id: I6b3951a1a7c8ee3e73792dc556becc0828873074\nReviewed-on: https://review.monogon.dev/c/monogon/+/3227\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "f1e0fa11da40acaffe33174f9c62eaad7918d4e0",
      "tree": "1392002b4c8715c10ce56211f42bbfa9d69b3bb4",
      "parents": [
        "7b8d86b9c423a8c65043b27a8c3a1481fd7c7f8e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 21:28:23 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "workspace: import .bazelrc.user as last statement\n\nChange-Id: Ibf78aa8285156cc4500438acc72cfc224e7428e8\nReviewed-on: https://review.monogon.dev/c/monogon/+/3226\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "7b8d86b9c423a8c65043b27a8c3a1481fd7c7f8e",
      "tree": "32daa6bb5ee8e9352483454e6782d5d16d6f342c",
      "parents": [
        "72e7110a9870a25d583905ff252e3df7d835f855"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 15 19:21:12 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "workspace: replace @go_sdk reference with @io_bazel_rules_go\n\nWhen migrating to bzlmod for rules_go, the @go_sdk repository won\u0027t exist anymore.\n\nChange-Id: I33ac300601330b627762cf8b89c079d339d7e012\nReviewed-on: https://review.monogon.dev/c/monogon/+/3222\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "72e7110a9870a25d583905ff252e3df7d835f855",
      "tree": "82744326ed163bce1cb71d086911e81e1a3d2c7a",
      "parents": [
        "cb065e77d26451577ba9303b8331be98cea39009"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 22:52:37 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "workspace: bump rules_pkg and rules_oci\n\nChange-Id: I7c360258fbfb92c4999cec021e314ccff7aab5be\nReviewed-on: https://review.monogon.dev/c/monogon/+/3225\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "cb065e77d26451577ba9303b8331be98cea39009",
      "tree": "1358189f3821db4ce558fc6c44fe9714e4bfb22f",
      "parents": [
        "3325b4b940370ad4282fdaa6027a5672ff8fdc2a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 15 19:20:06 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "workspace: bump rules_rust to v0.47.1\n\nChange-Id: I75f35fc49d233f3934c3af7b05c1db97d56f5fe0\nReviewed-on: https://review.monogon.dev/c/monogon/+/3221\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3325b4b940370ad4282fdaa6027a5672ff8fdc2a",
      "tree": "7308d80e86a0d0ea34a5d2d5c8dac8cb2dd8efeb",
      "parents": [
        "41b244857ee793cbf74552ec39f2ff614a686a56"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 15 19:19:49 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "workspace: bump bazel_gazelle to v0.37.0\n\nChange-Id: I45a7769d80781075fdfb1c438240a75629dd572a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3220\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "41b244857ee793cbf74552ec39f2ff614a686a56",
      "tree": "685a25bbe631c303b88f2adb84702ac0545031a0",
      "parents": [
        "5be299e081abceb554e75b87e0cf856a69dc59c2"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu May 02 16:53:57 2024 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 16 12:26:37 2024 +0000"
      },
      "message": "m/n/c/network: implement ARP announcements\n\nThis implements ARP announcements in the Metropolis network stack.\nIts intent is to help IP stacks on the same broadcast domain to update\ntheir ARP entries once a Metropolis network stack comes up.\nThe format of the ARP packets is chosen to bypass most EVPN ARP\nsuppression mechanisms to ensure this also works with these systems.\n\nChange-Id: I2db1248f7034ea56930cf6f4a93de598b0f8c7de\nReviewed-on: https://review.monogon.dev/c/monogon/+/3074\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "5be299e081abceb554e75b87e0cf856a69dc59c2",
      "tree": "ad42d6295acebc5856f63cdf3c2f759c21f7edc3",
      "parents": [
        "1a049937c8af389a9c6276b80d4f53ed5f40f9a9"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sat Jul 13 02:59:52 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 16 12:22:20 2024 +0000"
      },
      "message": "bazelrc: replace deprecated flag\n\nChange-Id: I1299150fa3418b979a6410e0a763fa7c446ca956\nReviewed-on: https://review.monogon.dev/c/monogon/+/3219\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "1a049937c8af389a9c6276b80d4f53ed5f40f9a9",
      "tree": "11a9158df4473931afd4144e34e2645502ff76c3",
      "parents": [
        "2a3e336daac918e2d52390a3d96041efba768784"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 11 17:35:12 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 15 16:44:42 2024 +0000"
      },
      "message": "workspace: bump bazel to 7.2.1\n\nChange-Id: I6cde34a1f35f77a7688089de24f7963100ede058\nReviewed-on: https://review.monogon.dev/c/monogon/+/3216\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "2a3e336daac918e2d52390a3d96041efba768784",
      "tree": "604e115fd5136e11fcff156c17b2cafc33ee318e",
      "parents": [
        "ba404a60ffd9e9a6143a3f6f7e57e400607a5cae"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 11 18:08:18 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 15 11:59:30 2024 +0000"
      },
      "message": "m/n/c/n/dhcp4c: minor cleanup\n\nThe DiscoverBackoff was not Reset initially, which means the first \ndiscovery started with a backoff of 500 ms (ExponentialBackOff default) \ninstead of 1400 ms.\n\nRemove the unused lastBoundTransition field.\n\nIf the backoff has no timeout and stateDeadline is not set, \nstateDeadlineExceeded should not be called (the discovering state does \nnot define this function). This was actually already the case before, \nbecause NextBackOff never returns a duration smaller than 10 ms, but \nthis change makes that more clear.\n\nChange-Id: I714a562d8901fba69afaf6b779c6db310577fca5\nReviewed-on: https://review.monogon.dev/c/monogon/+/3215\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "ba404a60ffd9e9a6143a3f6f7e57e400607a5cae",
      "tree": "9fe27c2e435dab9ab0927b94ba9ee48d2e2e31b5",
      "parents": [
        "f69d84b0f2b8b363f42ed6a3c09523b75d002f94"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 11 10:46:27 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 15 11:59:30 2024 +0000"
      },
      "message": "m/n/c/network: fix panic when DHCP lease expires\n\nThe statusCallback of the network service previously accessed\nnew.AssignedIP without checking if new is nil, which caused a panic when\nthe DHCP lease expired. When subsequently the DHCP service was restarted\nand a new lease obtained, CoreDNS was left without upstream servers\nconfigured. The reason for this is that just before the panic, CoreDNS\nwas configured with an empty list of upstreams, but the lease field of\nthe DHCP service was not updated. When the lease callback was called\nagain with the new lease, old and new lease had the same DNS servers, so\nCoreDNS was not configured to use the upstreams.\n\nTo fix the panic, this adds a check for a nil lease before accessing\nAssignedIP. I looked if all consumers of the ExternalAddress Status can\nhandle nil, and added a nil check in the statuspush worker. The\napiserver stops when the lease is lost, and starts again once it is\nreacquired; I\u0027m not sure if this is the intended behavior.\n\nThe DNS problem occured because the old lease passed to the callback was\nnot the last lease that the callback had seen, and it then mistakenly\nsuppressed the update. In general, a callback cannot rely on the old\nlease being the last lease that the callback has been called with. For\nexample, when a callback earlier in the Compose chain returns an error,\nlater callbacks are not called, so a callback may not see all lease\nchanges. Because the old lease parameter cannot be trusted, I removed\nit. Callbacks which need the previous lease should keep track of it\nthemselves.\n\nFor manually testing lease expiry, I modified\nmetropolis/test/nanoswitch/nanoswitch.go like this:\n\n+\t\tstart :\u003d time.Now()\n \t\tserver, err :\u003d server4.NewServer(link.Attrs().Name, \u0026laddr, func(conn net.PacketConn, peer net.Addr, m *dhcpv4.DHCPv4) {\n \t\t\tif m \u003d\u003d nil {\n \t\t\t\treturn\n \t\t\t}\n+\t\t\tif start.Add(50*time.Second).Before(time.Now()) \u0026\u0026 start.Add(90*time.Second).After(time.Now()) {\n+\t\t\t\tsupervisor.Logger(ctx).Infof(\"Dropping DHCP packet\")\n+\t\t\t\treturn\n+\t\t\t}\n \t\t\treply, err :\u003d dhcpv4.NewReplyFromRequest(m)\n\nChange-Id: Ifa0c039769c37ee53033ce013eed4f1af6f02142\nReviewed-on: https://review.monogon.dev/c/monogon/+/3214\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "f69d84b0f2b8b363f42ed6a3c09523b75d002f94",
      "tree": "e5100a108b5f2a77c2f80cd267611305709659e1",
      "parents": [
        "44fdf7fee72fd7f0e179974f6245edc31620a7ae"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 03 20:32:19 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jul 12 12:45:32 2024 +0000"
      },
      "message": "treewide: update sandboxroot to fedora 40, nix to 24.05\n\nWe didn\u0027t bump our sandboxroot in a long time, this updates it to fedora\n 40\n and updates the nix shell to nixpkgs-24.05. It also bumps rules_oci to\n the current version.\n\nChange-Id: I9ffb6f4dcd1a95be48b52015df987824dbb169f6\nReviewed-on: https://review.monogon.dev/c/monogon/+/3205\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "44fdf7fee72fd7f0e179974f6245edc31620a7ae",
      "tree": "e045a3d3a50efdfc1b778a53b19e9833ef68e582",
      "parents": [
        "94209ed222310ff8c56652dffe53723274878190"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 03 20:30:43 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 11 12:01:48 2024 +0000"
      },
      "message": "cloud: add multirun for cloud image push\n\nThis change adds multirun as dependency to allow us to push\nmultiple images with one bazel target.\n\nChange-Id: Ie151286be6c2c254d4e87657787bb76a57faa129\nReviewed-on: https://review.monogon.dev/c/monogon/+/3204\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "94209ed222310ff8c56652dffe53723274878190",
      "tree": "cb6de4b9f58123f6d4f3738b9081d7cade28a0f3",
      "parents": [
        "dfa99b87511cfe133bcca280a4c35d480d7d88cb"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 10 19:38:01 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 11 12:01:48 2024 +0000"
      },
      "message": "workspace: bump bazel modules\n\nChange-Id: I986775900c894b4ffbc5f633600354607f3c5f05\nReviewed-on: https://review.monogon.dev/c/monogon/+/3213\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "dfa99b87511cfe133bcca280a4c35d480d7d88cb",
      "tree": "d41b4bae1c34743ec5a2b7c0a5dc742cb820e70d",
      "parents": [
        "4b8c7e9c13f099696e7f2723033fa33f0c7df9a9"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 03 21:27:54 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 08 07:33:00 2024 +0000"
      },
      "message": "metropolis/node/core/update/e2e: bump timeout\n\nWe had a timeout of 30s for the update tests. Since these are always hit\n in CI, this increases the wait to 60s.\n\nChange-Id: Iecc9562b015aa514c6f95991a3cdddedd57a8d7b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3206\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "d5cabdeb41f24c70ca6977a6f8bfb798719d1df1"
}
