api

package
v0.0.0-...-d3d374b Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2018 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package api is the internal version of the API.

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 FutureGroupName = "route.openshift.io"
View Source
const GroupName = ""

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func DeepCopy_api_Route

func DeepCopy_api_Route(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_RouteIngress

func DeepCopy_api_RouteIngress(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_RouteIngressCondition

func DeepCopy_api_RouteIngressCondition(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_RouteList

func DeepCopy_api_RouteList(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_RoutePort

func DeepCopy_api_RoutePort(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_RouteSpec

func DeepCopy_api_RouteSpec(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_RouteStatus

func DeepCopy_api_RouteStatus(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_RouteTargetReference

func DeepCopy_api_RouteTargetReference(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_RouterShard

func DeepCopy_api_RouterShard(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_TLSConfig

func DeepCopy_api_TLSConfig(in interface{}, out interface{}, c *conversion.Cloner) error

func GetDomainForHost

func GetDomainForHost(host string) string

GetDomainForHost returns the domain for the specified host. Note for top level domains, this will return an empty string.

func Kind

func Kind(kind string) unversioned.GroupKind

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

func RegisterDeepCopies

func RegisterDeepCopies(scheme *runtime.Scheme) error

RegisterDeepCopies adds deep-copy functions to the given scheme. Public to allow building arbitrary schemes.

func Resource

func Resource(resource string) unversioned.GroupResource

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

func RouteLessThan

func RouteLessThan(route1, route2 *Route) bool

func RouteToSelectableFields

func RouteToSelectableFields(route *Route) fields.Set

RouteToSelectableFields returns a label set that represents the object

Types

type InsecureEdgeTerminationPolicyType

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

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

type RouteIngress

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
	// Wildcard policy is the wildcard policy that was allowed where this route is exposed.
	WildcardPolicy WildcardPolicyType
}

RouteIngress holds information about the places where a route is exposed

type RouteIngressCondition

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

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

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"
	// RouteExtendedValidationFailed means the route configuration failed an extended validation check.
	RouteExtendedValidationFailed RouteIngressConditionType = "ExtendedValidationFailed"
)

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

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

type RoutePort

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

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

	// Objects that the route points to. Only the Service kind is allowed, and it will
	// be defaulted to Service.
	To RouteTargetReference

	// Alternate objects that the route may want to point to. Use the 'weight' field to
	// determine which ones of the several get more emphasis
	AlternateBackends []RouteTargetReference

	// 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

	// Wildcard policy if any for the route.
	// Currently only 'Subdomain' or 'None' is allowed.
	WildcardPolicy WildcardPolicyType
}

RouteSpec describes the desired behavior of a route.

type RouteStatus

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 RouteTargetReference

type RouteTargetReference struct {
	Kind   string
	Name   string
	Weight *int32
}

RouteTargetReference specifies the target that resolve into endpoints. Only the 'Service' kind is allowed. Use 'weight' field to emphasize one over others.

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

type WildcardPolicyType

type WildcardPolicyType string

WildcardPolicyType indicates the type of wildcard support needed by routes.

const (
	// WildcardPolicyNone indicates no wildcard support is needed.
	WildcardPolicyNone WildcardPolicyType = "None"

	// WildcardPolicySubdomain indicates the host needs wildcard support for the subdomain.
	// Example: With host = "www.acme.test", indicates that the router
	//          should support requests for *.acme.test
	//          Note that this will not match acme.test only *.acme.test
	WildcardPolicySubdomain WildcardPolicyType = "Subdomain"
)

Directories

Path Synopsis
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.

Jump to

Keyboard shortcuts

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