Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 54 additions & 15 deletions networking/v1alpha3/gateway.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

61 changes: 48 additions & 13 deletions networking/v1alpha3/gateway.pb.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

69 changes: 54 additions & 15 deletions networking/v1alpha3/gateway.proto
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,15 @@ syntax = "proto3";
// serverCertificate: /etc/certs/servercert.pem
// privateKey: /etc/certs/privatekey.pem
// - port:
// number: 9443
Comment thread
rshriram marked this conversation as resolved.
// name: https
// protocol: HTTPS
// hosts:
// - "bookinfo-namespace/*.bookinfo.com"
// tls:
// mode: SIMPLE # enables HTTPS on this port
// credentialName: bookinfo-secret # fetches certs from kubernetes secret
// - port:
// number: 9080
// name: http-wildcard
// protocol: HTTP
Expand All @@ -74,6 +83,7 @@ syntax = "proto3";
// hosts:
// - "*"
// ```
//
// The Gateway specification above describes the L4-L6 properties of a load
// balancer. A `VirtualService` can then be bound to a gateway to control
// the forwarding of traffic arriving at a particular host or gateway port.
Expand Down Expand Up @@ -153,6 +163,32 @@ syntax = "proto3";
// port:
// number: 5555
// ```
//
// It is possible to restrict the set of virtual services that can bind to
// a gateway server using the namespace/hostname syntax in the hosts field.
// For example, the following Gateway allows any virtual service in the ns1
// namespace to bind to it, while restricts only the virtual service with

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

restricting

// foo.bar.com host in ns2 namespace to bind to it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in the

//
// ```yaml
// apiVersion: networking.istio.io/v1alpha3
// kind: Gateway
// metadata:
// name: my-gateway
// namespace: some-config-namespace
// spec:
// selector:
// app: my-gateway-controller
// servers:
// - port:
// number: 80
// name: http
// protocol: HTTP
// hosts:
// - "ns1/*"
// - "ns2/foo.bar.com"
// ```
//
package istio.networking.v1alpha3;

option go_package = "istio.io/api/networking/v1alpha3";
Expand Down Expand Up @@ -232,14 +268,14 @@ message Gateway {
// ```
message Server {
// REQUIRED: The Port on which the proxy should listen for incoming
// connections. If using Unix domain socket, use 0 as the port number,
// with a valid protocol and port name, along with the bind parameter.
// connections.
Port port = 1;

// $hide_from_docs
// The ip or the Unix domain socket to which the listener should be bound
// to. Format: `x.x.x.x` or `unix:///path/to/uds` or `unix://@foobar` (Linux
// abstract namespace).
// to. Format: `x.x.x.x` or `unix:///path/to/uds` or `unix://@foobar`
// (Linux abstract namespace). When using unix domain sockets, the port
// number should be 0.
string bind = 4;

// REQUIRED. One or more hosts exposed by this gateway.
Expand Down Expand Up @@ -319,18 +355,21 @@ message Server {
string ca_certificates = 5;

// The credentialName stands for a unique identifier that can be used
// to identify the serverCertificate and the privateKey. The credentialName
// appended with suffix "-cacert" is used to identify the CaCertificates
// associated with this server. Gateway workloads capable of fetching
// credentials from a remote credential store will be configured to retrieve
// the serverCertificate and the privateKey using credentialName, instead of
// using the file system paths specified above. If using mutual TLS,
// to identify the serverCertificate and the privateKey. The
// credentialName appended with suffix "-cacert" is used to identify
// the CaCertificates associated with this server. Gateway workloads
// capable of fetching credentials from a remote credential store such
// as kubernetes secrets, will be configured to retrieve the
// serverCertificate and the privateKey using credentialName, instead
// of using the file system paths specified above. If using mutual TLS,
// gateway workloads will retrieve the CaCertificates using
// credentialName-cacert. The semantics of the name are platform dependent.
// In Kubernetes, the default Istio supplied credential server expects the
// credentialName to match the name of the Kubernetes secret that holds the
// server certificate, the private key, and the CA certificate
// (if using mutual TLS).
// credentialName-cacert. The semantics of the name are platform
// dependent. In Kubernetes, the default Istio supplied credential
// server expects the credentialName to match the name of the
// Kubernetes secret that holds the server certificate, the private
// key, and the CA certificate (if using mutual TLS). Set the
// ISTIO_META_USER_SDS metadata variable in the gateway's proxy to
// enable the dynamic credential fetching feature.
string credential_name = 10;

// A list of alternate names to verify the subject identity in the
Expand Down
Loading