)]}'
{
  "commit": "8456ddf02aea2e1015805f18ef1871812c5cb7f6",
  "tree": "7ea30de34d2ed42e2da1c044fb62576464b4e2cc",
  "parents": [
    "7acd92dae19109fff8e6036d0a7fcd64aa1851c1"
  ],
  "author": {
    "name": "Serge Bazanski",
    "email": "serge@monogon.tech",
    "time": "Mon Oct 30 18:56:59 2023 +0100"
  },
  "committer": {
    "name": "Serge Bazanski",
    "email": "serge@monogon.tech",
    "time": "Mon Oct 30 22:12:01 2023 +0000"
  },
  "message": "metropolis: implement node Deletion and framework for Decommissioning\n\nThis implements the basic ability to remove nodes from a cluster.\n\nWe prepare for a more complex workflow involving multi-sage\ndecommissioning, but first implement the \u0027worst case\u0027 workflow, in which\na node needs to be deleted if it hasn\u0027t been gracefully decommissioned.\nThis is what we currently need most in practice, as we have node\nfailures we\u0027d like to deal with.\n\nThe Delete functionality is still not fully complete though, as we\u0027re\nstill accepting client certificates from decommissioned nodes. But we\u0027ll\nfix that in an upcoming CR.\n\nChange-Id: I7322cb1464a9e5bc924363321534033dcc8a6246\nReviewed-on: https://review.monogon.dev/c/monogon/+/2270\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "eac4635d6aaec0e3c61872c2bffc08d519754277",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/impl_leader_management.go",
      "new_id": "0f0bfe1606fb4dda1d74ad290a161298cf3c1a89",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/impl_leader_management.go"
    },
    {
      "type": "modify",
      "old_id": "08af401c7fef4b69e09ca9a9de901ea3feb504a7",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/impl_leader_test.go",
      "new_id": "87bd36c25c7b7a4327beee833eb81eb634c8dd45",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/impl_leader_test.go"
    },
    {
      "type": "modify",
      "old_id": "1b53dee152c2b14166a32d1be8f4a07abebc6aaa",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/state_node.go",
      "new_id": "d580e87502902a8b995a1588de6b22e956a1a1ae",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/state_node.go"
    },
    {
      "type": "modify",
      "old_id": "14184b6d6dbe9f66569ff939fdfa7d7abe670b4f",
      "old_mode": 33188,
      "old_path": "metropolis/proto/api/management.proto",
      "new_id": "a08f5cbf9538ea180ee85440fa814d88aadd90fe",
      "new_mode": 33188,
      "new_path": "metropolis/proto/api/management.proto"
    },
    {
      "type": "modify",
      "old_id": "208e4b6011e37ae2300ce4d908ae03f8d1c501c6",
      "old_mode": 33188,
      "old_path": "metropolis/proto/ext/authorization.proto",
      "new_id": "1a0e759babd09af2a6cb5abcc121b7c9ab4cfe4d",
      "new_mode": 33188,
      "new_path": "metropolis/proto/ext/authorization.proto"
    }
  ]
}
