annotations

package
v2.8.0 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IngressClassKey                  = "kubernetes.io/ingress.class"
	KnativeIngressClassKey           = "networking.knative.dev/ingress-class"
	KnativeIngressClassDeprecatedKey = "networking.knative.dev/ingress.class"

	AnnotationPrefix = "konghq.com"

	ConfigurationKey     = "/override"
	PluginsKey           = "/plugins"
	ProtocolKey          = "/protocol"
	ProtocolsKey         = "/protocols"
	ClientCertKey        = "/client-cert"
	StripPathKey         = "/strip-path"
	PathKey              = "/path"
	HTTPSRedirectCodeKey = "/https-redirect-status-code"
	PreserveHostKey      = "/preserve-host"
	RegexPriorityKey     = "/regex-priority"
	HostHeaderKey        = "/host-header"
	MethodsKey           = "/methods"
	SNIsKey              = "/snis"
	RequestBuffering     = "/request-buffering"
	ResponseBuffering    = "/response-buffering"
	HostAliasesKey       = "/host-aliases"
	RegexPrefixKey       = "/regex-prefix"
	ConnectTimeoutKey    = "/connect-timeout"
	WriteTimeoutKey      = "/write-timeout"
	ReadTimeoutKey       = "/read-timeout"
	RetriesKey           = "/retries"
	HeadersKey           = "/headers"
	PathHandlingKey      = "/path-handling"

	// GatewayClassUnmanagedAnnotationSuffix is an annotation used on a Gateway resource to
	// indicate that the GatewayClass should be reconciled according to unmanaged
	// mode.
	//
	// NOTE: it's currently required that this annotation be present on all GatewayClass
	// resources: "unmanaged" mode is the only supported mode at this time.
	GatewayClassUnmanagedAnnotationSuffix = "gatewayclass-unmanaged"

	// DefaultIngressClass defines the default class used
	// by Kong's ingress controller.
	DefaultIngressClass = "kong"

	// GatewayClassUnmanagedAnnotationPlaceholder is intended to be used as placeholder value for the
	// GatewayClassUnmanagedAnnotation annotation.
	GatewayClassUnmanagedAnnotationValuePlaceholder = "true"
)

Variables

View Source
var GatewayClassUnmanagedAnnotation = fmt.Sprintf("%s/%s", AnnotationPrefix, GatewayClassUnmanagedAnnotationSuffix)

GatewayClassUnmanagedAnnotation is the complete annotations for unmanaged mode made by the konhq.com prefix followed by the gatewayclass-unmanaged GatewayClass suffix.

Functions

func ExtractClientCertificate

func ExtractClientCertificate(anns map[string]string) string

ExtractClientCertificate extracts the secret name containing the client-certificate to use.

func ExtractConfigurationName

func ExtractConfigurationName(anns map[string]string) string

ExtractConfigurationName extracts the name of the KongIngress object that holds information about the configuration to use in Routes, Services and Upstreams.

func ExtractConnectTimeout added in v2.8.0

func ExtractConnectTimeout(anns map[string]string) (string, bool)

ExtractConnectTimeout extracts the connection timeout annotation value.

func ExtractHTTPSRedirectStatusCode

func ExtractHTTPSRedirectStatusCode(anns map[string]string) string

ExtractHTTPSRedirectStatusCode extracts the https redirect status code annotation value.

func ExtractHeaders added in v2.8.0

func ExtractHeaders(anns map[string]string) (map[string][]string, bool)

ExtractHeaders extracts the parsed headers annotations values. It returns a map of header names to slices of values.

func ExtractHostAliases

func ExtractHostAliases(anns map[string]string) ([]string, bool)

ExtractHostAliases extracts the host-aliases annotation value.

func ExtractHostHeader

func ExtractHostHeader(anns map[string]string) string

ExtractHostHeader extracts the host-header annotation value.

func ExtractKongPluginsFromAnnotations

func ExtractKongPluginsFromAnnotations(anns map[string]string) []string

ExtractKongPluginsFromAnnotations extracts information about Kong Plugins configured using konghq.com/plugins annotation. This returns a list of KongPlugin resource names that should be applied.

