)]}'
{
  "commit": "b15abadcd33cc25c220a2e8987f11bd967af5765",
  "tree": "e9744eb8694a12238f345fa409ba1553f813d18d",
  "parents": [
    "0db90ba4fde0be782f2dc43f4e6d269d7c1c5f0b"
  ],
  "author": {
    "name": "Lorenz Brun",
    "email": "lorenz@nexantic.com",
    "time": "Thu Apr 16 11:17:12 2020 +0200"
  },
  "committer": {
    "name": "Lorenz Brun",
    "email": "lorenz@nexantic.com",
    "time": "Thu Apr 16 11:17:12 2020 +0200"
  },
  "message": "Add PV provisioner\n\nThis adds a new PV provisioner which works together with the\nCSI Node driver to provide storage to workloads on Smalltown.\nIt talks to Kubernetes and listens for PVCs which need to be provisioned\nand PVs which have been released and need to be deleted.\n\nIs is implemented as a per-node agent where every node provisions the\nvolumes scheduled onto it by kube-scheduler.\n\nTest Plan: Manually tested by running `bazel run //core/cmd/dbg -- kubectl create -f $PWD/pv-test.yml` and observing a provisioned PV that\u0027s attached to the pod. An example `test-pv.yml` is in P137.\n\nX-Origin-Diff: phab/D482\nGitOrigin-RevId: 75a871b039e71dd248f937719c471e0277887964\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d58dec7c137a6ed02e08c19f0344855471628961",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/BUILD.bazel",
      "new_id": "36866e7676a2afdbedff3b65442f3abf8c19a751",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "53f509786bc88749a7a0fbbd0a5a83ce01397bc6",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/csi.go",
      "new_id": "6db82bc3e20527d01ee32b66aa8771af20df748d",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/csi.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9a3d936b94b3774fa5809de9dc0e32c29b172bda",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/provisioner.go"
    },
    {
      "type": "modify",
      "old_id": "092cd8eea268fdf1be302eeaece7732aee70fc91",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/reconcile.go",
      "new_id": "93ee4da7dc8909bf075d6eda3bff62237a1a95a3",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/reconcile.go"
    },
    {
      "type": "modify",
      "old_id": "f3dc4f7b6ca616eb7f0751bf9f67e592f5a7ccf1",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/service.go",
      "new_id": "7ef6b1da1d863a817c15d882f64cc8c482f2f612",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/service.go"
    },
    {
      "type": "modify",
      "old_id": "99a49eb5ee4461fa22ee915732a15d611e87f25c",
      "old_mode": 33188,
      "old_path": "core/internal/storage/data.go",
      "new_id": "337aae057957ecfb5847b2cc94dc4399b958bb17",
      "new_mode": 33188,
      "new_path": "core/internal/storage/data.go"
    }
  ]
}
