Commit Graph

35 Commits

Author SHA1 Message Date
Chris Sampson 3a3b9edc71
NIFI-10067: enable use of script when updating documents in Elasticsearch via PutElasticsearchJson or PutElasticsearchRecord
NIFI-3262: enable use of dynamic_templates in Elasticsearch _bulk operations

Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #6628.
2023-05-02 07:17:17 -04:00
Chris Sampson 6542505a50
NIFI-10797 add customisable Elasticsearch REST Client config and Elasticsearch Cluster Sniffer
Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #6658.
2023-02-13 13:22:18 -05:00
Chris Sampson 7393ce294e
NIFI-11168 Removed deprecated Elasticsearch Processors and properties
This closes #6942

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-02-13 10:41:53 -06:00
Mike Thomsen d38f15997d
NIFI-10870 Added debug logging for the Elasticsearch REST Requests
This closes #6841

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-01-12 16:11:21 -06:00
Chris Sampson d9420afb60
NIFI-10844 Allow _source only output for GetElasticsearch and JsonQueryElasticsearch
This closes #6687

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-01-04 15:30:41 -06:00
Chris Sampson 43a8b858ca
NIFI-10882 Set credentials for ElasticSearchClientService based on AuthorizationScheme
This closes #6722

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-11-28 17:01:40 -06:00
Chris Sampson d23e50168f
NIFI-10776 Added NONE and PKI AuthorizationSchemes for ElasticSearchClientService
This closes #6662

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-11-21 13:52:18 -06:00
Nandor Soma Abonyi d374c1f399
NIFI-10760 Add API Key authentication to ElasticSearchClientServiceImpl
This closes #6619

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-11-08 16:02:49 -06:00
Chris Sampson 2acfd1e496 NIFI-9398 add verification to ElasticSearchClientService (with integration tests) and Elasticsearch REST API processors
NIFI-9398 processor verification integration-tests for nifi-elasticsearch-restapi-processors using common nifi-elasticsearch-test-utils refactored from nifi-elasticsearch-client-service
NIFI-9398 fail index exists verification for Elasticsearch processors whose operations would not create the index if it doesn't already exist

This closes #6544

