- Add NarPersistenceProvider to framework API with standard implementation
- Add NarManager to orchestrate interactions with the persistence provider and framework
- Add REST API for upload, download, list, and delete of custom NARs
- Add CLI commands for call these REST APIs
- Implement an upload request replicator for replicating a file upload across the cluster
- Update ExtensionManager, NarLoader, and JettyServer to support unloading a NAR
- Add ability to replace a NAR in place by unloading components, loading new NAR, and reloading components
- Add system tests for uploading a NAR and verifying other APIs
- Add NAR digest to NarNode and summary DTO, fix bug in digest utils
- Sync NARs from cluster coordinator when joining the cluster
This closes#9017
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Replaced PS512 algorithm based on RSASSA-PSS with EdDSA algorithm using Ed25519
- Added Ed25519 Signer and Verifier implementations based on Java Signature processing
This closes#8986
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>
* NIFI-13373:
- Adding support for banner text.
* NIFI-13373:
- Prettier.
* NIFI-13373:
- Removing unused property.
* NIFI-13373:
- Defining reponse payload when loading banner text.
- Removing banner text from login, logout, and error pages.
* NIFI-13373:
- Only loading the banner text when necessary.
This closes#8947
- Upgraded Maven plugins
- Upgraded SpotBugs from 4.7.3.5 to 4.8.5.0
- Upgraded asciidoctor-maven-plugin from 2.2.4 to 3.0.0
- Upgraded license-maven-plugin from 2.2.0 to 2.4.0
- Upgraded download-maven-plugin from 1.7.1 to 1.9.0
- Upgraded maven-clean-plugin from 3.3.1 to 3.3.2
- Upgraded frontend-maven-plugin from 1.14.2 to 1.15.0
- Upgraded hisrc-higherjaxb40-maven-plugin from 2.1.1 to 2.2.0
- Upgraded jacoco-maven-plugin from 0.8.11 to 0.8.12
- Upgraded swagger-maven-plugin-jakarta from 2.2.20 to 2.2.21
- Upgraded swagger-codegen-maven-plugin from 3.0.52 to 3.0.55
This closes#8797
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* NIFI-5302 Added Support for Client Credentials Flow with OIDC
- Added JwtDecoder implementation supporting delegation based on Issuer
* NIFI-5302 Added Client Credentials Grant Type section to OIDC docs
* NIFI-5302 Replaced deprecated OkHttp3ClientHttpRequestFactory
This closes#8644.
- Updated Controller.py main function to join non-daemon threads avoiding RuntimeError on Python 3.12
- Replaced deprecated find_module method with find_spec
- Updated documentation to include support for Python 3.12
Signed-off-by: Joseph Witt <joewitt@apache.org>
- Moved nifi-hive-test-utils to nifi-iceberg-test-utils
- Removed nifi-hive-bundle and include-hive3 profile
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#8588.
* NIFI-11443 Routed Python Framework Logging to SLF4J
- Changed Python logging to use standard output stream
- Adjusted Python logging format for simplified processing
- Updated PythonProcess to pipe standard error and standard output streams to reader
- Added Log Reader command with Virtual Thread for each Python Process
- Removed Python log properties from NiFi Properties configuration
Fixed issue in NiFiPythonGateway that stems from the fact that the thread adding an object to the JavaObjectBindings was not necessarily the thread removing them. The algorithm that was in place assumed that the same thread would be used, in order to ensure that an object could be unbound before being accessed. The new algorithm binds each new object to all active method invocations and only unbinds the objects after all method invocations complete, regardless of thread. Additionally, found that many method calls could create new proxies on the Python side, just for getter methods whose values don't change. This is very expensive, so introduced a new @Idempotent annotation that can be added to interface methods such that we can cache the value and avoid the expensive overhead.
This closes#8456
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Added Spring Security PKCE OAuth2 Request Customizer to standard Resolver
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#8324.
- 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>
- Updated Expression Language Guide to note the available system property providing the current framework version according to the Framework NAR version
This closes#8101
Signed-off-by: David Handermann <exceptionfactory@apache.org>