Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
43 lines (32 sloc) 1.68 KB
syntax = "proto3";
package gateway.solo.io;
option go_package = "github.com/solo-io/gloo/projects/gateway/pkg/api/v1";
import "gogoproto/gogo.proto";
option (gogoproto.equal_all) = true;
import "github.com/solo-io/solo-kit/api/v1/metadata.proto";
import "github.com/solo-io/solo-kit/api/v1/status.proto";
import "github.com/solo-io/solo-kit/api/v1/ref.proto";
import "github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto";
import "github.com/solo-io/gloo/projects/gloo/api/v1/plugins.proto";
/*
@solo-kit:resource.short_name=gw
@solo-kit:resource.plural_name=gateways
@solo-kit:resource.resource_groups=api.gateway.solo.io
A gateway describes the routes to upstreams that are reachable via a specific port on the Gateway Proxy itself.
*/
message Gateway {
// names of the the virtual services, which contain the actual routes for the gateway
// if the list is empty, the gateway will apply all virtual services to this gateway
repeated core.solo.io.ResourceRef virtual_services = 2 [(gogoproto.nullable) = false];
// the bind address the gateway should serve traffic on
string bind_address = 3;
// bind ports must not conflict across gateways in a namespace
uint32 bind_port = 4;
// top level plugin configuration for all routes on the gateway
gloo.solo.io.ListenerPlugins plugins = 5;
// Status indicates the validation status of this resource.
// Status is read-only by clients, and set by gloo during validation
core.solo.io.Status status = 6 [(gogoproto.nullable) = false, (gogoproto.moretags) = "testdiff:\"ignore\""];
// Metadata contains the object metadata for this resource
core.solo.io.Metadata metadata = 7 [(gogoproto.nullable) = false];
}