Configuration reference

TCP CRD

Selected version

TCP CRD Configuration reference

Available since version 3.0

The TCP custom resource extends the Kubernetes API. It add TCP listening ports to the ingress controller and enables load balancing over TCP to your applications. The TCP custom resource supports many options that apply to the frontend within the rendered configuration.

Install the TCP custom resource Jump to heading

Info

If you installed the ingress controller with Helm, this CRD is installed and updated automatically. If you installed with kubectl, follow these instructions for installation. Once installed, to perform updates on this CRD see: Update CRDs.

Before you can use the TCP custom resource, you must install its definition into your Kubernetes cluster.

  1. Download the v3-0 Tcp custom resource file.

  2. Install the custom resource definition with kubectl apply:

    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
    nix
    kubectl apply -f ingress.v1.haproxy.org_tcps.yaml
  3. Verify that the installation worked by listing custom resources defined in your cluster:

    nix
    kubectl get crd
    nix
    kubectl get crd
    output
    text
    NAME CREATED AT
    tcps.ingress.v1.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.ingress.v1.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.ingress.v1.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.ingress.v1.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.core.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.core.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.core.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.core.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.core.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.core.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.core.haproxy.org 2022-01-21T20:00:31Z
    output
    text
    NAME CREATED AT
    tcps.core.haproxy.org 2022-01-21T20:00:31Z

Use the TCP custom resource Jump to heading

With the TCP custom resource, you can add listeners for TCP traffic and route that traffic to backend services.

  1. Create a YAML file that declares a TCP resource and add properties to its spec section.

    tcp-customresource.yaml
    yaml
    apiVersion: ingress.v1.haproxy.org/v1
    kind: TCP
    metadata:
    name: example-service1-tcp
    spec:
    - name: example-tcp
    frontend:
    name: example-frontend
    binds:
    - name: bind1
    port: 2000
    service:
    name: example-service1
    port: 3000
    tcp-customresource.yaml
    yaml
    apiVersion: ingress.v1.haproxy.org/v1
    kind: TCP
    metadata:
    name: example-service1-tcp
    spec:
    - name: example-tcp
    frontend:
    name: example-frontend
    binds:
    - name: bind1
    port: 2000
    service:
    name: example-service1
    port: 3000

    In this example:

    • The frontend section configure a new frontend in the ingress controller. You can add other frontend arguments, described on this page.
    • The binds section sets TCP port on which to listen for incoming connections.
    • The service section sets the Kubernetes service to relay requests to.

    For an extended example, see Load balance TCP services.

Frontend

  • CRD version: 3.0
  • API version: ingress.v1.haproxy.org/v1

accept_invalid_http_request

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    accept_invalid_http_request: String allowed values are enableddisabled

backlog

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    backlog: Integer 

bind_process

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    bind_process: String allowed pattern: ^[^\s]+$

binds

