Documentation ¶
Index ¶
- Constants
- Variables
- func CreateControlledCloudflaredIfNotExist(ctx context.Context, kubeClient client.Client, ...) error
- func FromIngressToExposure(ctx context.Context, logger logr.Logger, kubeClient client.Client, ...) ([]exposure.Exposure, error)
- func RegisterIngressController(logger logr.Logger, mgr manager.Manager, options IngressControllerOptions) error
- type IngressController
- type IngressControllerOptions
Constants ¶
const AnnotationBase = "cloudflare-tunnel-ingress-controller.strrl.dev"
const AnnotationValueBooleanFalse = "off"
const AnnotationValueBooleanTrue = "on"
const IngressControllerFinalizer = "strrl.dev/cloudflare-tunnel-ingress-controller-controlled"
const WellKnownIngressAnnotation = "kubernetes.io/ingress.class"
Variables ¶
var AnnotationBackendProtocol = AnnotationBase + "/backend-protocol"
AnnotationBackendProtocol is the annotation key for proxy-backend-protocol, default "http".
var AnnotationChunkedEncoding = AnnotationBase + "/chunked-encoding"
var AnnotationConnectionTimeount = AnnotationBase + "/connection-timeout"
AnnotationBackendProtocol is the annotation key for Timeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by tlsTimeout.
var AnnotationHTTP20Origin = AnnotationBase + "/http2Origin"
var AnnotationHappyEyeballs = AnnotationBase + "/happy-eyeballs"
var AnnotationProxySSLVerify = AnnotationBase + "/proxy-ssl-verify"
AnnotationProxySSLVerify is the annotation key for proxy-ssl-verify, available values: "on" or "off", default "off".
var AnnotationTCPKeepAliveConnections = AnnotationBase + "/tcp-keep-alive-connections"
AnnotationTCPKeepAliveConnections is the annotation key for Maximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections.
var AnnotationTCPKeepAliveInterval = AnnotationBase + "/tcp-keep-alive"
var AnnotationTCPKeepAliveTimeout = AnnotationBase + "/tcp-keep-alive-timeout"
AnnotationTCPKeepAliveTimeout is the annotation key for the timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server.
var AnnotationTLSTimeout = AnnotationBase + "/tls-timeout"
Functions ¶
func CreateControlledCloudflaredIfNotExist ¶
func CreateControlledCloudflaredIfNotExist( ctx context.Context, kubeClient client.Client, tunnelClient *cloudflarecontroller.TunnelClient, namespace string, ) error
func FromIngressToExposure ¶
Types ¶
type IngressController ¶
type IngressController struct {
// contains filtered or unexported fields
}
func NewIngressController ¶
func NewIngressController(logger logr.Logger, kubeClient client.Client, ingressClassName string, controllerClassName string, tunnelClient *cloudflarecontroller.TunnelClient) *IngressController
type IngressControllerOptions ¶
type IngressControllerOptions struct { IngressClassName string ControllerClassName string CFTunnelClient *cloudflarecontroller.TunnelClient }