Skip to main content
Version 3.0.0

Ingress — NiFi

With Ingress enabled, access to NiFi uses the host configured in ingress.rules[0].host. The UI path is /nifi. The chart default for the host is nifi.local.

Prerequisites

  • Ingress Controller installed in the cluster (e.g., NGINX).
  • Hostname configured in DNS or an entry in /etc/hosts pointing to the external IP of the Ingress.
Two required flags

For NiFi, you must enable two flags: TDPConfiguration.gateway.ingress.enabled and ingress.enabled. Enabling only one of them is not sufficient.

In addition, TDPConfiguration.gateway.ingress and TDPConfiguration.gateway.gatewayApi are mutually exclusive. Enable only one of them.

Example

TDPConfiguration:
gateway:
ingress:
enabled: true

ingress:
enabled: true
ingressClassName: <ingress-class>
rules:
- host: nifi.local

Replace <ingress-class> with the name of the Ingress Controller in the environment (verify with kubectl get ingressclass).

Access

With Ingress enabled (ingress.enabled: true), the NiFi UI is available at the configured host:

http://nifi.local/nifi

Troubleshooting

IssueSolution
502 / no backendCheck the Service name/port and whether the NiFi pods are ready
Host does not resolveDNS or local resolution for the configured hostname
Ingress not createdVerify that both flags are true and that ingressClassName matches the Ingress Controller used in the cluster
NiFi with HTTPS enabled

When NiFi operates in secure mode (nifiCluster.security.protocol: "https"), the Ingress Controller needs the backend-protocol annotation to proxy correctly. See Ingress with HTTPS on the NiFi Security page.

Controller-specific annotations (e.g., rewrite-target) depend on the Ingress you use; configure them according to your cluster's documentation.