stackabletech / stackabletech/nifi-operator

NiFi v2 Behind Openshift Route

Open
#750 9 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
48
Forks
12
Avg merge
11h 26m
Merged PRs (30d)
10

Description

Perhaps this is just a request for guidance (if I am wrong), but I can't work out how to gracefully get a NiFi v2 container online behind an Openshift Route because of the "Invalid SNI" issue.

This issue (697) gave some hints using an ingress, but I haven't found a way using routes.

From tracing through the current solution what I think is happening is:

  • The operator creates a StatefulSet which forces NODE_ADDRESS to exist during startup, but builds the value itself based on a internal address.
  • This is overwriting attempts to set NODE_ADDRESS using a ConfigMap.
  • The nifi.properties loads NODE_ADDRESS into both nifi.cluster.node.address and nifi.web.https.host, with the whole file being drawn from a ConfigMap.
  • Attempts to edit nifi.properties in the ConfigMap are overwritten by the operator.
  • Attempts to edit the StatefulSet to adjust the CLI setting NODE_ADDRESS are overwritten by the operator.
  • TBF I expected those just noting them as opposed to... attempts to add new environment variables into the ConfigMap are not overwritten.

Would it be as simple as allowing the nifi.web.https.host to be overwritten by a new variable, like PUBLIC_ADDRESS that we can set in the ConfigMap? I gather this is what is causing Jetty to reject the traffic originating from the public route.

For NiFi v1.27.0, using a pass-through route 'just worked', but either upgrading or a fresh install of v2 are all failing. Unclear to me why the internal pod wants to perform this validation... and TBH I would love to disable it, but maybe it adds value. My last gasp is going to track down an admin that knows cert-fu and trying to switch to a Re-Encrypt route, but not looking forward to that.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how the operator generates the StatefulSet and ConfigMap values for NODE_ADDRESS and nifi.properties, then compare the NiFi v2 behavior with the reported OpenShift pass-through route and Invalid SNI failure. Done means confirming whether a route-compatible public address can be configured without those operator-generated values being overwritten.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes
Domain
infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.