api

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: May 25, 2016 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TLSTerminationEdge terminate encryption at the edge router.
	TLSTerminationEdge TLSTerminationType = "edge"
	// TLSTerminationPassthrough terminate encryption at the destination, the destination is responsible for decrypting traffic
	TLSTerminationPassthrough TLSTerminationType = "passthrough"
	// TLSTerminationReencrypt terminate encryption at the edge router and re-encrypt it with a new certificate supplied by the destination
	TLSTerminationReencrypt TLSTerminationType = "reencrypt"

	// InsecureEdgeTerminationPolicyNone disables insecure connections for an edge-terminated route.
	InsecureEdgeTerminationPolicyNone InsecureEdgeTerminationPolicyType = "None"
	// InsecureEdgeTerminationPolicyAllow allows insecure connections for an edge-terminated route.
	InsecureEdgeTerminationPolicyAllow InsecureEdgeTerminationPolicyType = "Allow"
	// InsecureEdgeTerminationPolicyRedirect redirects insecure connections for an edge-terminated route.
	// As an example, for routers that support HTTP and HTTPS, the
	// insecure HTTP connections will be redirected to use HTTPS.
	InsecureEdgeTerminationPolicyRedirect InsecureEdgeTerminationPolicyType = "Redirect"
)
View Source
const GroupName = ""

Variables

View Source
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func AddToScheme added in v1.1.3

func AddToScheme(scheme *runtime.Scheme)

func Kind added in v1.1.2

func Kind(kind string) unversioned.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource added in v1.1.2

func Resource(resource string) unversioned.GroupResource

Resource takes an unqualified resource and returns back a Group qualified GroupResource

func RouteLessThan added in v1.2.0

func RouteLessThan(route1, route2 *Route) bool

func RouteToSelectableFields added in v1.0.8

func RouteToSelectableFields(route *Route) fields.Set

RouteToSelectableFields returns a label set that represents the object

Types

type InsecureEdgeTerminationPolicyType added in v1.0.8

type InsecureEdgeTerminationPolicyType string

InsecureEdgeTerminationPolicyType dictates the behavior of insecure connections to an edge-terminated route.

type Route

type Route struct {
	unversioned.TypeMeta
	kapi.ObjectMeta

	// Spec is the desired behavior of the route
	Spec RouteSpec
	// Status describes the current observed state of the route
	Status RouteStatus
}

Route encapsulates the inputs needed to connect an alias to endpoints.

func (*Route) GetObjectKind added in v1.1.3

func (obj *Route) GetObjectKind() unversioned.ObjectKind

type RouteIngress added in v1.1.3

type RouteIngress struct {
	// Host is the host string under which the route is exposed; this value is required
	Host string
	// Name is a name chosen by the router to identify itself; this value is required
	RouterName string
	// Conditions is the state of the route, may be empty.
	Conditions []RouteIngressCondition
}

RouteIngress holds information about the places where a route is exposed

type RouteIngressCondition added in v1.1.3

type RouteIngressCondition struct {
	// Type is the type of the condition.
	// Currently only Ready.
	Type RouteIngressConditionType
	// Status is the status of the condition.
	// Can be True, False, Unknown.
	Status kapi.ConditionStatus
	// (brief) reason for the condition's last transition, and is usually a machine and human
	// readable constant
	Reason string
	// Human readable message indicating details about last transition.
	Message string
	// RFC 3339 date and time at which the object was acknowledged by the router.
	// This may be before the router exposes the route
	LastTransitionTime *unversioned.Time
}

RouteIngressCondition contains details for the current condition of this pod. TODO: add LastTransitionTime, Reason, Message to match NodeCondition api.

func IngressConditionStatus added in v1.1.4

IngressConditionStatus returns the first status and condition matching the provided ingress condition type. Conditions prefer the first matching entry and clients are allowed to ignore later conditions of the same type.

type RouteIngressConditionType added in v1.1.3

type RouteIngressConditionType string

RouteIngressConditionType is a valid value for RouteCondition

const (
	// RouteAdmitted means the route is able to service requests for the provided Host
	RouteAdmitted RouteIngressConditionType = "Admitted"
)

These are valid conditions of pod.

type RouteList

type RouteList struct {
	unversioned.TypeMeta
	unversioned.ListMeta

	// Items is a list of routes
	Items []Route
}

RouteList is a collection of Routes.

func (*RouteList) GetObjectKind added in v1.1.3

func (obj *RouteList) GetObjectKind() unversioned.ObjectKind

type RoutePort added in v1.0.7

type RoutePort struct {
	// The target port on pods selected by the service this route points to.
	// If this is a string, it will be looked up as a named port in the target
	// endpoints port list. Required
	TargetPort intstr.IntOrString
}

RoutePort defines a port mapping from a router to an endpoint in the service endpoints.

type RouteSpec added in v1.0.6

type RouteSpec struct {
	// Host is an alias/DNS that points to the service. Optional
	// Must follow DNS952 subdomain conventions.
	Host string
	// Path that the router watches for, to route traffic for to the service. Optional
	Path string

	// An object the route points to. Only the Service kind is allowed, and it will
	// be defaulted to Service.
	To kapi.ObjectReference

	// If specified, the port to be used by the router. Most routers will use all
	// endpoints exposed by the service by default - set this value to instruct routers
	// which port to use.
	Port *RoutePort

	//TLS provides the ability to configure certificates and termination for the route
	TLS *TLSConfig
}

RouteSpec describes the desired behavior of a route.

type RouteStatus added in v1.0.6

type RouteStatus struct {
	// Ingress describes the places where the route may be exposed. The list of
	// ingress points may contain duplicate Host or RouterName values. Routes
	// are considered live once they are `Ready`
	Ingress []RouteIngress
}

RouteStatus provides relevant info about the status of a route, including which routers acknowledge it.

type RouterShard

type RouterShard struct {
	// ShardName uniquely identifies a router shard in the "set" of
	// routers used for routing traffic to the services.
	ShardName string

	// DNSSuffix for the shard ala: shard-1.v3.openshift.com
	DNSSuffix string
}

RouterShard has information of a routing shard and is used to generate host names and routing table entries when a routing shard is allocated for a specific route.

type TLSConfig

type TLSConfig struct {
	// Termination indicates termination type.
	Termination TLSTerminationType

	// Certificate provides certificate contents
	Certificate string

	// Key provides key file contents
	Key string

	// CACertificate provides the cert authority certificate contents
	CACertificate string

	// DestinationCACertificate provides the contents of the ca certificate of the final destination.  When using reencrypt
	// termination this file should be provided in order to have routers use it for health checks on the secure connection
	DestinationCACertificate string

	// InsecureEdgeTerminationPolicy indicates the desired behavior for
	// insecure connections to an edge-terminated route:
	//   disable, allow or redirect
	InsecureEdgeTerminationPolicy InsecureEdgeTerminationPolicyType
}

TLSConfig defines config used to secure a route and provide termination

type TLSTerminationType

type TLSTerminationType string

TLSTerminationType dictates where the secure communication will stop TODO: Reconsider this type in v2

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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