This is an automated email from the ASF dual-hosted git repository. lordgamez pushed a change to branch MINIFICPP-2152 in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
omit f0caa49c7 MINIFICPP-2152 Remove own server and client socket implementations omit 22b1ef4c4 MINIFICPP-2131 Refactored GetTCP omit df38cbd46 Fix clang-tidy issue omit 487ed9b48 Use read_some instead of asio::read to have the socket read equivalent omit da7844db2 Rewrite ControllerSocket to use coroutines omit f16a85f31 Remove unneeded size check when reading AsioStream omit 206c3f31e Remove duplication omit 765de8533 MINIFICPP-2137 Rewrite MiNiFi Controller to use asio omit 2fb45299b Update to version 3.1.1 and remove openssl test builds omit c7752864b Review update omit 5dab7e317 Add backwards compatibility support for older TLS versions omit 3849935f7 Review update omit c3c49aefe MINIFICPP-1719 Replace LibreSSL with OpenSSL 3.1 add dfcd29022 MINIFICPP-2076 Implement logging metrics publisher add da04aceaf MINIFICPP-55 Implement test coverage report generation add 91594f57c MINIFICPP-2027 Upgrade Google Cloud library to version 2.10.1 add 73668eb1a MINIFICPP-2020 Protect MINIFI_HOME from mutual access add 2d606cc62 MINIFICPP-2142 Fix occasional segfault in SwapTests add 9f02566bd MINIFICPP-2145 Parallelize the clang-tidy CI job add 3089e43b1 MINIFICPP-2151 Add MiNiFi Controller to docker minimal image add 5f7e06f90 MINIFICPP-2153 Change default merge algorithm add 1f93c33b6 MINIFICPP-1719 Replace LibreSSL with OpenSSL 3.1.1 add 68991c705 MINIFICPP-1755 - Use std::span instead of gsl::span add 4356e902f MINIFICPP-2130 Custom cache eviction strategy for GitHub Actions add 68ba80a9d MINIFICPP-2131 Refactored GetTCP add 91b080b4e MINIFICPP-2082 Move RocksDB stats to RepositoryMetrics add 2e69ca2b3 MINIFICPP-2116 upgrade OpenCV and RocksDB, add missing <cstdint> includes in libminifi add 85f305d58 MINIFICPP-2160 Change clear-actions-cache.yml from cron to workflow_run add 26d68d93f MINIFICPP-2161 Upgrade cpplint to support C++20 add 0cf3c8fe1 MINIFICPP-1825 Create Properties at compile time add 93bc72964 MINIFICPP-2135 Add SSL support for Prometheus reporter add 36244376b MINIFICPP-2139 Fix build on ARM7 architecture add 55fb8dcd8 MINIFICPP-2157 Move response node implementations to source files add d559764d2 MINIFICPP-2098 Add ENABLE_ALL for all extensions add 59864f209 MINIFICPP-2171 Move JNI build to ubuntu gcc job in CI add 9b6fb5911 MINIFICPP-2172 Remove TensorFlow extension add a266a3047 MINIFICPP-2168 Fix Github Actions cache issues - Environment variable for docker cache only used after defined - Fix mistake of comparing int with string representation of PR id add 259c53944 MINIFICPP-2154 Replace SecureSocketGetTCPTest with utils::net::getSSLContext tests add bf26da51a MINIFICPP-2163 Cleanup LogMetricsPublisherTests add 6bc1965d3 MINIFICPP-1817 Use magic_enum library instead of SMART_ENUM add e579692e6 MINIFICPP-2162 Use className instead of getClassName add cafc3b1a0 MINIFICPP-2159 Add heterogeneous lookup to FlatMap add 9c354aeab MINIFICPP-2169 Fix PutS3Object on Windows add 1ef06c702 MINIFICPP-2167 Update Catch2 from 2.13.10 to 3.4.0 add fb9cfe38f MINIFICPP-2134 Do not swallow parsing exceptions add 1434168b3 MINIFICPP-2137 Rewrite MiNiFi Controller to use asio add 938e5082c Remove duplication add dadf9b3ae Remove unneeded size check when reading AsioStream add ae3acae7b Rewrite ControllerSocket to use coroutines add d9f3f5527 Use read_some instead of asio::read to have the socket read equivalent add f267e3e2b Fix clang-tidy issue add e8027a154 Continue on socket errors add 7a990c037 Review update add bccd4826f Review update add 0bd73ab25 Review update add 22bf1accb Only support TLS v1.2 add f10d6e00d Remove unnecessary rvalue parameter add 0fef6eb9a Review update add ff7b3826d MINIFICPP-2152 Remove own server and client socket implementations add ef46274fa Review update add 029fd089a Review update This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (f0caa49c7) \ N -- N -- N refs/heads/MINIFICPP-2152 (029fd089a) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .github/workflows/ci.yml | 76 +- .github/workflows/clear-actions-cache.yml | 20 + .gitignore | 1 + CMakeLists.txt | 20 + LICENSE | 78 + METRICS.md | 104 +- NOTICE | 5 + PROCESSORS.md | 206 +- README.md | 6 +- Windows.md | 3 +- arch.sh | 2 - bootstrap.sh | 4 - bstrp_functions.sh | 2 - cmake/BuildTests.cmake | 33 +- cmake/BundledAwsSdkCpp.cmake | 11 +- cmake/BundledOpenCV.cmake | 5 +- cmake/BundledOpenSSL.cmake | 7 + cmake/BundledRocksDB.cmake | 9 +- cmake/{MiMalloc.cmake => Catch2.cmake} | 9 +- cmake/CodeCoverage.cmake | 748 + cmake/DockerConfig.cmake | 2 +- cmake/FindTensorFlow.cmake | 96 - cmake/GoogleCloudCpp.cmake | 29 +- .../{JsonSchemaValidator.cmake => MagicEnum.cmake} | 16 +- cmake/MiNiFiOptions.cmake | 2 +- cmake/VerifyPythonCompatibility.cmake | 2 +- controller/Controller.cpp | 26 +- controller/MiNiFiController.cpp | 10 +- controller/tests/CMakeLists.txt | 3 +- docker/test/integration/cluster/ContainerStore.py | 15 + .../test/integration/cluster/DockerTestCluster.py | 6 + .../cluster/checkers/PrometheusChecker.py | 9 +- .../cluster/containers/FakeGcsServerContainer.py | 2 +- .../cluster/containers/MinifiContainer.py | 21 +- .../cluster/containers/PrometheusContainer.py | 57 +- .../features/MiNiFi_integration_test_driver.py | 20 +- .../features/core_functionality.feature | 14 + .../test/integration/features/prometheus.feature | 16 + docker/test/integration/features/steps/steps.py | 16 + .../test/integration/ssl_utils/SSL_cert_utils.py | 4 + encrypt-config/tests/CMakeLists.txt | 3 +- .../controllerservices/AWSCredentialsService.cpp | 46 +- .../aws/controllerservices/AWSCredentialsService.h | 29 +- extensions/aws/processors/DeleteS3Object.cpp | 6 +- extensions/aws/processors/DeleteS3Object.h | 26 +- extensions/aws/processors/FetchS3Object.cpp | 11 +- extensions/aws/processors/FetchS3Object.h | 34 +- extensions/aws/processors/ListS3.cpp | 18 +- extensions/aws/processors/ListS3.h | 58 +- extensions/aws/processors/PutS3Object.cpp | 19 +- extensions/aws/processors/PutS3Object.h | 88 +- extensions/aws/processors/S3Processor.cpp | 11 +- extensions/aws/processors/S3Processor.h | 157 +- .../processors/S3ProcessorStaticDefinitions.cpp | 282 - extensions/aws/s3/S3Wrapper.cpp | 59 +- extensions/aws/s3/S3Wrapper.h | 20 +- extensions/aws/tests/AWSCredentialsServiceTest.cpp | 6 +- extensions/aws/tests/CMakeLists.txt | 2 +- extensions/aws/tests/DeleteS3ObjectTests.cpp | 6 +- extensions/aws/tests/FetchS3ObjectTests.cpp | 4 +- extensions/aws/tests/PutS3ObjectTests.cpp | 120 +- extensions/aws/tests/S3TestsFixture.h | 32 +- .../AzureStorageCredentialsService.cpp | 44 +- .../AzureStorageCredentialsService.h | 39 +- .../processors/AzureBlobStorageProcessorBase.cpp | 14 +- .../processors/AzureBlobStorageProcessorBase.h | 48 +- .../AzureBlobStorageSingleBlobProcessorBase.h | 10 +- .../AzureDataLakeStorageFileProcessorBase.h | 11 +- .../processors/AzureDataLakeStorageProcessorBase.h | 20 +- .../azure/processors/AzureStorageProcessorBase.cpp | 2 +- .../azure/processors/AzureStorageProcessorBase.h | 8 +- .../AzureStorageProcessorStaticDefinitions.cpp | 291 - .../azure/processors/DeleteAzureBlobStorage.cpp | 6 +- .../azure/processors/DeleteAzureBlobStorage.h | 22 +- .../processors/DeleteAzureDataLakeStorage.cpp | 6 +- .../azure/processors/DeleteAzureDataLakeStorage.h | 8 +- .../azure/processors/FetchAzureBlobStorage.cpp | 6 +- .../azure/processors/FetchAzureBlobStorage.h | 26 +- .../azure/processors/FetchAzureDataLakeStorage.cpp | 6 +- .../azure/processors/FetchAzureDataLakeStorage.h | 33 +- .../azure/processors/ListAzureBlobStorage.cpp | 11 +- extensions/azure/processors/ListAzureBlobStorage.h | 32 +- .../azure/processors/ListAzureDataLakeStorage.cpp | 20 +- .../azure/processors/ListAzureDataLakeStorage.h | 58 +- .../azure/processors/PutAzureBlobStorage.cpp | 8 +- extensions/azure/processors/PutAzureBlobStorage.h | 24 +- .../azure/processors/PutAzureDataLakeStorage.cpp | 16 +- .../azure/processors/PutAzureDataLakeStorage.h | 61 +- extensions/azure/storage/AzureBlobStorage.cpp | 2 +- extensions/azure/storage/AzureBlobStorage.h | 2 +- .../azure/storage/AzureBlobStorageClient.cpp | 7 +- extensions/azure/storage/AzureBlobStorageClient.h | 2 +- extensions/azure/storage/AzureDataLakeStorage.cpp | 2 +- extensions/azure/storage/AzureDataLakeStorage.h | 2 +- .../azure/storage/AzureDataLakeStorageClient.cpp | 5 +- .../azure/storage/AzureDataLakeStorageClient.h | 7 +- extensions/azure/storage/BlobStorageClient.h | 32 +- extensions/azure/storage/DataLakeStorageClient.h | 2 +- .../ContainerInfo.h => azure/utils/AzureEnums.h} | 16 +- extensions/bustache/ApplyTemplate.cpp | 7 +- extensions/bustache/ApplyTemplate.h | 12 +- extensions/bustache/CMakeLists.txt | 2 +- extensions/civetweb/processors/ListenHTTP.cpp | 98 +- extensions/civetweb/processors/ListenHTTP.h | 79 +- extensions/civetweb/tests/CMakeLists.txt | 2 +- extensions/civetweb/tests/ListenHTTPTests.cpp | 62 +- .../coap/controllerservice/CoapConnector.cpp | 11 +- extensions/coap/controllerservice/CoapConnector.h | 29 +- extensions/coap/controllerservice/CoapResponse.h | 2 +- extensions/coap/protocols/CoapC2Protocol.cpp | 29 +- extensions/coap/protocols/CoapC2Protocol.h | 2 +- extensions/coap/tests/CoapC2VerifyHeartbeat.cpp | 3 +- .../ElasticsearchCredentialsControllerService.cpp | 23 +- .../ElasticsearchCredentialsControllerService.h | 26 +- extensions/elasticsearch/PostElasticsearch.cpp | 56 +- extensions/elasticsearch/PostElasticsearch.h | 65 +- extensions/elasticsearch/tests/CMakeLists.txt | 2 +- .../elasticsearch/tests/PostElasticsearchTests.cpp | 26 +- .../expression-language/ExpressionContextBuilder.h | 2 +- .../expression-language/ProcessContextExpr.cpp | 28 +- .../expression-language/ProcessContextExpr.h | 33 +- .../expression-language/tests/CMakeLists.txt | 4 +- .../tests/ExpressionLanguageTests.cpp | 40 +- .../tests/ProcessContextExprTests.cpp | 56 +- .../tests/RouteOnAttributeTests.cpp | 12 +- .../integration/UpdateAttributeIntegrationTest.cpp | 1 - extensions/gcp/GCPAttributes.h | 52 +- .../GCPCredentialsControllerService.cpp | 52 +- .../GCPCredentialsControllerService.h | 64 +- extensions/gcp/processors/DeleteGCSObject.cpp | 7 +- extensions/gcp/processors/DeleteGCSObject.h | 48 +- extensions/gcp/processors/FetchGCSObject.cpp | 9 +- extensions/gcp/processors/FetchGCSObject.h | 48 +- extensions/gcp/processors/GCSProcessor.cpp | 2 +- extensions/gcp/processors/GCSProcessor.h | 35 +- .../processors/GCSProcessorStaticDefinitions.cpp | 267 - extensions/gcp/processors/ListGCSBucket.cpp | 9 +- extensions/gcp/processors/ListGCSBucket.h | 133 +- extensions/gcp/processors/PutGCSObject.cpp | 18 +- extensions/gcp/processors/PutGCSObject.h | 217 +- extensions/gcp/tests/CMakeLists.txt | 12 +- extensions/gcp/tests/DeleteGCSObjectTests.cpp | 36 +- extensions/gcp/tests/FetchGCSObjectTests.cpp | 28 +- .../tests/GCPCredentialsControllerServiceTests.cpp | 29 +- extensions/gcp/tests/ListGCSBucketTests.cpp | 27 +- extensions/gcp/tests/PutGCSObjectTests.cpp | 212 +- extensions/gps/GetGPS.cpp | 20 +- extensions/gps/GetGPS.h | 33 +- extensions/http-curl/client/HTTPCallback.h | 2 +- extensions/http-curl/client/HTTPClient.h | 2 +- extensions/http-curl/client/HTTPStream.cpp | 2 +- extensions/http-curl/client/HTTPStream.h | 2 +- extensions/http-curl/processors/InvokeHTTP.cpp | 161 +- extensions/http-curl/processors/InvokeHTTP.h | 222 +- extensions/http-curl/protocols/RESTSender.cpp | 26 +- extensions/http-curl/protocols/RESTSender.h | 10 +- extensions/http-curl/sitetosite/HTTPProtocol.h | 2 +- extensions/http-curl/tests/AbsoluteTimeoutTest.cpp | 1 - extensions/http-curl/tests/C2CompressTest.cpp | 6 +- extensions/http-curl/tests/C2DebugBundleTest.cpp | 5 +- .../tests/C2DescribeCoreComponentStateTest.cpp | 1 - .../http-curl/tests/C2DescribeManifestTest.cpp | 1 - extensions/http-curl/tests/C2JstackTest.cpp | 1 - extensions/http-curl/tests/C2LogHeartbeatTest.cpp | 1 - .../http-curl/tests/C2MultipleCommandsTest.cpp | 1 - extensions/http-curl/tests/C2NullConfiguration.cpp | 3 +- extensions/http-curl/tests/C2PauseResumeTest.cpp | 3 +- .../http-curl/tests/C2VerifyHeartbeatAndStop.cpp | 1 - .../tests/C2VerifyLightweightHeartbeatAndStop.cpp | 1 - .../C2VerifyResourceConsumptionInHeartbeat.cpp | 1 - .../http-curl/tests/C2VerifyServeResults.cpp | 3 +- extensions/http-curl/tests/CMakeLists.txt | 3 +- extensions/http-curl/tests/CivetStream.h | 2 +- extensions/http-curl/tests/HTTPHandlers.h | 23 +- extensions/http-curl/tests/HTTPIntegrationBase.h | 1 - extensions/http-curl/tests/HTTPSiteToSiteTests.cpp | 1 - .../http-curl/tests/HttpPostIntegrationTest.cpp | 1 - extensions/http-curl/tests/SiteToSiteRestTest.cpp | 1 - .../http-curl/tests/TimeoutHTTPSiteToSiteTests.cpp | 1 - extensions/http-curl/tests/VerifyInvokeHTTP.h | 8 +- .../http-curl/tests/VerifyInvokeHTTPPostTest.cpp | 2 +- .../http-curl/tests/{ => unit}/AlertTests.cpp | 8 +- .../http-curl/tests/unit/InvokeHTTPTests.cpp | 35 +- extensions/jni/ExecuteJavaControllerService.cpp | 44 +- extensions/jni/ExecuteJavaControllerService.h | 12 +- extensions/jni/ExecuteJavaProcessor.cpp | 22 +- extensions/jni/ExecuteJavaProcessor.h | 32 +- extensions/jni/JVMCreator.h | 2 +- extensions/jni/jvm/JVMLoader.h | 12 +- extensions/jni/jvm/JavaControllerService.cpp | 31 +- extensions/jni/jvm/JavaControllerService.h | 27 +- extensions/jni/jvm/JniReferenceObjects.h | 2 +- extensions/jni/jvm/NarClassLoader.h | 11 +- extensions/kubernetes/CMakeLists.txt | 3 +- .../KubernetesControllerService.cpp | 23 +- .../KubernetesControllerService.h | 23 +- .../processors/CollectKubernetesPodMetrics.cpp | 15 +- .../processors/CollectKubernetesPodMetrics.h | 17 +- extensions/kubernetes/tests/CMakeLists.txt | 2 +- extensions/libarchive/ArchiveStreamProvider.cpp | 6 +- extensions/libarchive/BinFiles.cpp | 18 +- extensions/libarchive/BinFiles.h | 61 +- .../libarchive/BinFilesStaticDefinitions.cpp | 107 - extensions/libarchive/CompressContent.cpp | 66 +- extensions/libarchive/CompressContent.h | 117 +- extensions/libarchive/FocusArchiveEntry.cpp | 9 +- extensions/libarchive/FocusArchiveEntry.h | 13 +- extensions/libarchive/ManipulateArchive.cpp | 23 +- extensions/libarchive/ManipulateArchive.h | 37 +- extensions/libarchive/MergeContent.cpp | 24 +- extensions/libarchive/MergeContent.h | 94 +- extensions/libarchive/ReadArchiveStream.cpp | 2 +- extensions/libarchive/ReadArchiveStream.h | 4 +- extensions/libarchive/UnfocusArchiveEntry.cpp | 6 +- extensions/libarchive/UnfocusArchiveEntry.h | 7 +- extensions/libarchive/WriteArchiveStream.h | 35 +- extensions/librdkafka/ConsumeKafka.cpp | 43 +- extensions/librdkafka/ConsumeKafka.h | 206 +- extensions/librdkafka/KafkaProcessorBase.cpp | 31 +- extensions/librdkafka/KafkaProcessorBase.h | 75 +- .../librdkafka/KafkaProcessorStaticDefinitions.cpp | 279 - extensions/librdkafka/PublishKafka.cpp | 32 +- extensions/librdkafka/PublishKafka.h | 178 +- extensions/librdkafka/rdkafka_utils.cpp | 16 +- extensions/librdkafka/rdkafka_utils.h | 2 +- extensions/librdkafka/tests/CMakeLists.txt | 2 +- extensions/lua/LuaInputStream.cpp | 2 +- extensions/lua/LuaScriptExecutor.h | 2 +- extensions/lua/tests/CMakeLists.txt | 2 +- .../TestExecuteScriptProcessorWithLuaScript.cpp | 20 +- .../mqtt/processors/AbstractMQTTProcessor.cpp | 36 +- extensions/mqtt/processors/AbstractMQTTProcessor.h | 171 +- .../AbstractMQTTProcessorStaticDefinitions.cpp | 123 - extensions/mqtt/processors/ConsumeMQTT.cpp | 45 +- extensions/mqtt/processors/ConsumeMQTT.h | 68 +- extensions/mqtt/processors/PublishMQTT.cpp | 21 +- extensions/mqtt/processors/PublishMQTT.h | 38 +- extensions/mqtt/tests/CMakeLists.txt | 2 +- extensions/mqtt/tests/ConsumeMQTTTests.cpp | 21 +- extensions/mqtt/tests/PublishMQTTTests.cpp | 9 +- extensions/opc/CMakeLists.txt | 3 +- extensions/opc/include/fetchopc.h | 46 +- extensions/opc/include/opc.h | 18 +- extensions/opc/include/opcbase.h | 39 +- extensions/opc/include/putopc.h | 58 +- extensions/opc/src/fetchopc.cpp | 18 +- extensions/opc/src/opc.cpp | 8 - extensions/opc/src/opcbase.cpp | 12 +- extensions/opc/src/opcbaseStaticDefinitions.cpp | 149 - extensions/opc/src/putopc.cpp | 27 +- extensions/opencv/CMakeLists.txt | 2 +- extensions/opencv/CaptureRTSPFrame.cpp | 45 +- extensions/opencv/CaptureRTSPFrame.h | 39 +- extensions/opencv/MotionDetector.cpp | 47 +- extensions/opencv/MotionDetector.h | 50 +- extensions/opencv/tests/CMakeLists.txt | 2 +- extensions/opencv/tests/CaptureRTSPFrameTest.cpp | 16 +- extensions/openwsman/CMakeLists.txt | 2 +- .../SourceInitiatedSubscriptionListener.cpp | 93 +- .../SourceInitiatedSubscriptionListener.h | 124 +- extensions/pcap/CapturePacket.cpp | 24 +- extensions/pcap/CapturePacket.h | 37 +- extensions/pdh/CMakeLists.txt | 2 +- extensions/pdh/PerformanceDataMonitor.cpp | 46 +- extensions/pdh/PerformanceDataMonitor.h | 41 +- extensions/pdh/tests/CMakeLists.txt | 2 +- .../pdh/tests/PerformanceDataMonitorTests.cpp | 6 +- extensions/procfs/processors/ProcFsMonitor.cpp | 62 +- extensions/procfs/processors/ProcFsMonitor.h | 73 +- extensions/procfs/tests/CMakeLists.txt | 2 +- extensions/procfs/tests/CPUStatTests.cpp | 3 +- extensions/procfs/tests/ProcFsMonitorTests.cpp | 18 +- extensions/prometheus/PrometheusExposerWrapper.cpp | 24 +- extensions/prometheus/PrometheusExposerWrapper.h | 13 +- .../prometheus/PrometheusMetricsPublisher.cpp | 32 +- extensions/prometheus/PrometheusMetricsPublisher.h | 6 +- extensions/prometheus/tests/CMakeLists.txt | 2 +- .../tests/PrometheusMetricsPublisherTest.cpp | 17 +- extensions/python/ExecutePythonProcessor.cpp | 38 +- extensions/python/ExecutePythonProcessor.h | 40 +- extensions/python/PythonScriptExecutor.h | 2 +- extensions/python/tests/CMakeLists.txt | 4 +- .../python/tests/ExecutePythonProcessorTests.cpp | 23 +- .../TestExecuteScriptProcessorWithPythonScript.cpp | 14 +- extensions/python/types/PyScriptFlowFile.cpp | 8 +- .../rocksdb-repos/DatabaseContentRepository.cpp | 9 + .../rocksdb-repos/DatabaseContentRepository.h | 8 +- extensions/rocksdb-repos/FlowFileRepository.cpp | 6 - extensions/rocksdb-repos/FlowFileRepository.h | 11 +- extensions/rocksdb-repos/ProvenanceRepository.cpp | 13 - extensions/rocksdb-repos/ProvenanceRepository.h | 9 +- extensions/rocksdb-repos/RocksDbRepository.cpp | 18 +- extensions/rocksdb-repos/RocksDbRepository.h | 7 +- extensions/rocksdb-repos/RocksDbStream.cpp | 16 +- extensions/rocksdb-repos/RocksDbStream.h | 2 +- .../controllers/RocksDbStateStorage.cpp | 27 +- .../controllers/RocksDbStateStorage.h | 29 +- extensions/rocksdb-repos/database/OpenRocksDb.cpp | 21 + extensions/rocksdb-repos/database/OpenRocksDb.h | 4 + .../encryption/RocksDbEncryptionProvider.cpp | 4 +- extensions/script/ExecuteScript.cpp | 26 +- extensions/script/ExecuteScript.h | 47 +- extensions/script/tests/CMakeLists.txt | 2 +- extensions/script/tests/ExecuteScriptTests.cpp | 8 +- extensions/sensors/GetEnvironmentalSensors.cpp | 19 +- extensions/sensors/GetEnvironmentalSensors.h | 11 +- extensions/sensors/GetMovementSensors.cpp | 22 +- extensions/sensors/GetMovementSensors.h | 11 +- extensions/sftp/client/SFTPClient.h | 48 +- extensions/sftp/processors/FetchSFTP.cpp | 16 +- extensions/sftp/processors/FetchSFTP.h | 79 +- extensions/sftp/processors/ListSFTP.cpp | 39 +- extensions/sftp/processors/ListSFTP.h | 144 +- extensions/sftp/processors/PutSFTP.cpp | 22 +- extensions/sftp/processors/PutSFTP.h | 144 +- extensions/sftp/processors/SFTPProcessorBase.cpp | 8 +- extensions/sftp/processors/SFTPProcessorBase.h | 118 +- .../processors/SFTPProcessorStaticDefinitions.cpp | 325 - extensions/sftp/tests/CMakeLists.txt | 2 +- extensions/sftp/tests/FetchSFTPTests.cpp | 16 +- extensions/sftp/tests/ListSFTPTests.cpp | 5 +- extensions/sftp/tests/PutSFTPTests.cpp | 44 +- extensions/splunk/PutSplunkHTTP.cpp | 6 +- extensions/splunk/PutSplunkHTTP.h | 42 +- extensions/splunk/QuerySplunkIndexingStatus.cpp | 8 +- extensions/splunk/QuerySplunkIndexingStatus.h | 52 +- extensions/splunk/SplunkHECProcessor.cpp | 12 +- extensions/splunk/SplunkHECProcessor.h | 40 +- .../splunk/SplunkHECProcessorStaticDefinitions.cpp | 114 - extensions/splunk/tests/CMakeLists.txt | 2 +- extensions/splunk/tests/PutSplunkHTTPTests.cpp | 41 +- .../tests/QuerySplunkIndexingStatusTests.cpp | 26 +- extensions/sql/processors/ExecuteSQL.cpp | 16 +- extensions/sql/processors/ExecuteSQL.h | 21 +- extensions/sql/processors/FlowFileSource.cpp | 43 +- extensions/sql/processors/FlowFileSource.h | 75 +- extensions/sql/processors/PutSQL.cpp | 7 +- extensions/sql/processors/PutSQL.h | 21 +- extensions/sql/processors/QueryDatabaseTable.cpp | 18 +- extensions/sql/processors/QueryDatabaseTable.h | 57 +- extensions/sql/processors/SQLProcessor.cpp | 2 +- extensions/sql/processors/SQLProcessor.h | 10 +- .../processors/SQLProcessorStaticDefinitions.cpp | 119 - extensions/sql/services/DatabaseService.cpp | 4 +- extensions/sql/services/DatabaseService.h | 9 +- .../services/DatabaseServiceStaticDefinitions.cpp | 37 - extensions/sql/services/ODBCConnector.cpp | 3 + extensions/sql/services/ODBCConnector.h | 2 +- .../controllers/PersistentMapStateStorage.cpp | 27 +- .../controllers/PersistentMapStateStorage.h | 29 +- .../controllers/VolatileMapStateStorage.cpp | 8 +- .../controllers/VolatileMapStateStorage.h | 8 +- .../processors/AppendHostInfo.cpp | 23 +- .../processors/AppendHostInfo.h | 32 +- .../processors/AttributesToJSON.cpp | 56 +- .../processors/AttributesToJSON.h | 78 +- .../processors/DefragmentText.cpp | 43 +- .../processors/DefragmentText.h | 75 +- .../processors/ExecuteProcess.cpp | 42 +- .../processors/ExecuteProcess.h | 41 +- .../standard-processors/processors/ExtractText.cpp | 66 +- .../standard-processors/processors/ExtractText.h | 67 +- .../standard-processors/processors/FetchFile.cpp | 114 +- .../standard-processors/processors/FetchFile.h | 157 +- .../processors/GenerateFlowFile.cpp | 43 +- .../processors/GenerateFlowFile.h | 48 +- .../standard-processors/processors/GetFile.cpp | 61 +- .../standard-processors/processors/GetFile.h | 82 +- .../standard-processors/processors/GetTCP.cpp | 156 +- extensions/standard-processors/processors/GetTCP.h | 76 +- .../standard-processors/processors/HashContent.cpp | 17 +- .../standard-processors/processors/HashContent.h | 48 +- .../standard-processors/processors/ListFile.cpp | 91 +- .../standard-processors/processors/ListFile.h | 118 +- .../processors/ListenSyslog.cpp | 87 +- .../standard-processors/processors/ListenSyslog.h | 143 +- .../standard-processors/processors/ListenTCP.cpp | 52 +- .../standard-processors/processors/ListenTCP.h | 62 +- .../standard-processors/processors/ListenUDP.cpp | 39 +- .../standard-processors/processors/ListenUDP.h | 49 +- .../processors/LogAttribute.cpp | 47 +- .../standard-processors/processors/LogAttribute.h | 58 +- .../processors/NetworkListenerProcessor.cpp | 12 +- .../processors/NetworkListenerProcessor.h | 8 +- .../standard-processors/processors/PutFile.cpp | 46 +- .../standard-processors/processors/PutFile.h | 74 +- .../standard-processors/processors/PutTCP.cpp | 70 +- extensions/standard-processors/processors/PutTCP.h | 85 +- .../standard-processors/processors/PutUDP.cpp | 21 +- extensions/standard-processors/processors/PutUDP.h | 24 +- .../standard-processors/processors/ReplaceText.cpp | 96 +- .../standard-processors/processors/ReplaceText.h | 160 +- .../processors/RetryFlowFile.cpp | 74 +- .../standard-processors/processors/RetryFlowFile.h | 112 +- .../processors/RouteOnAttribute.cpp | 13 +- .../processors/RouteOnAttribute.h | 9 +- .../standard-processors/processors/RouteText.cpp | 161 +- .../standard-processors/processors/RouteText.h | 205 +- .../standard-processors/processors/TailFile.cpp | 139 +- .../standard-processors/processors/TailFile.h | 134 +- .../processors/UpdateAttribute.cpp | 23 +- .../processors/UpdateAttribute.h | 10 +- .../standard-processors/tests/CMakeLists.txt | 18 +- .../tests/integration/ProcessGroupTest.cpp | 1 - .../tests/unit/AppendHostInfoTests.cpp | 4 +- .../tests/unit/AttributesToJSONTests.cpp | 36 +- .../tests/unit/DefragmentTextTests.cpp | 79 +- .../tests/unit/ExecuteProcessTests.cpp | 17 +- .../tests/unit/ExtractTextTests.cpp | 38 +- .../tests/unit/FetchFileTests.cpp | 6 +- .../tests/unit/GenerateFlowFileTests.cpp | 44 +- .../tests/unit/GetFileTests.cpp | 10 +- .../standard-processors/tests/unit/GetTCPTests.cpp | 19 +- .../tests/unit/HashContentTest.cpp | 36 +- .../tests/unit/ListFileTests.cpp | 24 +- .../tests/unit/ListenSyslogTests.cpp | 64 +- .../tests/unit/ListenTcpTests.cpp | 94 +- .../tests/unit/ListenUDPTests.cpp | 16 +- .../tests/unit/ManifestTests.cpp | 4 +- .../tests/unit/ProcessorTests.cpp | 34 +- .../tests/unit/PutFileTests.cpp | 52 +- .../standard-processors/tests/unit/PutTCPTests.cpp | 39 +- .../standard-processors/tests/unit/PutUDPTests.cpp | 2 +- .../tests/unit/ReplaceTextTests.cpp | 134 +- .../tests/unit/RetryFlowFileTests.cpp | 40 +- .../tests/unit/TailFileTests.cpp | 348 +- .../tests/unit/UpdateAttributeTests.cpp | 4 +- .../tests/unit/YamlConfigurationTests.cpp | 63 +- .../tests/unit/resources/alice_by_A.pem | 46 - .../tests/unit/resources/alice_by_B.pem | 46 - .../tests/unit/resources/ca_A.crt | 21 - .../tests/unit/resources/ca_B.crt | 21 - .../tests/unit/resources/localhost_by_A.pem | 46 - .../tests/unit/resources/localhost_by_B.pem | 46 - extensions/systemd/CMakeLists.txt | 2 +- extensions/systemd/ConsumeJournald.cpp | 51 +- extensions/systemd/ConsumeJournald.h | 60 +- extensions/systemd/tests/CMakeLists.txt | 2 +- extensions/tensorflow/BUILDING.md | 59 - extensions/tensorflow/CMakeLists.txt | 44 - extensions/tensorflow/TFApplyGraph.cpp | 221 - extensions/tensorflow/TFApplyGraph.h | 128 - extensions/tensorflow/TFConvertImageToTensor.cpp | 336 - extensions/tensorflow/TFConvertImageToTensor.h | 131 - extensions/tensorflow/TFExtractTopLabels.cpp | 161 - extensions/tensorflow/TFExtractTopLabels.h | 93 - extensions/test-processors/KamikazeProcessor.cpp | 19 +- extensions/test-processors/KamikazeProcessor.h | 27 +- .../test-processors/LogOnDestructionProcessor.h | 4 +- extensions/usb-camera/GetUSBCamera.cpp | 26 +- extensions/usb-camera/GetUSBCamera.h | 48 +- .../CollectorInitiatedSubscription.cpp | 108 +- .../CollectorInitiatedSubscription.h | 108 +- .../windows-event-log/ConsumeWindowsEventLog.cpp | 181 +- .../windows-event-log/ConsumeWindowsEventLog.h | 160 +- extensions/windows-event-log/TailEventLog.cpp | 13 +- extensions/windows-event-log/TailEventLog.h | 23 +- extensions/windows-event-log/tests/CMakeLists.txt | 2 +- extensions/windows-event-log/tests/CWELTestUtils.h | 10 +- .../tests/ConsumeWindowsEventLogTests.cpp | 62 +- github_scripts/github_actions_cache_cleanup.py | 117 + .../github_actions_cache_cleanup_tests.py | 169 + github_scripts/requirements.txt | 1 + libminifi/CMakeLists.txt | 6 +- libminifi/include/FlowFileRecord.h | 2 +- libminifi/include/ForwardingNode.h | 6 +- libminifi/include/RemoteProcessorGroupPort.h | 41 +- libminifi/include/agent/agent_docs.h | 31 +- libminifi/include/c2/C2Payload.h | 101 +- libminifi/include/c2/C2Protocol.h | 2 +- libminifi/include/c2/ControllerSocketProtocol.h | 3 +- libminifi/include/c2/PayloadSerializer.h | 44 +- libminifi/include/c2/protocols/RESTProtocol.h | 2 +- .../controllers/LinuxPowerManagementService.h | 49 +- .../controllers/NetworkPrioritizerService.h | 43 +- libminifi/include/controllers/SSLContextService.h | 111 +- .../controllers/UpdatePolicyControllerService.h | 32 +- libminifi/include/core/Annotation.h | 1 + libminifi/include/core/CachedValueValidator.h | 24 +- libminifi/include/core/ConfigurableComponent.h | 24 +- libminifi/include/core/Connectable.h | 10 +- libminifi/include/core/ContentRepository.h | 3 +- libminifi/include/core/Core.h | 77 +- libminifi/include/core/DynamicProperty.h | 40 +- libminifi/include/core/FlowFile.h | 61 +- libminifi/include/core/ObjectFactory.h | 8 +- libminifi/include/core/OutputAttribute.h | 55 - libminifi/include/core/OutputAttributeDefinition.h | 55 + libminifi/include/core/ProcessContext.h | 79 +- libminifi/include/core/ProcessContextBuilder.h | 2 +- libminifi/include/core/ProcessSession.h | 12 +- libminifi/include/core/Processor.h | 8 +- libminifi/include/core/Property.h | 40 +- libminifi/include/core/PropertyBuilder.h | 225 - libminifi/include/core/PropertyDefinition.h | 75 + libminifi/include/core/PropertyDefinitionBuilder.h | 97 + libminifi/include/core/PropertyType.h | 357 + libminifi/include/core/PropertyValidation.h | 379 - libminifi/include/core/PropertyValue.h | 32 +- libminifi/include/core/Relationship.h | 11 +- .../IpProtocol.h => core/RelationshipDefinition.h} | 14 +- libminifi/include/core/Repository.h | 5 +- libminifi/include/core/RepositoryMetricsSource.h | 10 + libminifi/include/core/SerializableComponent.h | 8 +- .../JsonSchema.h => core/ValidationResult.h} | 11 +- .../include/core/controller/ControllerService.h | 2 +- .../core/controller/ControllerServiceNode.h | 11 +- .../core/controller/ControllerServiceProvider.h | 12 +- libminifi/include/core/flow/Node.h | 2 +- .../include/core/flow/StructuredConnectionParser.h | 3 +- .../include/core/logging/LoggerConfiguration.h | 11 +- libminifi/include/core/logging/LoggerFactory.h | 8 +- .../include/core/repository/AtomicRepoEntries.h | 13 +- .../include/core/repository/FileSystemRepository.h | 5 +- .../core/repository/VolatileContentRepository.h | 3 +- .../core/repository/VolatileFlowFileRepository.h | 5 +- .../core/repository/VolatileProvenanceRepository.h | 5 +- .../include/core/repository/VolatileRepository.h | 5 +- .../include/core/state/LogMetricsPublisher.h | 41 +- .../include/core/state/MetricsPublisherFactory.h | 4 +- .../include/core/state/MetricsPublisherStore.h | 4 +- libminifi/include/core/state/Value.h | 28 +- .../include/core/state/nodes/AgentInformation.h | 612 +- .../include/core/state/nodes/BuildInformation.h | 78 +- .../include/core/state/nodes/DeviceInformation.h | 348 +- .../include/core/state/nodes/FlowInformation.h | 141 +- libminifi/include/core/state/nodes/QueueMetrics.h | 37 +- .../include/core/state/nodes/RepositoryMetrics.h | 73 +- ...ateMonitor.h => RepositoryMetricsSourceStore.h} | 41 +- .../include/core/state/nodes/SchedulingNodes.h | 52 +- libminifi/include/core/state/nodes/StateMonitor.h | 12 +- .../include/core/state/nodes/SupportedOperations.h | 3 +- .../include/core/state/nodes/TreeUpdateListener.h | 82 - libminifi/include/io/AsioStream.h | 43 +- libminifi/include/io/AtomicEntryStream.h | 4 +- libminifi/include/io/BufferStream.h | 6 +- libminifi/include/io/CRCStream.h | 2 +- libminifi/include/io/FileStream.h | 2 +- libminifi/include/io/InputStream.h | 2 +- libminifi/include/io/OutputStream.h | 2 +- libminifi/include/io/Stream.h | 3 +- libminifi/include/io/StreamSlice.h | 4 +- libminifi/include/properties/Configuration.h | 6 + libminifi/include/provenance/Provenance.h | 2 +- libminifi/include/sitetosite/Peer.h | 2 +- libminifi/include/utils/ArrayUtils.h | 33 + libminifi/include/utils/ByteArrayCallback.h | 2 +- libminifi/include/utils/ClassUtils.h | 3 +- libminifi/include/utils/Enum.h | 167 +- .../utils/TestUtils.cpp => include/utils/Error.h} | 12 +- .../utils/{ChecksumCalculator.h => FileMutex.h} | 46 +- libminifi/include/utils/FlatMap.h | 40 +- libminifi/include/utils/JsonCallback.h | 2 +- libminifi/include/utils/LogUtils.h | 82 + libminifi/include/utils/OsUtils.h | 2 + libminifi/include/utils/ProcessorConfigUtils.h | 51 +- libminifi/include/utils/StringUtils.h | 37 +- libminifi/include/utils/SystemCpuUsageTracker.h | 3 +- libminifi/include/utils/ValueParser.h | 31 +- libminifi/include/utils/crypto/ciphers/Aes256Ecb.h | 4 +- libminifi/include/utils/gsl.h | 18 +- libminifi/include/utils/net/AsioSocketUtils.h | 6 +- libminifi/include/utils/net/DNS.h | 3 - libminifi/include/utils/net/IpProtocol.h | 8 +- libminifi/include/utils/net/Socket.h | 7 +- libminifi/include/utils/net/Ssl.h | 12 +- libminifi/include/utils/{gsl.h => span.h} | 35 +- .../include/utils/tls/WindowsCertStoreLocation.h | 53 +- libminifi/src/Configuration.cpp | 268 +- libminifi/src/FlowController.cpp | 2 +- libminifi/src/ForwardingNode.cpp | 4 +- libminifi/src/RemoteProcessorGroupPort.cpp | 28 +- libminifi/src/agent/JsonSchema.cpp | 5 +- libminifi/src/c2/C2Agent.cpp | 130 +- libminifi/src/c2/C2Payload.cpp | 18 +- .../src/c2/ControllerSocketMetricsPublisher.cpp | 2 +- libminifi/src/c2/ControllerSocketProtocol.cpp | 57 +- libminifi/src/c2/HeartbeatJsonSerializer.cpp | 2 +- libminifi/src/c2/protocols/RESTProtocol.cpp | 7 +- libminifi/src/c2/triggers/FileUpdateTrigger.cpp | 6 +- .../controllers/LinuxPowerManagementService.cpp | 37 +- .../src/controllers/NetworkPrioritizerService.cpp | 30 +- libminifi/src/controllers/SSLContextService.cpp | 93 +- .../controllers/UpdatePolicyControllerService.cpp | 26 +- .../src/controllers/keyvalue/AutoPersistor.cpp | 1 - libminifi/src/core/CachedValueValidator.cpp | 41 + libminifi/src/core/ConfigurableComponent.cpp | 23 +- libminifi/src/core/Connectable.cpp | 19 +- libminifi/src/core/Core.cpp | 4 +- libminifi/src/core/FlowConfiguration.cpp | 2 +- libminifi/src/core/FlowFile.cpp | 31 +- libminifi/src/core/ProcessSession.cpp | 18 +- libminifi/src/core/Property.cpp | 44 +- libminifi/src/core/PropertyType.cpp | 55 + libminifi/src/core/Repository.cpp | 2 +- .../src/core/flow/StructuredConfiguration.cpp | 17 +- .../src/core/flow/StructuredConnectionParser.cpp | 8 +- libminifi/src/core/logging/LoggerConfiguration.cpp | 13 +- libminifi/src/core/logging/LoggerFactory.cpp | 2 +- .../core/logging/internal/CompressionManager.cpp | 18 +- .../src/core/repository/VolatileRepository.cpp | 2 +- libminifi/src/core/state/LogMetricsPublisher.cpp | 126 + .../src/core/state/MetricsPublisherFactory.cpp | 17 +- libminifi/src/core/state/MetricsPublisherStore.cpp | 6 +- libminifi/src/core/state/Value.cpp | 33 +- .../src/core/state/nodes/AgentInformation.cpp | 378 + .../src/core/state/nodes/BuildInformation.cpp | 18 + .../src/core/state/nodes/DeviceInformation.cpp | 287 + libminifi/src/core/state/nodes/FlowInformation.cpp | 71 + libminifi/src/core/state/nodes/QueueMetrics.cpp | 16 + .../src/core/state/nodes/RepositoryMetrics.cpp | 12 + .../state/nodes/RepositoryMetricsSourceStore.cpp | 76 + .../{BuildInformation.cpp => SchedulingNodes.cpp} | 21 +- .../src/core/state/nodes/SupportedOperations.cpp | 64 +- libminifi/src/io/BufferStream.cpp | 14 +- libminifi/src/io/FileStream.cpp | 2 +- libminifi/src/io/InputStream.cpp | 4 + libminifi/src/io/StreamSlice.cpp | 4 +- libminifi/src/properties/Properties.cpp | 12 +- libminifi/src/provenance/Provenance.cpp | 2 +- libminifi/src/utils/BaseHTTPClient.cpp | 4 +- libminifi/src/utils/ClassUtils.cpp | 2 +- libminifi/src/utils/Environment.cpp | 2 +- libminifi/src/utils/{TestUtils.cpp => Error.cpp} | 19 +- libminifi/src/utils/FileMutex.cpp | 171 + .../utils/LineByLineInputOutputStreamCallback.cpp | 3 +- libminifi/src/utils/OsUtils.cpp | 8 + libminifi/src/utils/ProcessorConfigUtils.cpp | 37 +- libminifi/src/utils/StringUtils.cpp | 21 +- libminifi/src/utils/crypto/EncryptionUtils.cpp | 19 +- libminifi/src/utils/crypto/ciphers/Aes256Ecb.cpp | 26 +- libminifi/src/utils/file/FileUtils.cpp | 4 +- libminifi/src/utils/net/AsioSocketUtils.cpp | 5 +- libminifi/src/utils/net/DNS.cpp | 14 +- libminifi/src/utils/net/Socket.cpp | 6 + libminifi/src/utils/net/Ssl.cpp | 2 +- libminifi/src/utils/net/TcpServer.cpp | 19 +- libminifi/src/utils/tls/CertificateUtils.cpp | 2 +- .../src/utils/tls/WindowsCertStoreLocation.cpp | 87 - libminifi/test/Catch.h | 18 +- libminifi/test/CatchMain.cpp | 20 - libminifi/test/DummyProcessor.h | 4 +- libminifi/test/ReadFromFlowFileTestProcessor.cpp | 15 +- libminifi/test/ReadFromFlowFileTestProcessor.h | 10 +- libminifi/test/StatefulProcessor.h | 4 +- libminifi/test/TestBase.cpp | 75 +- libminifi/test/TestBase.h | 29 +- libminifi/test/Utils.h | 8 +- libminifi/test/WriteToFlowFileTestProcessor.cpp | 6 +- libminifi/test/WriteToFlowFileTestProcessor.h | 10 +- .../test/archive-tests/ArchiveStreamTests.cpp | 2 +- libminifi/test/archive-tests/CMakeLists.txt | 2 +- .../test/archive-tests/CompressContentTests.cpp | 76 +- libminifi/test/archive-tests/FocusArchiveTests.cpp | 14 +- .../test/archive-tests/ManipulateArchiveTests.cpp | 76 +- libminifi/test/archive-tests/MergeFileTests.cpp | 10 +- .../azure-tests/AzureBlobStorageTestsFixture.h | 12 +- .../azure-tests/AzureDataLakeStorageTestsFixture.h | 20 +- libminifi/test/azure-tests/CMakeLists.txt | 2 +- .../azure-tests/DeleteAzureBlobStorageTests.cpp | 72 +- .../DeleteAzureDataLakeStorageTests.cpp | 36 +- .../azure-tests/FetchAzureBlobStorageTests.cpp | 74 +- .../azure-tests/FetchAzureDataLakeStorageTests.cpp | 46 +- .../test/azure-tests/ListAzureBlobStorageTests.cpp | 16 +- .../azure-tests/ListAzureDataLakeStorageTests.cpp | 34 +- libminifi/test/azure-tests/MockBlobStorage.h | 5 +- .../test/azure-tests/MockDataLakeStorageClient.h | 6 +- .../test/azure-tests/PutAzureBlobStorageTests.cpp | 68 +- .../azure-tests/PutAzureDataLakeStorageTests.cpp | 52 +- .../test/bustache-tests/ApplyTemplateTests.cpp | 12 +- libminifi/test/bustache-tests/CMakeLists.txt | 2 +- libminifi/test/flow-tests/CMakeLists.txt | 2 +- libminifi/test/flow-tests/CustomProcessors.h | 33 +- libminifi/test/gps-tests/CMakeLists.txt | 2 +- libminifi/test/gps-tests/GPSTests.cpp | 4 +- .../integration/OnScheduleErrorHandlingTests.cpp | 3 +- .../integration/StateTransactionalityTests.cpp | 1 - libminifi/test/jni-tests/CMakeLists.txt | 2 +- libminifi/test/keyvalue-tests/CMakeLists.txt | 2 +- .../keyvalue-tests/PersistentStateStorageTest.cpp | 3 +- .../keyvalue-tests/VolatileMapStateStorageTest.cpp | 3 +- libminifi/test/pcap-tests/PcapTest.cpp | 4 +- libminifi/test/persistence-tests/CMakeLists.txt | 2 +- .../test/persistence-tests/PersistenceTests.cpp | 3 +- libminifi/test/resources/certs/alice.key | 28 + libminifi/test/resources/certs/alice_by_A.pem | 17 + .../test/resources/certs/alice_by_A_with_key.pem | 45 + libminifi/test/resources/certs/alice_by_B.pem | 17 + libminifi/test/resources/certs/alice_encrypted.key | 30 + .../{cn.pass => certs/alice_encryption_pass} | 0 libminifi/test/resources/certs/ca_A.crt | 16 + libminifi/test/resources/certs/ca_B.crt | 16 + .../test/resources/certs/empty_pass | 0 libminifi/test/resources/certs/localhost.key | 28 + libminifi/test/resources/certs/localhost_by_A.pem | 17 + libminifi/test/resources/certs/localhost_by_B.pem | 17 + libminifi/test/rocksdb-tests/CMakeLists.txt | 2 +- libminifi/test/rocksdb-tests/EncryptionTests.cpp | 3 +- libminifi/test/rocksdb-tests/RepoTests.cpp | 16 + .../test/rocksdb-tests/RocksDBStreamTests.cpp | 4 +- libminifi/test/rocksdb-tests/SwapTests.cpp | 21 +- libminifi/test/schema-tests/CMakeLists.txt | 2 +- libminifi/test/sql-tests/CMakeLists.txt | 3 +- libminifi/test/sql-tests/ExecuteSQLTests.cpp | 6 +- libminifi/test/sql-tests/FlowFileMatcher.h | 8 +- .../test/sql-tests/QueryDatabaseTableTests.cpp | 46 +- libminifi/test/sql-tests/SQLTestPlan.h | 5 +- libminifi/test/sql-tests/mocks/MockConnectors.cpp | 8 +- libminifi/test/sql-tests/mocks/MockODBCService.h | 2 +- libminifi/test/tensorflow-tests/CMakeLists.txt | 38 - .../test/tensorflow-tests/TensorFlowTests.cpp | 399 - libminifi/test/unit/ArrayUtilsTests.cpp | 63 + libminifi/test/unit/ComponentManifestTests.cpp | 27 +- .../test/unit/ContentRepositoryDependentTests.h | 2 +- libminifi/test/unit/CoreTests.cpp | 42 + libminifi/test/unit/EnumTests.cpp | 108 - libminifi/test/unit/FileMutexTests.cpp | 59 + libminifi/test/unit/FileStreamTests.cpp | 2 +- libminifi/test/unit/FileSystemRepositoryTests.cpp | 4 +- libminifi/test/unit/FileTriggerTests.cpp | 8 +- libminifi/test/unit/FileUtilsTests.cpp | 29 +- libminifi/test/unit/FlatMapTests.cpp | 18 +- libminifi/test/unit/FlowFileSerializationTests.cpp | 5 +- libminifi/test/unit/GeneralUtilsTest.cpp | 4 +- libminifi/test/unit/IdTests.cpp | 2 +- .../LineByLineInputOutputStreamCallbackTests.cpp | 5 +- libminifi/test/unit/LogMetricsPublisherTests.cpp | 241 + libminifi/test/unit/LoggerTests.cpp | 3 +- libminifi/test/unit/MemoryUsageTest.cpp | 3 +- libminifi/test/unit/MetricsPublisherStoreTests.cpp | 72 + libminifi/test/unit/MetricsTests.cpp | 32 +- libminifi/test/unit/MockClasses.h | 13 +- libminifi/test/unit/NetUtilsTest.cpp | 117 +- libminifi/test/unit/OsUtilTests.cpp | 3 + libminifi/test/unit/PayloadParserTests.cpp | 48 +- libminifi/test/unit/ProcessContextTest.cpp | 20 +- libminifi/test/unit/ProcessorConfigUtilsTests.cpp | 34 +- libminifi/test/unit/PropertyValidationTests.cpp | 227 +- libminifi/test/unit/ProvenanceTestHelper.h | 13 +- libminifi/test/unit/RegexUtilsTests.cpp | 4 +- libminifi/test/unit/SiteToSiteHelper.h | 2 +- libminifi/test/unit/{GslTest.cpp => SpanTests.cpp} | 14 +- libminifi/test/unit/StreamTests.cpp | 5 +- libminifi/test/unit/StringUtilsTests.cpp | 48 +- libminifi/test/unit/UpdatePolicyTests.cpp | 2 +- libminifi/test/unit/ValueParserTests.cpp | 43 + .../test/unit/WindowsCertStoreLocationTests.cpp | 28 +- libminifi/test/unit/ZlibStreamTests.cpp | 5 +- minifi_main/AgentDocs.cpp | 22 +- minifi_main/MiNiFiMain.cpp | 9 + minifi_main/tests/CMakeLists.txt | 3 +- nanofi/include/cxx/CallbackProcessor.h | 10 +- nanofi/src/cxx/C2CallbackAgent.cpp | 18 +- nanofi/src/cxx/CallbackProcessor.cpp | 17 +- nanofi/tests/CSite2SiteTests.cpp | 4 +- run_clang_tidy.sh | 46 +- run_flake8.sh | 2 +- thirdparty/catch/catch.hpp | 17976 ------------------- .../mock-client-without-decorators.patch | 153 + .../google-cloud-cpp/mock_client_target.patch | 26 + thirdparty/google-styleguide/cpplint.py | 483 +- ...arch64-feature-detection-code-in-armcap.c.patch | 560 + thirdparty/rocksdb/arm7.patch | 15 + win_build_vs.bat | 3 +- 764 files changed, 15671 insertions(+), 33433 deletions(-) create mode 100644 .github/workflows/clear-actions-cache.yml copy cmake/{MiMalloc.cmake => Catch2.cmake} (78%) create mode 100644 cmake/CodeCoverage.cmake delete mode 100644 cmake/FindTensorFlow.cmake copy cmake/{JsonSchemaValidator.cmake => MagicEnum.cmake} (65%) delete mode 100644 extensions/aws/processors/S3ProcessorStaticDefinitions.cpp delete mode 100644 extensions/azure/processors/AzureStorageProcessorStaticDefinitions.cpp copy extensions/{kubernetes/ContainerInfo.h => azure/utils/AzureEnums.h} (78%) delete mode 100644 extensions/gcp/processors/GCSProcessorStaticDefinitions.cpp rename extensions/http-curl/tests/{ => unit}/AlertTests.cpp (97%) delete mode 100644 extensions/libarchive/BinFilesStaticDefinitions.cpp delete mode 100644 extensions/librdkafka/KafkaProcessorStaticDefinitions.cpp delete mode 100644 extensions/mqtt/processors/AbstractMQTTProcessorStaticDefinitions.cpp delete mode 100644 extensions/opc/src/opcbaseStaticDefinitions.cpp delete mode 100644 extensions/sftp/processors/SFTPProcessorStaticDefinitions.cpp delete mode 100644 extensions/splunk/SplunkHECProcessorStaticDefinitions.cpp delete mode 100644 extensions/sql/processors/SQLProcessorStaticDefinitions.cpp delete mode 100644 extensions/sql/services/DatabaseServiceStaticDefinitions.cpp delete mode 100644 extensions/standard-processors/tests/unit/resources/alice_by_A.pem delete mode 100644 extensions/standard-processors/tests/unit/resources/alice_by_B.pem delete mode 100644 extensions/standard-processors/tests/unit/resources/ca_A.crt delete mode 100644 extensions/standard-processors/tests/unit/resources/ca_B.crt delete mode 100644 extensions/standard-processors/tests/unit/resources/localhost_by_A.pem delete mode 100644 extensions/standard-processors/tests/unit/resources/localhost_by_B.pem delete mode 100644 extensions/tensorflow/BUILDING.md delete mode 100644 extensions/tensorflow/CMakeLists.txt delete mode 100644 extensions/tensorflow/TFApplyGraph.cpp delete mode 100644 extensions/tensorflow/TFApplyGraph.h delete mode 100644 extensions/tensorflow/TFConvertImageToTensor.cpp delete mode 100644 extensions/tensorflow/TFConvertImageToTensor.h delete mode 100644 extensions/tensorflow/TFExtractTopLabels.cpp delete mode 100644 extensions/tensorflow/TFExtractTopLabels.h create mode 100755 github_scripts/github_actions_cache_cleanup.py create mode 100755 github_scripts/github_actions_cache_cleanup_tests.py create mode 100644 github_scripts/requirements.txt delete mode 100644 libminifi/include/core/OutputAttribute.h create mode 100644 libminifi/include/core/OutputAttributeDefinition.h delete mode 100644 libminifi/include/core/PropertyBuilder.h create mode 100644 libminifi/include/core/PropertyDefinition.h create mode 100644 libminifi/include/core/PropertyDefinitionBuilder.h create mode 100644 libminifi/include/core/PropertyType.h delete mode 100644 libminifi/include/core/PropertyValidation.h copy libminifi/include/{utils/net/IpProtocol.h => core/RelationshipDefinition.h} (79%) copy libminifi/include/{agent/JsonSchema.h => core/ValidationResult.h} (82%) copy extensions/prometheus/PrometheusMetricsPublisher.h => libminifi/include/core/state/LogMetricsPublisher.h (55%) copy libminifi/include/core/state/nodes/{StateMonitor.h => RepositoryMetricsSourceStore.h} (58%) delete mode 100644 libminifi/include/core/state/nodes/TreeUpdateListener.h copy libminifi/{src/utils/TestUtils.cpp => include/utils/Error.h} (87%) copy libminifi/include/utils/{ChecksumCalculator.h => FileMutex.h} (59%) create mode 100644 libminifi/include/utils/LogUtils.h copy libminifi/include/utils/{gsl.h => span.h} (59%) create mode 100644 libminifi/src/core/CachedValueValidator.cpp create mode 100644 libminifi/src/core/PropertyType.cpp create mode 100644 libminifi/src/core/state/LogMetricsPublisher.cpp create mode 100644 libminifi/src/core/state/nodes/RepositoryMetricsSourceStore.cpp copy libminifi/src/core/state/nodes/{BuildInformation.cpp => SchedulingNodes.cpp} (51%) copy libminifi/src/utils/{TestUtils.cpp => Error.cpp} (76%) create mode 100644 libminifi/src/utils/FileMutex.cpp delete mode 100644 libminifi/src/utils/tls/WindowsCertStoreLocation.cpp delete mode 100644 libminifi/test/CatchMain.cpp create mode 100644 libminifi/test/resources/certs/alice.key create mode 100644 libminifi/test/resources/certs/alice_by_A.pem create mode 100644 libminifi/test/resources/certs/alice_by_A_with_key.pem create mode 100644 libminifi/test/resources/certs/alice_by_B.pem create mode 100644 libminifi/test/resources/certs/alice_encrypted.key copy libminifi/test/resources/{cn.pass => certs/alice_encryption_pass} (100%) create mode 100644 libminifi/test/resources/certs/ca_A.crt create mode 100644 libminifi/test/resources/certs/ca_B.crt copy docker/test/integration/__init__.py => libminifi/test/resources/certs/empty_pass (100%) create mode 100644 libminifi/test/resources/certs/localhost.key create mode 100644 libminifi/test/resources/certs/localhost_by_A.pem create mode 100644 libminifi/test/resources/certs/localhost_by_B.pem delete mode 100644 libminifi/test/tensorflow-tests/CMakeLists.txt delete mode 100644 libminifi/test/tensorflow-tests/TensorFlowTests.cpp create mode 100644 libminifi/test/unit/ArrayUtilsTests.cpp create mode 100644 libminifi/test/unit/CoreTests.cpp delete mode 100644 libminifi/test/unit/EnumTests.cpp create mode 100644 libminifi/test/unit/FileMutexTests.cpp create mode 100644 libminifi/test/unit/LogMetricsPublisherTests.cpp create mode 100644 libminifi/test/unit/MetricsPublisherStoreTests.cpp rename libminifi/test/unit/{GslTest.cpp => SpanTests.cpp} (77%) create mode 100644 libminifi/test/unit/ValueParserTests.cpp delete mode 100644 thirdparty/catch/catch.hpp create mode 100644 thirdparty/google-cloud-cpp/mock-client-without-decorators.patch create mode 100644 thirdparty/google-cloud-cpp/mock_client_target.patch create mode 100644 thirdparty/openssl/Tidy-up-aarch64-feature-detection-code-in-armcap.c.patch create mode 100644 thirdparty/rocksdb/arm7.patch