You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
419 lines
11 KiB
419 lines
11 KiB
load("//bazel:api_build_system.bzl", "api_proto_library") |
|
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library", "go_grpc_library") |
|
|
|
licenses(["notice"]) # Apache 2 |
|
|
|
api_proto_library( |
|
name = "address", |
|
srcs = ["address.proto"], |
|
) |
|
|
|
go_proto_library( |
|
name = "address_go_proto", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/address", |
|
proto = ":address", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
"@com_github_gogo_protobuf//:gogo_proto_go", |
|
"@com_github_golang_protobuf//ptypes/wrappers:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "base", |
|
srcs = ["base.proto"], |
|
deps = [":address"], |
|
) |
|
|
|
go_proto_library( |
|
name = "base_go_proto", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/base", |
|
proto = ":base", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":address_go_proto", |
|
"@com_github_gogo_protobuf//:gogo_proto_go", |
|
"@com_github_golang_protobuf//ptypes/duration:go_default_library", |
|
"@com_github_golang_protobuf//ptypes/struct:go_default_library", |
|
"@com_github_golang_protobuf//ptypes/wrappers:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "bootstrap", |
|
srcs = ["bootstrap.proto"], |
|
deps = [ |
|
":address", |
|
":base", |
|
":cds", |
|
":lds", |
|
":sds", |
|
":stats", |
|
":trace", |
|
], |
|
) |
|
|
|
go_proto_library( |
|
name = "bootstrap_go_proto", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/bootstrap", |
|
proto = ":bootstrap", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":address_go_proto", |
|
":base_go_proto", |
|
":cds_go_grpc", |
|
":lds_go_grpc", |
|
":sds_go_grpc", |
|
":stats_go_proto", |
|
":trace_go_proto", |
|
"@com_github_gogo_protobuf//:gogo_proto_go", |
|
"@com_github_golang_protobuf//ptypes/duration:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "health_check", |
|
srcs = ["health_check.proto"], |
|
deps = [":base"], |
|
) |
|
|
|
go_proto_library( |
|
name = "health_check_go_proto", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/health_check", |
|
proto = ":health_check", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":base_go_proto", |
|
"@com_github_golang_protobuf//ptypes/duration:go_default_library", |
|
"@com_github_golang_protobuf//ptypes/wrappers:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "cds", |
|
srcs = ["cds.proto"], |
|
has_services = 1, |
|
deps = [ |
|
":address", |
|
":base", |
|
":discovery", |
|
":health_check", |
|
":protocol", |
|
":sds", |
|
], |
|
) |
|
|
|
go_grpc_library( |
|
name = "cds_go_grpc", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/cds", |
|
proto = ":cds", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":address_go_proto", |
|
":base_go_proto", |
|
":discovery_go_grpc", |
|
":health_check_go_proto", |
|
":protocol_go_proto", |
|
":sds_go_grpc", |
|
"@com_github_gogo_protobuf//:gogo_proto_go", |
|
"@com_github_golang_protobuf//ptypes/duration:go_default_library", |
|
"@com_github_golang_protobuf//ptypes/struct:go_default_library", |
|
"@com_github_golang_protobuf//ptypes/wrappers:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
"@googleapis//:http_api_go_proto", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "discovery", |
|
srcs = ["discovery.proto"], |
|
has_services = 1, |
|
deps = [":base"], |
|
) |
|
|
|
go_grpc_library( |
|
name = "discovery_go_grpc", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/discovery", |
|
proto = ":discovery", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":base_go_proto", |
|
"@com_github_golang_protobuf//ptypes/any:go_default_library", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "eds", |
|
srcs = ["eds.proto"], |
|
has_services = 1, |
|
deps = [ |
|
":address", |
|
":base", |
|
":discovery", |
|
":health_check", |
|
], |
|
) |
|
|
|
go_grpc_library( |
|
name = "eds_go_grpc", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/eds", |
|
proto = ":eds", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":address_go_proto", |
|
":base_go_proto", |
|
":discovery_go_grpc", |
|
":health_check_go_proto", |
|
"@com_github_golang_protobuf//ptypes/duration:go_default_library", |
|
"@com_github_golang_protobuf//ptypes/wrappers:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
"@googleapis//:http_api_go_proto", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "grpc_cluster", |
|
srcs = ["grpc_cluster.proto"], |
|
) |
|
|
|
api_proto_library( |
|
name = "hds", |
|
srcs = ["hds.proto"], |
|
has_services = 1, |
|
deps = [ |
|
":base", |
|
":health_check", |
|
], |
|
) |
|
|
|
go_grpc_library( |
|
name = "hds_go_grpc", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/hds", |
|
proto = ":hds", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":base_go_proto", |
|
":health_check_go_proto", |
|
"@com_github_golang_protobuf//ptypes/duration:go_default_library", |
|
"@googleapis//:http_api_go_proto", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "lds", |
|
srcs = ["lds.proto"], |
|
has_services = 1, |
|
deps = [ |
|
":address", |
|
":base", |
|
":discovery", |
|
":sds", |
|
], |
|
) |
|
|
|
go_grpc_library( |
|
name = "lds_go_grpc", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/lds", |
|
proto = ":lds", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":address_go_proto", |
|
":base_go_proto", |
|
":discovery_go_grpc", |
|
":sds_go_grpc", |
|
"@com_github_golang_protobuf//ptypes/struct:go_default_library", |
|
"@com_github_golang_protobuf//ptypes/wrappers:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
"@googleapis//:http_api_go_proto", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "metrics", |
|
srcs = ["metrics_service.proto"], |
|
has_services = 1, |
|
require_py = 0, |
|
deps = [ |
|
":base", |
|
"@promotheus_metrics_model//:client_model", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "protocol", |
|
srcs = ["protocol.proto"], |
|
) |
|
|
|
go_proto_library( |
|
name = "protocol_go_proto", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/protocol", |
|
proto = ":protocol", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
"@com_github_golang_protobuf//ptypes/wrappers:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "rls", |
|
srcs = ["rls.proto"], |
|
has_services = 1, |
|
) |
|
|
|
go_grpc_library( |
|
name = "rls_go_grpc", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/rls", |
|
proto = ":rls", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "rds", |
|
srcs = ["rds.proto"], |
|
has_services = 1, |
|
deps = [ |
|
":auth", |
|
":base", |
|
":discovery", |
|
], |
|
) |
|
|
|
go_grpc_library( |
|
name = "rds_go_grpc", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/rds", |
|
proto = ":rds", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":auth_go_proto", |
|
":base_go_proto", |
|
":discovery_go_grpc", |
|
"@com_github_gogo_protobuf//:gogo_proto_go", |
|
"@com_github_golang_protobuf//ptypes/duration:go_default_library", |
|
"@com_github_golang_protobuf//ptypes/wrappers:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
"@googleapis//:http_api_go_proto", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "sds", |
|
srcs = ["sds.proto"], |
|
has_services = 1, |
|
deps = [ |
|
":base", |
|
":discovery", |
|
], |
|
) |
|
|
|
go_grpc_library( |
|
name = "sds_go_grpc", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/sds", |
|
proto = ":sds", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":base_go_proto", |
|
":discovery_go_grpc", |
|
"@com_github_golang_protobuf//ptypes/wrappers:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
"@googleapis//:http_api_go_proto", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "stats", |
|
srcs = ["stats.proto"], |
|
deps = [ |
|
":address", |
|
], |
|
) |
|
|
|
go_proto_library( |
|
name = "stats_go_proto", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/stats", |
|
proto = ":stats", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":address_go_proto", |
|
"@com_github_golang_protobuf//ptypes/struct:go_default_library", |
|
"@com_github_golang_protobuf//ptypes/wrappers:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "trace", |
|
srcs = ["trace.proto"], |
|
) |
|
|
|
go_proto_library( |
|
name = "trace_go_proto", |
|
importpath = "github.com/envoyproxy/data-plane-api/api/trace", |
|
proto = ":trace", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
"@com_github_golang_protobuf//ptypes/struct:go_default_library", |
|
"@com_lyft_protoc_gen_validate//validate:go_default_library", |
|
], |
|
) |
|
|
|
api_proto_library( |
|
name = "auth", |
|
srcs = ["auth.proto"], |
|
deps = [ |
|
":sds", |
|
], |
|
) |
|
|
|
go_proto_library( |
|
name = "auth_go_proto", |
|
importpath = "github.com/envoyproxy/data-plane-api/auth", |
|
proto = ":auth", |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
"//api:address_go_proto", |
|
"//api:sds_go_grpc", |
|
"@com_github_golang_protobuf//ptypes/struct:go_default_library", |
|
"@com_github_golang_protobuf//ptypes/timestamp:go_default_library", |
|
"@googleapis//:rpc_status_go_proto", |
|
], |
|
) |
|
|
|
# TODO(htuch): Grow this to cover everything we want to generate docs for, so we can just invoke |
|
# bazel build //api --aspects tools/protodoc/protodoc.bzl%proto_doc_aspect --output_groups=rst |
|
proto_library( |
|
name = "api", |
|
deps = [ |
|
":bootstrap", |
|
":cds", |
|
":eds", |
|
":lds", |
|
":protocol", |
|
":rds", |
|
":rls", |
|
"//api/filter/accesslog", |
|
"//api/filter/http:buffer", |
|
"//api/filter/http:ext_authz", |
|
"//api/filter/http:fault", |
|
"//api/filter/http:health_check", |
|
"//api/filter/http:lua", |
|
"//api/filter/http:rate_limit", |
|
"//api/filter/http:router", |
|
"//api/filter/http:squash", |
|
"//api/filter/http:transcoder", |
|
"//api/filter/network:client_ssl_auth", |
|
"//api/filter/network:ext_authz", |
|
"//api/filter/network:http_connection_manager", |
|
"//api/filter/network:mongo_proxy", |
|
"//api/filter/network:rate_limit", |
|
"//api/filter/network:redis_proxy", |
|
"//api/filter/network:tcp_proxy", |
|
], |
|
)
|
|
|