Documentation ¶
Index ¶
- Constants
- Variables
- func ExtractClientCertificate(anns map[string]string) string
- func ExtractConfigurationName(anns map[string]string) string
- func ExtractConnectTimeout(anns map[string]string) (string, bool)
- func ExtractGatewayPublishService(anns map[string]string) []string
- func ExtractHTTPSRedirectStatusCode(anns map[string]string) string
- func ExtractHeaders(anns map[string]string) (map[string][]string, bool)
- func ExtractHostAliases(anns map[string]string) ([]string, bool)
- func ExtractHostHeader(anns map[string]string) string
- func ExtractKongPluginsFromAnnotations(anns map[string]string) []string
- func ExtractMethods(anns map[string]string) []string
- func ExtractPath(anns map[string]string) string
- func ExtractPathHandling(anns map[string]string) (string, bool)
- func ExtractPreserveHost(anns map[string]string) string
- func ExtractProtocolName(anns map[string]string) string
- func ExtractProtocolNames(anns map[string]string) []string
- func ExtractReadTimeout(anns map[string]string) (string, bool)
- func ExtractRegexPrefix(anns map[string]string) string
- func ExtractRegexPriority(anns map[string]string) string
- func ExtractRequestBuffering(anns map[string]string) (string, bool)
- func ExtractResponseBuffering(anns map[string]string) (string, bool)
- func ExtractRetries(anns map[string]string) (string, bool)
- func ExtractRewriteURI(anns map[string]string) (string, bool)
- func ExtractSNIs(anns map[string]string) ([]string, bool)
- func ExtractStripPath(anns map[string]string) string
- func ExtractUnmanagedGatewayClassMode(anns map[string]string) string
- func ExtractUpstreamPolicy(anns map[string]string) (string, bool)
- func ExtractUserTags(anns map[string]string) []string
- func ExtractWriteTimeout(anns map[string]string) (string, bool)
- func HasForceSSLRedirectAnnotation(anns map[string]string) bool
- func HasServiceUpstreamAnnotation(anns map[string]string) bool
- func IngressClassValidatorFuncFromObjectMeta(ingressClass string) func(obj *metav1.ObjectMeta, annotation string, handling ClassMatching) bool
- func IngressClassValidatorFuncFromV1Ingress(ingressClass string) func(ingress *netv1.Ingress, handling ClassMatching) bool
- func UpdateGatewayPublishService(anns map[string]string, services []string)
- func UpdateUnmanagedAnnotation(anns map[string]string, annotationValue string)
- type ClassMatching
Constants ¶
const ( IngressClassKey = "kubernetes.io/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" UserTagKey = "/tags" RewriteURIKey = "/rewrite" // GatewayClassUnmanagedKey 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. GatewayClassUnmanagedKey = "/gatewayclass-unmanaged" // GatewayPublishServiceKey is an annotation suffix used to indicate the Service(s) a Gateway's routes are // published to. GatewayPublishServiceKey = "/publish-service" // DefaultIngressClass defines the default class used // by Kong's ingress controller. DefaultIngressClass = "kong" // GatewayClassUnmanagedAnnotationValuePlaceholder is intended to be used as placeholder value for the // GatewayClassUnmanagedAnnotation annotation. GatewayClassUnmanagedAnnotationValuePlaceholder = "true" )
Variables ¶
var GatewayClassUnmanagedAnnotation = fmt.Sprintf("%s%s", AnnotationPrefix, GatewayClassUnmanagedKey)
GatewayClassUnmanagedAnnotation is the complete annotations for unmanaged mode made by the konhq.com prefix followed by the gatewayclass-unmanaged GatewayClass suffix.
Functions ¶
func ExtractClientCertificate ¶
ExtractClientCertificate extracts the secret name containing the client-certificate to use.
func ExtractConfigurationName ¶
ExtractConfigurationName extracts the name of the KongIngress object that holds information about the configuration to use in Routes, Services and Upstreams.
func ExtractConnectTimeout ¶
ExtractConnectTimeout extracts the connection timeout annotation value.
func ExtractGatewayPublishService ¶
ExtractGatewayPublishService extracts the value of the gateway publish service annotation.
func ExtractHTTPSRedirectStatusCode ¶
ExtractHTTPSRedirectStatusCode extracts the https redirect status code annotation value.
func ExtractHeaders ¶
ExtractHeaders extracts the parsed headers annotations values. It returns a map of header names to slices of values.
func ExtractHostAliases ¶
ExtractHostAliases extracts the host-aliases annotation value.
func ExtractHostHeader ¶
ExtractHostHeader extracts the host-header annotation value.
func ExtractKongPluginsFromAnnotations ¶
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 ¶
ExtractMethods extracts the methods annotation value.
func ExtractPath ¶
ExtractPath extracts the path annotations containing the HTTP path.
func ExtractPathHandling ¶
ExtractPathHandling extracts the path handling annotation value.
func ExtractPreserveHost ¶
ExtractPreserveHost extracts the preserve-host annotation value.
func ExtractProtocolName ¶
ExtractProtocolName extracts the protocol supplied in the annotation.
func ExtractProtocolNames ¶
ExtractProtocolNames extracts the protocols supplied in the annotation.
func ExtractReadTimeout ¶
ExtractReadTimeout extracts the read timeout annotation value.
func ExtractRegexPrefix ¶
func ExtractRegexPriority ¶
ExtractRegexPriority extracts the regex-priority annotation value.
func ExtractRequestBuffering ¶
ExtractRequestBuffering extracts the boolean annotation indicating whether or not a route should buffer requests.
func ExtractResponseBuffering ¶
ExtractResponseBuffering extracts the boolean annotation indicating whether or not a route should buffer responses.
func ExtractRetries ¶
ExtractRetries extracts the retries annotation value.
func ExtractRewriteURI ¶
ExtractRewriteURI extracts the rewrite annotation value.
func ExtractSNIs ¶
ExtractSNIs extracts the route SNI match criteria annotation value.
func ExtractStripPath ¶
ExtractStripPath extracts the strip-path annotations containing the the boolean string "true" or "false".
func ExtractUnmanagedGatewayClassMode ¶
ExtractUnmanagedGatewayClassMode extracts the value of the unmanaged gateway mode annotation.
func ExtractUserTags ¶
ExtractUserTags extracts a set of tags from a comma-separated string.
func ExtractWriteTimeout ¶
ExtractWriteTimeout extracts the write timeout annotation value.
func HasForceSSLRedirectAnnotation ¶
HasForceSSLRedirectAnnotation returns true if the annotation ingress.kubernetes.io/force-ssl-redirect is set to "true" in anns.
func HasServiceUpstreamAnnotation ¶
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 UpdateGatewayPublishService ¶
UpdateGatewayPublishService updates the value of the annotation konghq.com/gatewayclass-unmanaged.
func UpdateUnmanagedAnnotation ¶
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 )