- Corrected nifi-registry-assembly configuration avoiding inclusion of libraries from nifi-registry-ranger-assembly when building with include-ranger
This closes#6481
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Excluding these configurations avoids unexpected runtime behavior when running Registry with the Apache Ranger plugin
Signed-off-by: Joe Witt <joewitt@apache.org>
- Replaced individual AWS SDK versions with root managed dependency version
- Set AWS SDK 1 version to 1.12.299
- Set AWS SDK 2 version to 2.17.270
- Suppressed false positive dependency vulnerability for aws-sdk-swf-libraries
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#6405.
- Moved refresh of Registry Configuration to checkLogin functions
- Refreshing Registry Configuration allows the user interface to reflect the correct status for OIDC and other authentication strategies
Signed-off-by: Nathan Gough <thenatog@gmail.com>
This closes#6295.
- Adding AWS SDK to list of included dependencies in Registry SPP directory avoids NoClassDefFound errors with encrypt-config
This closes#6309
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Added managed dependency in root Maven configuration
- Removed different versions from other Maven configurations
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#6284.
- Upgraded multiple GitHub Actions from Version 2 to 3
- Replaced Maven Cache step with cache feature in Setup Java Action
- Moved checkstyle and license checks from verify to validate phase in Maven execution
- Removed unnecessary contrib-check profile from nifi-registry
This closes#6202
Signed-off-by: Paul Grey <greyp@apache.org>
- Upgraded Spring Security from 5.7.1 to 5.7.2
- Upgraded Spring Boot from 2.7.0 to 2.7.1 for NiFi Registry
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#6165.
- Excluded slf4j-reload4j implementation of Log4j 1
- Updated nifi-hive3-processors to leverage shared Hadoop version from 3.1.1
- Updated nifi-accumulo-bundle to leverage shared Hadoop version from 3.1.1
- Updated nifi-atlas-bundle to leverage shared Hadoop version from 3.3.2
- Updated nifi-spark-receiver to leverage shared Hadoop version from 3.3.2
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#6139.
- Removed duplicate plugin configuration in nifi-registry
- Removed maven-failsafe-plugin override in nifi-elasticsearch-client-service
- Removed failing test ResourceAuthorizationFilterSpec in nifi-registry-web-api
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#6132.
- Upgraded Spring Security from 5.6.3 to 5.7.1
- Upgraded Spring Boot from 2.6.7 to 2.7.0 for NiFi Registry
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#6095.
* NIFI-9958 Implemented Sensitive Dynamic Properties
- Added SupportsSensitiveDynamicProperties annotation for components
- Added optional sensitive query parameter to Property Descriptor REST Resource methods
- Added system tests for components supporting sensitive dynamic properties
- Updated REST Resources to support Sensitive Dynamic Property Names
- Updated Documentation Writer to indicate component support for Sensitive Dynamic Properties
- Updated InvokeHTTP to support Sensitive Dynamic Properties
- Updated Auditor components to handle masking Sensitive Dynamic Properties
* Refactored Property Descriptor REST method handling
- Corrected AbstractDocumentationWriter evaluation of support for sensitive dynamic properties
- Refactored Controller Service Dynamic Properties system tests to new class
* Updated AbstractComponentNode.getProperties() to get canonical descriptor
* NIFI-10001: Fixed issue in which some components may fail to update the scheduled state when comparing flows
* NIFI-10001: Fixed bugs that caused some components to not have their scheduled state updated. When comparing two flows, now allow specifying how to determine a VersionedComponent's ID for comparison. When comparing local flow against flow from registry, use Versioned Component ID. But when comparing two instantiated flows, such as local flow vs. cluster flow, use the VersionedComponent's Instance ID instead. This ensures that we can properly compare two components even if there are several instances of a given flow
- Downgraded Jakarta Activation from 2.0.1 to 1.2.2 in nifi-bootstrap
- Updated assembly configurations to include Jakarta Activation in java11 directory
- Upgraded MySQL from 8.0.15 to 8.0.29
- Upgraded MariabDB from 2.4.1 to 3.0.4
- Upgraded PostgreSQL from 42.2.19 to 42.3.5
- Removed unsupported database version references from project README.md
- Added MariaDB 10.3 to list of Registry examples
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#6033.
- Removed version declarations from multiple modules
- Adjusted PutDynamoDB to remove catch for IOException not thrown in Commons IO 2.11.0
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#6015.
- Upgraded Spring Security from 5.6.2 to 5.6.3
- Upgraded Log4j 2 from 2.17.1 to 2.17.2
- Upgraded Spring Boot from 2.6.6 to 2.6.7 for NiFi Registry
Signed-off-by: Joe Witt <joewitt@apache.org>
- The nifi-xml-processing library is not provided in the nifi-registry lib directory
- The nifi-xml-processing library must be available to the instance ClassLoader for the RangerAuthorizer
This closes#5994.
Signed-off-by: Peter Turcsanyi <turcsanyi@apache.org>
- Removed unnecessary references to jackson.version property
- Removed unnecessary dependency management references to Jackson libraries
This closes#5992
Signed-off-by: Mike Thomsen <mthomsen@apache.org>
* NIFI-9883 Refactored property protection to isolated ClassLoader
- Added nifi-property-protection-loader for abstracting access to implementation classes using ServiceLoader
- Updated Authorizer and Login Identity Provider configuration using isolated ClassLoader
- Updated NiFi Properties Loader using isolated ClassLoader
- Updated nifi-assembly to place property protection dependencies in lib/properties directory
- Updated and refactored unit tests
- Corrected LoginIdentityProviderFactoryBean getObject() Type
- Refactored XML parsing to use providers from nifi-xml-processing
- Configured spotbugs-maven-plugin with findsecbugs-plugin in nifi-xml-processing
- Disabled Validate DTD in default configuration for EvaluateXPath and EvaluateXQuery
- Replaced configuration of DocumentBuilder and streaming XML Readers with shared components
- Removed XML utilities from nifi-security-utils
- Moved Commons Configuration classes to nifi-lookup-services
This closes#5962
Signed-off-by: Paul Grey <greyp@apache.org>
- Added Ubuntu Zulu JDK 17 GitHub build
- Adjusted MiNiFi C2 FileSystemConfigurationCache test to avoid using environment variables
- Adjusted MiNiFi StatusLogger and StatusLoggerTest to avoid overriding private logger
- Adjusted failure reason attribute check in TestGetIgniteCache
- Adjusted TestRangerAuthorizer and TestRangerNiFiAuthorizer to avoid checking nested exceptions
- Adjusted encrypt-config TestUtil to avoid unnecessary comparison of different types
- Disabled Javascript tests on Java 15 and higher
- Disabled several Hive 3 tests on Java 17 for StringInternUtils illegal access
- Refactored nifi-enrich-processors tests to use Mockito without Powermock
- Refactored nifi-toolkit-tls tests to avoid illegal reflective access
- Removed deprecated X509Certificate test in CertificateUtilsTest
- Removed kryo serialization from nifi-site-to-site-client test
- Updated TestHashContent to use SHA-1 instead of SHA for hash algorithm
- Upgraded maven-war-plugin from 2.5 to 3.3.2
- Upgraded nifi-graph-bundle dependencies from Groovy 2.5.14 to 3.0.8
- Upgraded QuestDB from 4.2.1 to 6.2.1 in nifi-framework-core
This closes#5870
Signed-off-by: Mike Thomsen <mthomsen@apache.org>
* NIFI-8899 - Add NiFi Registry version information to the Registry under an "about" button.
Add a new endpoint to the registry API that serves up the project version.
Add a new "about" button to the Registry layout that shows a dialog with
version information.
* NIFI-8899 - Change where the version information is retrieved from
Change from pulling the version information from the POM itself, set by having maven filter the properties file at build time, to getting it from the `NiFiRegistryApiApplication` class's `getImplementationVersion` method.
* NIFI-8899 - Remove unused dependency
Left in an extra import
* NIFI-8899 - Rebase and update npm dependencies
Rebased on top of main, merged new dependencies
Updated and locking Sass to 1.49.7
* NIFI-8899 - Update typescript
Updated typescript to something more modern. (latest)
* NIFI-8899 - Change Version to RegistryVersion
Changed plain 'Version' to be more explicit about whose version: Registry
Changed the url endpoint from 'version' to 'about' to make it more clear it's
not a versioned resource but information about the registry itself
* NIFI-8899 - Reflect new API in UI, look-and-feel, build-and-run script
API changes are now reflected in the UI
Bring the look-and-feel more inline with the Nifi about page.
It's not perfect, but it looks much better than before.
Update the build-and-run script for the registry to not actually run the
registry if the build didn't complete
* NIFI-8899 - Fix spacing, documentation
Removed unused import
Fixed param name in javadoc
Fixed spacing in HTML
* NIFI-8899 - Change to dialogService, fix styling
Changed close button to use raised accent styling
Moved dialog showing into nf-registry.api.js
Changed click call to show dialog using the api method
Showing the dialog now makes the api call before rendering.
* NIFI-8899 - Fixed styling, refactored the about dialog codepath
Changed close button to use raised primary style
Changed click call to use nf-regisry.js to call the api method
Removed the extra call to show the dialog.
Removed some comments and outdated references
Merged #5743 into main.
- Updated stateless and StandardProcessGroup, etc. to make use of VersionedExternalFlow
- Updated StatelessDataflowDefinition to use ExternalVersionedFlow instead of generic type
- Updated Stateless Bootstrap to avoid loading stateless engine libs from root class path but instead use a NarClassLoader to load the statelss nar
Signed-off-by: Joe Gresock <jgresock@gmail.com>
This closes#5832.
- Upgraded Spring Security from 5.6.1 to 5.6.2
- Upgraded Spring Boot from 2.6.3 to 2.6.4 in NiFi Registry
- Upgraded Spring Data Redis from 2.6.0 to 2.6.2
- Upgraded Spring Integration from 5.5.7 to 5.5.9
This closes#5835
Signed-off-by: Mike Thomsen <mthomsen@apache.org>
* NIFI-9543: add bring-to-front functionality to labels
* NIFI-9543: update zIndex changes to persist after shutdown
* NIFI-9543: remove commented code
* NIFI-9543: update flow comparator and snippet to account for zIndex
* NIFI-9543: changed add function to sort labels when a new label is added
* NIFI-9543: remove unnecessary call to position
* NIFI-9543: only register difference if zIndex is not default value
* NIFI-9543: add null checks to prevent primitive Long
This closes#5765
- all ViewCild queries are decorated with {static: true} which is needed because of new angular version
none of these ViewChild under *ng directives so they are available during init with static:true
Merged #5831 into main.
- Added nifi-h2-database module shading H2 1.4.200
- Implemented version checking and migration
This closes#5724
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Moved commons-lang3 version management to root Maven configuration
- Refactored limited usage of StringUtils is nifi-reporting-utils to remove commons-lang3
- Refactored limited usage of StringUtils in nifi-websocket-processors to remove commons-lang3
Signed-off-by: Matthew Burgess <mattyb149@apache.org>
This closes#5773
update lintin
update font awesome path
bump nifi-fds version
update nifi deps
update frontend maven plugin
change CI npm cache restore keys so that we will not use cached directories for older versions of node
This closes#5751.
Signed-off-by: Kevin Doran <kdoran@apache.org>
- Removed moquette-broker and refactored tests
- Upgraded docker-compose-rule-junit4 to 1.7.0 for Maven Central retrieval
- Changed JSTL dependency groupId for Maven Central retrieval
Signed-off-by: Joe Gresock <jgresock@gmail.com>
This closes#5719.
- Upgraded Spring Framework from 5.3.14 to 5.3.15
- Upgraded Spring Boot from 2.5.8 to 2.6.3 in Registry
- Upgraded Jersey from 2.33 to 2.35
- Upgraded Jackson from 2.12.5 to 2.13.1
Signed-off-by: Nathan Gough <thenatog@gmail.com>
This closes#5723.
- Corrected several missing return statements
- Increased Maven heap size to 3 GB for ci-workflow
This closes#5700
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Switch ExtensionManifestParser implementation to use JAXB instead of Jackson XML
- Fix handling of older NARs that don't have newer fields in ExtensionManifest
- Add response merging for runtime-manifest REST end-point, remove commons-lang3 from c2 dependencies
This closes#5630
Signed-off-by: David Handermann <exceptionfactory@apache.org>
Update Docker Hub Dockerfiles for MiNiFi, MiNiFi C2, and Registry
to reflect new default binary download locations.
Also, make mirror base url configurable to streamline the RM process.
Signed-off-by: Joe Witt <joewitt@apache.org>
Without define the jcl-over-slf4j runtime dependency, the assembly plugin will not copy the jcl jar to the ranger lib directory,
which cause NoClassDefFoundError in some cases
This closes#5663
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Added nifi-property-protection-api with provider interfaces
- Added nifi-property-protection-factory with implementation references
- Added ProtectionSchemeResolver for abstracting conversion from command arguments
- Refactored PropertyProtectionScheme to package private visibility
- Refactored multiple unit test and removed provider integration tests
- Renamed AESSensitivePropertyProvider to AesGcmSensitivePropertyProvider
- Added getSupportedProtectionSchemes() to StandardProtectionSchemeResolver
- Updated command argument descriptions for protection schemes to include supported values
Signed-off-by: Joe Gresock <jgresock@gmail.com>
This closes#5650.
- Centralized Spring Framework and Spring Security versions using BOM dependencies
- Upgraded Spring Security from 5.5.2 to 5.6.1
- Upgraded Spring Boot from 2.5.5 to 2.5.8 in Registry
- Upgraded Spring Integration from 5.5.2 to 5.5.7
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#5631.
NIFI-9502 Move ExtensionManifest parser and impl from nifi registry into common module
NIFI-9502 Add jigsaw profile to nifi-extension-manifest-model in order to build on Java 11
Add apache license header to test resources
Signed-off-by: Matthew Burgess <mattyb149@apache.org>
This closes#5619
- Write additional fields to extnesion-manifest.xml for processors
- Update C2 model classes to support new fields for processors, properties, and scheduling
- Create converter between NiFi model and C2 model
- Create generator and execute during the build
Add profile to nifi-assembly that skips the binary assembly, update github workflow to enable this profile instead of excluding nifi-assembly
Add additional documentation on new fields in processor definition and reporting task definition
Set charset to UTF-8 on the OutputStreamWriter
Signed-off-by: Matthew Burgess <mattyb149@apache.org>
This closes#5612
* [NIFI-8821] Registry - Sorting the grid-list no linger expands the listed buckets
- gitignore is added to support dev UI run with npm
* - trackByFn is specified for ngForOf to help td-expansion-panel to track elements after sorting
* - adding trackByFn to all grid list view component codes
Merged #5611 into main.
- Added log4j-core to list of banned dependencies
- Added log4j-to-slf4j for Elasticsearch 5 processors to support runtime logging
Signed-off-by: Joe Witt <joewitt@apache.org>
- Add log4j-bom to root Maven configuration
- Remove previous overrides in favor of log4j-bom in root Maven configuration
This closes#5598
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Changed framework so that it serializes the dataflow into a VersionedDataflow using JSON as well as XML, and prefers the JSON representation on load, if it's available. This also results in the need for the cluster protocol to exchange its representation of the dataflow to using JSON. Rather than re-implementing all of the complex logic of Flow Fingerprinting, updated to just inherit the cluster's flow.
- Moved logic to synchronize Process Group with Versioned Process Group into a new ProcessGroupSynchronizer class instead of having all of the logic within StandardProcessGroup
- Reworked versioned components to use an instance id.
- Renamed StandardFlowSynchronizer to XmlFlowSynchronizer; introduced new StandardFlowSynchronizer that delegates to the appropriate (Xml or Versioned)FlowSynchronzer
- Updated to allow import of VersionedProcessGroup even if not all bundles are available - will now use ghost components
- Introduced a VersionedDataflow object to hold controller-level services, reporting tasks, parameter contexts, templates, etc.
- Allow mutable requests to be made while nodes are disconnected. Also fixed issue in AbstractPolicyBasedAuthorizer that caused ClassNotFoundException / NoClassDefFoundError if the authorizations were changed and then a node attempts to rejoin the cluster. The Authorizer was attempting to use XmlUtils, which is in nifi-security-utils and so so by madking nifi-security-utils a provided dependency of nifi-framework-api, but this doesn't work, because nifi-framework-api is loaded by a higher-level classloader, so the classloader that loads AbstractPolicyBasedAuthorizer will never have the appropriate classloader to provide nifi-security-utils. Addressed this by copying the code for creating a safe document builder from XmlUtils to AbstractPolicyBasedAuthorizer.
- Fixed bug that occurred when importing a Process Group that has 2 parameter contexts, one inheriting from another, where neither is pre-defined in the existing flow
- Fixed bug that was encountered when Updating a Versioned Process Group where one version had a disabled processor and the other had the processor running.
- Increased system-tests workflow timeout to 120 minutes
- Added additional exception handling to system tests
This closes#5514
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Registry bootstrap imports Material Icons font from covalent/core instead of material-design-icons
This closes#5500
Signed-off-by: Scott Aslan <scottyaslan@gmail.com>
- Replaced Netty 3.6.9 and 3.7.1 with 3.10.6
- Replaced Netty 4.1 with 4.1.69
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#5490.
- Upgraded Spring Security from 5.5.1 to 5.5.2
- Upgraded Spring Boot from 2.5.2 to 2.5.5 in Registry
- Upgraded Spring Data Redis from 2.5.3 to 2.5.5 in Redis modules
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#5463.
- A few minor updates to Stateless in order to surface some concepts from the stateless engine up to the caller, such as bulletins, counters, etc.
Signed-off-by: Joe Gresock <jgresock@gmail.com>
This closes#5412.
- Adjusted OWASP dependency-check suppressions to match Registry and MiNiFi packages
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#5431.
- Added EncodedSensitivePropertiesProvider with Base64 encoding methods
- Added ClientBasedEncodedSensitivePropertiesProvider with validate method
- Abstracted client configuration to ClientProvider interface and implementations
- Added unit tests for AWS and Azure Property Providers
NIFI-9184 Adjusted abstract provider class names and updated documentation
Signed-off-by: Nathan Gough <thenatog@gmail.com>
This closes#5363.
- Updated nifi-mock to be exclusively JUnit 5
- Updated a few modules to demonstrate a successful conversion to all JUnit 5
This closes#5304
Signed-off-by: David Handermann <exceptionfactory@apache.org>
NIFI-8671 Moved versioned components class into nifi-api
- Removed @XmlRootElement from VersionedProcessGroup.
- Fixed nifi-api dependency version in nifi-registry-data-model. Changed logic of handling instances of un-annotated classes during xml serialization in JAXBSerializer.
- Added dependency management override for Groovy 2.4.21 in Hive Processors
- Upgraded TinkerPop Gremlin to 3.5.1 in graph bundle to depend on Groovy 2.5.14
- Adjusted TlsHelperGroovyTest variable declaration to avoid compiler warnings
Signed-off-by: Matthew Burgess <mattyb149@apache.org>
This closes#5276
- Upgraded direct and transitive dependencies from 1.20 and earlier to 1.21
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#5273.
- Updated MiNiFi references to use shared parent dependency version
- Updated direct dependencies from 1.28 to 1.29
- Added dependency management declarations where necessary to override transitive versions
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#5275.
- Upgrades Spring Framework from 5.3.8 to 5.3.9
- Upgrades Spring Security from 5.4.6 to 5.5.1
- Upgrades Spring Boot from 2.5.1 to 2.5.2 in Registry
- Upgrades Spring Data Redis from 2.5.1 to 2.5.3
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#5252.
- include new process group property support in NiFi Registry
- updated documentation to describe and show new feature
- added elements to XSD schema definition
NIFI-8195: update to DAO to fix PG move and copy/paste
update condition to not null vice null
Signed-off-by: Matthew Burgess <mattyb149@apache.org>
This closes#5192
- Added REST endpoints in BucketFlowResource for importVersionedFlow and exportVersionedFlow.
- Added import and export dialogs.
- Set the initial value for the Bucket dropdown menu in the Import dialogs.
- Added frontend and backend integration tests.
- Created ExportedVersionedFlowSnapshot object.
- Added test resource file and updated rat configuration to skip the file during contrib-check.
- Refactored frontend and server side code.
- Updated Flow Actions menu hover and focus styles.
Adjusted the following libraries to share dependency versions:
- Bouncy Castle
- Groovy
- Jackson
- Jetty
- Jersey
- SLF4J
- Maven Surefire Plugin
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#5112.
NIFI-8528 Migrate NiFi Registry fully codebase into NiFi as a module. No changes except certain dependency scopes to preserve the NiFi Registry original by overriding the new parent (nifi).
- Version adjustments. Removed distinct checkstye rules form nifi-registry. (Using nifi's instead.)
- Made some tests Windows-compatible.
- Consolidated LICENSE, NOTICE and README.md.
- Fixed CryptoKeyLoaderGroovyTest.groovy.
- Disable frontend-maven-plugin on Windows.
- Skipping all goals of the frontend-maven-plugin on Windows.
- Registry integration tests not to run in github jobs (same as the original settings). Skip all registry tests (build and run) on Windows.
- Removed Husky from registry.