Signed-off-by: Mike Thomsen <mthomsen@apache.org>
2022-11-05 18:17:13 -04:00
Matt Burgess f43b989c99
NIFI-10617: Add missing DynamicProperty annotation to processors that use them (#6509)
This closes #6509
2022-10-17 12:46:37 -04:00
Mike Thomsen 08a1f09905 NIFI-10437 Converted SearchResponseTest from Groovy to Java.
NIFI-10437 Removed old Maven Elasticsearch integration testing plugin and replaced with Testcontainers.
NIFI-10437 Converted TestSchemaRegistry from Groovy to Java.
NIFI-10437 Converted TestElasticsearchClientService from Groovy to Java.
NIFI-10437 Converted a unit test from Groovy to Java.
NIFI-10437 Converted a unit test from Groovy to Java.
NIFI-10437 Converted ElasticSearchLookupService_IT from Groovy to Java.
NIFI-10437 Converted ElasticSearchClientService_IT from Groovy to Java.
NIFI-10437 Migrated to Testcontainers.
NIFI-10437 Converted all nifi-elasticsearch-restapi-processors unit tests from Groovy to Java.

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

This closes #6487
2022-10-13 12:52:20 +01:00
Chris Sampson 9c9c708c14
NIFI-10043 fix ElasticsearchClient integration tests following JUnit5 upgrade; update Elasticsearch and json-path dependency versions
Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #6062.
2022-05-20 12:27:53 -04:00
Joe Gresock 1cfca0d978
NIFI-10036: Corrected Elasticsearch Client Service to prefix paths for all requests
- Prefixing endpoint paths with a forward slash ensures correct HTTP request formatting required for some deployments with a forwarding proxy

This closes #6058

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-05-19 13:02:40 -05:00
Mike Thomsen f35f010deb
NIFI-9085 Refactored the Elasticsearch bundle to use JUnit 5
- NIFI-9086 Refactored nifi-accumulo-bundle to use JUnit 5
- NIFI-9087 Updated nifi-ambari-bundle to use JUnit 5
- NIFI-9088 Refactored nifi-amqp-bundle to use JUnit 5
- NIFI-9089 Updated nifi-asn1-bundle to use JUnit 5
- NIFI-9090 Refactored nifi-atlas-bundle to use JUnit 5
- NIFI-9091 Refactored nifi-avro-bundle to use JUnit 5
- NIFI-9092 Refactored nifi-aws-bundle to use JUnit 5
- NIFI-9095 Refactored nifi-azure-bundle to use JUnit 5
- NIFI-9145 Refactored nifi-rethinkdb-bundle to use JUnit 5
- NIFI-9143 Refactored nifi-redis-bundle to use JUnit 5

This closes #5350

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-03-07 21:49:23 -06:00
Chris Sampson 4cc20e6c06
NIFI-9678 update Elasticsearch REST API processor integration-tests for Elasticsearch 8.x
Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #5822.
2022-03-02 10:04:34 -05:00
exceptionfactory 6039095625
NIFI-9267 Replaced nifi-standard-web-test-utils with mockwebserver
- Replaced instances of custom Jetty TestServer with OkHttp MockWebServer
- Removed integration tests referencing nifi-standard-web-test-utils SslContextUtils
- Removed nifi-standard-web-test-utils

Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #5620.
2022-01-09 05:25:32 -05:00
Chris Sampson 1745d2a88e
- NIFI-9388: add GetElasticsearch to fetch Elasticsearch document using the ElasticsearchClientService
- NIFI-9387: add Proxy capability to ElasticsearchClientService
- NIFI-1576: allow GetElasticsearch to run without requiring FlowFile input

Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #5535.
2021-11-20 06:26:55 -05:00
Chris Sampson f50c002692
- NIFI-8001: Dynamic Properties as Request Parameters for Elasticsearch Client Service processors
- NIFI-8003: UpdateByQueryElasticsearchProcessor
- Addressed various warnings and inefficiencies found in existing processor code

Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #4693.
2021-10-08 07:33:49 -04:00
Chris Sampson 3a63bd579e
NIFI-8002:
- Creation of a PaginatedJsonQueryElasticsearch and ConsumeElasticsearch processors
- Integration Tests for ES Client Service with version and flavour-specific tests for applicable functionality

Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #5193.
2021-10-04 19:27:12 -04:00
exceptionfactory ba775d28de
NIFI-9228 Refactored tests to use generated KeyStores
- Refactored multiple tests using KeyStoreUtils
- Removed static KeyStore and TrustStore files

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

This closes #5401
2021-09-21 11:06:19 -04:00
Chris Sampson e0a1cb8a01
NIFI-8133 Add ability to supress null/empty values in ElasticSearchClientService for PutElasticsearchRecord output
NIFI-8133 pass null/empty field handling from PutElasticsearchRecord to ElasticSearchClientImpl

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

This closes #4755
2021-05-29 13:29:14 -04:00
exceptionfactory 7d76bcd520 NIFI-8094 Added support for BCFKS Keystore Type
NIFI-8094 Updated Administration Guide to include BCFKS

Signed-off-by: Nathan Gough <thenatog@gmail.com>

This closes #4729.
2021-01-12 10:52:49 -05:00
exceptionfactory 817f621d6f NIFI-8096 Deprecated ClientAuth references in SSLContextService
- Added SSLContextService.createContext() and refactored referencing components
- Removed references to ClientAuth from SslContextFactory methods

This closes #4737.

Signed-off-by: Mark Payne <markap14@hotmail.com>
2021-01-06 16:24:26 -05:00
Chris Sampson 124cdbd3fe
NIFI-6403 and NIFI-6404: Elasticsearch 7 support
Addressed PR#4153 comments; removed ES Version property and made Type optional in all ES HTTP/Record processors, applying sensible default values where required; use _source queyr parameter instead of _source_include/s as it's compatible between ES versions

Fix unit test compilation to use JDK8-compatible library/method

Better optional type and id handling for PutElasticsearchRecord; update nifi-elasticsearch-client-service build dependencies to use latest versions of Elasticsearch in each supported major version (5/6/7); addressed several warnings in ElasticSearchClientServiceImpl

This closes #4667.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2020-11-26 15:08:13 +09:00
Chris Sampson 5c925371c2
NIFI-7474 Allow index operation type to be provided for PUT Elasticsearch processors
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #4665.
2020-11-16 18:19:35 +01:00
Andy LoPresto 9370571131
NIFI-7804 Split nifi-security-utils into sub-module for nifi-security… (#4533)
* NIFI-7804 Split nifi-security-utils into sub-module for nifi-security-utils-api (no external dependencies).
Separated interface and implementation of TlsConfiguration.
Reabsorbed nifi-security-xml-config into nifi-security-utils.

* NIFI-7804 Resolved failing unit test on Java 8.
Removed accidental module dependency.

* NIFI-7804 Resolved failing unit test.

* NIFI-7804 Removed legacy dependency.

* NIFI-7804 Marked nifi-security-utils-api as provided and overrode with compile scope in specific modules which are not children of nifi-standard-services-api-nar.
2020-09-17 12:52:22 -04:00
Andy LoPresto 441781cec5
NIFI-7407 Replaced SSLContextFactory references to "TLS" with "TLSv1.2" (in shared constant).
Changed JettyServer default SSL initialization and updated unit test.
Removed SecurityStoreTypes (unused).
Added StringUtils inverted blank and empty checks.
Added TlsConfiguration container object.
Enhanced KeystoreType enum.
Added clean #createSSLContext() method to serve as base method for special cases/other method signatures.
Added utility methods in KeyStoreUtils.
Added generic TlsException for callers that cannot resolve TLS-specific exceptions.
Added utility methods for component object debugging.
Enforced TLS protocol version on cluster comms socket creation.
Added utility method for SSL server socket creation.
Refactored (Server)SocketConfigurationFactoryBean to store relevant NiFiProperties in TlsConfiguration instead of stateful SSLContextFactory (Cluster comms now enforce modern TLS protocol version).
Removed duplicate SSLContextFactory.
Switched duplicate SslContextFactory to wrap shared SSLContextFactory.
Refactored SslContextFactoryTest for clarity (will move any unique tests to nifi-security-utils class test).
Added further validation & boundary checking in uses of TlsConfiguration.
Provided SSLSocketFactory accessor in SslContextFactory.
Refactored OkHttpReplicationClient tuple method.
Refactored OcspCertificateValidator TLS logic.
Added utility method to apply TLS configs to OkHttpClientBuilder.
Removed references to duplicate SslContextFactory.
Removed unnecessary SslContextFactory.
Moved OkHttpClientUtils to nifi-web-util module.
Updated module dependencies.
Removed now empty nifi-security module.
Enforced TLS protocol selection on LB server socket.
Enforced TLS protocol selection on S2S server socket.
Applied specified TLS protocol versions to S2S socket creation.
Completed removal of legacy SSLContext creation methods from only remaining SslContextFactory.
Replaced references to creation methods throughout codebase.
Replaced references to unnecessary NiFiProperties file reads throughout tests.
Removed duplicate ClientAuth enum from SSLContextService and changed all references to SslContextFactory.ClientAuth.
Suppressed repeated TLS exceptions in cluster, S2S, and load balance socket listeners.
Cleaned up legacy code.
Added external timing check to timing test assertion.
Made RestrictedSSLContextService TLS protocol versions allowable values explicit.
Enabled TLSv1.3 on Java 11.
Added explanations of TLS protocol versions in StandardSSLContextService and StandardRestrictedSSLContextService.
Resolved additional Java 11 test failures for NiFi internal classes that don't support TLSv1.3. Filed NIFI-7468 as follow on task.

This closes #4263.

Signed-off-by: Nathan Gough <thenatog@gmail.com>
Signed-off-by: Mark Payne <markap14@hotmail.com>
2020-05-19 12:56:59 -07:00
Mike Thomsen 4c79ff0576
NIFI-5248 Added new Elasticsearch processors.
NIFI-5248 Fixed a few stray 1.7.0 references.
NIFI-5248 Removed build helper plugin.
NIFI-5248 Made changes requested in a review.
NIFI-5248 Updated dummy service.
NIFI-5248 Made a few changes from a code review.
NIFI-5248 Added logic for removing nulls so record paths can be removed when no longer needed.
NIFI-5248 Switched from variable registry to flowfile level EL.
NIFI-5248 Added JsonPath code to remove index, id and type path statements.
NIFI-5248 Updated validation.
NIFI-5248 Set the field to null instead of empty string when nulling records.
NIFI-5248 Fixed TestElasticSearchClientService.
NIFI-5248 Removed high level client and switched over to low level client for everything.
NIFI-5248 Added profiles for ES 6 and ES 7 integration testing.
NIFI-5248 Updated integration tests to support 5 and 6.
NIFI-5248 Fixed some style check breaks.
NIFI-5248 Added create operation type.
NIFI-5248 Updated documentation.
NIFI-5248 Added error handling to PutElasticsearchRecord.
NIFI-5248 Added error logging to PutElasticsearchJson.
NIFI-5248 Added split failed records option to PutElasticsearchJson.
NIFI-5248 Added documentation for PutElasticsearchRecord.
NIFI-5248 Updated import to not use * import.
NIFI-5248 Removed processor that is no longer relevant due to schema inference.
NIFI-5248 Renamed ElasticSearch instances to Elasticsearch where we can within API guidelines.

NIFI-5248 Added groovy-json test dependency.

NIFI-5248 Updated PutElasticsearchRecord to only do index operations.

NIFI-5248 Added batch size property and refactored the way relationships and properties are added.

NIFI-5248 Added batch processing support.

NIFI-5248 Updated error handling.

NIFI-5248 Updated to 1.11.0-SNAPSHOT.

NIFI-5248 Made changes requested in a code review.

NIFI-5248 Made a few more changes from a code review.

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

This closes #2861
2019-11-19 13:53:34 -05:00
Mike Thomsen c352c2cc3e
NIFI-6228 Fixed order of operations bug that prevented SSLContext from being handled correctly.
NIFI-6228 Added unit test for SSL configuration.

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

This closes #3535
2019-06-20 12:34:43 -04:00
Mike 5825e7bc76 NIFI-6228 Made ElasticSearchClientServiceImpl able to use just a trus… (#3448)
* NIFI-6228 Made ElasticSearchClientServiceImpl able to use just a trust store for SSL.

* NIFI-6228 Replaced buildSslContext with SSLContextService's helper method.
2019-04-30 09:39:24 -04:00
Mike Thomsen 4810f6d32e NIFI-6172 Fixed a bug that caused ElasticSearchStringLookupService to always return a value even when it should return Optional.empty().
NIFI-6172 Fixed broken integration test.

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

This closes #3399
2019-04-05 11:12:30 -04:00
Alex Savitsky 45b32e3bc1 NIFI-5947 Elasticsearch lookup service compatible with LookupAttribute
NIFI-5947 Made the lookup key for ElasticSearchStringLookupService more unique to the service (was previously 'id'); change by Mike Thomsen

This closes #3268.

Signed-off-by: Mike Thomsen <mikerthomsen@gmail.com>
2019-02-14 08:02:29 -05:00
Mike Thomsen b1478cdb19 NIFI-5051 Created ElasticSearch lookup service.
NIFI-5051 Fixed checkstyle issue.

NIFI-5051 Converted ES lookup service to use a SchemaRegistry.

NIFI-5051 Cleaned up POM and added a simple unit test that uses a mock client service.

NIFI-5051 Added change; waiting for feedback.

NIFI-5051 Changed query setup based on code review. Changed tests to Groovy to make them easier to read with all of the inline JSON.

NIFI-5051 fixed a checkstyle issue.

NIFI-5051 Rebased to cleanup merge issues

NIFI-5051 Added changes from a code review.

NIFI-5051 Fixed a checkstyle issue.

NIFI-5051 Added coverage generator for tests.

Rebased.

NIFI-5051 Updated service and switched it over to JsonInferenceSchemaRegistryService.

NIFI-5051 Removed dead code.

NIFI-5051 Fixed checkstyle errors.

NIFI-5051 Refactored query builder.

NIFI-5051 Added placeholder gitignore to force test compile.

NIFI-5051 Added note explaining why the .gitignore file was needed.

NIFI-5051 Made constructor public.

NIFI-5051 Fixed path issue in client service integration tests.

NIFI-5051 Added additional mapping capabilities to let users massage the result set into the fields they want.

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

This closes #2615
2018-10-01 10:48:45 -04:00
Mike Thomsen 3a29c1e4ca NIFI-5052 Added DeleteByQuery ElasticSearch processor.
NIFI-5052 fixed checkstyle issue.

NIFI-5052 Added changes requested in a code review.

NIFI-5052 Fixed a typo.

NIFI-5052 Added changes requested in a code review.

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

This closes #2616
2018-05-23 09:14:04 -04:00
Mike Thomsen aa947e4d3e NIFI-4325 Added new processor that uses the JSON DSL.
NIFI-4325 Cleaned up how ElasticSearch client service builds SSLContext, added query attribute to flowfiles and other changes requested in a code review.

This closes #2113.

Signed-off-by: Joe Percivall <JPercivall@apache.org>
2018-03-26 15:01:37 -04:00