[array]
accept_netscaler_cip [integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - accept_netscaler_cip: Integer 
accept_proxy [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - accept_proxy: Boolean
address [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - address: String allowed pattern: ^[^\s]+$
allow_0rtt [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - allow_0rtt: Boolean
alpn [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - alpn: String allowed pattern: ^[^\s]+$
backlog [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - backlog: String 
ca_ignore_err [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ca_ignore_err: String 
ca_sign_file [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ca_sign_file: String 
ca_sign_pass [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ca_sign_pass: String 
ca_verify_file [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ca_verify_file: String 
ciphers [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ciphers: String 
ciphersuites [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ciphersuites: String 
client_sigalgs [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - client_sigalgs: String 
crl_file [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - crl_file: String 
crt_ignore_err [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - crt_ignore_err: String 
crt_list [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - crt_list: String 
curves [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - curves: String 
defer_accept [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - defer_accept: Boolean
ecdhe [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ecdhe: String 
expose_fd_listeners [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - expose_fd_listeners: Boolean
force_sslv3 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - force_sslv3: Boolean
force_tlsv10 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - force_tlsv10: Boolean
force_tlsv11 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - force_tlsv11: Boolean
force_tlsv12 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - force_tlsv12: Boolean
force_tlsv13 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - force_tlsv13: Boolean
generate_certificates [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - generate_certificates: Boolean
gid [integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - gid: Integer 
group [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - group: String 
id [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - id: String 
interface [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - interface: String 
level [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - level: String allowed values are useroperatoradmin
maxconn [integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - maxconn: Integer 
mode [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - mode: String 
mss [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - mss: String 
name [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - name: String allowed pattern: ^[^\s]+$
namespace [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - namespace: String 
nbconn [integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - nbconn: Integer 
nice [integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - nice: Integer 
no_alpn [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - no_alpn: Boolean
no_ca_names [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - no_ca_names: Boolean
no_sslv3 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - no_sslv3: Boolean
no_tls_tickets [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - no_tls_tickets: Boolean
no_tlsv10 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - no_tlsv10: Boolean
no_tlsv11 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - no_tlsv11: Boolean
no_tlsv12 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - no_tlsv12: Boolean
no_tlsv13 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - no_tlsv13: Boolean
npn [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - npn: String 
port [integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - port: Integer Minimum: 1 Maximum: 65535 
port-range-end [integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - port-range-end: Integer Minimum: 1 Maximum: 65535 
prefer_client_ciphers [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - prefer_client_ciphers: Boolean
process [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - process: String allowed pattern: ^[^\s]+$
proto [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - proto: String 
quic-cc-algo [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - quic-cc-algo: String allowed values are cubicnewreno
quic-force-retry [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - quic-force-retry: Boolean
quic-socket [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - quic-socket: String allowed values are connectionlistener
severity_output [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - severity_output: String allowed values are nonenumberstring
sigalgs [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - sigalgs: String 
ssl [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ssl: Boolean
ssl_cafile [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ssl_cafile: String allowed pattern: ^[^\s]+$
ssl_certificate [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ssl_certificate: String allowed pattern: ^[^\s]+$
ssl_max_ver [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ssl_max_ver: String allowed values are SSLv3TLSv1.0TLSv1.1TLSv1.2TLSv1.3
ssl_min_ver [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - ssl_min_ver: String allowed values are SSLv3TLSv1.0TLSv1.1TLSv1.2TLSv1.3
strict_sni [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - strict_sni: Boolean
tcp_user_timeout [integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - tcp_user_timeout: Integer 
tfo [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - tfo: Boolean
thread [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - thread: String 
tls_ticket_keys [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - tls_ticket_keys: String 
transparent [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - transparent: Boolean
uid [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - uid: String 
user [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - user: String 
v4v6 [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - v4v6: Boolean
v6only [boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - v6only: Boolean
verify [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    binds: 
      - verify: String allowed values are noneoptionalrequired

clflog

[boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    clflog: Boolean

client_fin_timeout

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    client_fin_timeout: Integer 

client_timeout

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    client_timeout: Integer 

clitcpka

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    clitcpka: String allowed values are enableddisabled

clitcpka_cnt

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    clitcpka_cnt: Integer 

clitcpka_idle

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    clitcpka_idle: Integer 

clitcpka_intvl

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    clitcpka_intvl: Integer 

compression

[object]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    compression: 
algo-req: String allowed values are identitygzipdeflateraw-deflate
algorithms: Array of String
algos-res: Array of String
direction: String allowed values are requestresponseboth
offload: Boolean
types: Array of String
types-req: Array of String
types-res: Array of String

contstats

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    contstats: String allowed values are enabled

default_backend

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    default_backend: String allowed pattern: ^[A-Za-z0-9-_.:]+$

description

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    description: String 

disable_h2_upgrade

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    disable_h2_upgrade: String allowed values are enableddisabled

disabled

[boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    disabled: Boolean

dontlog_normal

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    dontlog_normal: String allowed values are enableddisabled

dontlognull

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    dontlognull: String allowed values are enableddisabled

email_alert

[object]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    email_alert: 
from: String allowed pattern: ^\S+@\S+$
level: String allowed values are emergalertcriterrwarningnoticeinfodebug
mailers: String
myhostname: String
to: String allowed pattern: ^\S+@\S+$

enabled

[boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    enabled: Boolean

error_files

[array]
code [integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    error_files: 
      - code: Integer 200400401403404405407408410413425429500501502503504
file [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    error_files: 
      - file: String 

error_log_format

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    error_log_format: String 

errorfiles_from_http_errors

[array]
codes [array]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    errorfiles_from_http_errors: 
      - codes: Array of Integer 
name [string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
    errorfiles_from_http_errors: 
      - name: String 

errorloc302

[object]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    errorloc302: 
code: Integer 200400401403404405407408410413425429500501502503504
url: String

errorloc303

[object]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    errorloc303: 
code: Integer 200400401403404405407408410413425429500501502503504
url: String

forwardfor

[object]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    forwardfor: 
enabled: String allowed values are enabled
except: String allowed pattern: ^[^\s]+$
header: String allowed pattern: ^[^\s]+$
ifnone: Boolean

from

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    from: String allowed pattern: ^[A-Za-z0-9-_.:]+$

h1_case_adjust_bogus_client

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    h1_case_adjust_bogus_client: String allowed values are enableddisabled

http-buffer-request

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    http-buffer-request: String allowed values are enableddisabled

http-use-htx

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    http-use-htx: String allowed values are enableddisabled

http_connection_mode

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    http_connection_mode: String allowed values are httpclosehttp-server-closehttp-keep-alive

http_ignore_probes

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    http_ignore_probes: String allowed values are enableddisabled

http_keep_alive_timeout

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    http_keep_alive_timeout: Integer 

http_no_delay

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    http_no_delay: String allowed values are enableddisabled

http_request_timeout

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    http_request_timeout: Integer 

http_restrict_req_hdr_names

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    http_restrict_req_hdr_names: String allowed values are preservedeletereject

http_use_proxy_header

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    http_use_proxy_header: String allowed values are enableddisabled

httplog

[boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    httplog: Boolean

httpslog

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    httpslog: String allowed values are enableddisabled

id

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    id: Integer 

idle_close_on_response

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    idle_close_on_response: String allowed values are enableddisabled

independent_streams

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    independent_streams: String allowed values are enableddisabled

log_format

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    log_format: String 

log_format_sd

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    log_format_sd: String 

log_separate_errors

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    log_separate_errors: String allowed values are enableddisabled

log_tag

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    log_tag: String allowed pattern: ^[A-Za-z0-9-_.:]+$

logasap

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    logasap: String allowed values are enableddisabled

maxconn

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    maxconn: Integer 

mode

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    mode: String allowed values are httptcp

monitor_fail

[object]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    monitor_fail: 
cond: String allowed values are ifunless
cond_test: String

monitor_uri

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    monitor_uri: String 

name

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    name: String allowed pattern: ^[A-Za-z0-9-_.:]+$

nolinger

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    nolinger: String allowed values are enableddisabled

originalto

[object]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    originalto: 
enabled: String allowed values are enabled
except: String allowed pattern: ^[^\s]+$
header: String allowed pattern: ^[^\s]+$

socket_stats

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    socket_stats: String allowed values are enableddisabled

splice_auto

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    splice_auto: String allowed values are enableddisabled

splice_request

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    splice_request: String allowed values are enableddisabled

splice_response

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    splice_response: String allowed values are enableddisabled

stats_options

[object]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    stats_options: 
stats_admin: Boolean
stats_admin_cond: String allowed values are ifunless
stats_admin_cond_test: String
stats_auths:
passwd: String
user: String
stats_enable: Boolean
stats_hide_version: Boolean
stats_http_requests:
cond: String
cond_test: String
realm: String
type: String allowed values are allowdenyauth
stats_maxconn: Integer Minimum: 1
stats_realm: Boolean
stats_realm_realm: String
stats_refresh_delay: Integer
stats_show_desc: String
stats_show_legends: Boolean
stats_show_modules: Boolean
stats_show_node_name: String allowed pattern: ^[^\s]+$
stats_uri_prefix: String allowed pattern: ^[^\s]+$

stick_table

[object]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    stick_table: 
expire: Integer
keylen: Integer
nopurge: Boolean
peers: String allowed pattern: ^[^\s]+$
size: Integer
srvkey: String allowed values are addrname
store: String allowed pattern: ^[^\s]+$
type: String allowed values are ipipv6integerstringbinary
write_to: String allowed pattern: ^[^\s]+$

tarpit_timeout

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    tarpit_timeout: Integer 

tcp_smart_accept

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    tcp_smart_accept: String allowed values are enableddisabled

tcpka

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    tcpka: String allowed values are enableddisabled

tcplog

[boolean]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    tcplog: Boolean

unique_id_format

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    unique_id_format: String 

unique_id_header

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  frontend:
    unique_id_header: String 

Service

  • CRD version: 3.0
  • API version: ingress.v1.haproxy.org/v1

name

[string]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  service:
    name: String 

port

[integer]
apiVersion: "ingress.v1.haproxy.org/v1"
  kind: TCP
metadata:
  name: example-tcp
spec:
- name: example-tcp
  service:
    port: Integer Minimum: 1 Maximum: 65535 

Do you have any suggestions on how we can improve the content of this page?