func ExtractMethods

func ExtractMethods(anns map[string]string) []string

ExtractMethods extracts the methods annotation value.

func ExtractPath

func ExtractPath(anns map[string]string) string

ExtractPath extracts the path annotations containing the HTTP path.

func ExtractPathHandling added in v2.8.0

func ExtractPathHandling(anns map[string]string) (string, bool)

ExtractPathHandling extracts the path handling annotation value.

func ExtractPreserveHost

func ExtractPreserveHost(anns map[string]string) string

ExtractPreserveHost extracts the preserve-host annotation value.

func ExtractProtocolName

func ExtractProtocolName(anns map[string]string) string

ExtractProtocolName extracts the protocol supplied in the annotation.

func ExtractProtocolNames

func ExtractProtocolNames(anns map[string]string) []string

ExtractProtocolNames extracts the protocols supplied in the annotation.

func ExtractReadTimeout added in v2.8.0

func ExtractReadTimeout(anns map[string]string) (string, bool)

ExtractReadTimeout extracts the read timeout annotation value.

func ExtractRegexPriority

func ExtractRegexPriority(anns map[string]string) string

ExtractRegexPriority extracts the regex-priority annotation value.

func ExtractRequestBuffering

func ExtractRequestBuffering(anns map[string]string) (string, bool)

ExtractRequestBuffering extracts the boolean annotation indicating whether or not a route should buffer requests.

func ExtractResponseBuffering

func ExtractResponseBuffering(anns map[string]string) (string, bool)

ExtractResponseBuffering extracts the boolean annotation indicating whether or not a route should buffer responses.

func ExtractRetries added in v2.8.0

func ExtractRetries(anns map[string]string) (string, bool)

ExtractRetries extracts the retries annotation value.

func ExtractSNIs

func ExtractSNIs(anns map[string]string) ([]string, bool)

ExtractSNIs extracts the route SNI match criteria annotation value.

func ExtractStripPath

func ExtractStripPath(anns map[string]string) string

ExtractStripPath extracts the strip-path annotations containing the the boolean string "true" or "false".

func ExtractUnmanagedGatewayClassMode added in v2.6.0

func ExtractUnmanagedGatewayClassMode(anns map[string]string) string

ExtractUnmanagedGatewayClassMode extracts the value of the unmanaged gateway mode annotation.

func ExtractWriteTimeout added in v2.8.0

func ExtractWriteTimeout(anns map[string]string) (string, bool)

ExtractWriteTimeout extracts the write timeout annotation value.

func HasForceSSLRedirectAnnotation

func HasForceSSLRedirectAnnotation(anns map[string]string) bool

HasForceSSLRedirectAnnotation returns true if the annotation ingress.kubernetes.io/force-ssl-redirect is set to "true" in anns.

func HasServiceUpstreamAnnotation

func HasServiceUpstreamAnnotation(anns map[string]string) bool

HasServiceUpstreamAnnotation returns true if the annotation ingress.kubernetes.io/service-upstream is set to "true" in anns.

func IngressClassValidatorFuncFromObjectMeta

func IngressClassValidatorFuncFromObjectMeta(
	ingressClass string,
) func(obj *metav1.ObjectMeta, annotation string, handling ClassMatching) bool

IngressClassValidatorFuncFromObjectMeta returns a function which can validate if an ObjectMeta belongs to an the ingressClass or not.

func IngressClassValidatorFuncFromV1Ingress

func IngressClassValidatorFuncFromV1Ingress(
	ingressClass string,
) func(ingress *netv1.Ingress, handling ClassMatching) bool

func UpdateUnmanagedAnnotation added in v2.6.0

func UpdateUnmanagedAnnotation(anns map[string]string, annotationValue string)

UpdateUnmanagedAnnotation updates the value of the annotation konghq.com/gatewayclass-unmanaged.

Types

type ClassMatching

type ClassMatching int
const (
	IgnoreClassMatch       ClassMatching = iota
	ExactOrEmptyClassMatch ClassMatching = iota
	ExactClassMatch        ClassMatching = iota
)

Jump to

Keyboard shortcuts

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