Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
31 lines (26 sloc) 1.49 KB
syntax = "proto3";
package kubernetes.plugins.gloo.solo.io;
option go_package = "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/plugins/kubernetes";
import "gogoproto/gogo.proto";
option (gogoproto.equal_all) = true;
import "github.com/solo-io/gloo/projects/gloo/api/v1/plugins/service_spec.proto";
// Upstream Spec for Kubernetes Upstreams
// Kubernetes Upstreams represent a set of one or more addressable pods for a Kubernetes Service
// the Gloo Kubernetes Upstream maps to a single service port. Because Kubernetes Services support multiple ports,
// Gloo requires that a different upstream be created for each port
// Kubernetes Upstreams are typically generated automatically by Gloo from the Kubernetes API
message UpstreamSpec {
// The name of the Kubernetes Service
string service_name = 1;
// The namespace where the Service lives
string service_namespace = 2;
// The access port port of the kubernetes service is listening. This port is used by Gloo to look up the corresponding
// port on the pod for routing.
uint32 service_port = 3;
// Allows finer-grained filtering of pods for the Upstream. Gloo will select pods based on their labels if
// any are provided here.
// (see [Kubernetes labels and selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)
map<string, string> selector = 4;
// An optional Service Spec describing the service listening at this address
.plugins.gloo.solo.io.ServiceSpec service_spec = 5;
}