Commit Graph

6 Commits

Author SHA1 Message Date
Stephen J Day
a73eb2b2ce api: generate merged descriptors when building protobufs
When we generate protobufs, descriptors outlining all messages and
services are merged into a single file that can be used to identify
unexpected changes to the API that may affect stability. We follow a
similar process to Go's stability guarantees using the protobuf
descriptors to identify changes before they become a problem.

Please see README.md for details.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-08-04 16:50:28 -07:00
Stephen J Day
d986a187d7 api: cleanup protobuf imports
There were a few files printing warnings during the build due to
erroneous imports. These imports have now been removed.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-08-04 12:57:43 -07:00
Stephen J Day
c857ba2d0b events: autogenerate fieldpath filters
To ensure consistent fieldpath matching for events, we generate the
fieldpath matching using protobuf definitions. This is done through a
plugin called "fieldpath" that defines a `Field` method for each type
with the plugin enabled. Generated code handles top-level envelope
fields, as well as deferred serialization for matching any types.

In practice, this means that we can cheaply match events on `topic` and
`namespace`. If we want to match on attributes within the event, we can
use the `event` prefix to address these fields. For example, the
following will match all envelopes that have a field named
`container_id` that has the value `testing`:

```
ctr events "event.container_id==testing"
```

The above will decode the underlying event and check that particular
field. Accordingly, if only `topic` or `namespace` is used, the event
will not be decoded and only match on the envelope.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-08-01 14:09:38 -07:00
He Xiaoxi
856c351fac Improve the comment
Signed-off-by: He Xiaoxi <tossmilestone@gmail.com>
2017-07-22 12:39:34 +08:00
He Xiaoxi
b6dbbd337d Fix typo error in Protobuild.toml
Signed-off-by: He Xiaoxi <tossmilestone@gmail.com>
2017-07-19 20:28:33 +08:00
Stephen J Day
6c925924db protobuild: replace protobuild command
To make the protobuild tool broadly useful, it has been broken out into
a separate project. This PR replaces the command with a configuration
file.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-07-14 14:10:06 -07:00