teleport/api/proto/buf.yaml
Michael Wilson 983e0cc611
Support non-gogo objects for auth service events. (#29056)
* Support non-gogo objects for auth service events.

Auth service events will now support non-gogo objects. This was done by
generating the events and associated objects with regular go protobuf
instead of gogo and then correcting the code for the differences in
code generation.

* Correct lock copying in event protobuf.

* Temporarily ignore event.proto in buf breaking.

* Attempt to keep buf breaking from breaking.

* Remove comment.

* Rename gproto to googleproto.

* Rename api/client/proto import to authpb and googleproto to proto.

* Correct comment, add in test exercising proto.Equal.

* GCI.

* Events test actually does work.
2023-07-17 15:32:03 +00:00

62 lines
2.4 KiB
YAML

version: v1
deps:
# gogo/protobuf v1.3.2, keep in sync with build.assets/Makefile.
- buf.build/gogo/protobuf:b03c65ea87cdc3521ede29f62fe3ce239267c1bc
- buf.build/googleapis/googleapis:beb34b4050abfcfff72ff5cc6a28f0afa4043ce0
lint:
use:
- DEFAULT
- PACKAGE_NO_IMPORT_CYCLE
- UNARY_RPC
# Top-level types require comments.
- COMMENT_ENUM
- COMMENT_MESSAGE
- COMMENT_RPC
- COMMENT_SERVICE
except:
# Allow Google API-style responses (CreateFoo returns Foo).
# See https://cloud.google.com/apis/design/standard_methods.
- RPC_REQUEST_RESPONSE_UNIQUE
- RPC_RESPONSE_STANDARD_NAME
ignore:
- teleport/legacy/client/proto/authservice.proto
- teleport/legacy/client/proto/certs.proto
- teleport/legacy/client/proto/event.proto
- teleport/legacy/client/proto/proxyservice.proto
- teleport/legacy/types/events/events.proto
- teleport/legacy/types/events/athena.proto
- teleport/legacy/types/types.proto
- teleport/legacy/types/wrappers/wrappers.proto
ignore_only:
# Allow package/directory mismatch for legacy protos.
FIELD_LOWER_SNAKE_CASE:
- teleport/legacy/types/device.proto
# Allow package/directory mismatch for legacy protos.
PACKAGE_DIRECTORY_MATCH:
- teleport/legacy/client/proto/joinservice.proto
- teleport/legacy/types/device.proto
- teleport/legacy/types/webauthn/webauthn.proto
# Allow non-versioned packages for legacy protos.
PACKAGE_VERSION_SUFFIX:
- teleport/legacy/client/proto/joinservice.proto
- teleport/legacy/types/device.proto
- teleport/legacy/types/webauthn/webauthn.proto
# Allow only certain services to use streaming RPCs.
#
# We should avoid streaming RPCs until we have a compelling reason to use them (e.g. the
# implementation needs 1-N messages or the server cannot dial directly to the client).
#
# Check out the links below. If you still have questions or doubts, reach out to @codingllama.
#
# https://docs.buf.build/lint/rules#unary_rpc
# https://github.com/gravitational/teleport/pull/16043#issuecomment-1235728212
# https://github.com/twitchtv/twirp/issues/70#issuecomment-470367807
UNARY_RPC:
- teleport/devicetrust/v1/devicetrust_service.proto
- teleport/legacy/client/proto/joinservice.proto
- teleport/transport/v1/transport_service.proto
- teleport/auditlog/v1/auditlog.proto
breaking:
use:
- WIRE_JSON