api

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// RemotePeerAuthorizationPath is the path remote peers use to send an authorization request.
	RemotePeerAuthorizationPath = "/authz"
	// DataplaneEgressAuthorizationPath is the path the dataplane uses to authorize an egress connection.
	DataplaneEgressAuthorizationPath = "/authz/egress/"
	// DataplaneIngressAuthorizationPath is the path the dataplane uses to authorize an ingress connection.
	DataplaneIngressAuthorizationPath = "/authz/ingress/"

	// ImportNameHeader holds the name of the imported service.
	ImportNameHeader = "x-import-name"
	// ImportNamespaceHeader holds the namespace of the imported service.
	ImportNamespaceHeader = "x-import-namespace"
	// ClientIPHeader holds the IP address of the source client.
	ClientIPHeader = "x-client-ip"

	// AuthorizationHeader holds a signed token allowing ingress connections to access the dataplane.
	AuthorizationHeader = "authorization"

	// TargetClusterHeader holds the name of the target cluster.
	TargetClusterHeader = "host"

	// JWTSignatureAlgorithm defines the signing algorithm for JWT tokens.
	JWTSignatureAlgorithm = jwa.RS256
	// ExportNameJWTClaim holds the name of the requested exported service.
	ExportNameJWTClaim = "export_name"
	// ExportNamespaceJWTClaim holds the namespace of the requested exported service.
	ExportNamespaceJWTClaim = "export_namespace"
)
View Source
const (

	// ControlplaneInternalHTTPCluster is the cluster name of the controlplane HTTP server for local dataplanes.
	ControlplaneInternalHTTPCluster = "controlplane-internal-http"
	// ControlplaneExternalHTTPCluster is the cluster name of the controlplane HTTP server for remote clients.
	ControlplaneExternalHTTPCluster = "controlplane-external-http"
	// ControlplaneGRPCCluster is the cluster name of the controlplane gRPC server.
	ControlplaneGRPCCluster = "controlplane-grpc"
	// EgressRouterCluster is the cluster name of the internal egress router.
	EgressRouterCluster = "egress-router"
	// ExportClusterPrefix is the prefix of clusters representing exported services.
	ExportClusterPrefix = "export-"
	// RemotePeerClusterPrefix is the prefix of clusters representing remote peers.
	RemotePeerClusterPrefix = "remote-peer-"

	// EgressRouterListener is the listener name of the internal egress router.
	EgressRouterListener = "egress-router"
	// ImportListenerPrefix is the prefix of listeners representing imported services.
	ImportListenerPrefix = "import-"
	// IngressRouterListener is the listener name of the ingress router.
	IngressRouterListener = "ingress-router"

	// ValidationSecret is the secret name of the dataplane certificate validation context
	// (which includes the CA certificate).
	ValidationSecret = "validation"
	// CertificateSecret is the secret name of the dataplane certificate.
	CertificateSecret = "certificate"
)
View Source
const (
	// HeartbeatPath is the path for Heartbeat requests from remote peers.
	HeartbeatPath = "/healthz "
)
View Source
const (
	// ListenPort is the port used by the dataplane to access the controlplane.
	ListenPort = 444
)

Variables

This section is empty.

Functions

func ExportClusterName

func ExportClusterName(name, namespace string) string

ExportClusterName returns the cluster name of an exported service.

func GRPCServerName

func GRPCServerName(peer string) string

GRPCServerName returns the gRPC server name of a specific peer.

func ImportListenerName

func ImportListenerName(name, namespace string) string

ImportListenerName returns the listener name of an imported service.

func RemotePeerClusterName

func RemotePeerClusterName(name string) string

RemotePeerClusterName returns the cluster name of a remote peer.

Types

type AuthorizationRequest

type AuthorizationRequest struct {
	// ServiceName is the name of the requested exported service.
	ServiceName string
	// ServiceNamespace is the namespace of the requested exported service.
	ServiceNamespace string
}

AuthorizationRequest represents an authorization request for accessing an exported service.

type AuthorizationResponse

type AuthorizationResponse struct {
	// AccessToken holds an access token which can be used to access the requested exported service.
	AccessToken string
}

AuthorizationResponse represents a response for a successful AuthorizationRequest.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL