)]}'
{
  "commit": "62229cf857f1f205b4190bd3d6069928984e36fe",
  "tree": "050834d60ca831733825a83aceab78736a5a4404",
  "parents": [
    "59b49c9b57d37673ef4ecf0c2855280910fc4462"
  ],
  "author": {
    "name": "Lorenz Brun",
    "email": "lorenz@monogon.tech",
    "time": "Mon Jul 07 12:47:31 2025 +0200"
  },
  "committer": {
    "name": "Lorenz Brun",
    "email": "lorenz@monogon.tech",
    "time": "Wed Jul 09 18:03:12 2025 +0000"
  },
  "message": "treewide: update etcd to 3.6\n\nThis is a fairly large update, containing 4 years of upstream\ndevelopment. A lot of code has been moved around, requiring a rebase of\nall patches and ajustments in code using it.\n\nUpstream requires that upgrades first go through etcd 3.5.20, which is\ndone in a CL below this one. Other than that upgrades are possible\nthrough normal Monogon node updates, but downgrades (while implemented\nfor 3.6.0) are still not supported in Monogon until further work is\ndone.\n\nThere are significant issues in etcd synchronization between the\n\"outside\" manager (embed or standalone) and the core (EtcdServer), one\nof which affects removal of the ConsensusMember role, causing a panic\ndue to the client listener not being closed when the server shuts down\non its own. This is triggered by the autopromoter hitting an endpoint on\na shut-down etcd, which accesses a nil backend. This issue existed\nbefore, a full fix will likely involve either significantly rewriting or\ngetting rid of the embed package, so this just fixes the panic-causing\ncode path.\n\nChange-Id: If5932a7428a262fde406a5bb652a40d211301734\nReviewed-on: https://review.monogon.dev/c/monogon/+/4394\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b463566838680482dafdf35d34842fcd959b17fa",
      "old_mode": 33188,
      "old_path": "build/bazel/go.MODULE.bazel",
      "new_id": "85fbfd8212cf2b29340daf0ff2a89541ab8eae37",
      "new_mode": 33188,
      "new_path": "build/bazel/go.MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "3fe7951db2e7f12b5b7f31a7506d91e79039506f",
      "old_mode": 33188,
      "old_path": "go.mod",
      "new_id": "f49acd7f80ca0c38e3aa16194aaed736dd211dc7",
      "new_mode": 33188,
      "new_path": "go.mod"
    },
    {
      "type": "modify",
      "old_id": "9537638e9dbb1a5289bd99658ff6f122482e897a",
      "old_mode": 33188,
      "old_path": "go.sum",
      "new_id": "9806d44662d711f3f26b996b01163fe3b66b713c",
      "new_mode": 33188,
      "new_path": "go.sum"
    },
    {
      "type": "modify",
      "old_id": "c80bc47bb617383f03ebf47350a38f0171ea8910",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/consensus/client/unimplemented.go",
      "new_id": "32f384d5daa26b8ca645ccb750af0f8a0acce4b3",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/consensus/client/unimplemented.go"
    },
    {
      "type": "modify",
      "old_id": "a3379ca768abda3a7faada9449b56ac496503fc9",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/consensus/configuration.go",
      "new_id": "8c4bd06b1f321a42c9c51265ef646af6e4cec7b2",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/consensus/configuration.go"
    },
    {
      "type": "modify",
      "old_id": "69ded4fcadf4964318b62aae16b4c5dbb7435b56",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/consensus/consensus.go",
      "new_id": "f6addd8092a18bd93cf96247ff1e6a7d98378196",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/consensus/consensus.go"
    },
    {
      "type": "modify",
      "old_id": "497bf7d7622eadfae5dd9522d68916f67ead1a04",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/BUILD.bazel",
      "new_id": "5aad27a5a922811dea2b1b7afd872c2fbd537f72",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "da021c02e8e26adc5e2317477092892491dcc7e0",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/curator_test.go",
      "new_id": "1b95c4e5719b9ef503562616bfb578224df4d48c",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/curator_test.go"
    },
    {
      "type": "modify",
      "old_id": "cd61e548283e284f2d8f3972e07cfb6edea7d723",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/impl_leader_test.go",
      "new_id": "7e31aeb32dc1a8d8923c96cfec6d72268703cc49",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/impl_leader_test.go"
    },
    {
      "type": "modify",
      "old_id": "caac358da0037c1fb42c9b0a2be668e61674c60f",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/BUILD.bazel",
      "new_id": "7c4f7cfe23ecfd0f76aedca0a9cdf3a09ed7d224",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "1f17e6986a8d47e95452bc7feddf692f9c1e3f60",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/reconciler_status_test.go",
      "new_id": "4154670ecb7fcf8b65dcfdd67f1649c28a96bdea",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/reconciler_status_test.go"
    },
    {
      "type": "modify",
      "old_id": "925eeaa18968ec9eac891f70d00e932296a3fdb1",
      "old_mode": 33188,
      "old_path": "osbase/event/etcd/BUILD.bazel",
      "new_id": "a89a6c92271586e3c253c8fe08925e0b74fc60be",
      "new_mode": 33188,
      "new_path": "osbase/event/etcd/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "a5cde2028c6ce77311c97fe21e48ed70fb9fc66b",
      "old_mode": 33188,
      "old_path": "osbase/event/etcd/etcd_test.go",
      "new_id": "729f4ad5ef365bb54deb300f1cac869ff32a704b",
      "new_mode": 33188,
      "new_path": "osbase/event/etcd/etcd_test.go"
    },
    {
      "type": "modify",
      "old_id": "ba1cbc735e32b11e810e63a97c2deea574f20b55",
      "old_mode": 33188,
      "old_path": "osbase/pki/BUILD.bazel",
      "new_id": "e002239efdf4af9cecae76d276c47025069ef5a3",
      "new_mode": 33188,
      "new_path": "osbase/pki/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "10dce40c9dc8d8a2b0efd6e57e81810a8a09caf3",
      "old_mode": 33188,
      "old_path": "osbase/pki/certificate_test.go",
      "new_id": "7e2a2abaed83651150802dd13a8ea7e79eaedd63",
      "new_mode": 33188,
      "new_path": "osbase/pki/certificate_test.go"
    },
    {
      "type": "modify",
      "old_id": "d2becf745c1bdf3bad9710cd5d7ec397d90efe66",
      "old_mode": 33188,
      "old_path": "osbase/pki/crl_test.go",
      "new_id": "1e45af6787e532caf00a813531faa09e994016bf",
      "new_mode": 33188,
      "new_path": "osbase/pki/crl_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2793f8cde896887279ee715e501f16881a60365d",
      "new_mode": 33188,
      "new_path": "third_party/com_go_etcd_io_etcd_server_v3/fix-def-warn-threshold.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "10e7902ae5d3f66363cb8c11418973010ab70ac7",
      "new_mode": 33188,
      "new_path": "third_party/com_go_etcd_io_etcd_server_v3/shutdown-safety.patch"
    },
    {
      "type": "modify",
      "old_id": "965252416eefab3ce3de666a1a7afcae2877005e",
      "old_mode": 33188,
      "old_path": "third_party/com_go_etcd_io_etcd_tests_v3/etcd-integration-logging.patch",
      "new_id": "a3eb52f6d9401f96bda0136ba9769a64fb16a847",
      "new_mode": 33188,
      "new_path": "third_party/com_go_etcd_io_etcd_tests_v3/etcd-integration-logging.patch"
    }
  ]
}
