)]}'
{
  "commit": "dbfc638fa03704d274f78b31f508dde1e37502ee",
  "tree": "607f2fbd8683bfd5fc855cd03bce700a107f68fd",
  "parents": [
    "71f7a567f372b41b3ea5cf72dfebd0546e3ff7df"
  ],
  "author": {
    "name": "Serge Bazanski",
    "email": "serge@nexantic.com",
    "time": "Fri Jun 19 20:35:43 2020 +0200"
  },
  "committer": {
    "name": "Serge Bazanski",
    "email": "serge@nexantic.com",
    "time": "Fri Jun 19 20:35:43 2020 +0200"
  },
  "message": "core/internal/kubernetes: refactor PKI fully\n\nWe move ad-hoc certificate/key creation to a little declarative,\nfuture-inspired API.\n\nThe API is split into two distinct layers:\n - an etcd-backed managed certificate storage that understands server\n   certificates, client certificates and CAs\n - a Kubernetes PKI object, that understands what certificates are\n   needed to bring up a cluster\n\nThis allows for deduplicated path names in etcd, some semantic\ninformation about available certificates, and is in general groundwork\nfor some future improvements, like:\n - a slightly higher level etcd \u0027data store\u0027 api, with\n   less-stringly-typed paths\n - simplification of service startup code (there\u0027s a bunch of cleanups\n   that can be still done in core/internal/kubernetes wrt. to\n   certificate marshaling to the filesystem, etc)\n\nTest Plan: covered by existing tests - but this should also now be nicely testable in isolation!\n\nX-Origin-Diff: phab/D564\nGitOrigin-RevId: a58620c37ac064a15b7db106b7a5cbe9bd0b7cd0\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f3304cc10ade810a24d2aa2754def9598ec7e85c",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/BUILD.bazel",
      "new_id": "97387dffbcf83d522545d7b6e14e53878ee25ee1",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "9bc32f3d2774adb3c304b1d9cc1949246c94b9b4",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/apiserver.go",
      "new_id": "0a740dd1aa80cb9a148fd08b38366775e4b5e8fa",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/apiserver.go"
    },
    {
      "type": "delete",
      "old_id": "fe2fe599a539aff26009215282b8b9b68a7b03c9",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/auth.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "20d46050ef36e462bdcc0b38a6ee13566ac27809",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/controller-manager.go",
      "new_id": "0934ae116671c9a972549daff079c0c233c3abb8",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/controller-manager.go"
    },
    {
      "type": "modify",
      "old_id": "3b0d966f6452ca51242654dcc0e0d07c365b3f91",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/kubelet.go",
      "new_id": "639e891d4177c80acfbe03e7fae55215f28f362f",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/kubelet.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e188bfa373361154e26541597f55cfbcdab89a0a",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/pki/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "64453cd899efe4e4368ecfbbf43cf3aea02372a3",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/pki/ca.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e0dea0d521f397b51f6f9ceccb22bb449f1cc9fa",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/pki/certificate.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ed70b8749698c90e79f18b5ba8dbc1e8ab481cd2",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/pki/kubernetes.go"
    },
    {
      "type": "modify",
      "old_id": "c227fdf72560bb93d415827fbde8ac5ba079060e",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/provisioner.go",
      "new_id": "c86471576f5aa5407397b61020b5a237b3545213",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/provisioner.go"
    },
    {
      "type": "modify",
      "old_id": "d3ee20b33258d2ea008e29c733ed8075c9e9c435",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/scheduler.go",
      "new_id": "35b1e642477893811335d75d200f0d482337b2c3",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/scheduler.go"
    },
    {
      "type": "modify",
      "old_id": "b2d340e98b3f80e8957da5af6a5c24a6a7a33d67",
      "old_mode": 33188,
      "old_path": "core/internal/kubernetes/service.go",
      "new_id": "826e2d8394764f03e165d912f618346878570197",
      "new_mode": 33188,
      "new_path": "core/internal/kubernetes/service.go"
    }
  ]
}
