OS Manuals

/usr/bin/haproxy-ingress-controller

HAProxy Ingress

From haproxy-ingress-0.14 0.14.14-r2 (enterprise-packages), captured 2026-11-08 by running haproxy-ingress-controller --help (exit 2). permalink

Usage of :
      --acme-check-period duration                 Time between checks of invalid or expiring certificates (default 24h0m0s)
      --acme-election-id string                    Prefix of the election ID used to choose the acme leader (default "acme-leader")
      --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
                                                   assumption is that the binary runs inside a Kubernetes cluster and local
                                                   discovery is attempted.
      --backend-shards int                         Defines how much files should be used to configure the haproxy backends
      --buckets-response-time float64Slice         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.000500,0.001000,0.002000,0.005000,0.010000])
      --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-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                           Defines if HAProxy Ingress should disable pod watch and in memory list. Pod
                                                   list is mandatory for drain-support (should not be disabled) and optional for
                                                   blue/green.
      --election-id string                         Election id to be used for status update. (default "ingress-controller-leader")
      --enable-endpointslices-api                  Enables EndpointSlices API and disables watching Endpoints API. Only enable in
                                                   k8s >=1.21+
      --force-namespace-isolation                  Force namespace isolation. This flag is required to avoid the reference of
                                                   secrets, configmaps or the default backend service located in a different
                                                   namespace than the specified in the flag --watch-namespace.
      --health-check-path string                   Defines the URL to be used as health check inside in the default server. (default "/healthz")
      --healthz-port int                           port for healthz endpoint. (default 10254)
      --ignore-ingress-without-class               DEPRECATED, this option is ignored. 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                          Path to kubeconfig file with authorization and master location information.
      --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.
      --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:port/debug/pprof/ (default true)
      --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 float32                  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)
      --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-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
      --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)
      --sync-period duration                       Configures the default resync period of Kubernetes' informer factory. (default 10m0s)
      --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, --v Level                                    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
      --wait-before-shutdown int                   Define time controller waits until it shuts down when SIGTERM signal was
                                                   received
      --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
pflag: help requested
Options (65)
OptionDescriptionSource
--acme-check-period durationTime between checks of invalid or expiring certificates (default 24h0m0s)help
--acme-election-id stringPrefix of the election ID used to choose the acme leader (default "acme-leader")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 float64SliceConfigures 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 serverhelp
--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-node-listDEPRECATED: This flag used to disable node listing due to missing permissions.help
--disable-pod-listDefines if HAProxy Ingress should disable pod watch and in memory list.help
--election-id stringElection id to be used for status update.help
--enable-endpointslices-apiEnables EndpointSlices API and disables watching Endpoints API.help
--force-namespace-isolationForce namespace isolation.help
--health-check-path stringDefines the URL to be used as health check inside in the default server.help
--healthz-port intport for healthz endpoint.help
--ignore-ingress-without-classDEPRECATED, this option is ignored.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 stringPath to kubeconfig file with authorization and master location information.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:port/debug/pprof/ (default true)help
--publish-service stringService fronting the ingress controllers.help
--rate-limit-update float32Maximum of updates per second this controller should perform.help
--reload-interval durationMinimal time between two consecutive HAProxy reloads.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 addresshelp
--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
--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, --v LevelNumber 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 controllerhelp
--wait-before-shutdown intDefine time controller waits until it shuts down when SIGTERM signal was receivedhelp
--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 (default true)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.