)]}'
{
  "commit": "439b95eb515c86ba8ce9917da258c0875f36f038",
  "tree": "b7590aaac27700868ca1638af4d2e84bfb1a975f",
  "parents": [
    "f9edf520bd3fa049b8f1d5f09f0ee727864ca8c7"
  ],
  "author": {
    "name": "Serge Bazanski",
    "email": "serge@nexantic.com",
    "time": "Wed Jun 30 23:16:13 2021 +0200"
  },
  "committer": {
    "name": "Sergiusz Bazanski",
    "email": "serge@nexantic.com",
    "time": "Tue Jul 20 14:43:28 2021 +0000"
  },
  "message": "m/n/c/{cluster,curator}: move NodeCredentials to cluster\n\nThis keeps the NodeCredentials/NodeCertificate logic types near their\nconsumer, the cluster bootstrap code. It also rewrites these structures\nto be centered around the x509 data itself.\n\nThis is a followup to https://review.monogon.dev/c/monogon/+/186 .\nAttempting to introduce it into that change was too complex due to the\nsurrounding cluster/curator refactoring.\n\nWe also take this opportunity to write some simple tests for the\ncredential validation logic.\n\nChange-Id: Iead3cfdd5778274508d79799f4750f5fdf9385bc\nReviewed-on: https://review.monogon.dev/c/monogon/+/197\nReviewed-by: Lorenz Brun \u003clorenz@nexantic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fcf8aaef551b540f1d1741e394379ac30230e963",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/cluster/BUILD.bazel",
      "new_id": "322a3373bba8aa7f00c752e0ad96b056fc9c34d2",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/cluster/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "7eb8058609e90b18200519340010371d1f818adc",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/cluster/cluster_bootstrap.go",
      "new_id": "30de8b31cacbd9561706943181ab2e7b5f0b3caf",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/cluster/cluster_bootstrap.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0d4daacd8e31b65ab9ff41368080a04c1098a45c",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/cluster/node.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "079d4dcb30bc34ceba4924a90f96578eca0d1f7a",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/cluster/node_test.go"
    },
    {
      "type": "modify",
      "old_id": "d82130b0b522bd63687e1f4751221e9759097f12",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/cluster/status.go",
      "new_id": "3f99567c80cd43caa3a30a88328eb212d78ec490",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/cluster/status.go"
    },
    {
      "type": "modify",
      "old_id": "253ba72452d3519285b1475877d71dfd3b45ae4f",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/bootstrap.go",
      "new_id": "4e809ddad38122bc8b57a2beb6959ef785ea52af",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/bootstrap.go"
    },
    {
      "type": "modify",
      "old_id": "885dee00fabb991b7b537d49bdd7a4c2d1bacd36",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/impl_leader.go",
      "new_id": "d90727be749f033f6f5d4aa21e7f53e2cf208b74",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/impl_leader.go"
    },
    {
      "type": "modify",
      "old_id": "ce28aac6b0da7ca72190e77e0619fd3a9c753af9",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/state_pki.go",
      "new_id": "70423eda4dbb4230d1133946155736adff1a6ce9",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/state_pki.go"
    }
  ]
}
