docs(nifi): add deployment configuration steps - #281
Conversation
📝 WalkthroughWalkthroughA new NiFi deployment guide is added documenting post-Docker Compose configuration steps. It covers AWS credential entry, database password configuration, controller service enablement, Parameter Context setup for bucket, HTTP, and S3 operations, and processor startup procedures. ChangesNiFi Deployment Guide
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🧹 Nitpick comments (3)
Technical/Deployment-Guides/Nifi-Deployment-Guide.md (3)
32-34: Enhance conclusion with additional resources and context.Consider improving the conclusion with:
- Troubleshooting section: Add common issues and their resolutions.
- Additional resources: Link to official NiFi documentation, Tazama architecture docs, or related deployment guides.
- Flow purpose: Briefly explain what the NiFi flow does in the Tazama system context.
- Next steps: Guide users on what to do after successful deployment (monitoring, testing, etc.).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@Technical/Deployment-Guides/Nifi-Deployment-Guide.md` around lines 32 - 34, Update the "Conclusion" section in Technical/Deployment-Guides/Nifi-Deployment-Guide.md to expand it with four short subsections: add a "Troubleshooting" bullet list of common issues and fixes (controller service failures, AWS auth, DB connectivity), an "Additional resources" list linking to official Apache NiFi docs and Tazama architecture/deployment guides, a "Flow purpose" paragraph summarizing what the NiFi flow does within the Tazama system context, and a "Next steps" checklist for post-deployment actions (smoke tests, monitoring, alerting, and validation steps); keep each subsection concise and actionable.
27-30: Add pre-start verification and troubleshooting guidance.Before starting processors, users should verify their configuration is complete. Consider adding:
- Pre-start checklist: Explicitly state to verify all controller services are enabled and all parameter contexts are configured before starting processors.
- Verification steps: Explain how to verify processors started successfully (e.g., checking for running state, reviewing bulletins for errors).
- Troubleshooting: Provide basic troubleshooting steps if processors fail to start (e.g., check logs, verify credentials, review error messages).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@Technical/Deployment-Guides/Nifi-Deployment-Guide.md` around lines 27 - 30, Update the "4. Start All Processors" section to include a pre-start checklist and basic troubleshooting: before instructing users to use Shift+Click / Shift+Arrow Keys and the Operate -> Start action, add a short checklist to verify all controller services are enabled and all parameter contexts are configured and valid; add verification steps after starting (confirm processor state is "Running", check bulletins pane for errors, and validate expected data flow/activity); and add a brief troubleshooting subsection with steps to check NiFi logs, confirm credentials/connection settings, re-enable dependent services, and inspect processor-specific error messages. Reference the existing "Start All Processors" heading and the "Operate" menu/Start action when inserting these items so the new checks appear immediately before and after the start instruction.
1-34: Add prerequisites and version requirements section.The guide jumps directly into configuration steps without establishing prerequisites. Consider adding a section before step 1 that covers:
Prerequisites:
- Required NiFi version
- Docker and Docker Compose versions
- AWS account with appropriate permissions
- Database instances (list specific databases)
Architecture overview: Brief explanation of what the NiFi flow does in the Tazama system.
Access requirements: How to access the NiFi UI after Docker Compose setup (URL, default credentials if any).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@Technical/Deployment-Guides/Nifi-Deployment-Guide.md` around lines 1 - 34, Add a new "Prerequisites and Requirements" section immediately before the existing "## 1. Configure AWS Credentials" header that lists required NiFi version, minimum Docker and Docker Compose versions, AWS account/permissions needed, and which database instances (and versions) must exist; also add a brief "Architecture overview" paragraph that explains the purpose of the NiFi flow in the Tazama system and high-level data movement; finally add an "Access requirements" subsection that documents how to reach the NiFi UI after Docker Compose (URL, port), any default credentials or how to retrieve credentials/secrets, and any network or IAM access needed so readers can access NiFi before following the "Configure AWS Credentials" steps.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@Technical/Deployment-Guides/Nifi-Deployment-Guide.md`:
- Around line 5-10: Update the "Configure AWS Credentials" section to add
security best practices and required settings: advise using IAM roles
(instance/profile or IRSA) or a secrets manager instead of hardcoding
credentials, and show how to configure AWSCredentialsProviderControllerService
safely; list the specific IAM permissions NiFi needs (e.g., s3:GetObject,
s3:PutObject, s3:ListBucket plus kms:Decrypt/kms:Encrypt if using KMS, and
sts:AssumeRole if using role chaining) and any required resource ARNs or
least-privilege guidance; state that AWS region must be set (or inherited) and
where to set it in NiFi; and add the full UI navigation path to reach Controller
Services (e.g., hamburger menu → Controller Settings → Controller Services) to
make locating AWSCredentialsProviderControllerService clear.
- Around line 12-16: Update the "2. Configure Database Credentials" section to
explicitly list the databases to configure (e.g., PostgreSQL, ArangoDB, Redis)
and name the specific NiFi controller services where credentials must be entered
(e.g., DBCPConnectionPool for PostgreSQL, ArangoDBConnectionService,
RedisConnectionPool), move the instruction to enable controller services so it
occurs after completing all configurations and Parameter Contexts (i.e.,
reference enabling in a later step), and replace "lightning icon" with a clearer
UI reference such as "Configuration icon (lightning bolt) in the NiFi Flow
Configuration menu" to improve clarity.
- Around line 18-25: Clarify that the steps create or update Parameter Contexts
rather than only selecting them: explicitly state "Create or select the
Parameter Context named pbucket" and whether phttp and pozone must be created if
missing; then list exact parameter keys and example values to add to each
context — for phttp add parameters like http.endpoint (e.g.,
https://api.example.com/ingest), http.timeout (e.g., 30s), http.headers (e.g.,
Authorization: Bearer <token>); for pozone add s3.region (e.g., us-east-1) and
s3.bucket (e.g., tazama) and s3.credentials-id (NiFi credentials reference); for
pbucket add bucket.name = tazama (case-sensitive) and bucket.env (optional);
finally include a short example block showing the three contexts and their
key=value pairs so users can copy the exact parameter names and values when
configuring phttp, pozone, and pbucket.
- Line 1: Add the SPDX license header as the very first line of the Markdown
file by inserting an HTML comment containing "SPDX-License-Identifier:
Apache-2.0" (i.e., <!-- SPDX-License-Identifier: Apache-2.0 -->) above the
existing title "NiFi Setup and Configuration Guide" so the document clearly
carries the Apache-2.0 SPDX identifier.
---
Nitpick comments:
In `@Technical/Deployment-Guides/Nifi-Deployment-Guide.md`:
- Around line 32-34: Update the "Conclusion" section in
Technical/Deployment-Guides/Nifi-Deployment-Guide.md to expand it with four
short subsections: add a "Troubleshooting" bullet list of common issues and
fixes (controller service failures, AWS auth, DB connectivity), an "Additional
resources" list linking to official Apache NiFi docs and Tazama
architecture/deployment guides, a "Flow purpose" paragraph summarizing what the
NiFi flow does within the Tazama system context, and a "Next steps" checklist
for post-deployment actions (smoke tests, monitoring, alerting, and validation
steps); keep each subsection concise and actionable.
- Around line 27-30: Update the "4. Start All Processors" section to include a
pre-start checklist and basic troubleshooting: before instructing users to use
Shift+Click / Shift+Arrow Keys and the Operate -> Start action, add a short
checklist to verify all controller services are enabled and all parameter
contexts are configured and valid; add verification steps after starting
(confirm processor state is "Running", check bulletins pane for errors, and
validate expected data flow/activity); and add a brief troubleshooting
subsection with steps to check NiFi logs, confirm credentials/connection
settings, re-enable dependent services, and inspect processor-specific error
messages. Reference the existing "Start All Processors" heading and the
"Operate" menu/Start action when inserting these items so the new checks appear
immediately before and after the start instruction.
- Around line 1-34: Add a new "Prerequisites and Requirements" section
immediately before the existing "## 1. Configure AWS Credentials" header that
lists required NiFi version, minimum Docker and Docker Compose versions, AWS
account/permissions needed, and which database instances (and versions) must
exist; also add a brief "Architecture overview" paragraph that explains the
purpose of the NiFi flow in the Tazama system and high-level data movement;
finally add an "Access requirements" subsection that documents how to reach the
NiFi UI after Docker Compose (URL, port), any default credentials or how to
retrieve credentials/secrets, and any network or IAM access needed so readers
can access NiFi before following the "Configure AWS Credentials" steps.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9eb847b8-ef07-472f-acb5-3bbdbf16312b
📒 Files selected for processing (1)
Technical/Deployment-Guides/Nifi-Deployment-Guide.md
Signed-off-by: SamitSaleem <samit.saleem@paysyslabs.com>
SPDX-License-Identifier: Apache-2.0
What did we change?
Why are we doing this?
To improve the setup experience by providing clear configuration and startup instructions for NiFi deployments, reducing onboarding time and configuration errors.
How was it tested?
Summary by CodeRabbit
Summary by CodeRabbit