* 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
* 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
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>
- 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>
- Removed bytebuddy as was only there due to Jackson 2.17.0 mistake
- io.grpc context 1.59.0 to 1.59.1
- com.amazonaws 1.12.715 to 1.12.716
- software.amazon.awssdk 2.25.45 to 2.25.46
- jackson 2.17.0 to 2.17.1
- calcite 1.36.0 to 1.37.0
This closes#8758
Signed-off-by: David Handermann <exceptionfactory@apache.org>
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>
Any time a Record's field is removed or renamed, ensure that we clear the Serialized Form so that a stale cached value cannot be written
This closes#8576
Signed-off-by: David Handermann <exceptionfactory@apache.org>
Refactored Record.incorporateInactiveFields to handle when an updated field and an inactive field have the same name (which can happen if incorporateInactiveFields is called multiple times). Also refactored the setValue(String, Object) method to call setValue(RecordField, Object) because the logic had diverged. Also exposed the text of Expression Language, which led to the discovery of this bug.
This closes#8413
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* 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
- Moved StandardValidators to nifi-api
- Moved URL creation method from UriUtils to URLValidator
- Separated FormatUtils into FormatUtils and DurationFormat classes
- Added DurationFormat to nifi-api
This closes#8442
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Adjusted URIs for schemas Draft 4, Draft 6 and Draft 7 to match official values set on json-schema-validator 1.3.0
This closes#8405
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- PutDatabaseRecordIT supports operating systems with either nanosecond or microsecond precision
This closes#8332
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- In order to accommodate this, also needed to improve DataTypeUtils so that it knows that Record A is wider than Record B if Record A contains all fields of Record B and more.
- Removed unit tests and resources that are overly complex and no longer applicable
- Fixed issue in unit test based on different line endings between operating systems
This closes#8331
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Upgraded Spring Framework from 5.3.31 to 6.0.15
- Upgraded Spring Security from 5.8.7 to 6.2.0
- Upgraded Spring Vault from 2.3.4 to 3.1.0
- Upgraded Jetty from 10.0.18 to 12.0.5 with EE 10
- Upgraded Jersey from 2.41 to 3.1.4
- Upgraded JAXB from 2.3.9 to 4.0.4
- Upgraded AspectJ from 1.9.20.1 to 1.9.21
- Upgraded JMS API from 2.0.1 to 3.1.0
- Upgraded ActiveMQ Broker from 5.18.2 to 6.0.1 for JMS 3
- Upgraded JJWT from 0.9.1 to 0.12.3
- Replaced jackson-module-jaxb-annotations with jackson-module-jakarta-xmlbind-annotations
- Replaced maven-jaxb2-plugin with hisrc-higherjaxb40-maven-plugin 2.1.1
- Replaced kongchen swagger-maven-plugin with swagger-codegen-maven-plugin from Swagger 3
- Replaced com.nickwongdev AspectJ Plugin with Codehaus 1.14.0 for newer Java versions
- Removed unused cglib-nodep
- Removed references to javax.validation
- Removed custom Jetty ALPN Processor not required for Java 21
- Removed several tests depending on older Jetty and Jakarta libraries
- Removed unnecessary webdefault.xml configurations
- Replaced unsupported cross-context servlet forwarding with HTTP forwarding
- Replaced javax.servlet references with jakarta.servlet
- Replaced javax.xml.bind references with jakarta.xml.bind
- Replaced javax.ws references with jakarata.ws
- Updated Spring Security CSRF implementation for Spring Security 6
- Updated web.xml versions to 6.0
- Updated REST API templates using new swagger-codegen variables
- Removed VALIDATE_DATA property from ParseCEF based on library compatibility issue with javax.validation
- Added application URL logging to NiFi JettyServer
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#8197.
- The isJson Expression Language function returns true regardless of leading or trailing spaces
This closes#8165
Signed-off-by: David Handermann <exceptionfactory@apache.org>
The UriUtils class allows the construction of a valid java.net.URI with a single string even though there maybe illegal characters in the path, query and/or fragment sections(s) of the URI. The create method uses regular expressions from Spring Framework UriComponentsBuilder and provides capabilities closer to the deprecated constructor for java.net.URL.
This closes#8189
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Added nifi-json-schema-api to nifi-commons
- Added StandardJsonSchemaRegistry implementation of JsonSchemaRegistry
- Added strategy configuration properties to ValidateJson
This closes#8005
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* NIFI-11481:
- Initial project creation.
* NIFI-11481:
- Install material.
- Rename project from nifi-web-frontend to nifi.
* NIFI-11481:
- Install roboto through package.json.
* NIFI-11481:
- Add Tailwind.
* NIFI-11481:
- Basic layout.
* NIFI-11481:
- Introducing ngrx for storing flow.
* NIFI-11481:
- Introducing d3.
- Adding svg.
- Adding defs.
- Funnel Manager.
* NIFI-11481:
- Introducing d3.
- Adding svg.
- Adding defs.
- Funnel Manager.
- Adding draggable.
- Adding editable.
- Adding selectable.
- Adding flowfont.
- Adding Canvas View.
- Adding Transform in Store.
- Adding selected in Store.
- Adding transition in Store.
- Funnel Manager directly subscribes to store.
* NIFI-11481:
- Adding backend calls.
- Refactoring update positions to be for a single component.
* NIFI-11481:
- Process Group Manager.
- Adding font-awesome.
- Updating canvas/graph component visibility.
- Adding prettier/eslint.
* NIFI-11481:
- Adding support to enter a process group.
* NIFI-11481:
- Formatting source.
* NIFI-11481:
- Label Manager.
- Added generic update component.
* NIFI-11481:
- Processor Manager.
* NIFI-11481:
- Port Manager.
* NIFI-11481:
- Remote Process Group Manager.
* NIFI-11481:
- Adding draggable icons to the toolbar.
* NIFI-11481:
- Formatting.
* NIFI-11481:
- Draggable Toolbar.
- Create Label, Funnel.
* NIFI-11481:
- Connection Manager.
- Connectable Behavior.
* NIFI-11481:
- Draggable behavior with back end call for both components and connections.
* NIFI-11481:
- Selection box.
* NIFI-11481:
- Port creation.
- Port configuration.
- Quick Select.
* NIFI-11481:
- Canvas Tooltips.
* NIFI-11481:
- Context menu.
* NIFI-11481:
- Router State.
- Reorganization.
- Deep linking.
* NIFI-11481:
- Adding support for Delete.
* NIFI-11481:
- Flow status bar.
* NIFI-11481:
- Adding Current User State.
- Current user polling.
- Fixing Flow Status layout bug.
* NIFI-11481:
- Process Group Polling.
* NIFI-11481:
- Process Group Breadcrumbs.
* NIFI-11481:
- Global Menu.
* NIFI-11481:
- Search.
* NIFI-11481:
- Add support for centering components on the canvas.
* NIFI-11481:
- Add support for persisting and restoring the users view of the current PG.
* NIFI-11481:
- Fixing centering behavior.
- Fixing user view restoration.
- Bulk selection auto fit.
* NIFI-11481:
- Incorporating the new UI into the NiFi build with a build profile that is not active by default.
- The new UI is deployed to a different context path than the current UI and works side by side.
* NIFI-11481:
- Center component from context menu.
- Enter process group from context menu.
* NIFI-11481:
- Adding support to log in.
- LoginFilter, LogoutFilter.
- Moved the handling of 'include-new-ui' profile to make building with and within more straight forward.
- Splash screen while guard executing.
- Http request interceptor to show loading on the canvas.
- Http request interceptor to handle 401 responses.
* NIFI-11481:
- Extension Creation Component.
- Filter, Usage Restrictions, and selected type.
* NIFI-11481:
- Stopping polling when unable to connect to server.
* NIFI-11481:
- Settings - General.
* NIFI-11481:
- Settings - Management Controller Services.
* NIFI-11481:
- NiFi Tooltip directive.
- Usage Restriction Tip.
- Comments Tip.
- Validation Errors Tip.
- Bulletins Tip.
* NIFI-11481:
- Settings - Reporting Tasks.
* NIFI-11481:
- Avoiding unnecessary web requests in route guards.
* NIFI-11481:
- Edit Controller Service Dialog.
- View Property Table.
- Update component density.
* NIFI-11481:
- Supports Controller Service API tooltip and dialog content.
* NIFI-11481:
- Property table - NF Editor.
- Property table - Combo Editor.
* NIFI-11481:
- Making property table a control value accessor.
- Wiring up saving Controller Services from Edit Dialog.
- Handling Delete Property.
- Handling New Property.
- Updating how form submission is triggered throughout to address issue with incidental form submit events.
* NIFI-11481:
- Moving Settings into pages.
* NIFI-11481:
- Moving Canvas into pages.
* NIFI-11481:
- Moving Login into pages.
* NIFI-11481:
- Adding routing to the Controller Service listing and Reporting Task listing.
- Updating Canvas routing to follow similar pattern.
* NIFI-11481:
- Controller Service references.
* NIFI-11481:
- Create inline Controller Service.
- Edit Controller Service route.
- Go To Controller Service from Property Table.
- Switching to Event Emitter in New Property dialog.
* NIFI-11481:
- Saving spinner - Create Processor, Create Port, and Edit Port.
* NIFI-11481:
- Saving spinner - Create Controller Service, Edit Controller Service, and Create Reporting Task.
* NIFI-11481:
- Parameter Context Listing.
- Add new Parameter Context.
- Edit Parameter Context.
* NIFI-11481:
- New Paramter.
- Edit Parameter.
- Parameter table.
* NIFI-11481:
- Parameter references.
- Parameter Context update steps.
- Bound Process Group references.
* NIFI-11481:
- Parameter Context Inheritance.
* NIFI-11481:
- Processor configuration.
- Ensuring new Property names are unique.
- Trapping focus in nf and combo editors.
- Reloading component connections after updating a Processor.
* NIFI-11481:
- Navigation Control.
- Birdseye.
- Operation Control.
* NIFI-11481:
- Create Process Group.
- Upload Process Group.
* NIFI-11481:
- Implementing current Process Group context in operation palette.
* NIFI-11481:
- Connection creation.
* NIFI-11481:
- Connection configuration.
* NIFI-11481:
- Standardizing selection option model.
- Connection load balancing tooltip.
- Clean up.
* NIFI-11481:
- Move components in to/out of groups.
- Group components.
* NIFI-11481:
- Render connections for component action.
* NIFI-11481:
- CodeMirror for Parameter and EL configuration.
* NIFI-11481:
- Resizable.
- Moving tooltip directive.
* NIFI-11481:
- Ensuring all specs are bootstrapped and create successfully.
* NIFI-11481:
- Updating some interface names to avoid conflicting with various components in an attempt to better establish a naming convention.
* NIFI-11481:
- Show Source/Destination.
- Defaulting current Parameter Context in Create PG and Group dialogs.
- Handling disabled state in a few ControlValueAccessors.
- Ensuring Parameter Contest uri is set.
- Unit tests.
* NIFI-11481:
- Fixing checkstyle issue.
* NIFI-11481:
- LICENSE/NOTICE.
* NIFI-11481:
- RAT Plugin config.
* NIFI-12401:
- Addressing review feedback.
* NIFI-11481:
- Ensuring the option is disabled when there is no description.
* NIFI-11481:
- Only including parameters in the payload when they have been modified.
- Showing appropriate message after applying based on whether parameters were included or not.
* NIFI-11481:
- Fixing parameter deletion.
- Enforcing parameter name uniqueness.
- Preventing changing parameter sensitive.
* NIFI-11481:
- Only loading the service link once when considering updated property value.
- Ensuring existing parameter are set in all instances of opening the new Property dialog.
* NIFI-11481:
- Fixing tests that regressed.
* NIFI-11481:
- Adding default karma config which was needed in order to debug tests in IDE.
* NIFI-11481:
- Updating karma config to not watch for now. Can introduce new options for running in various contexts in the future.
This closes#8053
- Upgraded Azure SDK BOM from 1.2.17 to 1.2.18
- Upgraded Reactor Netty HTTP from 1.0.34 to 1.0.39 for Azure Identity
- Upgraded MSAL4J from 1.13.10 to 1.14.0
- Upgraded Box Java SDK from 4.4.0 to 4.6.1
- Relocated Apache Ant managed versions to bundle parent modules
- Added okio-fakefilesystem to managed dependencies
- Suppressed vulnerability for Picocli misidentified as LINE library
- Added managed dependencies to nifi-code-coverage to avoid false positives due to different parent modules
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#8054.
- Replaced commons-codec Hex with Java HexFormat
- Replaced commons-codec DigestUtils with Java MessageDigest
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#8035.
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>
- Added explicit round in FormatUtils.makeWholeNumberTime()
- Removed unnecessary boxing in component descriptors
- Maintained long number tracking for releasable counts in Wait and Notify Processors
Signed-off-by: Joseph Witt <joewitt@apache.org>
- 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.
- Added standard implementation for formatting Subject and Issuer using RFC 1779
- Replaced direct method references to maintain compatibility with historical getSubjectDN and getIssuerDN methods
This closes#7931
Signed-off-by: Chris Sampson <chris.sampson82@gmail.com>
NIFI-12245: Removed null check that is no longer necessary
NIFI-12245: Fixed checkstyle violation
Signed-off-by: Bence Simon <bsimon@apache.org>
This closes#7899
* NIFI-12206 Refactored Flow History using JetBrains Xodus
- Replaced H2 Database Engine with JetBrains Xodus for persistent storage of FlowConfigurationHistory
- Added EntityStoreAuditService implementation using Xodus PersistentEntityStore
- Removed nifi.h2.url.append from properties
- SensitiveValueEncoder and SecureHasher are no longer required following the removal of support for flow.xml.gz
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#7873.
- Created NIFI-12203 to evaluate issues with flow comparison surfaced in JoinClusterWithDifferentFlow
This closes#7661
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Imported nifi-bom to nifi-commons and nifi-nar-bundles parent modules
- Removed explicit version and scope properties for dependencies declared in nifi-bom
- Removed Security.addProvider() references from several tests
- Refactored KeyStoreUtils to use instance of BouncyCastleProvider instead of BC provider name string
- Refactored MiNiFi references to pass BouncyCastleProvider for BCFKS
Signed-off-by: Joseph Witt <joewitt@apache.org>
- Updated component references to remove use of Object[] wrapping for log methods
This closes#7748
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Upgraded SLF4J from 2.0.7 to 2.0.9
- Upgraded Logback from 1.3.8 to 1.3.11
- Upgraded Testcontainers from 1.18.3 to 1.19.0
- Upgraded Fabric8 Kubernetes from 6.5.1 to 6.8.1
- Upgraded AspectJ from 1.9.19 to 1.9.20.1
- Upgraded Caffeine from 3.1.6 to 3.1.8
- Upgraded AWS SDK from 2.20.103 to 2.20.148
- Upgraded Guava from 32.0.1 to 32.1.2
- Upgraded Nimbus JOSE JWT from 9.31 to 9.33
- Upgraded Apache Tika from 2.8.0 to 2.9.0
- Upgraded gRPC from 1.57.2 to 1.58.0
- Upgraded Google Libraries from 26.17.0 to 26.22.0
- Upgraded Azure SDK from 1.2.13 to 1.2.16
This closes#7733
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Added org.spockframework to the list of banned dependencies
- Removed several other Groovy tests and associated build profiles
Signed-off-by: Joseph Witt <joewitt@apache.org>
- Changed default value of nifi.web.https.application.protocols to include both h2 and http/1.1
- Changed default value of nifi.registry.web.https.application.protocols to include both h2 and http/1.1
- Updated HostHeaderHandler logging
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#7684.
- Added nifi-security-cert for reusable components without dependencies
- Added nifi-security-cert-builder for certificate generation
Signed-off-by: Matt Burgess <mattyb149@apache.org>
This closes#7651
- Added new extensible Component Type: FlowAnalysisRule
- Added DisallowComponentType Rule implementation
- Flow Analysis Rules can be managed from the UI under Controller Settings -> Flow Analysis Rules
- Flow Analysis Rules can be set up with an enforcement policy of WARN or ENFORCE
- Flow Analysis Rules can evaluate an individual Component or a Process Group
This closes#7191
Signed-off-by: David Handermann <exceptionfactory@apache.org>