Apidoc

Proto: apidoc.proto

Package: portal.gloo.solo.io

Types:

APIDocSpec

An APIDoc tells the Gloo Portal controller how to load an API specification (e.g. an OpenAPI document). APIDocs define the operations which are be bundled in APIProducts. The API specifications contained within an APIDoc can be used to provide configuration for HTTP routing of calls to the APIs defined in the spec.

Field Type Label Description
openApi portal.gloo.solo.io.APIDocSpec.OpenApiDoc Set this field if the APIDoc is of type OpenAPI (default).
grpc portal.gloo.solo.io.APIDocSpec.GrpcDoc Set this field if the APIDoc is of type gRPC (default).
watchService common.portal.gloo.solo.io.ObjectRef A reference to the Service that this Doc should watch for updates. In a multi-cluster environment, only Services in Gloo Portal's cluster will be watched.

APIDocSpec.GrpcDoc

Parameters specific to a gRPC APIDoc.

Field Type Label Description
dataSource common.portal.gloo.solo.io.DataSource Use a generic DataSource to retrieve the serialized gRPC Descriptors. To generate the descriptors manually, add --descriptors_out=[file] to the protoc command used to generate your proto files.
reflectionSource portal.gloo.solo.io.APIDocSpec.GrpcDoc.ReflectionDescriptorsSource Use gRPC reflection to retrieve the gRPC descriptors

APIDocSpec.GrpcDoc.ReflectionDescriptorsSource

Retrieve the descriptors from a gRPC server using gRPC Reflection. See https://github.com/grpc/grpc/blob/master/doc/server-reflection.md for more details.

Field Type Label Description
serviceAddress string the address (IP/HOST:PORT) of the grpc service
connectionTimeout google.protobuf.Duration the duration of time to wait for a grpc connection to be established before erroring out
insecure bool connect over HTTP rather than HTTPS

APIDocSpec.OpenApiDoc

Parameters specific to OpenApi APIDoc.

Field Type Label Description
content common.portal.gloo.solo.io.DataSource DataSource for retrieving the OpenAPI schema content

APIDocStatus

The current status of the APIDoc. The APIDoc will be processed as soon as one or more Portals select it for publishing.

Field Type Label Description
observedGeneration int64 The observed generation of the APIDoc. When this matches the APIDoc's metadata.generation, it indicates the status is up-to-date.
state common.portal.gloo.solo.io.State The current state of the APIDoc.
reason string A human-readable string explaining the error, if any.
displayName string User-facing display name for the APIDoc.
version string User-facing version number
description string User-facing description
openApi portal.gloo.solo.io.OpenAPIOperations Information specific to an OpenAPI method
grpc portal.gloo.solo.io.GrpcMethods Information specific to a gRPC method

GrpcMethods

Field Type Label Description
methods []portal.gloo.solo.io.GrpcMethods.GrpcMethod repeated the list of methods defined in the gRPC Schema

GrpcMethods.GrpcMethod

describes an operation (RPC method) defined in a set of gRPC Descriptors

Field Type Label Description
serviceName string the name of the gRPC service serving the RPC method.
rpcName string the name of the RPC method as defined on the service.
summary string the summary, if any, for the method
rpcType portal.gloo.solo.io.GrpcMethods.GrpcMethod.RPCType the type of the RPC method.
route portal.gloo.solo.io.RouteSpecifier the Routing configuration, if any, defined for this operation within the gRPC descriptors. Defined using the router.portal.gloo.solo.io. gRPC options.

OpenAPIOperations

Field Type Label Description
operations []portal.gloo.solo.io.OpenAPIOperations.Operation repeated the list of operations defined in the OpenAPI schema

OpenAPIOperations.Operation

describes an operation as defined in an OpenAPI Schema

Field Type Label Description
operationId string the OperationID of the operation (this field is required by Gloo Portal)
path string the HTTP Path for the operation
verb string the HTTP Verb for the operation
summary string the summary, if any, for the operation
route portal.gloo.solo.io.RouteSpecifier the Routing configuration, if any, defined for this operation within the OpenAPI doc. Defined using the x-solo-product-router OpenAPI extension.

GrpcMethods.GrpcMethod.RPCType

Name Number Description
UNKNOWN 0
UNARY 1
CLIENT_STREAMING 2
SERVER_STREAMING 3
BIDIRECTIONAL_STREAMING 4