controller

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2023 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const AnnotationBase = "cloudflare-tunnel-ingress-controller.strrl.dev"
View Source
const AnnotationValueBooleanFalse = "off"
View Source
const AnnotationValueBooleanTrue = "on"
View Source
const IngressControllerFinalizer = "strrl.dev/cloudflare-tunnel-ingress-controller-controlled"
View Source
const WellKnownIngressAnnotation = "kubernetes.io/ingress.class"

Variables

View Source
var AnnotationBackendProtocol = AnnotationBase + "/backend-protocol"

AnnotationBackendProtocol is the annotation key for proxy-backend-protocol, default "http".

View Source
var AnnotationChunkedEncoding = AnnotationBase + "/chunked-encoding"
View Source
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.

View Source
var AnnotationHTTP20Origin = AnnotationBase + "/http2Origin"
View Source
var AnnotationHappyEyeballs = AnnotationBase + "/happy-eyeballs"
View Source
var AnnotationProxySSLVerify = AnnotationBase + "/proxy-ssl-verify"

AnnotationProxySSLVerify is the annotation key for proxy-ssl-verify, available values: "on" or "off", default "off".

View Source
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.

View Source
var AnnotationTCPKeepAliveInterval = AnnotationBase + "/tcp-keep-alive"
View Source
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.

View Source
var AnnotationTLSTimeout = AnnotationBase + "/tls-timeout"

Functions

func CreateControlledCloudflaredIfNotExist

func CreateControlledCloudflaredIfNotExist(
	ctx context.Context,
	kubeClient client.Client,
	tunnelClient *cloudflarecontroller.TunnelClient,
	namespace string,
) error

func FromIngressToExposure

func FromIngressToExposure(ctx context.Context, logger logr.Logger, kubeClient client.Client, ingress networkingv1.Ingress) ([]exposure.Exposure, error)

func RegisterIngressController

func RegisterIngressController(logger logr.Logger, mgr manager.Manager, options IngressControllerOptions) error

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

func (*IngressController) Reconcile

func (i *IngressController) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error)

type IngressControllerOptions

type IngressControllerOptions struct {
	IngressClassName    string
	ControllerClassName string
	CFTunnelClient      *cloudflarecontroller.TunnelClient
}

Jump to

Keyboard shortcuts

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