kingress

command module
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2021 License: GPL-3.0 Imports: 25 Imported by: 0

README

kingress

Reverse HTTP proxy dedicated to Kubernetes Ingress

Usage

This is intended to be run in a Kubernetes cluster, like that:

kubectl run kingress --image mcluseau/kingress

# expose HTTPS
kubectl expose deploy kingress --name kingress-https --port 443 --external-ip=$ip

# expose HTTP (following ingress rules)
kubectl expose deploy kingress --name kingress-http --port 80 --external-ip=$ip

# expose HTTP (always redirecting to HTTPS)
# you must add something like `-ssl-redirect=:81` to the container args
kubectl expose deploy kingress --name kingress-http2https --port 80 --target-port 81 --external-ip=$ip

Supported annotations

This controller looks for annotations with the any of the following prefixes:

  • ingress.kubernetes.io
  • nginx.ingress.kubernetes.io

The following annotations are supported:

Annotation Description
secure-backends Make TLS connections to the upstream instead of plain HTTP. Initialy from ingress-nginx but removed from it, we still support it.
ssl-redirect From ingress-nginx
whitelist-source-range From ingress-nginx

Command line flags

$ kingress -h
Usage of kingress:
  -alsologtostderr
    	log to standard error as well as files
  -api string
    	API bind specication (empty to disable) (default "127.0.0.1:2287")
  -change-apply-delay duration
    	Delay before applying change in Kubernetes configuration (default 100ms)
  -custom string
    	Custom backend definitions (format: "<host><path>:<target IP>:<target port>,...")
  -debug-tls
    	activate TLS debug logs
  -http string
    	HTTP bind specification (empty to disable) (default ":80")
  -https string
    	HTTPS bind specification (empty to disable) (default ":443")
  -httptest.serve string
    	if non-empty, httptest.NewServer serves on this address and blocks
  -log_backtrace_at value
    	when logging hits line file:N, emit a stack trace
  -log_dir string
    	If non-empty, write log files in this directory
  -logtostderr
    	log to standard error instead of files
  -master string
    	The address of the Kubernetes API server
  -namespace string
    	Namespace (defaults to all)
  -pprof-cpu string
    	Enable CPU profiling to this file
  -resync-period duration
    	Period between full resyncs with Kubernetes (default 10m0s)
  -selector string
    	Ingress selector
  -ssl-redirect string
    	HTTP to HTTPS redirector bind specification (empty to disable)
  -stderrthreshold value
    	logs at or above this threshold go to stderr
  -tls-secret string
    	Default TLS secret (format: namespace/name) (default "default/kingress-default")
  -v value
    	log level for V logs
  -vmodule value
    	comma-separated list of pattern=N settings for file-filtered logging

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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