)]}'
{
  "commit": "cb76c842664d261934fbb03c3fd8c57699183a60",
  "tree": "6c7d8dbfed842a5e56a11226a1c3999256f7450d",
  "parents": [
    "c607bf67ae20b17e8f254a7e3817e2d1a93114be"
  ],
  "author": {
    "name": "Lorenz Brun",
    "email": "lorenz@monogon.tech",
    "time": "Mon Aug 11 12:54:28 2025 +0200"
  },
  "committer": {
    "name": "Lorenz Brun",
    "email": "lorenz@monogon.tech",
    "time": "Thu Aug 14 16:38:23 2025 +0000"
  },
  "message": "m/node: move clusternet under network\n\nMove the clusternet network side under the core/network umbrella and\nrename it to overlay. Also split out types.go into the ipam package\nto get the overlay package out of a lot of dependents which only import\nit for the Prefixes type which should be part of the ipam package.\n\nThis is a clean move with no functional changes intended yet, these\nwill be stacked on top.\n\nChange-Id: I6a6a6964af9d608f9ec3bf75b386c010cfff1df4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4500\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3d925431112f249ae094bc802540ee30d5f72610",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/BUILD.bazel",
      "new_id": "db961032cac959d0cae79d27247019db3b8b66f6",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "df9dd7869538437f56b7072bc9c5ec824a944d51",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/main.go",
      "new_id": "5c4ec3359ccdbe1dec0b407e251904e0ac4111ac",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/main.go"
    },
    {
      "type": "modify",
      "old_id": "b1a5e4157c75959616e71c211f520376f5761b58",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/network/BUILD.bazel",
      "new_id": "bec2f19c5cd7d942e1290e809c003ea8a88342ea",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4f761d0e279239577243217ebc4a5d4277bf7de7",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/ipam/BUILD.bazel"
    },
    {
      "type": "rename",
      "old_id": "d1f2b061a7d9440bfb67934c56de317c5d7db732",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/clusternet/types.go",
      "new_id": "74555ee0032cad00623c1ad5913f86ed2baaff25",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/ipam/ipam.go",
      "score": 86
    },
    {
      "type": "modify",
      "old_id": "623e62f4171b0885a70922c39319ac509720b3a4",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/network/main.go",
      "new_id": "276e59e186e696f7a2427fcaa0e2c0363533724b",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/main.go"
    },
    {
      "type": "rename",
      "old_id": "20a3fd08ed45648d4497604f7413008baf4da84e",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/clusternet/BUILD.bazel",
      "new_id": "4054127b9a6be5006dad9115b754b7d32fdd6f45",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/overlay/BUILD.bazel",
      "score": 79
    },
    {
      "type": "rename",
      "old_id": "6ea53f249defe5949c557c39c0a0bc1ad13d2386",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/clusternet/clusternet.go",
      "new_id": "c7979cc87432ae35f1b06d2d7c0e6e8a234d1496",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/overlay/overlay.go",
      "score": 93
    },
    {
      "type": "rename",
      "old_id": "741bc243aae54cb5dcc044cbc5f00ae71c0245f8",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/clusternet/clusternet_test.go",
      "new_id": "44bdd8be882ae0f84f5384e24fc692d28652cd4e",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/overlay/overlay_test.go",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "096e74de8acaeff9d495bdd9199e0eef9b9753c4",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/clusternet/wireguard.go",
      "new_id": "5054553da02ac4770c0cb02fa2acf46729d5dcb6",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/overlay/wireguard.go",
      "score": 98
    },
    {
      "type": "modify",
      "old_id": "357b8924ad6a5bcb97ed8d00b46837d76aa08f9c",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/network/workloads/BUILD.bazel",
      "new_id": "e031fca3f87b6e8fcc0f33eb698de53b28be02b5",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/workloads/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "2b4f5d316a4f51982e32cde049c5fcdfa7048e19",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/network/workloads/workloads.go",
      "new_id": "dfe3ecaf52417b88ef56f0cbce2d7c6d9dbab93a",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/workloads/workloads.go"
    },
    {
      "type": "modify",
      "old_id": "72a4472d4695c604596fef44b3eedc7ec79f0d7c",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/roleserve/BUILD.bazel",
      "new_id": "c753683a42488bb1ed102e5fc4ed5ea6697f0336",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/roleserve/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "4c1f6102273d95b30a5892d2bbcdd19905c8c1fa",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/roleserve/roleserve.go",
      "new_id": "ef84643f8c3f48389ad6b6eff20e0edb64ae7f15",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/roleserve/roleserve.go"
    },
    {
      "type": "modify",
      "old_id": "34420304af561e8c08234540226aecf7f272703d",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/roleserve/worker_clusternet.go",
      "new_id": "8a3bb8f1223ccc1a99928144070b10a340b8b1b4",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/roleserve/worker_clusternet.go"
    },
    {
      "type": "modify",
      "old_id": "2bbbba853bc6dcaf80c4762c8352c03b800e59de",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/roleserve/worker_kubernetes.go",
      "new_id": "9cb2304490bd1d6379f438c3d3a1a59d91555d07",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/roleserve/worker_kubernetes.go"
    },
    {
      "type": "modify",
      "old_id": "530723f7f0ad25d04b53432619fd8762f57d9efe",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/BUILD.bazel",
      "new_id": "32459648cbce1303836f6e73e28837c363393cbd",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "79bedbe8922d22169a7a6b9c5e00f2eff875028c",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/clusternet/BUILD.bazel",
      "new_id": "839d946ef0572798e0f6255ade862dc362daefba",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/clusternet/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "9cf877b6a69d5adc71e0f4bff44bb98e8916c912",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/clusternet/clusternet.go",
      "new_id": "dd5e5df8c55f74e09a18287901148d0776572c29",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/clusternet/clusternet.go"
    },
    {
      "type": "modify",
      "old_id": "8ca8556378b2be57b31f264b0d92ad45deb4f793",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/service_worker.go",
      "new_id": "5e2878806ccf717eed03fe681d9574760bf3f254",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/service_worker.go"
    },
    {
      "type": "modify",
      "old_id": "f3e69b8a47bda18b04eca85de1c26c5b26456a73",
      "old_mode": 33188,
      "old_path": "metropolis/node/net_protocols.go",
      "new_id": "c4c3f64a5a288bc88f6e21d0a0708fbccec0afb0",
      "new_mode": 33188,
      "new_path": "metropolis/node/net_protocols.go"
    }
  ]
}
