OS Manuals

/usr/bin/haproxy-ingress-controller

HAProxy Ingress

From haproxy-ingress-0.16 0.16.1-r1 (os), captured 2026-11-05 by running haproxy-ingress-controller --help (exit 0). permalink

Also provided by 8 other package versions
Usage of HAProxy Ingress:
  -acme-check-period duration
    	Time between checks of invalid or expiring certificates (default 24h0m0s)
  -acme-election-id string
    	DEPRECATED: acme and status update leader uses the same ID from --election-id command-line option.
  -acme-fail-initial-duration duration
    	The initial time to wait to retry sign a new certificate after a failure. The time between retries will grow exponentially until 'acme-fail-max-duration' (default 5m0s)
  -acme-fail-max-duration duration
    	The maximum time to wait after failing to sign a new certificate (default 8h0m0s)
  -acme-secret-key-name string
    	Name and an optional namespace of the secret which will store the acme account private key. If a namespace is not provided, the secret will be created in the same namespace of the controller pod. (default "acme-private-key")
  -acme-server
    	Enables ACME server. This server is used to receive and answer challenges from Let's Encrypt or other ACME implementations.
  -acme-token-configmap-name string
    	Name and an optional namespace of the configmap which will store acme tokens used to answer the acme challenges. If a namespace is not provided, the secret will be created in the same namespace of the controller pod. (default "acme-validation-tokens")
  -acme-track-tls-annotation
    	Enable tracking of ingress objects annotated with 'kubernetes.io/tls-acme'
  -allow-cross-namespace
    	Defines if the ingress controller can reference resources of another namespaces. Cannot be used if force-namespace-isolation is true.
  -annotations-prefix string
    	Defines a comma-separated list of annotation prefix for ingress and service (default "haproxy-ingress.github.io,ingress.kubernetes.io")
  -apiserver-host string
    	The address of the Kubernetes API server to connect to, in the format of protocol://address:port, e.g., http://localhost:8080. If not specified, the default value from in cluster discovery or from a provided kubeconfig is used. A valid kubeconfig must be provided if used.
  -backend-shards int
    	Defines how much files should be used to configure the haproxy backends
  -buckets-response-time value
    	Configures the buckets of the histogram used to compute the response time of the haproxy's admin socket. The response time unit is in seconds. (default 0.0005,0.001,0.002,0.005,0.01)
  -configmap string
    	Name of the ConfigMap that contains the custom configuration to use
  -connection-timeout duration
    	Defines the maximum amount of time HAProxy Ingress should wait for HAProxy responses when connecting to its master or admin sockets. (default 30s)
  -controller-class string
    	Defines an alternative controller name this controller should listen to. If empty, this controller will listen to ingress resources whose controller's IngressClass is 'haproxy-ingress.github.io/controller'. Non-empty values add a new /path, e.g., controller-class=staging will make this controller look for 'haproxy-ingress.github.io/controller/staging'
  -default-backend-service string
    	Service used to serve a 404 page for the default backend. Takes the form namespace/name. The controller uses the first node port of this Service for the default backend.`
  -default-ssl-certificate string
    	Name of the secret that contains a SSL certificate to be used as default for a HTTPS catch-all server.
  -disable-api-warnings
    	Disable warnings from the API server.
  -disable-config-keywords string
    	Defines a comma-separated list of HAProxy keywords that should not be used on annotation based configuration snippets. Configuration snippets added as a global config does not follow this option. Use an asterisk * to disable configuration snippets using annotations.
  -disable-external-name
    	Disables services of type ExternalName
  -disable-ingress-class-api
    	Configures controller to not list or watch IngressClass API, useful on deployments that cannot allow controller to have cluster permission. If configured, the only way to configure ingress resources is using kubernetes.io/ingress.class annotation or enabling --watch-ingress-without-class
  -disable-node-list
    	DEPRECATED: This flag used to disable node listing due to missing permissions. Actually node listing isn't needed and it is always disabled.
  -disable-pod-list
    	DEPRECATED: used to define if HAProxy Ingress should disable pod watch and in memory list. This configuration is now ignored, controller-runtime takes care of it.
  -election-id string
    	Election ID to be used for status update and certificate signing. An optional %s is used as a placeholder for the IngressClass name, and if not provided, the IngressClass is concatenated in the end of the provided value to compose the real Election ID, for backward compatibility. (default "class-%s.haproxy-ingress.github.io")
  -enable-endpointslices-api
    	DEPRECATED: Enables EndpointSlices API and disables watching Endpoints API. Endpoints is deprecated since 1.33, so endpointslices is always enabled and this option is ignored. (default true)
  -force-namespace-isolation
    	DEPRECATED: this flag used to enforce that one namespace cannot read secrets and services from other namespaces, actually implemented by allow-cross-namespace command line option and cross-namespace configuration keys.
  -haproxy-grace-period duration
    	Configures the amount of time HAProxy should wait for all the active connections to finish, after HAProxy Ingress receives the signal from Kubernetes to terminate. This option is only used on embedded HAProxy configured as master-worker. (default 20s)
  -health-check-path string
    	Defines the URL to be used as health check. (default "/healthz")
  -healthz-addr string
    	The address the healthz service should bind to. Configure with an empty string to disable it. (default ":10254")
  -healthz-port int
    	DEPRECATED: Use --healthz-addr instead.
  -ignore-ingress-without-class
    	DEPRECATED: Use --watch-ingress-without-class command-line option instead to define if ingress without class should be tracked.
  -ingress-class string
    	Name of the IngressClass to route through this controller. (default "haproxy")
  -ingress-class-precedence
    	Defines if IngressClass resource should take precedence over kubernetes.io/ingress.class annotation if both are defined and conflicting.
  -kubeconfig string
    	Paths to a kubeconfig. Only required if out-of-cluster.
  -local-filesystem-prefix string
    	Defines the prefix of a temporary directory HAProxy Ingress should create and maintain all the configuration files. Useful for local deployment.
  -log-caller
    	Defines if the log output should add a reference of the caller with file name and line number. Needs --log-zap enabled.
  -log-dev
    	Defines if development style logging should be used. Needs --log-zap enabled.
  -log-enable-stacktrace
    	Defines if error output should add stracktraces. Needs --log-zap enabled.
  -log-encode-time string
    	Configures the encode time used in the logs. Options are: rfc3339nano, rfc3339, iso8601, millis, nanos. Defaults to 'rfc3339nano' if --log-dev is false and 'iso8601' if --log-dev is true. Needs --log-zap enabled.
  -log-encoder string
    	Defines the log encoder. Options are: 'console' or 'json'. Defaults to 'json' if --log-dev is false and 'console' if --log-dev is true. Needs --log-zap enabled.
  -log-zap
    	Enables zap as the log sink for all the logging outputs.
  -master-socket string
    	Defines the master CLI unix socket of an external HAProxy running in master-worker mode. Defaults to use the embedded HAProxy if not declared.
  -master-worker
    	Defines if haproxy should be configured in master-worker mode. If 'false', one single process is forked in the background. If 'true', a master process is started in the foreground and can be used to manage current and old worker processes. (default true)
  -max-old-config-files int
    	Maximum number of old HAProxy timestamped config files to retain. Older files are cleaned up. A value <= 0 indicates only a single non-timestamped config file will be retained.
  -profiling
    	Enable profiling via web interface host:healthzport/debug/pprof/ (default true)
  -publish-address string
    	Comma separated list of hostname/IP addresses that should be used to configure ingress status. This option cannot be used if --publish-service is configured.
  -publish-service string
    	Service fronting the ingress controllers. Takes the form namespace/name. The controller will set the endpoint records on the ingress objects to reflect those on the service.
  -rate-limit-update float
    	Maximum of updates per second this controller should perform. Default is 0.5, which means wait 2 seconds between Ingress updates in order to add more changes in a single reload. (default 0.5)
  -ready-check-path string
    	Defines the URL to be used as readyness check. (default "/readyz")
  -reload-interval duration
    	Minimal time between two consecutive HAProxy reloads. The default value is 0, which means to always reload HAProxy just after a configuration change enforces a reload. The interval should be configured with a time suffix, eg 30s means that if two distinct and consecutive configuration changes enforce a reload, the second reload will be enqueued until 30 seconds have passed from the first one, applying every new configuration changes made between this interval.
  -reload-retry duration
    	How long HAProxy Ingress should wait before trying to reload HAProxy if an error happens. (default 30s)
  -reload-strategy string
    	Name of the reload strategy. Options are: native or reusesocket (default "reusesocket")
  -report-node-internal-ip-address
    	Defines if the nodes IP address to be returned in the ingress status should be the internal instead of the external IP address.
  -shutdown-timeout duration
    	Defines the amount of time the controller should wait, after receiving a SIGINT or a SIGTERM, for all of its internal services to gracefully stop before shutting down the process. It starts to count after --wait-before-shutdown has been passed, if configured. (default 25s)
  -sort-backends
    	Defines if backend's endpoints should be sorted by name. This option has less precedence than --sort-endpoints-by if both are declared.
  -sort-endpoints-by string
    	Defines how to sort backend's endpoints. Allowed values are: 'endpoint' - same k8s endpoint order (default); 'name' - server/endpoint name; 'ip' - server/endpoint IP and port; 'random' - shuffle endpoints on every haproxy reload.
  -stats-collect-processing-period duration
    	Defines the interval between two consecutive readings of haproxy's Idle_pct. haproxy updates Idle_pct every 500ms, which makes that the best configuration value. Change to 0 (zero) to disable this metric. (default 500ms)
  -stop-handler
    	Allows to stop the controller via a POST request to host:healthzport/stop endpoint.
  -sync-period duration
    	Configures the default resync period of Kubernetes' informer factory. (default 10h0m0s)
  -tcp-services-configmap string
    	Name of the ConfigMap that contains the definition of the TCP services to expose. The key in the map indicates the external port to be used. The value is the name of the service with the format namespace/serviceName and the port of the service could be a number of the name of the port. The ports 80 and 443 are not allowed as external ports. This ports are reserved for the backend.
  -track-old-instances
    	Creates an internal list of connections to old HAProxy instances. These connections are used to read or send data to stopping instances, which is usually serving long lived connections like TCP services or websockets.
  -update-status
    	Indicates if the controller should update the 'status' attribute of all the Ingress resources that this controller is tracking. (default true)
  -update-status-on-shutdown
    	Indicates if the ingress controller should update the Ingress status IP/hostname when the controller is being stopped. (default true)
  -v int
    	Number for the log level verbosity. 1: info; 2: add low verbosity debug. (default 2)
  -validate-config
    	Define if the resulting configuration files should be validated when a dynamic update was applied. Default value is false, which means the validation will only happen when HAProxy needs to be reloaded. If validation fails, HAProxy Ingress will log the error and set the metric 'haproxyingress_update_success' as failed (zero)
  -verify-hostname
    	Defines if the controller should verify if the provided certificate is valid, ie, it's SAN extension has the hostname. (default true)
  -version
    	Shows release information about the Ingress controller and exit
  -wait-before-shutdown string
    	Defines the amount of time the controller should wait between receiving a SIGINT or SIGTERM signal, and notifying the controller manager to gracefully stops the controller. Use with a time suffix.
  -wait-before-update duration
    	Amount of time to wait before start a reconciliation and update haproxy, giving the time to receive all/most of the changes of a batch update. (default 200ms)
  -watch-gateway
    	Watch and parse resources from the Gateway API. (default true)
  -watch-ingress-without-class
    	Defines if this controller should also listen to ingress resources that don't declare neither the kubernetes.io/ingress.class annotation nor the <ingress>.spec.ingressClassName field. Defaults to false.
  -watch-namespace string
    	Namespace to watch for Ingress. Default is to watch all namespaces.
Options (73)
OptionDescriptionSource
-acme-check-period durationTime between checks of invalid or expiring certificates (default 24h0m0s)help
-acme-election-id stringDEPRECATED: acme and status update leader uses the same ID from --election-id command-line option.help
-acme-fail-initial-duration durationThe initial time to wait to retry sign a new certificate after a failure.help
-acme-fail-max-duration durationThe maximum time to wait after failing to sign a new certificate (default 8h0m0s)help
-acme-secret-key-name stringName and an optional namespace of the secret which will store the acme account private key.help
-acme-serverEnables ACME server.help
-acme-token-configmap-name stringName and an optional namespace of the configmap which will store acme tokens used to answer the acme challenges.help
-acme-track-tls-annotationEnable tracking of ingress objects annotated with 'kubernetes.io/tls-acme'help
-allow-cross-namespaceDefines if the ingress controller can reference resources of another namespaces.help
-annotations-prefix stringDefines a comma-separated list of annotation prefix for ingress and service (default "haproxy-ingress.github.io,ingress.kubernetes.io")help
-apiserver-host stringThe address of the Kubernetes API server to connect to, in the format of protocol://address:port, e.g., http://localhost:8080.help
-backend-shards intDefines how much files should be used to configure the haproxy backendshelp
-buckets-response-time valueConfigures the buckets of the histogram used to compute the response time of the haproxy's admin socket.help
-configmap stringName of the ConfigMap that contains the custom configuration to usehelp
-connection-timeout durationDefines the maximum amount of time HAProxy Ingress should wait for HAProxy responses when connecting to its master or admin sockets.help
-controller-class stringDefines an alternative controller name this controller should listen to.help
-default-backend-service stringService used to serve a 404 page for the default backend.help
-default-ssl-certificate stringName of the secret that contains a SSL certificate to be used as default for a HTTPS catch-all server.help
-disable-api-warningsDisable warnings from the API server.help
-disable-config-keywords stringDefines a comma-separated list of HAProxy keywords that should not be used on annotation based configuration snippets.help
-disable-external-nameDisables services of type ExternalNamehelp
-disable-ingress-class-apiConfigures controller to not list or watch IngressClass API, useful on deployments that cannot allow controller to have cluster permission.help
-disable-node-listDEPRECATED: This flag used to disable node listing due to missing permissions.help
-disable-pod-listDEPRECATED: used to define if HAProxy Ingress should disable pod watch and in memory list.help
-election-id stringElection ID to be used for status update and certificate signing.help
-enable-endpointslices-apiDEPRECATED: Enables EndpointSlices API and disables watching Endpoints API.help
-force-namespace-isolationDEPRECATED: this flag used to enforce that one namespace cannot read secrets and services from other namespaces, actually implemented by allow-cross-namespace command line option and cross-namespace…help
-haproxy-grace-period durationConfigures the amount of time HAProxy should wait for all the active connections to finish, after HAProxy Ingress receives the signal from Kubernetes to terminate.help
-health-check-path stringDefines the URL to be used as health check.help
-healthz-addr stringThe address the healthz service should bind to.help
-healthz-port intDEPRECATED: Use --healthz-addr instead.help
-ignore-ingress-without-classDEPRECATED: Use --watch-ingress-without-class command-line option instead to define if ingress without class should be tracked.help
-ingress-class stringName of the IngressClass to route through this controller.help
-ingress-class-precedenceDefines if IngressClass resource should take precedence over kubernetes.io/ingress.class annotation if both are defined and conflicting.help
-kubeconfig stringPaths to a kubeconfig.help
-local-filesystem-prefix stringDefines the prefix of a temporary directory HAProxy Ingress should create and maintain all the configuration files.help
-log-callerDefines if the log output should add a reference of the caller with file name and line number.help
-log-devDefines if development style logging should be used.help
-log-enable-stacktraceDefines if error output should add stracktraces.help
-log-encode-time stringConfigures the encode time used in the logs.help
-log-encoder stringDefines the log encoder.help
-log-zapEnables zap as the log sink for all the logging outputs.help
-master-socket stringDefines the master CLI unix socket of an external HAProxy running in master-worker mode.help
-master-workerDefines if haproxy should be configured in master-worker mode.help
-max-old-config-files intMaximum number of old HAProxy timestamped config files to retain.help
-profilingEnable profiling via web interface host:healthzport/debug/pprof/ (default true)help
-publish-address stringComma separated list of hostname/IP addresses that should be used to configure ingress status.help
-publish-service stringService fronting the ingress controllers.help
-rate-limit-update floatMaximum of updates per second this controller should perform.help
-ready-check-path stringDefines the URL to be used as readyness check.help
-reload-interval durationMinimal time between two consecutive HAProxy reloads.help
-reload-retry durationHow long HAProxy Ingress should wait before trying to reload HAProxy if an error happens.help
-reload-strategy stringName of the reload strategy.help
-report-node-internal-ip-addressDefines if the nodes IP address to be returned in the ingress status should be the internal instead of the external IP address.help
-shutdown-timeout durationDefines the amount of time the controller should wait, after receiving a SIGINT or a SIGTERM, for all of its internal services to gracefully stop before shutting down the process.help
-sort-backendsDefines if backend's endpoints should be sorted by name.help
-sort-endpoints-by stringDefines how to sort backend's endpoints.help
-stats-collect-processing-period durationDefines the interval between two consecutive readings of haproxy's Idle_pct.help
-stop-handlerAllows to stop the controller via a POST request to host:healthzport/stop endpoint.help
-sync-period durationConfigures the default resync period of Kubernetes' informer factory.help
-tcp-services-configmap stringName of the ConfigMap that contains the definition of the TCP services to expose.help
-track-old-instancesCreates an internal list of connections to old HAProxy instances.help
-update-statusIndicates if the controller should update the 'status' attribute of all the Ingress resources that this controller is tracking.help
-update-status-on-shutdownIndicates if the ingress controller should update the Ingress status IP/hostname when the controller is being stopped.help
-v intNumber for the log level verbosity.help
-validate-configDefine if the resulting configuration files should be validated when a dynamic update was applied.help
-verify-hostnameDefines if the controller should verify if the provided certificate is valid, ie, it's SAN extension has the hostname.help
-versionShows release information about the Ingress controller and exithelp
-wait-before-shutdown stringDefines the amount of time the controller should wait between receiving a SIGINT or SIGTERM signal, and notifying the controller manager to gracefully stops the controller.help
-wait-before-update durationAmount of time to wait before start a reconciliation and update haproxy, giving the time to receive all/most of the changes of a batch update.help
-watch-gatewayWatch and parse resources from the Gateway API.help
-watch-ingress-without-classDefines if this controller should also listen to ingress resources that don't declare neither the kubernetes.io/ingress.class annotation nor the <ingress>.spec.ingressClassName field.help
-watch-namespace stringNamespace to watch for Ingress.help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.