)]}'
{
  "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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "caa239aabadfb067c175f28781441de00afb6997",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/BUILD.bazel",
      "new_id": "f7bb47f1b21abd384f7e1316e8b76f65a1bde92c",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "4ea2d84f9810d0e174e15cd4d5c6c98602952fc9",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/reconciler.go",
      "new_id": "3bfaa4d659369ee3e194e96d3850c6a72bb489be",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/reconciler.go"
    },
    {
      "type": "modify",
      "old_id": "b72ccb9e40002335f2774886f7389e324992c4b8",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/reconciler_test.go",
      "new_id": "b791dbe9650b998a2d027f3c335bea2c71637e6a",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/reconciler_test.go"
    },
    {
      "type": "modify",
      "old_id": "cec00fdb2bbe9ccb2f3dc98a67f375d4bdd64a9f",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/resources_csi.go",
      "new_id": "06eb3ac00c4f351de7ee7d9dc05dcaefe4282054",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/resources_csi.go"
    },
    {
      "type": "modify",
      "old_id": "702ee6bde8b901b077de367e7204d231f7ccda3d",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/resources_rbac.go",
      "new_id": "5ae5246c3c8c9cfe8acf8063175e7a9aa77c2925",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/resources_rbac.go"
    },
    {
      "type": "modify",
      "old_id": "b41c2c9741ee704463290ee6f3f09a01b1c5113a",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/resources_runtimeclass.go",
      "new_id": "070cb96e9941f4458ba7c55309675b1ac851caa6",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/resources_runtimeclass.go"
    },
    {
      "type": "modify",
      "old_id": "d8191cea526c5c03ed3a1a7182e4519f2d6c3e66",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/resources_storageclass.go",
      "new_id": "b242bbfb922e41493a215f3038f34079983ccd6b",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/resources_storageclass.go"
    }
  ]
}
