Commit Graph

111 Commits

Author SHA1 Message Date
Ferenc Gerlits 3b3e74d46b
NIFI-13824 Installed Python Processor Dependencies with one command
If a Python processor defines dependencies both inline and in a
requirements.txt file, then we need to install the two groups of
dependencies in a single `pip install` command, otherwise pip is
not able to resolve the web of dependencies correctly.

- Added setup-python step with Python 3.12 to ci-workflow for consistent version behavior

This closes #9429

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-10-26 09:15:30 -05:00
Matt Gilman 39ab3129f0
NIFI-13632: Updating content access. (#9221)
* NIFI-13632: Updating content access.
- Removing existing content viewer application.
- Introduced new front end based content viewer applicaiton.
- Introduced new bundled content viewers for hex and images.
- Deleted previous image content viewer.
- Migrated existing standard content viewer (which handles json, xml, yaml, csv, and text) to utilize new content access interface.
- Moved standard content viewer into its own NAR.
- Moved and renamed custom ui utils and content viewer utils into nifi-common.
- Added mime type to FlowFileSummary response payload to help drive the initially opened content viewer.

* NIFI-13632: Fixing rat issue.

* NIFI-13632: Fixing CI issue.

* NIFI-13632: Removing standard content viewer war from code coverage.

* NIFI-13632: Addressing review feedback.

* NIFI-13632: Fixing import.

* NIFI-13632: Further simplification of content viewer state.

* NIFI-13632: Removing unneeded code.

* NIFI-13632: Adding a min height around codemirror.

* NIFI-13632: Addressing review feedback.
- Rendering mime type in the content viewer.
- Preventing additions to the browser history as the user changes how the content is viewed.
- Appending forward slash to content viewer UIs to prevent unnecessary redirect.
- Removing Standard Content Viewer title based on review feedback.
- Fixing double scroll bar in the Standard Content Viewer on small browser heights.
- Removed unnecessary application.yml.
- Bumping spring boot version.

This closes #9221
2024-09-06 09:12:38 -04:00
Joseph Witt e4ec0cb20d
NIFI-13651 Moved framework-related modules under framework-bundle
- Removed references to nifi-property-utils under nifi-extension-bundles

This closes #9169

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-08-16 13:44:13 -05:00
Matt Gilman da6c9c4791
NIFI-13017: Replace JoltTransformJSON custom UI (#9117)
* NIFI-13017:
- Remove old JoltTransformJSON custom UI.
- Update build to use new JoltTransformJSON custom UI.
- Fix revision query parameter.

* NIFI-13017:
- Excluding jolt transform json ui in workflow ci.

* NIFI-13017:
- Excluding jolt nar in workflow ci.

* NIFI-13017:
- Excluding jolt ui war from code coverage.

* NIFI-13017:
- Incorporating nifi-web-servlet-shared.
- Moving QueryStringToFragmentFilter to nifi-web-servlet-shared.

This closes #9117
2024-08-06 13:51:41 -04:00
exceptionfactory 7e200fa34e
NIFI-13601 Added code-coverage workflow
- Rescheduled docker-tests to weekly execution
- Removed scheduled execution of other testing workflows

Signed-off-by: Chris Sampson <chris.sampson82@gmail.com>

This closes #9126
2024-07-31 09:08:43 +01:00
Bryan Bende 94f8688545
NIFI-13581 Remove Parameter Contexts and Providers in destroyFlow of NiFiSystemIT (#9110)
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-07-24 18:51:49 -05:00
exceptionfactory e4014b5525
NIFI-13493 Removed dependency-check GitHub workflow
This closes #9037

- Upgraded dependency-check plugin from 9.1.0 to 10.0.1

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-07-03 16:27:05 -07:00
exceptionfactory af6964642a
NIFI-13457 Removed nifi-python-extensions
This closes #9013

- Python Processors migrated to new nifi-python-extensions repository

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-06-26 13:33:49 -07:00
David Handermann 42c0aa6aa7
NIFI-12125 Refactored Framework SSLContext Loading (#8967)
- Added Framework SSLContext Provider for centralized loading
- Refactored Spring Framework XML to Java Configuration
- Removed Jetty StoreScanner
2024-06-25 16:08:04 -04:00
exceptionfactory 49a0401058
NIFI-13414 Removed Property Protection Modules and Encrypt Config
This closes #8978

- Removed nifi-property-protection-api and implementation modules
- Removed nifi-toolkit-encrypt-config and minifi-toolkit-encrypt-config modules
- Removed extra bootstrap.conf configuration files for property protection implementations

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-06-20 13:04:00 -07:00
Matt Gilman 406dbced3b
NIFI-13354: (#8936)
- Moving NiFi front end source into a top level maven module. This prepares for the introduction of other UIs that NiFi offers (like Custom UIs, Data Viewers, etc) to be colocated and share common components, styles, and dependencies.
- The nifi-web-frontend module which produces the war that is included in the server nar now no longer contains any source. It simply depends on the new nifi-frontend artifact that bundles all built UIs and unpacks its contents into the resulting war.
- Renaming nifi-web-frontend to nifi-ui. Now nifi-frontend at the top level will hold all frontend apps. In this commit the nifi app in nifi-frontend is bundled into a war called nifi-ui.

This closes #8936
2024-06-07 16:25:07 -04:00
Matt Gilman 5727116aa0
NIFI-13313: Remove old UI (#8906)
* NIFI-13313:
- Use nifi-web-frontend as the default UI hosted at /nifi no longer deploying nifi-web-ui.

* NIFI-13313:
- Adding logout complete page.
- Updating backend to redirect to new logout complete page.

* NIFI-13313:
- Remove nifi-web-ui module.

* NIFI-13313:
- Updating LICENSE and NOTICE files for dependencies that are no longer included.

* NIFI-13313:
- Updating README.
- Updating proxy config to mirror actual context path.

* NIFI-13313:
- Establishing rewrite rules for redirecting logout complete.
- Setting the default handler for when a request isn't handled to redirect the user to /nifi.

* NIFI-13313:
- Removing nifi-web-error module.

* NIFI-13313:
- Restoring /nifi/logout-complete path.

* NIFI-13313:
- Adding an error handler for the ui which handles redirects to a 404 page.

This closes #8906
2024-06-05 09:09:01 -04:00
Matt Gilman 3a786cee23
NIFI-13211: Decoupling other UIs from exiting NiFi UI (#8828)
* NIFI-13211:
- Decoupling the content viewer from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.

* NIFI-13211:
- Decoupling nifi documentation from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.

* NIFI-13211:
- Decoupling nifi image viewer from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.

* NIFI-13211:
- Decoupling nifi standard content viewer from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.

* NIFI-13211:
- Decoupling nifi jolt transform json from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.

* NIFI-13211:
- Decoupling nifi update attribute from the NiFi UI which is currently pulling in shared dependencies, scripts, styles, and images.

* NIFI-13211:
- Updating rat config.

* NIFI-13211:
- Bumping dependency check timeout.

* NIFI-13211:
- Since this page is included through the context viewer, the dependency imports must directly reference through its context path.

* NIFI-13211:
- Since this page is included through the context viewer, the dependency imports must directly reference through its context path.

This closes #8828
2024-05-14 15:54:23 -04:00
Joseph Witt 03005aa132
NIFI-13185 Removed manual and non-working Integration Tests
Removed the entire integration-tests-ci profile and reference in GitHub workflow.

Removed all tests which require specific local env configs/cloud credentials/ or simply do not work and thus have been blocked from the build for a long time.

Set Disabled annotation on a couple key tests which are by design manual and must be retained.

The move to testcontainers has been a dramatic improvement in test reliability/behaviors and should be a model for all such tests going forward.

This closes #8818

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-05-11 20:51:41 -05:00
exceptionfactory 196f6bb6b1
NIFI-13209 Corrected system-tests workflow paths for framework
This closes #8806

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-05-10 11:36:50 -07:00
exceptionfactory 5f9f5247d6
NIFI-13210 Added CODECOV_TOKEN to GitHub Workflow
- Set Codecov action to be conditional based on running in the context of the Apache organization

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #8808.
2024-05-10 20:23:18 +03:00
Joseph Witt 87776e369e
NIFI-13171 Removed nifi-kafka-connector in nifi-external module
This closes #8800

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-05-10 08:08:12 -05:00
exceptionfactory b259e2ae73
NIFI-13160 Corrected frontend changes evaluation in ci-workflow
This closes #8761.

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-05-07 08:35:47 -07:00
exceptionfactory 6b8c19c761
NIFI-13160 Support Skipping Frontend Unit Tests
This closes #8757

- Added frontend.skipTests property to nifi-web-frontend Maven configuration with default value of false
- Configured lint and unit-test execution goals to depend on frontend.skipTests
- Added paths-filter GitHub Actions step for conditional enabling of frontend tests

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-05-06 16:26:55 -07:00
Matt Gilman b0ace45b55
NIFI-13147
Remove include-new-ui profile and include it by default always.
This closes #8749.

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-05-06 09:53:52 -07:00
Joseph Witt 42a4385c82
NIFI-12998 Restructured framework and extension modules
Simplified dependency management into Bill of Material dependencies as parents that align to classloader structures.

- Moved nifi-framework-bundle to root level
- Moved nifi-nar-bundle modules to root nifi-extension-bundles
- Added nifi-extension-bom for internal and external extensions
- Added nifi-framework-nar-bom and nifi-server-nar-bom for managing framework dependencies
- Renamed nifi-jetty-bundle to nifi-jetty-nar

This closes #8677

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-04-26 12:12:48 -05:00
Matt Gilman cde820673c
NIFI-13089: Updating PR Template and README for new UI (#8693)
* NIFI-13089:
- Updating PR Template and README for new UI.

* Update nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/README.md

Reformatting the code structure layout.

Co-authored-by: Rob Fellows <rob.fellows@gmail.com>

---------

Co-authored-by: Rob Fellows <rob.fellows@gmail.com>

This closes #8693
2024-04-23 15:42:29 -04:00
exceptionfactory 014d539b5e
NIFI-12824 Removed ExecuteStateless Processor and NAR
This closes #8434

Removed nifi-stateless-nar from nifi-assembly

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-02-20 17:02:05 -07:00
exceptionfactory 1124728ff7
NIFI-12821 Set docker-maven-plugin version to 0.43.4
This closes #8429.

- Reduced docker-tests timeout from 120 to 60 minutes

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-02-20 09:16:56 -07:00
Joseph Witt 4dfbe05641
NIFI-12753 Updated GitHub Actions to current versions
- Upgraded cache from 3 to 4
- Upgraded CodeQL from 2 to 3
- Upgraded Codecov from 3 to 4
- Upgraded upload-artifact from 3 to 4
- Upgraded stale from 6 to 9

This closes #8373

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-02-08 16:20:50 -06:00
exceptionfactory 202ca3c638
NIFI-12752 Updated GitHub Workflows to use macos-14
- Upgraded setup-java action from v3 to v4
- Upgraded setup-python action from v4 to v5
- Updated system-tests to use Python 3.10 instead of Python 3.9

This closes #8371

Signed-off-by: David Handermann <exceptionfactory@apache.org>
Signed-off-by: Joe Witt <joewitt@apache.org>
2024-02-07 13:59:16 -06:00
exceptionfactory 3fcf5f25b4
NIFI-12657 Removed MiNiFi C2 Server modules
This closes #8291.

Signed-off-by: Joseph Witt <joewitt@apache.org>
2024-01-22 17:51:29 -07:00
Mark Payne 2acc1038c9
NIFI-12616 Added Processor Documentation Support for Python
- Added some Use Case docs for Python processors and updated Runtime Manifests to include Python based processors as well as Use Case/MultiProcessorUseCase documentation elements. Refactored/cleaned up some of the Python code and added unit tests.

- Added python-unit-tests profile and enabled on Ubuntu and macOS GitHub workflows

This closes #8253

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-01-18 19:12:05 -06:00
Rob Fellows 4bba7e6188
[NIFI-12419] - Only include the new UI module when building if the 'include-new-ui' profile is active. (#8069)
* [NIFI-12419] - Only include the new UI module when building if the 'include-new-ui' profile is active. Also update the ci-workflow.yaml to activate that profile.

* add the profile activation to the Maven Build command

This closes #8069
2023-11-27 20:18:31 -05:00
exceptionfactory 5554bab516
NIFI-12192 Added Codecov Reporting with JaCoCo
- Added report-code-coverage profile to nifi-assembly for aggregation
- Added Codecov reporting to Ubuntu Linux Job in ci-workflow
- Added Codecov badge to README.md

This closes #7995

Signed-off-by: Chris Sampson <chris.sampson82@gmail.com>
2023-11-08 19:49:51 +00:00
exceptionfactory b50557b854
NIFI-12321 Avoid Exceptions when removing Python Processors (#7984)
- Updated StandardPythonBridge.onProcessorRemoved to avoid throwing exceptions when called with a Processor Type and Version that is not registered
- Updated system-tests workflow to run on changes in the nifi-py4j-bundle
2023-11-06 16:17:41 -05:00
Mark Payne 5bcad9eef3
NIFI-12240 Added Python Processors for Docs, ChatGPT, Chroma, and Pinecone
Created new python processors for text embeddings, inserting into Chroma, querying Chroma, querying ChatGPT, inserting into and querying Pinecone. Fixed some bugs in the Python framework. Added Python extensions to assembly. Also added ability to load dependencies from a requirements.txt as that was important for making the different vectorstore implementations play more nicely together.

Excluded nifi-python-extensions-bundle from GitHub build because it requires Maven to use unpack-resources goal, which will not work in GitHub because it uses mvn compile instead of mvn install

- ParseDocument
- ChunkDocument
- PromptChatGPT
- PutChroma
- PutPinecone
- QueryChroma
- QueryPinecone

NIFI-12195 Added support for requirements.txt to define Python dependencies

This closes #7894

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-11-01 16:17:36 -05:00
Chris Sampson df3f5b4638
NIFI-12299 Run integration-tests when assemblies are updated
This closes #7962

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-11-01 11:24:46 -05:00
exceptionfactory 0e1ae2bd6f
NIFI-12276 Addressed Dependency Check Findings
- Added dependency-check GitHub workflow
- Upgraded Janino Commons Compiler from 3.1.9 to 3.1.10
- Upgraded Azure SDK BOM from 1.2.16 to 1.2.17
- Upgraded GCP SDK BOM from 26.17.0 to 26.25.0
- Upgraded AWS SDK from 1.12.550 to 1.12.573
- Upgraded Hazelcast from 5.3.2 to 5.3.5
- Upgraded Jersey from 2.40 to 2.41
- Upgraded Camel Salesforce from 3.14.5 to 3.14.9
- Unified ZooKeeper versioning on 3.9.1
- Applied Groovy 2.4.21 to Hive 3 and Iceberg components
- Applied gRPC version 1.59.0 to Asana components
- Applied Jettison 1.5.4 to Atlas and Hive 3 components
- Managed JUnit 4 version to 4.13.2 for MockWebServer
- Excluded HBase libraries from Hive 3 following Iceberg approach
- Excluded Htrace from HBase components
- Upgraded OWASP Dependency Check from 8.4.0 to 8.4.2
- Removed non-applicable dependency check suppressions
- Added dependency check suppressions for non-applicable findings

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #7948.
2023-10-27 16:21:38 -07:00
exceptionfactory 39898d1ee2
NIFI-12278 Added CodeQL to Static Analysis Job
This closes #7934

Signed-off-by: Chris Sampson <chris.sampson82@gmail.com>
2023-10-26 19:30:04 +01:00
Chris Sampson 4ff4f77dd8
NIFI-12191 Simplified integration-tests and docker-tests Workflows
This closes #7920

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-24 09:19:38 -05:00
Chris Sampson ed3a70c985
NIFI-12178 Add integration-tests and docker-tests GitHub Workflows
Use Java Zulu distribution for all docker-tests and integration-tests Github Workflows

This closes #7858

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-21 17:10:28 -05:00
Paul Grey 88bdeee219
NIFI-12200 Removed module nifi-toolkit-tls
This closes #7879

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-10-19 00:01:22 -05:00
Mark Payne 3ae0eedee6
NIFI-12124: This closes #7791. Added a new RenameRecordField processor. In testing, also noticed that the Descendant Wildcard operator (//*) and Descendant Field Path Operator (//name, for instance) did not properly account for array of records or map elements, so addressed those concerns.
Signed-off-by: Joseph Witt <joewitt@apache.org>
2023-10-13 14:02:55 -07:00
Nandor Soma Abonyi 4b0c8bf6af
NIFI-12114 Create separate test instance for python extensions
Signed-off-by: Arpad Boda <aboda@apache.org>

This closes #7780
2023-09-27 11:40:13 +02:00
Joseph Witt e5894cf943
NIFI-12053 Updated Minimum Build Version to Java 21
- Configured GitHub Workflows with Azul Zulu and Amazon Corretto
- Added bootstrap.conf option for reflective access supporting Hive 3

This closes #7744

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-09-19 22:59:59 -05:00
exceptionfactory 3a6f86f599 NIFI-11908 Updated GitHub Build HTTP Settings
- Replaced Maven Wagon properties to Maven Native HTTP properties as required for Maven 3.9
- Removed the deprecated disableXmlReport argument

Signed-off-by: Matt Burgess <mattyb149@apache.org>

This closes #7573
2023-08-03 15:53:16 -04:00
exceptionfactory b6b621bf9e
NIFI-11717 Updated Required Java Version to 17.0.6
- Added Groovy Plugin Repository for groovy-eclipse-compiler

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #7397.
2023-06-19 10:19:55 +02:00
Paul Grey 7ba33a742c
NIFI-11698 Changed GitHub MacOS and Windows timeouts to 150 mins
This closes #7386

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-06-15 20:34:02 -05:00
exceptionfactory 63452da617
NIFI-11689 Added Maven Wrapper with Maven 3.9.2 (#7378) 2023-06-14 15:42:27 -04:00
Mark Payne 108f841525
NIFI-11591 Corrected intermittent system test failures
When waiting for a Processor to stop completely in system tests, also consider any terminated threads. Consider the processor stopped only when all active threads and all terminated threads have gone to 0. Additionally, when stopping all components in a Process Group, wait for the PG to reflect that there are no running components.  Previously, we checked for processor active thread counts. However, this was problematic because the flow that was fetched was not fetched recursively and as a result, processors running in embedded groups were not always stopped when the waitForProcessorsStopped(String groupId) method returned. Finally, removed the step for gathering surefire-reports in failed system tests because it was not working as expected and was unneeded because the tests' logs were already gathered into the diagnostic dump that is uploaded.

Added fix for BatchFlowBetweenGroupsIT. The test would intermittently fail, based on timing. The test assumed that when Input Port in Group B was scheduled to run, it would trigger before FlowFiles in Group A finished processing. The Sleep processor caused a 10 ms delay for each of 5 FlowFiles which gives the Input Port about 50 ms to trigger. If it took longer to trigger the first time, the test failed. Adjusted the Sleep processor to use 2 seconds. So now instead of 50 milliseconds to start, it has 10 seconds. Overall this adds about 30-45 seconds to the run time of the test but ensures more-than-adequate time for the test to run, even on extremely slow hardware

This closes #7289

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-05-24 14:03:07 -05:00
Mark Payne a12c9ca9c7
NIFI-11557: Avoid using the expensive and unnecessary Files.walkFileTree on startup and initialization of Content Repository. Also performed some code cleanup: IntelliJ flagged many warnings in the class, mostly around methods that are no longer used and potential NullPointerExceptions, so those were cleaned up. Additionally, removed the nifi property for max flowfiles per claim - this property was never implemented. It was referenced, but the way in which is was used curiously had nothing to do with what the property was intended to be used for or for how it was documented. Instead, it was used to limit the max number of claims that could remain writable. As a result, it was removed.
NIFI-11557: Added an additional system test and updated github actions to include surefire-report in order to help diagnose problem that occurred in one of the last system-test runs in Github. Could not replicate problem locally
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #7265
2023-05-23 14:29:29 -04:00
Mark Payne 7f7cccfdc2
NIFI-11241 Initial implementation of Python-based Processor API with Py4J
- Updated GitHub workflow so that system tests include Python 3.9
- Updated GitHub actions to build necessary modules for system tests

This closes #7003

Co-authored-by: David Handermann <exceptionfactory@apache.org>
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-04-14 15:03:34 -05:00
exceptionfactory 0afd1557e1
NIFI-11316 Removed Admin Toolkit Commands (#7065) 2023-03-29 16:04:30 -04:00
exceptionfactory a13c2cf010
NIFI-11257 Enable Maven HTTP pooling and additional retries (#7020)
* NIFI-11257 Enabled Maven HTTP pooling and additional retries

- Enabled HTTP connection pooling for Maven Wagon
- Configured 30 second timeout for HTTP pooled connection lifespan
- Enabled 5 retries for HTTP connections
- Set maximum connection per route to 5 instead of 20
- Enabled retry for sent HTTP requests
2023-03-08 11:36:40 -05:00