vitess-gh/proto
Alex Charis 573aaf573d refactor LDAP-backed ACLs
vtgate now gets the groups and sends them in the immediate caller id.
we store the time of the ldap query and refresh (in another goroutine) if
older than configurable threshold. this happens upon ComQuery. the simpleacl
implementation is now group aware, and the ldapacl plugin has been removed.
2017-03-24 10:06:47 -04:00
..
README.md proto: Add README.md to document our required style guide. 2017-03-23 19:14:34 +01:00
automation.proto Now splitting automation proto. 2015-06-10 11:35:58 -07:00
automationservice.proto Now splitting automation proto. 2015-06-10 11:35:58 -07:00
binlogdata.proto filtered replication: allow non-annotated dmls (#2441) 2017-01-14 11:58:42 -08:00
binlogservice.proto Moving UpdateStream to queryservice API. 2016-09-02 09:32:00 -07:00
logutil.proto Fixing proto comments. 2015-06-25 10:03:42 -07:00
mysqlctl.proto Start mysqld for mysql_upgrade with --skip-grant-tables and --skip-networking. 2016-07-26 22:56:46 -07:00
query.proto refactor LDAP-backed ACLs 2017-03-24 10:06:47 -04:00
queryservice.proto messages: WIP 2017-01-23 17:03:27 -08:00
replicationdata.proto Now using strings in remote RPC communication for replication position. 2015-07-24 10:29:28 -07:00
tableacl.proto add tableacl proto and refactor go/vt/tableacl 2015-07-19 22:30:42 -07:00
tabletmanagerdata.proto Add support for Vitess 'allprivs' user. 2016-09-26 17:47:12 -07:00
tabletmanagerservice.proto Add support for Vitess 'allprivs' user. 2016-09-26 17:47:12 -07:00
throttlerdata.proto 1. Replaced the thread_throttler throttle() code with the golang.org/x/time/rate 2017-01-19 15:37:55 -08:00
throttlerservice.proto vtctl: Add commands to manipulate the adaptive throttling of the resharding throttler. 2016-08-18 09:47:27 -07:00
topodata.proto Topology refactor: adding zk2 topology. 2016-12-15 16:40:53 -08:00
vschema.proto Adding SrvVSchema object. 2016-06-02 14:07:43 -07:00
vtctldata.proto Removing locktimeout from vtctl protocol. 2015-11-03 11:20:12 -08:00
vtctlservice.proto Renaming a few proto files. Turns out the proto we use in google3 2015-06-19 08:20:58 -07:00
vtgate.proto v3 keyrange: proto keyspace->keyspace_shard 2017-03-23 11:32:42 -07:00
vtgateservice.proto messages: WIP 2017-01-23 17:03:27 -08:00
vtrpc.proto vterrors: simplify API 2017-02-22 17:14:48 -08:00
vttest.proto Extend vtcombo. Addressed review comments. 2016-08-05 11:04:29 -07:00
vtworkerdata.proto vtworker: Fix code after the logging Event was moved from vtctldata to logutil. 2015-07-06 13:12:50 -07:00
vtworkerservice.proto vtworker: Fix typos in comments of the RPC code. 2016-06-08 01:23:12 -07:00
workflow.proto workflow: Implemented retry action in ParallelRunner. Created 2017-02-13 19:48:34 -08:00

README.md

Vitess Protobuf Definitions

This directory contains all Vitess protobuf definitions.

Our protobuf messages are both used as wire format (e.g. query.proto) and for storage (e.g. topodata.proto).

RPC messages and service definitions are in separate files (e.g. vtgate.proto and vtgateservice.proto) on purpose because our internal deployment does not use gRPC.

Style Guide

Before creating new messages or services, please make yourself familiar with the style of the existing definitions first.

Additionally, new definitions must adhere to the Google Cloud API Design Guide: https://cloud.google.com/apis/design/

Comments

We are more strict than the Design Guide on the format for comments. Similar to comments for Go types or fields, protobuf comments must start with the name. For example:

// TabletAlias is a globally unique tablet identifier.
message TabletAlias {
  // cell is the cell (or datacenter) the tablet is in.
  string cell = 1;
  ...
}

Note that the Design Guide also has the following ask:

If the field value is required, input only, output only, it must be documented at the start of the field description. By default, all fields and parameters are optional.

Here's an example which combines this ask with our stricter comments style:

// ExecuteKeyspaceIdsRequest is the payload to ExecuteKeyspaceIds.
message ExecuteKeyspaceIdsRequest {
  ...
  // Required. keyspace to target the query to.
  string keyspace = 4;
  ...
}

Note that most of our existing files (as of March 2017) do not have e.g. "Required." comments. Nonetheless, new files should follow this where applicable.