)]}'
{
  "commit": "29780fbab8bca05da846fca47957fb1d53b8e78c",
  "tree": "87dcff17ae40eb510f95fe3f78c780cf9c8fdc47",
  "parents": [
    "560e4c0c924ede0f7ed8e6d935b11693f1bc5e2e"
  ],
  "author": {
    "name": "seanmccullough",
    "email": "seanmccullough@google.com",
    "time": "Wed Aug 23 16:05:10 2023 -0700"
  },
  "committer": {
    "name": "SkCQ",
    "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
    "time": "Fri Aug 25 20:27:03 2023 +0000"
  },
  "message": "[cabe] update cabe proto targets to support envoy grpc-json transcoding\n\nThis CL by itself doesn\u0027t do anything interesting yet.\n\nI have a separate WIP CL to update envoy settings in //k8s-config/skfe which will have to land separately since it\u0027s in a different repo.\n\nThat k8s-config change configures envoy to use the cabe_descriptor_set.pb file generated by the new proto_descriptor_set target in this CL.\n\nSee https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter for envoy\u0027s docs on this transcoding feature.  TL;DR is you can apply this filter in front of a grpc service, and envoy will transparently switch between REST+JSON and gRPC transport and encodings based on request headers - the service implementation can keep believing that it\u0027s always talking gRPC.\n\nBug: chromium:1473744\nChange-Id: Ibe44188f94479e1abe5e40a9fdccbeb05227b478\nReviewed-on: https://skia-review.googlesource.com/c/buildbot/+/746138\nCommit-Queue: Sean McCullough \u003cseanmccullough@google.com\u003e\nReviewed-by: Joe Gregorio \u003cjcgregorio@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f8ed914cc81759dd8aa58f66ad6f5b06036f4ea1",
      "old_mode": 33188,
      "old_path": "WORKSPACE",
      "new_id": "adf93ae55f7cf23ec6dabe7bc096aa65b009f39f",
      "new_mode": 33188,
      "new_path": "WORKSPACE"
    },
    {
      "type": "modify",
      "old_id": "2d2664d98dbca7f1ee130fe2ab55f0af5ffc8b25",
      "old_mode": 33188,
      "old_path": "bazel/tools/protoc/BUILD.bazel",
      "new_id": "83c6b3c79f4b5cdaa301a5cf75c969804dbac063",
      "new_mode": 33188,
      "new_path": "bazel/tools/protoc/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "7185139d29365a2a7ffebb0bdeac6737a743d87f",
      "old_mode": 33188,
      "old_path": "cabe/go/proto/BUILD.bazel",
      "new_id": "97fb07d4b28e36fdce3720fbe89c006687529c29",
      "new_mode": 33188,
      "new_path": "cabe/go/proto/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "055d55dd4dfbb595dad2c64390ba1f6b0b0ab607",
      "old_mode": 33188,
      "old_path": "cabe/go/proto/generate.go",
      "new_id": "0675e372b46797441f6280221e7b2802f5cbf837",
      "new_mode": 33188,
      "new_path": "cabe/go/proto/generate.go"
    },
    {
      "type": "modify",
      "old_id": "a000cac1a25b8a6f1feed2e93ed33dbf6b22694f",
      "old_mode": 33188,
      "old_path": "cabe/go/proto/service.pb.go",
      "new_id": "35ed800593b2df723048b92333dcedb138d3903f",
      "new_mode": 33188,
      "new_path": "cabe/go/proto/service.pb.go"
    },
    {
      "type": "modify",
      "old_id": "5461c7b9a7e76ca982842961d5d182b6c997eefe",
      "old_mode": 33188,
      "old_path": "cabe/proto/BUILD.bazel",
      "new_id": "1bb23406113cfec6e73a026d04689da33cf7470d",
      "new_mode": 33188,
      "new_path": "cabe/proto/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "090cbd8a8549e53459be3d79e958a8e0a44e5f75",
      "new_mode": 33188,
      "new_path": "cabe/proto/cabe_descriptor_set.pb"
    },
    {
      "type": "modify",
      "old_id": "5e92e2f907ae6673c7f7f43380d7d429e3447995",
      "old_mode": 33188,
      "old_path": "cabe/proto/service.proto",
      "new_id": "ffba94f8d44a2d6338700106f687f5e4d11cf236",
      "new_mode": 33188,
      "new_path": "cabe/proto/service.proto"
    }
  ]
}
