insightconnect-plugin-runtime 6.3.8__tar.gz → 6.3.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {insightconnect_plugin_runtime-6.3.8/insightconnect_plugin_runtime.egg-info → insightconnect_plugin_runtime-6.3.10}/PKG-INFO +11 -9
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/README.md +5 -3
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/plugin.py +21 -3
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/telemetry.py +17 -7
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10/insightconnect_plugin_runtime.egg-info}/PKG-INFO +11 -9
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime.egg-info/requires.txt +5 -5
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/setup.py +6 -6
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/MANIFEST.in +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect-plugin-swagger.json +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/action.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/api/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/api/endpoints.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/api/schemas.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/cli.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/clients/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/clients/aws_client.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/clients/oauth.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/connection.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/data/input_message_schema.json +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/data/output_message_schema.json +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/dispatcher.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/exceptions.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/helper.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/metrics.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/schema.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/server.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/step.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/task.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/trigger.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/util.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/variables.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime.egg-info/SOURCES.txt +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime.egg-info/dependency_links.txt +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime.egg-info/top_level.txt +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/setup.cfg +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/hello/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/hello/action.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/hello/schema.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/return_bad_json/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/return_bad_json/action.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/return_bad_json/schema.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/throw_exception/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/throw_exception/action.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/throw_exception/schema.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/connection/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/connection/connection.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/connection/schema.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/tasks/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/tasks/monitor_events/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/tasks/monitor_events/schema.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/tasks/monitor_events/task.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/hello_trigger/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/hello_trigger/schema.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/hello_trigger/trigger.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/return_bad_json_trigger/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/return_bad_json_trigger/schema.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/return_bad_json_trigger/trigger.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/throw_exception_trigger/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/throw_exception_trigger/schema.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/throw_exception_trigger/trigger.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/util/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/setup.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/tests/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/tests/conftest.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/tests/test_cli.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/tests/test_hello_world.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/tests/test_server.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/__init__.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_action.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_api.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_aws_action.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_custom_encoder.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_endpoints.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_exceptions.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_helpers.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_metrics.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_oauth.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_plugin.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_schema.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_server_cloud_plugins.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_server_spec.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_trigger.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_variables.py +0 -0
- {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: insightconnect-plugin-runtime
|
|
3
|
-
Version: 6.3.
|
|
3
|
+
Version: 6.3.10
|
|
4
4
|
Summary: InsightConnect Plugin Runtime
|
|
5
5
|
Home-page: https://github.com/rapid7/komand-plugin-sdk-python
|
|
6
6
|
Author: Rapid7 Integrations Alliance
|
|
@@ -15,7 +15,7 @@ Description-Content-Type: text/markdown
|
|
|
15
15
|
Requires-Dist: requests==2.32.4
|
|
16
16
|
Requires-Dist: python_jsonschema_objects==0.5.2
|
|
17
17
|
Requires-Dist: jsonschema==4.22.0
|
|
18
|
-
Requires-Dist: certifi==2025.
|
|
18
|
+
Requires-Dist: certifi==2025.8.3
|
|
19
19
|
Requires-Dist: Flask==3.1.1
|
|
20
20
|
Requires-Dist: gunicorn==23.0.0
|
|
21
21
|
Requires-Dist: greenlet==3.2.3
|
|
@@ -28,10 +28,10 @@ Requires-Dist: structlog==25.4.0
|
|
|
28
28
|
Requires-Dist: python-json-logger==2.0.7
|
|
29
29
|
Requires-Dist: Jinja2==3.1.6
|
|
30
30
|
Requires-Dist: python-dateutil==2.9.0.post0
|
|
31
|
-
Requires-Dist: opentelemetry-sdk==1.
|
|
32
|
-
Requires-Dist: opentelemetry-instrumentation-flask==0.
|
|
33
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.
|
|
34
|
-
Requires-Dist: opentelemetry-instrumentation-requests==0.
|
|
31
|
+
Requires-Dist: opentelemetry-sdk==1.36.0
|
|
32
|
+
Requires-Dist: opentelemetry-instrumentation-flask==0.57b0
|
|
33
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.36.0
|
|
34
|
+
Requires-Dist: opentelemetry-instrumentation-requests==0.57b0
|
|
35
35
|
Requires-Dist: urllib3==2.5.0
|
|
36
36
|
Dynamic: author
|
|
37
37
|
Dynamic: author-email
|
|
@@ -63,10 +63,10 @@ to get started.
|
|
|
63
63
|
|
|
64
64
|
## Development of the InsightConnect Plugin Runtime
|
|
65
65
|
|
|
66
|
-
The Python Runtime codebase is built to support Python 3.11.
|
|
66
|
+
The Python Runtime codebase is built to support Python 3.11.13 as of version 6.2.3. The following dependencies will need
|
|
67
67
|
to be installed when developing or testing the Plugin Runtime:
|
|
68
68
|
|
|
69
|
-
- Python 3.11.
|
|
69
|
+
- Python 3.11.13
|
|
70
70
|
- Docker
|
|
71
71
|
- make
|
|
72
72
|
- tox
|
|
@@ -199,7 +199,7 @@ Running a specific test file:
|
|
|
199
199
|
|
|
200
200
|
| | Plugin | Slim Plugin |
|
|
201
201
|
|:------------------|:-------:|:-----------:|
|
|
202
|
-
| Python Version | 3.11.
|
|
202
|
+
| Python Version | 3.11.13 | 3.11.13 |
|
|
203
203
|
| OS | Alpine | Bullseye |
|
|
204
204
|
| Package installer | apk | apt |
|
|
205
205
|
| Shell | /bin/sh | /bin/bash |
|
|
@@ -226,6 +226,8 @@ contributed. Black is installed as a test dependency and the hook can be initial
|
|
|
226
226
|
after cloning this repository.
|
|
227
227
|
|
|
228
228
|
## Changelog
|
|
229
|
+
* 6.3.10 - Fixed tracing name to better allign otel standards
|
|
230
|
+
* 6.3.9 - Fixed `monitor_task_delay` decorator handling of millisecond epoch timestamps | Allow `test_task` connection method to accept task name parameter | Updated base images to Python 3.11.13
|
|
229
231
|
* 6.3.8 - Update exception string representation methods to remove newline characters
|
|
230
232
|
* 6.3.7 - Addressed vulnerability in 'urllib3' (removed from `requirements.txt` as it's a dependency of `botocore`)
|
|
231
233
|
* 6.3.6 - Added required dependency to plugin runtime
|
|
@@ -19,10 +19,10 @@ to get started.
|
|
|
19
19
|
|
|
20
20
|
## Development of the InsightConnect Plugin Runtime
|
|
21
21
|
|
|
22
|
-
The Python Runtime codebase is built to support Python 3.11.
|
|
22
|
+
The Python Runtime codebase is built to support Python 3.11.13 as of version 6.2.3. The following dependencies will need
|
|
23
23
|
to be installed when developing or testing the Plugin Runtime:
|
|
24
24
|
|
|
25
|
-
- Python 3.11.
|
|
25
|
+
- Python 3.11.13
|
|
26
26
|
- Docker
|
|
27
27
|
- make
|
|
28
28
|
- tox
|
|
@@ -155,7 +155,7 @@ Running a specific test file:
|
|
|
155
155
|
|
|
156
156
|
| | Plugin | Slim Plugin |
|
|
157
157
|
|:------------------|:-------:|:-----------:|
|
|
158
|
-
| Python Version | 3.11.
|
|
158
|
+
| Python Version | 3.11.13 | 3.11.13 |
|
|
159
159
|
| OS | Alpine | Bullseye |
|
|
160
160
|
| Package installer | apk | apt |
|
|
161
161
|
| Shell | /bin/sh | /bin/bash |
|
|
@@ -182,6 +182,8 @@ contributed. Black is installed as a test dependency and the hook can be initial
|
|
|
182
182
|
after cloning this repository.
|
|
183
183
|
|
|
184
184
|
## Changelog
|
|
185
|
+
* 6.3.10 - Fixed tracing name to better allign otel standards
|
|
186
|
+
* 6.3.9 - Fixed `monitor_task_delay` decorator handling of millisecond epoch timestamps | Allow `test_task` connection method to accept task name parameter | Updated base images to Python 3.11.13
|
|
185
187
|
* 6.3.8 - Update exception string representation methods to remove newline characters
|
|
186
188
|
* 6.3.7 - Addressed vulnerability in 'urllib3' (removed from `requirements.txt` as it's a dependency of `botocore`)
|
|
187
189
|
* 6.3.6 - Added required dependency to plugin runtime
|
|
@@ -564,8 +564,17 @@ class Plugin(object):
|
|
|
564
564
|
# connection.test is called, as there is no message returned along side it,
|
|
565
565
|
# and the code above then sees this and reads the "message" from the io buffer as normal
|
|
566
566
|
if hasattr(connection, "test_task") and connection_test_type == "test_task":
|
|
567
|
+
# Get the test_task function from the connection
|
|
567
568
|
func = connection.test_task
|
|
568
|
-
|
|
569
|
+
|
|
570
|
+
# Inspect the function to see if it requires args
|
|
571
|
+
arguments = inspect.signature(func).parameters
|
|
572
|
+
|
|
573
|
+
# If the function has parameters, we pass the task name
|
|
574
|
+
if len(arguments) > 0 and "task" in message_body:
|
|
575
|
+
output, log = func(message_body["task"])
|
|
576
|
+
else:
|
|
577
|
+
output, log = func()
|
|
569
578
|
return output, log
|
|
570
579
|
elif hasattr(connection, "test"):
|
|
571
580
|
func = connection.test
|
|
@@ -650,8 +659,17 @@ class Plugin(object):
|
|
|
650
659
|
# Check if connection test func available. If so - use it (preferred). Else fallback to action/trigger test
|
|
651
660
|
if hasattr(step.connection, "test"):
|
|
652
661
|
if hasattr(step.connection, "test_task") and connection_test_type == "test_task":
|
|
653
|
-
|
|
654
|
-
|
|
662
|
+
# Get the test_task function from the connection
|
|
663
|
+
func = connection.test_task
|
|
664
|
+
|
|
665
|
+
# Inspect the function to see if it requires args
|
|
666
|
+
arguments = inspect.signature(func).parameters
|
|
667
|
+
|
|
668
|
+
# If the function has parameters, we pass the task name
|
|
669
|
+
if len(arguments) > 0 and "task" in message_body:
|
|
670
|
+
output, log = func(message_body["task"])
|
|
671
|
+
else:
|
|
672
|
+
output, log = func()
|
|
655
673
|
return output, log
|
|
656
674
|
else:
|
|
657
675
|
func = step.connection.test
|
|
@@ -36,7 +36,11 @@ def init_tracing(app: Flask, plugin: Plugin, endpoint: str) -> None:
|
|
|
36
36
|
if not is_running_in_cloud():
|
|
37
37
|
return
|
|
38
38
|
|
|
39
|
-
resource = Resource(
|
|
39
|
+
resource = Resource(
|
|
40
|
+
attributes={
|
|
41
|
+
"service.name": f'pif.{plugin.name.lower().replace(" ", "_")}',
|
|
42
|
+
"service.version": plugin.version,
|
|
43
|
+
})
|
|
40
44
|
|
|
41
45
|
trace_provider = TracerProvider(resource=resource)
|
|
42
46
|
exporter = OTLPSpanExporter(endpoint=endpoint)
|
|
@@ -154,10 +158,16 @@ def monitor_task_delay(
|
|
|
154
158
|
|
|
155
159
|
# Parse and normalize the state time value
|
|
156
160
|
try:
|
|
157
|
-
# First, try to parse the epoch timestamp
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
+
# First, try to parse the epoch timestamp in seconds
|
|
162
|
+
try:
|
|
163
|
+
normalized_state_time = datetime.fromtimestamp(
|
|
164
|
+
float(current_state_time)
|
|
165
|
+
)
|
|
166
|
+
except ValueError:
|
|
167
|
+
# If it fails, assume it's in milliseconds and convert accordingly
|
|
168
|
+
normalized_state_time = datetime.fromtimestamp(
|
|
169
|
+
float(current_state_time) / 1000.0
|
|
170
|
+
)
|
|
161
171
|
except (ValueError, TypeError):
|
|
162
172
|
# If parsing fails, parse as a string
|
|
163
173
|
normalized_state_time = parse(str(current_state_time))
|
|
@@ -181,8 +191,8 @@ def monitor_task_delay(
|
|
|
181
191
|
)
|
|
182
192
|
break
|
|
183
193
|
except Exception as error:
|
|
184
|
-
self.logger.
|
|
185
|
-
f"An
|
|
194
|
+
self.logger.error(
|
|
195
|
+
f"An exception occurred while checking task delay. The exception was: {error}"
|
|
186
196
|
)
|
|
187
197
|
|
|
188
198
|
# Return task output
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: insightconnect-plugin-runtime
|
|
3
|
-
Version: 6.3.
|
|
3
|
+
Version: 6.3.10
|
|
4
4
|
Summary: InsightConnect Plugin Runtime
|
|
5
5
|
Home-page: https://github.com/rapid7/komand-plugin-sdk-python
|
|
6
6
|
Author: Rapid7 Integrations Alliance
|
|
@@ -15,7 +15,7 @@ Description-Content-Type: text/markdown
|
|
|
15
15
|
Requires-Dist: requests==2.32.4
|
|
16
16
|
Requires-Dist: python_jsonschema_objects==0.5.2
|
|
17
17
|
Requires-Dist: jsonschema==4.22.0
|
|
18
|
-
Requires-Dist: certifi==2025.
|
|
18
|
+
Requires-Dist: certifi==2025.8.3
|
|
19
19
|
Requires-Dist: Flask==3.1.1
|
|
20
20
|
Requires-Dist: gunicorn==23.0.0
|
|
21
21
|
Requires-Dist: greenlet==3.2.3
|
|
@@ -28,10 +28,10 @@ Requires-Dist: structlog==25.4.0
|
|
|
28
28
|
Requires-Dist: python-json-logger==2.0.7
|
|
29
29
|
Requires-Dist: Jinja2==3.1.6
|
|
30
30
|
Requires-Dist: python-dateutil==2.9.0.post0
|
|
31
|
-
Requires-Dist: opentelemetry-sdk==1.
|
|
32
|
-
Requires-Dist: opentelemetry-instrumentation-flask==0.
|
|
33
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.
|
|
34
|
-
Requires-Dist: opentelemetry-instrumentation-requests==0.
|
|
31
|
+
Requires-Dist: opentelemetry-sdk==1.36.0
|
|
32
|
+
Requires-Dist: opentelemetry-instrumentation-flask==0.57b0
|
|
33
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.36.0
|
|
34
|
+
Requires-Dist: opentelemetry-instrumentation-requests==0.57b0
|
|
35
35
|
Requires-Dist: urllib3==2.5.0
|
|
36
36
|
Dynamic: author
|
|
37
37
|
Dynamic: author-email
|
|
@@ -63,10 +63,10 @@ to get started.
|
|
|
63
63
|
|
|
64
64
|
## Development of the InsightConnect Plugin Runtime
|
|
65
65
|
|
|
66
|
-
The Python Runtime codebase is built to support Python 3.11.
|
|
66
|
+
The Python Runtime codebase is built to support Python 3.11.13 as of version 6.2.3. The following dependencies will need
|
|
67
67
|
to be installed when developing or testing the Plugin Runtime:
|
|
68
68
|
|
|
69
|
-
- Python 3.11.
|
|
69
|
+
- Python 3.11.13
|
|
70
70
|
- Docker
|
|
71
71
|
- make
|
|
72
72
|
- tox
|
|
@@ -199,7 +199,7 @@ Running a specific test file:
|
|
|
199
199
|
|
|
200
200
|
| | Plugin | Slim Plugin |
|
|
201
201
|
|:------------------|:-------:|:-----------:|
|
|
202
|
-
| Python Version | 3.11.
|
|
202
|
+
| Python Version | 3.11.13 | 3.11.13 |
|
|
203
203
|
| OS | Alpine | Bullseye |
|
|
204
204
|
| Package installer | apk | apt |
|
|
205
205
|
| Shell | /bin/sh | /bin/bash |
|
|
@@ -226,6 +226,8 @@ contributed. Black is installed as a test dependency and the hook can be initial
|
|
|
226
226
|
after cloning this repository.
|
|
227
227
|
|
|
228
228
|
## Changelog
|
|
229
|
+
* 6.3.10 - Fixed tracing name to better allign otel standards
|
|
230
|
+
* 6.3.9 - Fixed `monitor_task_delay` decorator handling of millisecond epoch timestamps | Allow `test_task` connection method to accept task name parameter | Updated base images to Python 3.11.13
|
|
229
231
|
* 6.3.8 - Update exception string representation methods to remove newline characters
|
|
230
232
|
* 6.3.7 - Addressed vulnerability in 'urllib3' (removed from `requirements.txt` as it's a dependency of `botocore`)
|
|
231
233
|
* 6.3.6 - Added required dependency to plugin runtime
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
requests==2.32.4
|
|
2
2
|
python_jsonschema_objects==0.5.2
|
|
3
3
|
jsonschema==4.22.0
|
|
4
|
-
certifi==2025.
|
|
4
|
+
certifi==2025.8.3
|
|
5
5
|
Flask==3.1.1
|
|
6
6
|
gunicorn==23.0.0
|
|
7
7
|
greenlet==3.2.3
|
|
@@ -14,8 +14,8 @@ structlog==25.4.0
|
|
|
14
14
|
python-json-logger==2.0.7
|
|
15
15
|
Jinja2==3.1.6
|
|
16
16
|
python-dateutil==2.9.0.post0
|
|
17
|
-
opentelemetry-sdk==1.
|
|
18
|
-
opentelemetry-instrumentation-flask==0.
|
|
19
|
-
opentelemetry-exporter-otlp-proto-http==1.
|
|
20
|
-
opentelemetry-instrumentation-requests==0.
|
|
17
|
+
opentelemetry-sdk==1.36.0
|
|
18
|
+
opentelemetry-instrumentation-flask==0.57b0
|
|
19
|
+
opentelemetry-exporter-otlp-proto-http==1.36.0
|
|
20
|
+
opentelemetry-instrumentation-requests==0.57b0
|
|
21
21
|
urllib3==2.5.0
|
|
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name="insightconnect-plugin-runtime",
|
|
8
|
-
version="6.3.
|
|
8
|
+
version="6.3.10",
|
|
9
9
|
description="InsightConnect Plugin Runtime",
|
|
10
10
|
long_description=long_description,
|
|
11
11
|
long_description_content_type="text/markdown",
|
|
@@ -17,7 +17,7 @@ setup(
|
|
|
17
17
|
"requests==2.32.4",
|
|
18
18
|
"python_jsonschema_objects==0.5.2",
|
|
19
19
|
"jsonschema==4.22.0",
|
|
20
|
-
"certifi==2025.
|
|
20
|
+
"certifi==2025.8.3",
|
|
21
21
|
"Flask==3.1.1",
|
|
22
22
|
"gunicorn==23.0.0",
|
|
23
23
|
"greenlet==3.2.3",
|
|
@@ -30,10 +30,10 @@ setup(
|
|
|
30
30
|
"python-json-logger==2.0.7",
|
|
31
31
|
"Jinja2==3.1.6",
|
|
32
32
|
"python-dateutil==2.9.0.post0",
|
|
33
|
-
"opentelemetry-sdk==1.
|
|
34
|
-
"opentelemetry-instrumentation-flask==0.
|
|
35
|
-
"opentelemetry-exporter-otlp-proto-http==1.
|
|
36
|
-
"opentelemetry-instrumentation-requests==0.
|
|
33
|
+
"opentelemetry-sdk==1.36.0",
|
|
34
|
+
"opentelemetry-instrumentation-flask==0.57b0",
|
|
35
|
+
"opentelemetry-exporter-otlp-proto-http==1.36.0",
|
|
36
|
+
"opentelemetry-instrumentation-requests==0.57b0",
|
|
37
37
|
"urllib3==2.5.0"
|
|
38
38
|
],
|
|
39
39
|
tests_require=[
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/utils.py
RENAMED
|
File without changes
|