Skip to content

Commit b316f0a

Browse files
committed
Bunch of documentation updates
1 parent 307c5b6 commit b316f0a

9 files changed

Lines changed: 22 additions & 91 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ All notable changes to this project will be documented in this file.
3030

3131
- Fix broken link to the NiFi authorization usage guide in the `spec.clusterConfig.authorization` CRD doc (`usage-guide` -> `usage_guide`) ([#924]).
3232

33+
### Removed
34+
35+
- BREAKING: Remove support for NiFi 1.x.
36+
This removes the Prometheus reporting-task Job (and its `spec.clusterConfig.createReportingTaskJob` field), the pre-2.x non-rolling upgrade handling, the dedicated metrics port, and the sensitive-properties algorithms that were only supported on NiFi 1.x.
37+
`status.deployed_version` is retained even though it no longer drives the (now removed) non-rolling upgrade state machine, as we don't want a breaking change to the status just for this ([#954]).
38+
3339
[#903]: https://github.com/stackabletech/nifi-operator/pull/903
3440
[#916]: https://github.com/stackabletech/nifi-operator/pull/916
3541
[#921]: https://github.com/stackabletech/nifi-operator/pull/921
@@ -41,6 +47,7 @@ All notable changes to this project will be documented in this file.
4147
[#940]: https://github.com/stackabletech/nifi-operator/pull/940
4248
[#945]: https://github.com/stackabletech/nifi-operator/pull/945
4349
[#953]: https://github.com/stackabletech/nifi-operator/pull/953
50+
[#954]: https://github.com/stackabletech/nifi-operator/pull/954
4451
[#959]: https://github.com/stackabletech/nifi-operator/pull/959
4552

4653
## [26.3.0] - 2026-03-16

deploy/helm/nifi-operator/templates/clusterrole-operator.yaml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,17 +81,6 @@ rules:
8181
- list
8282
- patch
8383
- watch
84-
# Optional reporting-task Job (NiFi 1.x only). Applied via SSA and tracked for orphan cleanup.
85-
- apiGroups:
86-
- batch
87-
resources:
88-
- jobs
89-
verbs:
90-
- create
91-
- delete
92-
- get
93-
- list
94-
- patch
9584
# PodDisruptionBudget created per role. Applied via SSA and tracked for orphan cleanup.
9685
- apiGroups:
9786
- policy

docs/modules/nifi/pages/index.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ Every role group is accessible through it's own Service, and there is a Service
3535

3636
== Dependencies
3737

38-
Apache NiFi 1.x depends on Apache ZooKeeper which you can run in Kubernetes with the xref:zookeeper:index.adoc[].
38+
NiFi builds its cluster quorum using Kubernetes by default and needs no additional dependencies.
39+
It can optionally use Apache ZooKeeper instead, which you can run in Kubernetes with the xref:zookeeper:index.adoc[].
3940

4041
== [[demos]]Demos
4142

docs/modules/nifi/pages/usage_guide/clustering.adoc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ CAUTION: The cluster backend of an existing cluster should never be changed. Oth
1414
[#backend-kubernetes]
1515
== Kubernetes
1616

17-
NOTE: The Kubernetes provider is only supported by Apache NiFi 2.0 or newer. When using NiFi 1.x, use the xref:#backend-zookeeper[] backend instead.
18-
1917
The Kubernetes backend is used by default (unless the xref:#backend-zookeeper[] backend is configured), and stores all state in Kubernetes objects, in the same namespace as the `NifiCluster` object.
2018

2119
It takes no configuration.

docs/modules/nifi/pages/usage_guide/custom-components.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ There are currently two types of custom components:
1212

1313
1. Custom NiFi Archives (NARs) +
1414
The {nifi-docs-developers-guide}[NiFi Developer’s Guide] provides further information on how to develop custom NARs.
15-
2. Starting with NiFi 2.0, also custom Python extensions can be used. +
15+
2. Additionally, custom Python extensions can be used. +
1616
In the {nifi-docs-python-developers-guide}[NiFi Python Developer’s Guide], the development of custom components using Python is described.
1717
1818
The Stackable image contains the required tooling for both types.
@@ -165,7 +165,7 @@ metadata:
165165
name: simple-nifi
166166
spec:
167167
image:
168-
productVersion: 2.2.0
168+
productVersion: 2.9.0
169169
clusterConfig:
170170
authentication:
171171
- authenticationClass: simple-nifi-admin-user
@@ -202,7 +202,7 @@ The basic Dockerfile below shows how to achieve this:
202202

203203
[source,Dockerfile]
204204
----
205-
FROM oci.stackable.tech/sdp/nifi:2.2.0-stackable25.3.0
205+
FROM oci.stackable.tech/sdp/nifi:2.9.0-stackable26.7.0
206206
COPY /path/to/your/nar.file /stackable/nifi/lib/
207207
COPY /path/to/your/Python.file /stackable/nifi/python/extensions/
208208
----
@@ -213,8 +213,8 @@ You then need to make this image available to your Kubernetes cluster and specif
213213
----
214214
spec:
215215
image:
216-
productVersion: 2.2.0
217-
custom: oci-registry.company.org/nifi:2.2.0-customprocessors
216+
productVersion: 2.9.0
217+
custom: oci-registry.company.org/nifi:2.9.0-customprocessors
218218
----
219219

220220
Also read the xref:guides:custom-images.adoc[Using customized product images] guide for additional information.
@@ -285,7 +285,7 @@ metadata:
285285
name: simple-nifi
286286
spec:
287287
image:
288-
productVersion: 2.2.0
288+
productVersion: 2.9.0
289289
clusterConfig:
290290
authentication:
291291
- authenticationClass: simple-nifi-admin-user

docs/modules/nifi/pages/usage_guide/flow-versioning.adoc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
= Flow Versioning
22

3-
IMPORTANT: The way described in this document to version flows is only available in NiFi 2.0.0 and later versions. Previous versions of NiFi relied exclusively on the NiFi Registry service for flow versioning.
4-
5-
Starting with Apache NiFi 2.0.0, you can connect directly to Git repositories using either GitHub or GitLab as your flow registry without requiring a separate NiFi Registry service. This document explains how to configure and use these registry clients to version your NiFi flows.
3+
You can connect directly to Git repositories using either GitHub or GitLab as your flow registry without requiring a separate NiFi Registry service.
4+
This document explains how to configure and use these registry clients to version your NiFi flows.
65

76
== Setting up the Registry Client
87

docs/modules/nifi/pages/usage_guide/monitoring.adoc

Lines changed: 4 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,10 @@
11
= Monitoring
22
:description: The Stackable Operator for Apache NiFi automatically configures NiFi to export Prometheus metrics.
3-
:k8s-job: https://kubernetes.io/docs/concepts/workloads/controllers/job/
4-
:k8s-network-policies: https://kubernetes.io/docs/concepts/services-networking/network-policies/
53
:prometheus-operator: https://prometheus-operator.dev/
64

7-
In November 2024, Apache NiFi released a new major version https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-Version2.0.0[`2.0.0`,window=_blank].
5+
== Configure metrics
86

9-
The NiFi `2.0.0` release changed the way of exposing Prometheus metrics significantly.
10-
The following steps explain on how to expose Metrics in NiFi versions `1.x.x` and `2.x.x`.
11-
12-
== Configure metrics in NiFi `1.x.x`
13-
14-
For NiFi versions `1.x.x`, the operator automatically configures NiFi to export Prometheus metrics.
15-
This is done by creating a {k8s-job}[Job,window=_blank] that connects to NiFi and configures a https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-prometheus-nar/1.26.0/org.apache.nifi.reporting.prometheus.PrometheusReportingTask/index.html[Prometheus Reporting Task,window=_blank].
16-
17-
IMPORTANT: Network access from the Job to NiFi is required.
18-
If you are running a Kubernetes with restrictive {k8s-network-policies}[NetworkPolicies,window=_blank], make sure to allow access from the Job to NiFi.
19-
20-
See xref:operators:monitoring.adoc[] for more details.
21-
22-
== Disabling create-reporting-task Job
23-
24-
It can be helpful to disable the Job, e.g. when you configOverride an authentication mechanism, which the Job currently cannot use to authenticate against NiFi.
25-
26-
To achieve this use the following configuration:
27-
28-
[source,yaml]
29-
----
30-
spec:
31-
clusterConfig:
32-
createReportingTaskJob:
33-
enabled: false
34-
----
35-
36-
== Configure metrics in NiFi `2.x.x`
37-
38-
The Prometheus Reporting Task was removed in NiFi `2.x.x` in https://issues.apache.org/jira/browse/NIFI-13507[NIFI-13507,window=_blank].
39-
Metrics are now always exposed and can be scraped using the NiFi `metrics` Service and the HTTP path `/nifi-api/flow/metrics/prometheus`.
7+
Metrics are always exposed and can be scraped using the NiFi `metrics` Service and the HTTP path `/nifi-api/flow/metrics/prometheus`.
408

419
For a deployed NiFi cluster called `simple-nifi`, containing a rolegroup called `default`, the metrics endpoint is reachable under:
4210

@@ -49,9 +17,9 @@ To scrape metrics from a particular Pod, the FQDN of the Pod and the `headless`
4917

5018
IMPORTANT: If NiFi is configured to do any user authentication, requests to the metrics endpoint must be authenticated and authorized.
5119

52-
=== Authentication with NiFi `2.x.x`
20+
=== Authentication with NiFi
5321

54-
To authenticate against the NiFi `2.x.x` API, you can configure mTLS between NiFi and the client calling NiFi. For more information about authentication between
22+
To authenticate against the NiFi API, you can configure mTLS between NiFi and the client calling NiFi. For more information about authentication between
5523
Kubernetes Pods, check out the xref:home:secret-operator:index.adoc[Secret Operator documentation].
5624

5725
The following example illustrates the configuration of a Prometheus scraper for NiFi, using the aforementioned method of configuring mTLS

docs/modules/nifi/pages/usage_guide/overrides.adoc

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -94,25 +94,6 @@ Pod overrides allow you to configure any attributes that can be configured on a
9494

9595
Read the xref:concepts:overrides.adoc#pod-overrides[Pod overrides concepts page] to learn more.
9696

97-
=== Pod overrides on create-reporting-task Job
98-
99-
In addition to podOverrides on the created StatefulSet we also support podOverrides on the created Kubernetes Job, which enables the export of Prometheus metrics within NiFi.
100-
101-
[source,yaml]
102-
----
103-
spec:
104-
clusterConfig:
105-
createReportingTaskJob:
106-
# enabled: false # You can also turn off the Job entirely
107-
podOverrides: # podOverrides as usual
108-
spec:
109-
tolerations:
110-
- key: "key1"
111-
operator: "Equal"
112-
value: "value1"
113-
effect: "NoSchedule"
114-
----
115-
11697
== JVM argument overrides
11798

11899
Stackable operators automatically determine the set of needed JVM arguments, such as memory settings or trust- and keystores.

docs/modules/nifi/pages/usage_guide/updating.adoc

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,4 @@ spec:
1717

1818
<1> Change the NiFi version here
1919

20-
[WARNING]
21-
====
22-
NiFi clusters cannot be upgraded or downgraded in a rolling fashion due to a limitation in NiFi prior to version 2.
23-
24-
When upgrading between NiFi 1 versions or from NiFi 1 to NiFi 2, any change to the NiFi version in the CRD triggers a full cluster restart with brief downtime.
25-
However, the Stackable image version can be updated in a rolling manner, provided the NiFi version remains unchanged.
26-
27-
Since NiFi version 2, rolling upgrades are supported.
28-
====
29-
30-
== NiFi 2.0.0
31-
32-
Before you can upgrade to `2.0.0` you https://cwiki.apache.org/confluence/display/NIFI/Migration+Guidance[need to update] to at least version 1.27.x!
20+
Rolling upgrades are supported, so changing the NiFi version in the CRD updates the cluster without downtime.

0 commit comments

Comments
 (0)