* refactor (controller): Use a grpc server for the grpc-gateway This starts a grpc server for the grpc-gateway. The new gateway server uses an in-memory listener which also supports "dialing", so the http proxy can connect to the in-memory listener. This change allows us to use all grpc server features and was in part motivated by a need for an interceptor of inbound requests. With that said, having a "proper" grpc server for the gateway will provide a lot more flexibility and capabilities moving forward. The request context will still be verified via middleware in the http proxy (see wrapHandlerWithCommonFuncs). This verified context will be serialized into a protobuf and sent along to the grpc-gateway via metadata where an interceptor will add the verified request info to the request's context (see requestCtxInterceptor). The interceptor will verify the serialized request info via a shared ticket with it's companion in-memory http proxy. FYI: the ticket is simply random base62 string (see db.NewPrivateId). This change also necessitated a minor change to services. We need to return an empty response instead of nil, nil when there are no errors and the response is empty. * refactor (handlers): Rename gRPC Gateway filter Originally, this was called an OutgoingInterceptor, which is an unfortunate name since it's not an interceptor. Now that we're refactoring the gateway stuff and have proper interceptors, renaming this should remove ambiguity * refactor: Rework how 204 with empty msg is handled Recent changes to grpc gateway has necessitated a change to how 204s are handled by the gateway * tests (bats): Check status codes for delete operations
88 lines
3.4 KiB
AMPL
88 lines
3.4 KiB
AMPL
module github.com/hashicorp/boundary
|
|
|
|
go 1.16
|
|
|
|
replace github.com/hashicorp/boundary/api => ./api
|
|
|
|
replace github.com/hashicorp/boundary/sdk => ./sdk
|
|
|
|
require (
|
|
github.com/armon/go-metrics v0.3.9
|
|
github.com/bufbuild/buf v0.37.0
|
|
github.com/dhui/dktest v0.3.4 // indirect
|
|
github.com/fatih/color v1.12.0
|
|
github.com/fatih/structs v1.1.0
|
|
github.com/favadi/protoc-go-inject-tag v1.3.0
|
|
github.com/godbus/dbus/v5 v5.0.4 // indirect
|
|
github.com/golang-migrate/migrate/v4 v4.14.1
|
|
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe
|
|
github.com/golang/protobuf v1.5.2
|
|
github.com/google/go-cmp v0.5.6
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.6.0
|
|
github.com/hashicorp/boundary/api v0.0.19
|
|
github.com/hashicorp/boundary/sdk v0.0.11
|
|
github.com/hashicorp/cap v0.1.1
|
|
github.com/hashicorp/dawdle v0.4.0
|
|
github.com/hashicorp/dbassert v0.0.0-20210708202608-ecf920cf1ed8
|
|
github.com/hashicorp/eventlogger v0.1.0
|
|
github.com/hashicorp/eventlogger/filters/encrypt v0.1.4-0.20210928205053-80364fba97eb
|
|
github.com/hashicorp/go-bexpr v0.1.10
|
|
github.com/hashicorp/go-cleanhttp v0.5.2
|
|
github.com/hashicorp/go-hclog v0.16.2
|
|
github.com/hashicorp/go-kms-wrapping v0.6.6
|
|
github.com/hashicorp/go-multierror v1.1.1
|
|
github.com/hashicorp/go-retryablehttp v0.7.0
|
|
github.com/hashicorp/go-rootcerts v1.0.2
|
|
github.com/hashicorp/go-secure-stdlib/base62 v0.1.1
|
|
github.com/hashicorp/go-secure-stdlib/configutil v0.1.2
|
|
github.com/hashicorp/go-secure-stdlib/gatedwriter v0.1.1
|
|
github.com/hashicorp/go-secure-stdlib/kv-builder v0.1.1
|
|
github.com/hashicorp/go-secure-stdlib/listenerutil v0.1.1
|
|
github.com/hashicorp/go-secure-stdlib/mlock v0.1.1
|
|
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1
|
|
github.com/hashicorp/go-secure-stdlib/password v0.1.1
|
|
github.com/hashicorp/go-secure-stdlib/reloadutil v0.1.1
|
|
github.com/hashicorp/go-secure-stdlib/strutil v0.1.1
|
|
github.com/hashicorp/go-uuid v1.0.2
|
|
github.com/hashicorp/hcl v1.0.0
|
|
github.com/hashicorp/vault/api v1.1.1
|
|
github.com/hashicorp/vault/sdk v0.2.1
|
|
github.com/iancoleman/strcase v0.2.0
|
|
github.com/jackc/pgconn v1.10.0
|
|
github.com/jackc/pgx/v4 v4.11.0
|
|
github.com/jefferai/keyring v1.1.7-0.20210105022822-8749b3d9ce79
|
|
github.com/kr/pretty v0.3.0
|
|
github.com/kr/text v0.2.0
|
|
github.com/mattn/go-colorable v0.1.8
|
|
github.com/mitchellh/cli v1.1.2
|
|
github.com/mitchellh/copystructure v1.2.0
|
|
github.com/mitchellh/go-wordwrap v1.0.1
|
|
github.com/mitchellh/gox v1.0.1
|
|
github.com/mitchellh/mapstructure v1.4.2
|
|
github.com/mitchellh/pointerstructure v1.2.0
|
|
github.com/mr-tron/base58 v1.2.0
|
|
github.com/oligot/go-mod-upgrade v0.6.1
|
|
github.com/ory/dockertest/v3 v3.7.0
|
|
github.com/patrickmn/go-cache v2.1.0+incompatible
|
|
github.com/pires/go-proxyproto v0.6.1
|
|
github.com/pkg/errors v0.9.1
|
|
github.com/posener/complete v1.2.3
|
|
github.com/spf13/cobra v1.1.1 // indirect
|
|
github.com/stretchr/testify v1.7.0
|
|
github.com/zalando/go-keyring v0.1.1
|
|
go.uber.org/atomic v1.9.0
|
|
golang.org/x/crypto v0.0.0-20210915214749-c084706c2272
|
|
golang.org/x/sys v0.0.0-20210917161153-d61c044b1678
|
|
golang.org/x/term v0.0.0-20210916214954-140adaaadfaf
|
|
golang.org/x/tools v0.1.6
|
|
google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83
|
|
google.golang.org/grpc v1.40.0
|
|
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0
|
|
google.golang.org/protobuf v1.27.1
|
|
gorm.io/driver/postgres v1.1.0
|
|
gorm.io/gorm v1.21.17-0.20211013130203-9a5ba3760424
|
|
mvdan.cc/gofumpt v0.1.1
|
|
nhooyr.io/websocket v1.8.7
|
|
)
|