holmesgpt 0.13.2__py3-none-any.whl → 0.18.4__py3-none-any.whl
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.
- holmes/__init__.py +3 -5
- holmes/clients/robusta_client.py +20 -6
- holmes/common/env_vars.py +58 -3
- holmes/common/openshift.py +1 -1
- holmes/config.py +123 -148
- holmes/core/conversations.py +71 -15
- holmes/core/feedback.py +191 -0
- holmes/core/investigation.py +31 -39
- holmes/core/investigation_structured_output.py +3 -3
- holmes/core/issue.py +1 -1
- holmes/core/llm.py +508 -88
- holmes/core/models.py +108 -4
- holmes/core/openai_formatting.py +14 -1
- holmes/core/prompt.py +48 -3
- holmes/core/runbooks.py +1 -0
- holmes/core/safeguards.py +8 -6
- holmes/core/supabase_dal.py +295 -100
- holmes/core/tool_calling_llm.py +489 -428
- holmes/core/tools.py +325 -56
- holmes/core/tools_utils/token_counting.py +21 -0
- holmes/core/tools_utils/tool_context_window_limiter.py +40 -0
- holmes/core/tools_utils/tool_executor.py +0 -13
- holmes/core/tools_utils/toolset_utils.py +1 -0
- holmes/core/toolset_manager.py +191 -5
- holmes/core/tracing.py +19 -3
- holmes/core/transformers/__init__.py +23 -0
- holmes/core/transformers/base.py +63 -0
- holmes/core/transformers/llm_summarize.py +175 -0
- holmes/core/transformers/registry.py +123 -0
- holmes/core/transformers/transformer.py +32 -0
- holmes/core/truncation/compaction.py +94 -0
- holmes/core/truncation/dal_truncation_utils.py +23 -0
- holmes/core/truncation/input_context_window_limiter.py +219 -0
- holmes/interactive.py +228 -31
- holmes/main.py +23 -40
- holmes/plugins/interfaces.py +2 -1
- holmes/plugins/prompts/__init__.py +2 -1
- holmes/plugins/prompts/_fetch_logs.jinja2 +31 -6
- holmes/plugins/prompts/_general_instructions.jinja2 +1 -2
- holmes/plugins/prompts/_runbook_instructions.jinja2 +24 -12
- holmes/plugins/prompts/base_user_prompt.jinja2 +7 -0
- holmes/plugins/prompts/conversation_history_compaction.jinja2 +89 -0
- holmes/plugins/prompts/generic_ask.jinja2 +0 -4
- holmes/plugins/prompts/generic_ask_conversation.jinja2 +0 -1
- holmes/plugins/prompts/generic_ask_for_issue_conversation.jinja2 +0 -1
- holmes/plugins/prompts/generic_investigation.jinja2 +0 -1
- holmes/plugins/prompts/investigation_procedure.jinja2 +50 -1
- holmes/plugins/prompts/kubernetes_workload_ask.jinja2 +0 -1
- holmes/plugins/prompts/kubernetes_workload_chat.jinja2 +0 -1
- holmes/plugins/runbooks/__init__.py +145 -17
- holmes/plugins/runbooks/catalog.json +2 -0
- holmes/plugins/sources/github/__init__.py +4 -2
- holmes/plugins/sources/prometheus/models.py +1 -0
- holmes/plugins/toolsets/__init__.py +44 -27
- holmes/plugins/toolsets/aks-node-health.yaml +46 -0
- holmes/plugins/toolsets/aks.yaml +64 -0
- holmes/plugins/toolsets/atlas_mongodb/mongodb_atlas.py +38 -47
- holmes/plugins/toolsets/azure_sql/apis/alert_monitoring_api.py +3 -2
- holmes/plugins/toolsets/azure_sql/apis/azure_sql_api.py +2 -1
- holmes/plugins/toolsets/azure_sql/apis/connection_failure_api.py +3 -2
- holmes/plugins/toolsets/azure_sql/apis/connection_monitoring_api.py +3 -1
- holmes/plugins/toolsets/azure_sql/apis/storage_analysis_api.py +3 -1
- holmes/plugins/toolsets/azure_sql/azure_sql_toolset.py +12 -13
- holmes/plugins/toolsets/azure_sql/tools/analyze_connection_failures.py +15 -12
- holmes/plugins/toolsets/azure_sql/tools/analyze_database_connections.py +15 -12
- holmes/plugins/toolsets/azure_sql/tools/analyze_database_health_status.py +11 -11
- holmes/plugins/toolsets/azure_sql/tools/analyze_database_performance.py +11 -9
- holmes/plugins/toolsets/azure_sql/tools/analyze_database_storage.py +15 -12
- holmes/plugins/toolsets/azure_sql/tools/get_active_alerts.py +15 -15
- holmes/plugins/toolsets/azure_sql/tools/get_slow_queries.py +11 -8
- holmes/plugins/toolsets/azure_sql/tools/get_top_cpu_queries.py +11 -8
- holmes/plugins/toolsets/azure_sql/tools/get_top_data_io_queries.py +11 -8
- holmes/plugins/toolsets/azure_sql/tools/get_top_log_io_queries.py +11 -8
- holmes/plugins/toolsets/azure_sql/utils.py +0 -32
- holmes/plugins/toolsets/bash/argocd/__init__.py +3 -3
- holmes/plugins/toolsets/bash/aws/__init__.py +4 -4
- holmes/plugins/toolsets/bash/azure/__init__.py +4 -4
- holmes/plugins/toolsets/bash/bash_toolset.py +11 -15
- holmes/plugins/toolsets/bash/common/bash.py +23 -13
- holmes/plugins/toolsets/bash/common/bash_command.py +1 -1
- holmes/plugins/toolsets/bash/common/stringify.py +1 -1
- holmes/plugins/toolsets/bash/kubectl/__init__.py +2 -1
- holmes/plugins/toolsets/bash/kubectl/constants.py +0 -1
- holmes/plugins/toolsets/bash/kubectl/kubectl_get.py +3 -4
- holmes/plugins/toolsets/bash/parse_command.py +12 -13
- holmes/plugins/toolsets/cilium.yaml +284 -0
- holmes/plugins/toolsets/connectivity_check.py +124 -0
- holmes/plugins/toolsets/coralogix/api.py +132 -119
- holmes/plugins/toolsets/coralogix/coralogix.jinja2 +14 -0
- holmes/plugins/toolsets/coralogix/toolset_coralogix.py +219 -0
- holmes/plugins/toolsets/coralogix/utils.py +15 -79
- holmes/plugins/toolsets/datadog/datadog_api.py +525 -26
- holmes/plugins/toolsets/datadog/datadog_logs_instructions.jinja2 +55 -11
- holmes/plugins/toolsets/datadog/datadog_metrics_instructions.jinja2 +3 -3
- holmes/plugins/toolsets/datadog/datadog_models.py +59 -0
- holmes/plugins/toolsets/datadog/datadog_url_utils.py +213 -0
- holmes/plugins/toolsets/datadog/instructions_datadog_traces.jinja2 +165 -28
- holmes/plugins/toolsets/datadog/toolset_datadog_general.py +417 -241
- holmes/plugins/toolsets/datadog/toolset_datadog_logs.py +234 -214
- holmes/plugins/toolsets/datadog/toolset_datadog_metrics.py +167 -79
- holmes/plugins/toolsets/datadog/toolset_datadog_traces.py +374 -363
- holmes/plugins/toolsets/elasticsearch/__init__.py +6 -0
- holmes/plugins/toolsets/elasticsearch/elasticsearch.py +834 -0
- holmes/plugins/toolsets/elasticsearch/opensearch_ppl_query_docs.jinja2 +1616 -0
- holmes/plugins/toolsets/elasticsearch/opensearch_query_assist.py +78 -0
- holmes/plugins/toolsets/elasticsearch/opensearch_query_assist_instructions.jinja2 +223 -0
- holmes/plugins/toolsets/git.py +54 -50
- holmes/plugins/toolsets/grafana/base_grafana_toolset.py +16 -4
- holmes/plugins/toolsets/grafana/common.py +13 -29
- holmes/plugins/toolsets/grafana/grafana_tempo_api.py +455 -0
- holmes/plugins/toolsets/grafana/loki/instructions.jinja2 +25 -0
- holmes/plugins/toolsets/grafana/loki/toolset_grafana_loki.py +191 -0
- holmes/plugins/toolsets/grafana/loki_api.py +4 -0
- holmes/plugins/toolsets/grafana/toolset_grafana.py +293 -89
- holmes/plugins/toolsets/grafana/toolset_grafana_dashboard.jinja2 +49 -0
- holmes/plugins/toolsets/grafana/toolset_grafana_tempo.jinja2 +246 -11
- holmes/plugins/toolsets/grafana/toolset_grafana_tempo.py +820 -292
- holmes/plugins/toolsets/grafana/trace_parser.py +4 -3
- holmes/plugins/toolsets/internet/internet.py +15 -16
- holmes/plugins/toolsets/internet/notion.py +9 -11
- holmes/plugins/toolsets/investigator/core_investigation.py +44 -36
- holmes/plugins/toolsets/investigator/model.py +3 -1
- holmes/plugins/toolsets/json_filter_mixin.py +134 -0
- holmes/plugins/toolsets/kafka.py +36 -42
- holmes/plugins/toolsets/kubernetes.yaml +317 -113
- holmes/plugins/toolsets/kubernetes_logs.py +9 -9
- holmes/plugins/toolsets/kubernetes_logs.yaml +32 -0
- holmes/plugins/toolsets/logging_utils/logging_api.py +94 -8
- holmes/plugins/toolsets/mcp/toolset_mcp.py +218 -64
- holmes/plugins/toolsets/newrelic/new_relic_api.py +165 -0
- holmes/plugins/toolsets/newrelic/newrelic.jinja2 +65 -0
- holmes/plugins/toolsets/newrelic/newrelic.py +320 -0
- holmes/plugins/toolsets/openshift.yaml +283 -0
- holmes/plugins/toolsets/prometheus/prometheus.py +1202 -421
- holmes/plugins/toolsets/prometheus/prometheus_instructions.jinja2 +54 -5
- holmes/plugins/toolsets/prometheus/utils.py +28 -0
- holmes/plugins/toolsets/rabbitmq/api.py +23 -4
- holmes/plugins/toolsets/rabbitmq/toolset_rabbitmq.py +13 -14
- holmes/plugins/toolsets/robusta/robusta.py +239 -68
- holmes/plugins/toolsets/robusta/robusta_instructions.jinja2 +26 -9
- holmes/plugins/toolsets/runbook/runbook_fetcher.py +157 -27
- holmes/plugins/toolsets/service_discovery.py +1 -1
- holmes/plugins/toolsets/servicenow_tables/instructions.jinja2 +83 -0
- holmes/plugins/toolsets/servicenow_tables/servicenow_tables.py +426 -0
- holmes/plugins/toolsets/utils.py +88 -0
- holmes/utils/config_utils.py +91 -0
- holmes/utils/connection_utils.py +31 -0
- holmes/utils/console/result.py +10 -0
- holmes/utils/default_toolset_installation_guide.jinja2 +1 -22
- holmes/utils/env.py +7 -0
- holmes/utils/file_utils.py +2 -1
- holmes/utils/global_instructions.py +60 -11
- holmes/utils/holmes_status.py +6 -4
- holmes/utils/holmes_sync_toolsets.py +0 -2
- holmes/utils/krr_utils.py +188 -0
- holmes/utils/log.py +15 -0
- holmes/utils/markdown_utils.py +2 -3
- holmes/utils/memory_limit.py +58 -0
- holmes/utils/sentry_helper.py +64 -0
- holmes/utils/stream.py +69 -8
- holmes/utils/tags.py +4 -3
- holmes/version.py +37 -15
- holmesgpt-0.18.4.dist-info/LICENSE +178 -0
- {holmesgpt-0.13.2.dist-info → holmesgpt-0.18.4.dist-info}/METADATA +35 -31
- holmesgpt-0.18.4.dist-info/RECORD +258 -0
- holmes/core/performance_timing.py +0 -72
- holmes/plugins/toolsets/aws.yaml +0 -80
- holmes/plugins/toolsets/coralogix/toolset_coralogix_logs.py +0 -112
- holmes/plugins/toolsets/datadog/datadog_traces_formatter.py +0 -310
- holmes/plugins/toolsets/datadog/toolset_datadog_rds.py +0 -739
- holmes/plugins/toolsets/grafana/grafana_api.py +0 -42
- holmes/plugins/toolsets/grafana/tempo_api.py +0 -124
- holmes/plugins/toolsets/grafana/toolset_grafana_loki.py +0 -110
- holmes/plugins/toolsets/newrelic.py +0 -231
- holmes/plugins/toolsets/opensearch/opensearch.py +0 -257
- holmes/plugins/toolsets/opensearch/opensearch_logs.py +0 -161
- holmes/plugins/toolsets/opensearch/opensearch_traces.py +0 -218
- holmes/plugins/toolsets/opensearch/opensearch_traces_instructions.jinja2 +0 -12
- holmes/plugins/toolsets/opensearch/opensearch_utils.py +0 -166
- holmes/plugins/toolsets/servicenow/install.md +0 -37
- holmes/plugins/toolsets/servicenow/instructions.jinja2 +0 -3
- holmes/plugins/toolsets/servicenow/servicenow.py +0 -219
- holmes/utils/keygen_utils.py +0 -6
- holmesgpt-0.13.2.dist-info/LICENSE.txt +0 -21
- holmesgpt-0.13.2.dist-info/RECORD +0 -234
- /holmes/plugins/toolsets/{opensearch → newrelic}/__init__.py +0 -0
- {holmesgpt-0.13.2.dist-info → holmesgpt-0.18.4.dist-info}/WHEEL +0 -0
- {holmesgpt-0.13.2.dist-info → holmesgpt-0.18.4.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
holmes/.git_archival.json,sha256=PbwdO7rNhEJ4ALiO12DPPb81xNAIsVxCA0m8OrVoqsk,182
|
|
2
|
+
holmes/__init__.py,sha256=hGL6ZgJ0q7QLxz9SO39m12sh5ZCfCMCk0qvJ082qX0g,264
|
|
3
|
+
holmes/clients/robusta_client.py,sha256=zcrZcS2hZ-71SNXq0gsdVg1tkRwxAj6wX2fFfUYKSfE,1525
|
|
4
|
+
holmes/common/env_vars.py,sha256=TgJsA3oAoQUyr-J1vD_SwDIbod3U6BeDp9AUwNTL7gY,4967
|
|
5
|
+
holmes/common/openshift.py,sha256=9ycUP7Q3c6FmeueqScE1JL6VetNpUxQWvhwHVpYqrsQ,407
|
|
6
|
+
holmes/config.py,sha256=okFMje9mXDVpH8rVp2A2ZVfngXeSPm0aCkCjVyAGpd8,23564
|
|
7
|
+
holmes/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
holmes/core/config.py,sha256=9QGIXeYff9FPWa91as2OkRO2SupHzfNQZWzfNC4Vl-8,113
|
|
9
|
+
holmes/core/conversations.py,sha256=aFLG20DGgwpzhBgZxMykf4CtWz-axN8l_AV14r3xjKA,23347
|
|
10
|
+
holmes/core/feedback.py,sha256=Gu69ghRYGSCPDgFA77xOB5RPbVdQX-9Qpv4yVVegL4g,6793
|
|
11
|
+
holmes/core/investigation.py,sha256=yan7xuKVVc_cAiCRiHmItLffY29O9TRHkp73d8IXcsQ,5531
|
|
12
|
+
holmes/core/investigation_structured_output.py,sha256=Jm4qhjSzekJ0oDv6dNwgHsFzQrd7YCH525SVQSfR7PA,10570
|
|
13
|
+
holmes/core/issue.py,sha256=3G6uVgWmMYSBQizT2_937gMfXYc7-Q9H0vQPOVM5th8,2426
|
|
14
|
+
holmes/core/llm.py,sha256=L5BZTRZMwEZ-b7EsasM60rNfRsq79J7-3ura-kfFhrg,29372
|
|
15
|
+
holmes/core/models.py,sha256=oRK5UF3UD9tqw2GsM6VnGNU23t7ugHsYIoKxSPTlyAs,9089
|
|
16
|
+
holmes/core/openai_formatting.py,sha256=F7-SmQvXD6QB7MVC9UoP5fzOvsTh0cbvFIvACVS_Xgw,4684
|
|
17
|
+
holmes/core/prompt.py,sha256=vEzCJrrkxUdkhsbQKbtVmebwkq3rQviAk61JgqVeaMA,4183
|
|
18
|
+
holmes/core/resource_instruction.py,sha256=rduue_t8iQi1jbWc3-k3jX867W1Fvc6Tah5uOJk35Mc,483
|
|
19
|
+
holmes/core/runbooks.py,sha256=oWc2ZcWaTi5dLLsNTi6KJC8z05DOEiS5dPNJCu8CJDU,940
|
|
20
|
+
holmes/core/safeguards.py,sha256=Vma4jmPNLrxTImMS39lANPSLC1k4K-Xxlwouq4jy-bc,4887
|
|
21
|
+
holmes/core/supabase_dal.py,sha256=at-r6E3qysElR32KfhO_kwkizM0lyd165D51OWQmp0w,28605
|
|
22
|
+
holmes/core/todo_tasks_formatter.py,sha256=USyJZcoX6zoxID1UV-abAKdaWFYLO6QJd-UKryJAurI,1487
|
|
23
|
+
holmes/core/tool_calling_llm.py,sha256=0riECvnvomL6bKv1iCqLJ-qn07_89VvHMxveGRfJJGk,43385
|
|
24
|
+
holmes/core/tools.py,sha256=dynWYvxv5D3iy6Rm0v3bz_BymfGD86ScO70lbfS80cQ,32843
|
|
25
|
+
holmes/core/tools_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
holmes/core/tools_utils/token_counting.py,sha256=ZutbIwXBkXidW2f66L3tyTkNK2ME3HWbJWGNpxJHVd0,582
|
|
27
|
+
holmes/core/tools_utils/tool_context_window_limiter.py,sha256=xk1RvabLaPgauOKofdY5qDTpL057jFbFaVPoDP6HkrI,1849
|
|
28
|
+
holmes/core/tools_utils/tool_executor.py,sha256=eWrcbzi5HHZH5ywiQS4jMCMmv6bZy_crODzzap2E6E8,1959
|
|
29
|
+
holmes/core/tools_utils/toolset_utils.py,sha256=Om5S3wegz6fPT5ZFPS0IWN2s0nYbDqvRwmz-68qBQzI,2364
|
|
30
|
+
holmes/core/toolset_manager.py,sha256=SaghPXUo3_XSD4KXdYv5ZnUYqIq_3u3-s33vt8Q6hX8,27210
|
|
31
|
+
holmes/core/tracing.py,sha256=Qn-ToV-4bqtePAs_JpnIrK9lPeQ3x1wu2c5GPv8yR6A,9558
|
|
32
|
+
holmes/core/transformers/__init__.py,sha256=OsFNxdUuLNrcKudH_4BiR0mWcZzghvV064tiytfpims,600
|
|
33
|
+
holmes/core/transformers/base.py,sha256=vzyD2ScMaatS4wdX6v78zZzigcNpCz2S8c_JBsYNAK0,1501
|
|
34
|
+
holmes/core/transformers/llm_summarize.py,sha256=yylgSg0p5Ud5qjallSt9imf3NE71RNg1CE6OQkT_Azs,6408
|
|
35
|
+
holmes/core/transformers/registry.py,sha256=_o4T-bcgKsLp1HSPgHNOFQf8o1xrSSHXUUZmwvGfVxY,3772
|
|
36
|
+
holmes/core/transformers/transformer.py,sha256=ZWO-xEhT2hkr8bnGqEMZyjj2Virt1liciHCHIBow-tU,1029
|
|
37
|
+
holmes/core/truncation/compaction.py,sha256=9j_xY-4ZoBWnzjz6D0J34SauOvHeWjpmaBWkwzhd63U,3287
|
|
38
|
+
holmes/core/truncation/dal_truncation_utils.py,sha256=I69I7Jac1kTtpxDRMe8O3IPN8Au0bZJqI8gXwW-GMaI,776
|
|
39
|
+
holmes/core/truncation/input_context_window_limiter.py,sha256=ijB-Ti0e3unMxxuPnLOo7OeuMv5GmU5isPsbYlVyct8,8898
|
|
40
|
+
holmes/interactive.py,sha256=TKeTpaaU0NTGCslMSFnEuTLs7uGPiJ1ZjMdPLKhEifs,49361
|
|
41
|
+
holmes/main.py,sha256=MV4skKHWr-ewkLIrqOLa1cfSXsnYLGIIbCKock1V0NE,34053
|
|
42
|
+
holmes/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
+
holmes/plugins/destinations/__init__.py,sha256=vMYwTfA5nQ05us5Rzbaoe0R5C8Navo6ENVZhojtACTk,98
|
|
44
|
+
holmes/plugins/destinations/slack/__init__.py,sha256=HVoDdTbdJJ1amXt12ZSMVcn3E04rcOrqk6BgNwvMbWY,56
|
|
45
|
+
holmes/plugins/destinations/slack/plugin.py,sha256=C9_y-GLLqw3e0pWS2Jfu_P3XoXIpKYBXACNKIEdNdH4,6013
|
|
46
|
+
holmes/plugins/interfaces.py,sha256=tQHb2OxRlaotjXfbmOSdO13NQxEnHJf5e8Zw2ZRi72A,883
|
|
47
|
+
holmes/plugins/prompts/__init__.py,sha256=KipQ_5HVhlnVb3_4Ibukjagep8f6LK8ZxerN1vFCn3g,1504
|
|
48
|
+
holmes/plugins/prompts/_ai_safety.jinja2,sha256=IoVdOXHnkGwLaiuUzMczEdoahyrKhkdYvyDmz9Oewxw,2262
|
|
49
|
+
holmes/plugins/prompts/_current_date_time.jinja2,sha256=KynAvkQFqf_SXjqVY77nB8z4RgN7gti4SBSq1H7moHs,354
|
|
50
|
+
holmes/plugins/prompts/_default_log_prompt.jinja2,sha256=Tqw8CD2ZMStXIfMdYaoZT_d-FvQ_PMg6-knqag-YEgc,1478
|
|
51
|
+
holmes/plugins/prompts/_fetch_logs.jinja2,sha256=n0GlWck870J0ShvJ_rhSlMgwn8G5FoCv7HXlUs_hIFI,5979
|
|
52
|
+
holmes/plugins/prompts/_general_instructions.jinja2,sha256=IvGkmKaIrG7wXJlVcNqtYrst1Z-vRZYRMENzf_nDoz4,5774
|
|
53
|
+
holmes/plugins/prompts/_global_instructions.jinja2,sha256=d_c-BtDhU_Rmx637TPAyzlIIim8ZAxy7JK3V4GV8IWI,1359
|
|
54
|
+
holmes/plugins/prompts/_permission_errors.jinja2,sha256=gIMQx-zaTnuEv7SkQVC_GvxsR5R85fLuDZnJIKWcm5A,480
|
|
55
|
+
holmes/plugins/prompts/_runbook_instructions.jinja2,sha256=Ivm0SYKRmcxf3La4sNdxW_uoPmeSEj6XryuHTfapxL4,1575
|
|
56
|
+
holmes/plugins/prompts/_toolsets_instructions.jinja2,sha256=MaK5HRxhJyZ3I9zsmgdLO4lU95l24CwGp70ON5xHLMc,3024
|
|
57
|
+
holmes/plugins/prompts/base_user_prompt.jinja2,sha256=ZaVKO04pjaGS2BUBhVPgD4YfiFe69-0Wa5neSh8MGdg,145
|
|
58
|
+
holmes/plugins/prompts/conversation_history_compaction.jinja2,sha256=DdWyB_8ATf_5rVAF8e2uPszT_mShvE1gxnJM4jfvXU0,4954
|
|
59
|
+
holmes/plugins/prompts/generic_ask.jinja2,sha256=sj4AjByuniv6ZEAvXJfFiKHiYluaBTJRbRkRxHr6RN0,1908
|
|
60
|
+
holmes/plugins/prompts/generic_ask_conversation.jinja2,sha256=aoFZ-JHCo7Bu7u9fTyvNtJ_-VUHDQPV3k-SQ6X-K0ps,1568
|
|
61
|
+
holmes/plugins/prompts/generic_ask_for_issue_conversation.jinja2,sha256=VtYCzxXVkl2uIkIQ0YOnZO_dBhTgMJ6Ql44PJOsIJCQ,2032
|
|
62
|
+
holmes/plugins/prompts/generic_investigation.jinja2,sha256=i8dnN4WLfYRgZnsjUekzJIliipSDkrBeYrqIY-rpdXM,3376
|
|
63
|
+
holmes/plugins/prompts/generic_post_processing.jinja2,sha256=1YNBGKgpZkLNO6Xkbi4yqwWE2DZKACq4xl0ygywgY_w,596
|
|
64
|
+
holmes/plugins/prompts/generic_ticket.jinja2,sha256=FVWvPVnX0JSeBbKu1RuBUcQ7hcsqz661n_QC_kWUPV0,437
|
|
65
|
+
holmes/plugins/prompts/investigation_output_format.jinja2,sha256=C03_d4cQUhEvI5YBoVSkSZypM21wriGrocN4iP1_8co,1071
|
|
66
|
+
holmes/plugins/prompts/investigation_procedure.jinja2,sha256=5tQGMpfQAlnTgEwC7ekckURZKfaUNId3djismGdMPWo,12617
|
|
67
|
+
holmes/plugins/prompts/kubernetes_workload_ask.jinja2,sha256=wQb-yzP052dklbAK0MYVojLLQ-ciJOhYgi4deu-LB7Y,5888
|
|
68
|
+
holmes/plugins/prompts/kubernetes_workload_chat.jinja2,sha256=PJhVRpzyJL1n0g5HmkrgFYt7cUR_UKsjGuXpwWA_-Zg,1728
|
|
69
|
+
holmes/plugins/runbooks/CLAUDE.md,sha256=WYjf-ZvKmfrShmhTHplLscIpIB1j2TrrG6C_LR63XR0,5511
|
|
70
|
+
holmes/plugins/runbooks/README.md,sha256=dPrAO4bZGGW1C3FFaUm_adPMrb72DSSmbUkRSwqNK4U,2585
|
|
71
|
+
holmes/plugins/runbooks/__init__.py,sha256=dQvqueuOkMPPj_9tsD_lG6bM6_lOiKGFtkLi0a7YaVQ,7891
|
|
72
|
+
holmes/plugins/runbooks/catalog.json,sha256=oB47G6kvzqunXPXg7MlQSb5LLmRsT8F6D9O9ELirLEg,516
|
|
73
|
+
holmes/plugins/runbooks/jira.yaml,sha256=o24IL7Cb-Mv5X-cAj8Ik4KmEmY7bf98zBkMP5r39ong,777
|
|
74
|
+
holmes/plugins/runbooks/kube-prometheus-stack.yaml,sha256=adzr0vxvQZHJ_HYzYl5NdmjrTpVByx9h-3abpaFUo-Y,743
|
|
75
|
+
holmes/plugins/runbooks/networking/dns_troubleshooting_instructions.md,sha256=WuyS49-guD5pjW-L16RZ-X3Kc60sF4JGIla9y2tPgBc,5480
|
|
76
|
+
holmes/plugins/runbooks/upgrade/upgrade_troubleshooting_instructions.md,sha256=XqfG1vIOPFYHy2f9K7HQsxLmPqsauL0g6wUwnA0cn2Y,6108
|
|
77
|
+
holmes/plugins/sources/github/__init__.py,sha256=IIIgnMeHfUlBGfzbvqec5M8llOn4uxPVuAlboB-viQc,3052
|
|
78
|
+
holmes/plugins/sources/jira/__init__.py,sha256=4G4NVOXKFGXnCgT2Jd9r9NQLQ5ToR3t7Z60AquOMhmg,4733
|
|
79
|
+
holmes/plugins/sources/opsgenie/__init__.py,sha256=83-OJ8S-olphO5s30PgIt9RFWLA9iAY7jAhz51_mMlk,4109
|
|
80
|
+
holmes/plugins/sources/pagerduty/__init__.py,sha256=LYoN1dkUg7NCx7g-gdSomTTJhHyBV2JdDPyBq0DNgas,5578
|
|
81
|
+
holmes/plugins/sources/prometheus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
|
+
holmes/plugins/sources/prometheus/models.py,sha256=Fm3EI0XyVenSTU2HF3vHBSrJpkWBGWn54kbqgYzUrnM,2905
|
|
83
|
+
holmes/plugins/sources/prometheus/plugin.py,sha256=oBmuOwNM67suy6HmasUnyVOlBq9-mAxLZLlUzRHIggg,5941
|
|
84
|
+
holmes/plugins/toolsets/__init__.py,sha256=1mpHVoCzuvephgnrUtEFoFS-Q9iFlYdDV9RxtR3Ugyc,7861
|
|
85
|
+
holmes/plugins/toolsets/aks-node-health.yaml,sha256=37Dvk4D0ez1GQlt91MQkI0pZ5RLtUEFAOxDXDCVzb-g,5995
|
|
86
|
+
holmes/plugins/toolsets/aks.yaml,sha256=_XwrMSsghFnCqlbsZvVfwF3qgQFnxi47AC5Oavi2YC0,9532
|
|
87
|
+
holmes/plugins/toolsets/argocd.yaml,sha256=lbRIooJIkpumNdRgoDRHTjNb9PvFTfjQcT0iWU2x8mg,3932
|
|
88
|
+
holmes/plugins/toolsets/atlas_mongodb/instructions.jinja2,sha256=iyft4EwvYcImI_YrMte8_BTJZXGV6i0k84g3oKXR23k,988
|
|
89
|
+
holmes/plugins/toolsets/atlas_mongodb/mongodb_atlas.py,sha256=9Gf_p9zmY5dkaFpEgTRGnpnRIuyeNa3FxQN1e_NltnY,15626
|
|
90
|
+
holmes/plugins/toolsets/azure_sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
91
|
+
holmes/plugins/toolsets/azure_sql/apis/alert_monitoring_api.py,sha256=-tjkAAJd0dEN3eJDsHityZu7WUHrBaNXsg_ImWITzAw,26398
|
|
92
|
+
holmes/plugins/toolsets/azure_sql/apis/azure_sql_api.py,sha256=02vWwlg1RyxEqcsu9nlAxKDTNZnbooNATUr8sJMP1Ng,11499
|
|
93
|
+
holmes/plugins/toolsets/azure_sql/apis/connection_failure_api.py,sha256=dcwDEjfJZ-T144gLXXO7yzBiO1EBvGpTTfYhYvFrWJE,19204
|
|
94
|
+
holmes/plugins/toolsets/azure_sql/apis/connection_monitoring_api.py,sha256=5MUI03GtxZyYJvxlaSIkw8f8FSZgof4tt_oVWenCoYw,10191
|
|
95
|
+
holmes/plugins/toolsets/azure_sql/apis/storage_analysis_api.py,sha256=1lbMVpSY4n2xIeZNZRwe7MtaYKylocp8CYIwppwa9zw,13837
|
|
96
|
+
holmes/plugins/toolsets/azure_sql/azure_base_toolset.py,sha256=8eQPsFBPTCf_GMpbjfzzN3u-rGUXiElTD06RWCe7uso,2163
|
|
97
|
+
holmes/plugins/toolsets/azure_sql/azure_sql_instructions.jinja2,sha256=GvuxActaoJXA__4k72en7I44jEv_ye0MevSmlHfnzxA,6557
|
|
98
|
+
holmes/plugins/toolsets/azure_sql/azure_sql_toolset.py,sha256=RNAYhJaOndl4PIvpjPeJsUsX258uCBuqqhb_4N1aAYw,8038
|
|
99
|
+
holmes/plugins/toolsets/azure_sql/install.md,sha256=eBhdG-OG9HhbrEGvI31aAHRPWwBQne6H95mvBROqZ_s,1585
|
|
100
|
+
holmes/plugins/toolsets/azure_sql/tools/__init__.py,sha256=lEYFZ5X0mHdqwmi6XXTlM1qA7sBYsuQwVCXmluo-L34,25
|
|
101
|
+
holmes/plugins/toolsets/azure_sql/tools/analyze_connection_failures.py,sha256=9TLBYes9YMxhLwwfTU7445GpvA6rzHVWk-Xxu0dbkg8,13385
|
|
102
|
+
holmes/plugins/toolsets/azure_sql/tools/analyze_database_connections.py,sha256=N788_AVchO8vo0-O0F25N6E5qe77tFfwvYSKFR94mhA,10481
|
|
103
|
+
holmes/plugins/toolsets/azure_sql/tools/analyze_database_health_status.py,sha256=sbOZl5a_x53UTwQdLUV7sibGfafx8xt7iGX3yvgzWII,8315
|
|
104
|
+
holmes/plugins/toolsets/azure_sql/tools/analyze_database_performance.py,sha256=OmoFUtA2E58KHgkOU3oLKGgcfg5kfM0RfDS4yN4aVRk,10705
|
|
105
|
+
holmes/plugins/toolsets/azure_sql/tools/analyze_database_storage.py,sha256=RaUAw1cny0avhD3FZCdq_7hyVa0Z6qV-1pFFU3oAKtQ,16022
|
|
106
|
+
holmes/plugins/toolsets/azure_sql/tools/get_active_alerts.py,sha256=cmquYQuLs9v6Azwxfr4xcFVkD3tA-zh3agSw0AGzeeE,9408
|
|
107
|
+
holmes/plugins/toolsets/azure_sql/tools/get_slow_queries.py,sha256=n7xRyAqX35pza_QWg9sj4dDCRfwK6_6P9pGDiE4KaSM,7300
|
|
108
|
+
holmes/plugins/toolsets/azure_sql/tools/get_top_cpu_queries.py,sha256=ZKCz1m3PHAQsz4yrhuZpAKAV_aP6tRHd7ZXqvs4vM-8,7251
|
|
109
|
+
holmes/plugins/toolsets/azure_sql/tools/get_top_data_io_queries.py,sha256=eX-8V6wi1UgdkEJaoPu_upJuRf0AxE6AWqVUZyaMe7s,8277
|
|
110
|
+
holmes/plugins/toolsets/azure_sql/tools/get_top_log_io_queries.py,sha256=tGeu8k0U6rbDA5DANJPqgiKk9s8goly2VjNddp20szw,7652
|
|
111
|
+
holmes/plugins/toolsets/azure_sql/utils.py,sha256=3I8EAAbRr7-1XbLa7flOW7jhjztdSl66XbLAI-u1uV0,1429
|
|
112
|
+
holmes/plugins/toolsets/bash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
113
|
+
holmes/plugins/toolsets/bash/argocd/__init__.py,sha256=QLn2SD1EbZpn92yWwsxpADJQdgDITcT6vlacbBhPuhg,2186
|
|
114
|
+
holmes/plugins/toolsets/bash/argocd/constants.py,sha256=J1bkIX_3S4WQEcqHsCIMh0T-ehHmdFHXcr8mbgJNMEI,3176
|
|
115
|
+
holmes/plugins/toolsets/bash/aws/__init__.py,sha256=N3ejyU0Edmri_wnhWLY7fYFfzk3lqwrRRhjsKwYxJMw,2229
|
|
116
|
+
holmes/plugins/toolsets/bash/aws/constants.py,sha256=g8IH1CLkAZuV8SQEQrUVjLul7S28UvAwRjHwnYXkl3M,18389
|
|
117
|
+
holmes/plugins/toolsets/bash/azure/__init__.py,sha256=mngpBuCIvpvifrDz-vHflHdSb0ERMf1OIzXBM4Q4kcI,1863
|
|
118
|
+
holmes/plugins/toolsets/bash/azure/constants.py,sha256=jz2R8-EiSjGjAPBTtIAbLwfyHOJPVmI117wp-u_e8Kc,10361
|
|
119
|
+
holmes/plugins/toolsets/bash/bash_instructions.jinja2,sha256=AKVW1DpD6lii8cF582LZzEe9sOh3YJCerXBapwlEKhU,481
|
|
120
|
+
holmes/plugins/toolsets/bash/bash_toolset.py,sha256=rYd6uRAcdA-PU-rQ1hJIVYT1ANaE11qR8gLEy9_7kJ0,9558
|
|
121
|
+
holmes/plugins/toolsets/bash/common/bash.py,sha256=iBnXUeMXPAw2tmTMdQONzajL78t8KiCc8NiLOr0_BY8,2181
|
|
122
|
+
holmes/plugins/toolsets/bash/common/bash_command.py,sha256=yuN7ne-0drAzbOeHDYhulQPY-bKiuGLMsPJjQat0lm8,4570
|
|
123
|
+
holmes/plugins/toolsets/bash/common/config.py,sha256=dRd_gl16e2jG_gk6_mRVT6o3idiVXJ-8CtBONAx1DOU,285
|
|
124
|
+
holmes/plugins/toolsets/bash/common/stringify.py,sha256=DeHBgIO3hCpEDASoQh7jFU94O844iK883LHWYT60wKo,1470
|
|
125
|
+
holmes/plugins/toolsets/bash/common/validators.py,sha256=hdQCwrLP9TR7TfViKIajRooqwvd3ZXC-bB-hUvNRsUk,4146
|
|
126
|
+
holmes/plugins/toolsets/bash/docker/__init__.py,sha256=PrWTOL1k7UXPD35zoIEnNhmKKzigTJxu5MLsAtHxrZc,1914
|
|
127
|
+
holmes/plugins/toolsets/bash/docker/constants.py,sha256=mmyC7RJY2eamp7yjAfqTz-mpB76fP0ZTf6uTuaeYsGY,5015
|
|
128
|
+
holmes/plugins/toolsets/bash/helm/__init__.py,sha256=WUpWPm1qcJyvdvT6qPWioshbakqMyeTzuaaxvigUIFU,2094
|
|
129
|
+
holmes/plugins/toolsets/bash/helm/constants.py,sha256=WnVCu8hv4eiDeIhyPumOU2UkC-dk3ndG1Nw5s8RrjEE,1898
|
|
130
|
+
holmes/plugins/toolsets/bash/kubectl/__init__.py,sha256=CaTwY2m_xOLg_8Ac-A3NE0uPeoPMzetK372onCjze2M,4303
|
|
131
|
+
holmes/plugins/toolsets/bash/kubectl/constants.py,sha256=16D5VtWmJe5fa2AfJ3P85oFkbC6RdKk76_DsAnnC74k,1493
|
|
132
|
+
holmes/plugins/toolsets/bash/kubectl/kubectl_describe.py,sha256=y-Yiy3LsleZF1DBuhq8fCSZwkdY3yD3v7z5TRLpZCY8,1596
|
|
133
|
+
holmes/plugins/toolsets/bash/kubectl/kubectl_events.py,sha256=5EP-imdVcK-b1WRSTYp1b0FiWHEwoyuS93FaRWL8xHU,1290
|
|
134
|
+
holmes/plugins/toolsets/bash/kubectl/kubectl_get.py,sha256=isUDiJu3gqpqSW4lIqexsF395mDRf7xEn0_VD8DY5oM,1526
|
|
135
|
+
holmes/plugins/toolsets/bash/kubectl/kubectl_logs.py,sha256=IhK22AwX5Glc93JlhmIxOdemjRShjDnjSK6PmIA3y2M,1197
|
|
136
|
+
holmes/plugins/toolsets/bash/kubectl/kubectl_run.py,sha256=1CGnbzRftgrgCLGrtF8ThOld8Ebc6Vb6VaXMQAdufoA,1585
|
|
137
|
+
holmes/plugins/toolsets/bash/kubectl/kubectl_top.py,sha256=Hjpx9K5e93OZVaJV85Oey_OdiiXYCQerGwHwWF75rhQ,1354
|
|
138
|
+
holmes/plugins/toolsets/bash/parse_command.py,sha256=5-Lg62o01oq4jd-ZGYC7wPY7uQHmNb8d9NyasMgVjoo,5962
|
|
139
|
+
holmes/plugins/toolsets/bash/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
140
|
+
holmes/plugins/toolsets/bash/utilities/base64_util.py,sha256=yAImxU-VQJ1ioCN-whItR9x3u0Sx84dQBMUkFw7KC1Q,324
|
|
141
|
+
holmes/plugins/toolsets/bash/utilities/cut.py,sha256=gDBdzY9gM9h6heEqeYhWwjDULpvpwWMDNYbQ-vvNKiE,318
|
|
142
|
+
holmes/plugins/toolsets/bash/utilities/grep/__init__.py,sha256=9_4yBTJYRH4vFq_B5yklf4Io0C-7v8GaJeItxZ22B1I,267
|
|
143
|
+
holmes/plugins/toolsets/bash/utilities/head.py,sha256=kgNypaY0xcbMpBt7486zdsqPcnrU17Qi--EuYaxw0AM,276
|
|
144
|
+
holmes/plugins/toolsets/bash/utilities/jq.py,sha256=qQLuVB40ROaw33jJCME_aRt2ElytAe9W81sh56JgM14,2586
|
|
145
|
+
holmes/plugins/toolsets/bash/utilities/sed.py,sha256=tDUVr1VxuLvHKv1n9_CSaBfgYIwnwLA30Vln_ehkGBY,5756
|
|
146
|
+
holmes/plugins/toolsets/bash/utilities/sort.py,sha256=atvOuiNyk4BbKvWthZusArcNslH1fMx_nMJUIB3vF9E,352
|
|
147
|
+
holmes/plugins/toolsets/bash/utilities/tail.py,sha256=GGHQoMAos0j5kN0EGSq_oQ63j9ZczyhrvEe8tgMLRzg,276
|
|
148
|
+
holmes/plugins/toolsets/bash/utilities/tr.py,sha256=4X3_816-ur6dDMyuJdS2ZwqdKz9aqqOHzqx-yi2m1cs,2157
|
|
149
|
+
holmes/plugins/toolsets/bash/utilities/uniq.py,sha256=bod-81lXO7-EQiy73A9aaDnc-RkrclwdBJ4rS_rUyn8,320
|
|
150
|
+
holmes/plugins/toolsets/bash/utilities/wc.py,sha256=EhhRcKjb9QNI51uUjftyzzHQucCawkTU3AB2cviTV90,287
|
|
151
|
+
holmes/plugins/toolsets/cilium.yaml,sha256=iwd1cTEPJ0672cJsnfndirttnWAC1RaH4c8E9sWntqI,12754
|
|
152
|
+
holmes/plugins/toolsets/confluence.yaml,sha256=WPflxrGKFA5VTcy5p4t2FY86oFECzoyTHkudUxhAL-k,768
|
|
153
|
+
holmes/plugins/toolsets/connectivity_check.py,sha256=VxkEkHM0P-VfdOy1p3nzS7IfHJRTKKDZsXE8ITAssfE,3794
|
|
154
|
+
holmes/plugins/toolsets/consts.py,sha256=vxzGJBF1XNAE9CDteUFIYNRmOagmJ-ktFEfVEU8tHl0,205
|
|
155
|
+
holmes/plugins/toolsets/coralogix/api.py,sha256=gHglkKwheeLUUIAoqpeoDlI5t6QCVRhxyRPxh2M0lMc,5435
|
|
156
|
+
holmes/plugins/toolsets/coralogix/coralogix.jinja2,sha256=nenuPkBWL3G_-qyOsBX7SD6v9HWsMnss_kzSzru6FOE,820
|
|
157
|
+
holmes/plugins/toolsets/coralogix/toolset_coralogix.py,sha256=DYPL6PA84Di7rkSc-zmmNstjxM4qrKwNUZQZ497wRr8,8263
|
|
158
|
+
holmes/plugins/toolsets/coralogix/utils.py,sha256=3FRMjrbzUJjIlyruBFt9p5eIDPg4BuBcOpcPaMNHKcM,4827
|
|
159
|
+
holmes/plugins/toolsets/datadog/datadog_api.py,sha256=ARwl3k-l7ZKOV27gyN0940YcB0s30xz9T411MEo74t4,23786
|
|
160
|
+
holmes/plugins/toolsets/datadog/datadog_general_instructions.jinja2,sha256=Z0X7z_AlKtmw3kfDnz-aPJKOnSIX4bPPRz8gQZRCctk,8300
|
|
161
|
+
holmes/plugins/toolsets/datadog/datadog_logs_instructions.jinja2,sha256=IMNKJtoWM-FkdTSWkXXb_AL4oQ_U7fZot-AcrykuXlU,4263
|
|
162
|
+
holmes/plugins/toolsets/datadog/datadog_metrics_instructions.jinja2,sha256=DPA-gc3kcgJ__VbS3a0eS20pp0DeZQLNF37BLm_odgA,4239
|
|
163
|
+
holmes/plugins/toolsets/datadog/datadog_models.py,sha256=eLUo-87sDnxmufl-OpSR_uh7sUjqWhIpD_b9-_-sdVM,1627
|
|
164
|
+
holmes/plugins/toolsets/datadog/datadog_rds_instructions.jinja2,sha256=lbI6lkcMjG1CVKeL0XDkq5zl-fRDVxZ_t_CjS-Uh_OM,3119
|
|
165
|
+
holmes/plugins/toolsets/datadog/datadog_url_utils.py,sha256=n6TnPGaxccxP8RIb4J8iFHJGRudGJ2Kuugim4BdbKX8,6390
|
|
166
|
+
holmes/plugins/toolsets/datadog/instructions_datadog_traces.jinja2,sha256=xv4zmORmNM1VmpPadBj-ZvuwuFi-5HmZP3MQWc2XJYk,6044
|
|
167
|
+
holmes/plugins/toolsets/datadog/toolset_datadog_general.py,sha256=pBGE8MKbZETpeNxqcyUxl-__kVL06jrh7qah0eAw2bE,36220
|
|
168
|
+
holmes/plugins/toolsets/datadog/toolset_datadog_logs.py,sha256=U9IyVKNLCz4B7UdhDKQ03PrJdGERCksvk7nPoBpCQgM,11838
|
|
169
|
+
holmes/plugins/toolsets/datadog/toolset_datadog_metrics.py,sha256=518yvp8QstcfyXYWujXQCUumTo2XEak6f9HK6Q7YxYM,29110
|
|
170
|
+
holmes/plugins/toolsets/datadog/toolset_datadog_traces.py,sha256=19XgsZgrDYhiS6hvAf8lSo5kLmOf2idm0V9-uiIfZos,29512
|
|
171
|
+
holmes/plugins/toolsets/docker.yaml,sha256=O0Q0z0kZS8_QBEhwrUfbXdGUn1nP1K9k0FlQd6EZVJ4,1559
|
|
172
|
+
holmes/plugins/toolsets/elasticsearch/__init__.py,sha256=m2ZVUay7xVFrisxAWNA86pbi7KWFS3RnuzQIHs8NBoo,265
|
|
173
|
+
holmes/plugins/toolsets/elasticsearch/elasticsearch.py,sha256=AQJbQvbY4_oi94NjPXkcg41CxRsIPGooeqezu8eoFas,32394
|
|
174
|
+
holmes/plugins/toolsets/elasticsearch/opensearch_ppl_query_docs.jinja2,sha256=D1Xl_tFfZ91XvzRqdUjsrH0vQjs95Ddn_EPwMcwlzcs,56327
|
|
175
|
+
holmes/plugins/toolsets/elasticsearch/opensearch_query_assist.py,sha256=Qe0oIzIzl8eR5r54IhJm9eb15SQuZoaYPtxFExGKvMM,2721
|
|
176
|
+
holmes/plugins/toolsets/elasticsearch/opensearch_query_assist_instructions.jinja2,sha256=Qoqb8wFqj0WBukA_uhA6l-2bFs06PqYFDESQCN_uWZQ,6699
|
|
177
|
+
holmes/plugins/toolsets/git.py,sha256=OzyEVzFmMtMNLGrCimgaHUYBTE19-1-3AVGKsFPAP18,32336
|
|
178
|
+
holmes/plugins/toolsets/grafana/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
179
|
+
holmes/plugins/toolsets/grafana/base_grafana_toolset.py,sha256=IHVY1Ke60QF-z0_xeR4MAvXhJCIL56d377ACXUbfsLc,2174
|
|
180
|
+
holmes/plugins/toolsets/grafana/common.py,sha256=HPWJu7IU4GhHj6JTdV7WJGG8oebRLmmHbn8h2w44pKY,1566
|
|
181
|
+
holmes/plugins/toolsets/grafana/grafana_tempo_api.py,sha256=gqMKohA0rXHz70NMLa85Mi-BYYnvDM6kLedPeVrEqps,14781
|
|
182
|
+
holmes/plugins/toolsets/grafana/loki/instructions.jinja2,sha256=u5cvZvKF9kizIRmWEBJoU-sotfzOTnV7LOZK7biiKBw,1542
|
|
183
|
+
holmes/plugins/toolsets/grafana/loki/toolset_grafana_loki.py,sha256=FvnGmj4d04sgdoy78Dt7qjwT5vVK2yDFlykRVaiiAZM,6501
|
|
184
|
+
holmes/plugins/toolsets/grafana/loki_api.py,sha256=uu8sXdIY_2vtxq4jrToUPGyipBogcjGjITkpdzjYixk,2649
|
|
185
|
+
holmes/plugins/toolsets/grafana/toolset_grafana.py,sha256=aRY4tKo4IntDmTPw8bElq030uk85eCVNwiQWV8dhXYw,12350
|
|
186
|
+
holmes/plugins/toolsets/grafana/toolset_grafana_dashboard.jinja2,sha256=CfNCb9VF2YubT2eKIqPmyP35CBvhc6mYvHMM-TptpT4,2184
|
|
187
|
+
holmes/plugins/toolsets/grafana/toolset_grafana_tempo.jinja2,sha256=0HBYUXkGYWZbHwIvfQEF5oL9LFMYzjgcmL1U6RjgPSE,10417
|
|
188
|
+
holmes/plugins/toolsets/grafana/toolset_grafana_tempo.py,sha256=4O3BuCqiKyEIimVcaF_CVr2TvRJ6J9lidwysX2x-xPo,43132
|
|
189
|
+
holmes/plugins/toolsets/grafana/trace_parser.py,sha256=UEx93_S6hjVtF5HyOTMOfp02u5hTMYMVL5f7IM6QKpM,7025
|
|
190
|
+
holmes/plugins/toolsets/helm.yaml,sha256=-IPDChKMHcxGbzA0z9GKczRshL-mD24cHpBizfNM1jM,1604
|
|
191
|
+
holmes/plugins/toolsets/internet/internet.py,sha256=jilda1cdusHHA3ePJwhAxctnF8GoKAFdPk0WSkuEcwk,7764
|
|
192
|
+
holmes/plugins/toolsets/internet/notion.py,sha256=oLaICRati7tifXPin1C8QVSgY0-3y3ORM_q9ZSHHaRU,4762
|
|
193
|
+
holmes/plugins/toolsets/investigator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
194
|
+
holmes/plugins/toolsets/investigator/core_investigation.py,sha256=42rWPj-gebPipygcR3DmlT4ZXyc52yMNADyEMrwjKHM,5436
|
|
195
|
+
holmes/plugins/toolsets/investigator/investigator_instructions.jinja2,sha256=C6y6OaJI2dQSLSw7Zq9-D-sWmL5K_40zRItvkzVAdH4,13967
|
|
196
|
+
holmes/plugins/toolsets/investigator/model.py,sha256=VmIhG0Uyb3bhWxVHZnfNs8PzC9rpae7BEvNNRXAIAeY,365
|
|
197
|
+
holmes/plugins/toolsets/json_filter_mixin.py,sha256=KOsot6H7zhN_LHxNIpbMJixD2Soy2Xb5PCixKIevP5Y,4766
|
|
198
|
+
holmes/plugins/toolsets/kafka.py,sha256=3LE2b9fnBDZX0ALIoEgvMv-YQ2yzO0LEfHWS2Nd12e4,25143
|
|
199
|
+
holmes/plugins/toolsets/kubernetes.yaml,sha256=rhymFTh_QyfQB0aHmLBEC40UvZaml2iX-vypaKtXhEA,22044
|
|
200
|
+
holmes/plugins/toolsets/kubernetes_logs.py,sha256=K_ItMmiEd2NX494JwkmA_OcWwyBrH0JSk3ymAUh0rlU,32814
|
|
201
|
+
holmes/plugins/toolsets/kubernetes_logs.yaml,sha256=3AhUKihYMSL57Tm_y5HgEbtyoer6Kpm7oAcRz1GxgDw,4532
|
|
202
|
+
holmes/plugins/toolsets/logging_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
203
|
+
holmes/plugins/toolsets/logging_utils/logging_api.py,sha256=QmW-JrbnEShFwFXuz0RtQx8H_egMUjj7GupJqXnVM_U,15757
|
|
204
|
+
holmes/plugins/toolsets/logging_utils/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
205
|
+
holmes/plugins/toolsets/mcp/toolset_mcp.py,sha256=K4sCs2yC9nNWroYeSypvhGP-lak4lZpgc_OZw5Bpgxg,10143
|
|
206
|
+
holmes/plugins/toolsets/newrelic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
207
|
+
holmes/plugins/toolsets/newrelic/new_relic_api.py,sha256=-CuZ7skrRmPTiZqK6p1f2MTHfWlr2npXV5Lc4FciW-g,5370
|
|
208
|
+
holmes/plugins/toolsets/newrelic/newrelic.jinja2,sha256=Du6rvrjf4tj3cowmL8qqRcSGbBJLQWZy0XEAfbQBZvk,4934
|
|
209
|
+
holmes/plugins/toolsets/newrelic/newrelic.py,sha256=sM5RUVDotLVHROx1XGV0-kME67pyi_yDZgYoRJmSFr4,11460
|
|
210
|
+
holmes/plugins/toolsets/openshift.yaml,sha256=H3Z1N2d4lQ8xK8AZyXWAdumjLCXE-89q7VcSS5CgWUg,15719
|
|
211
|
+
holmes/plugins/toolsets/prometheus/prometheus.py,sha256=nk2WS-7LaD5SFvRaj1S1HQcyQ8Jav0WykqlzIMi8Qcs,77834
|
|
212
|
+
holmes/plugins/toolsets/prometheus/prometheus_instructions.jinja2,sha256=kJsnUOG0_bLjd9C9mG_njEjMSN0vgd8XPs7SGzY5sDA,6961
|
|
213
|
+
holmes/plugins/toolsets/prometheus/utils.py,sha256=ZenD354dP0sRmm0R-QBuAq1jyn40GjYf4wx15bXIYRc,775
|
|
214
|
+
holmes/plugins/toolsets/rabbitmq/api.py,sha256=gC00ad4CHbO2ddcoE8DTCerdxVsOFJPo6F6V7y99OBs,14930
|
|
215
|
+
holmes/plugins/toolsets/rabbitmq/rabbitmq_instructions.jinja2,sha256=qetmtJUMkx9LIihr2fSJ2EV9h2J-b-ZdUAvMtopXZYY,3105
|
|
216
|
+
holmes/plugins/toolsets/rabbitmq/toolset_rabbitmq.py,sha256=6z0y_Tu65ggs74at0IDiyOIZ3bi6bAGTwNJyhOSTQdM,9286
|
|
217
|
+
holmes/plugins/toolsets/robusta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
218
|
+
holmes/plugins/toolsets/robusta/robusta.py,sha256=s3QWPSnng41_AH3MxUGhWQ2BZ8sZtLZkVngUbML6eoU,16889
|
|
219
|
+
holmes/plugins/toolsets/robusta/robusta_instructions.jinja2,sha256=q-R3t5YmTznGcrZG19sAjyGVgOglBJALNgaVK73cyJY,4119
|
|
220
|
+
holmes/plugins/toolsets/runbook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
221
|
+
holmes/plugins/toolsets/runbook/runbook_fetcher.py,sha256=LqaDFGjlRrl-mJuD5gH1IezuLWqQV6ll_mLujyIEuF0,12276
|
|
222
|
+
holmes/plugins/toolsets/service_discovery.py,sha256=HqENA92SyN7Z_Kd8OZVfw-S9PwdYhn6HDFUAo1-fosw,3268
|
|
223
|
+
holmes/plugins/toolsets/servicenow_tables/instructions.jinja2,sha256=8ry8i0hFufpGqeKFhB3wZREwBKJSFEctQrcxAvT9NDY,3613
|
|
224
|
+
holmes/plugins/toolsets/servicenow_tables/servicenow_tables.py,sha256=d091NGyjnGAwNQLF6QpbeVkI9XsNFXh5EhGcqzSHT3E,18901
|
|
225
|
+
holmes/plugins/toolsets/slab.yaml,sha256=1Pz0Rzs0B6-TnJiiN2w8qJ9E_bh2haQn0mfhTszaZE0,677
|
|
226
|
+
holmes/plugins/toolsets/utils.py,sha256=5m3aBoKVtW5wpk2ZZYWzAuFiL6RPF4deyAoX3mWli_E,6891
|
|
227
|
+
holmes/plugins/utils.py,sha256=Wn_UxZMB4V2_UiJDNy0pifGnIGS_zUwRhUlmttCywnY,372
|
|
228
|
+
holmes/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
229
|
+
holmes/utils/cache.py,sha256=aPc7zTdpBQ3JQR7ET4wvIwzXhx2PpPKiBBSTgbVNXlY,2219
|
|
230
|
+
holmes/utils/cert_utils.py,sha256=5YAUOY3LjFqqFpYHnHLvSc70LCxEWf0spw1vZwLLvOw,1193
|
|
231
|
+
holmes/utils/colors.py,sha256=G-1EcwwOjLmilL74M4AfOGxvlGSMaDfGT518A9Iek2k,221
|
|
232
|
+
holmes/utils/config_utils.py,sha256=PsnS6qaoM1ux6I2QfloXmTtCVExCWtmfJmHyNV48UVI,3625
|
|
233
|
+
holmes/utils/connection_utils.py,sha256=1N8eHSoPwGPtgmZ32c8ov0cFZ1RfDjfqHb-QDA0zz5U,1254
|
|
234
|
+
holmes/utils/console/consts.py,sha256=SXcXHWjMH63nh5ErDKR6K7wrCUoxxlZ0KKM1Ipoy6J4,387
|
|
235
|
+
holmes/utils/console/logging.py,sha256=2HLGg58VKfECD4YhSMacIoSRt9b7tbVMDthuHa-qj6I,3253
|
|
236
|
+
holmes/utils/console/result.py,sha256=yl5zdExtt6ymHiOLWaY1YG9U9xxWMASyl4R4D-TEm9s,1781
|
|
237
|
+
holmes/utils/default_toolset_installation_guide.jinja2,sha256=-GyBn3bO24bV7H3GHQRq9lgFyfA9tgN858qTkPfxlu0,580
|
|
238
|
+
holmes/utils/definitions.py,sha256=WKVDFh1wfuo0UCV_1jXFjgP0gjGM3-U-UdxdVxmXaKM,287
|
|
239
|
+
holmes/utils/env.py,sha256=Gcm-Lvp8HRjSu2pZxg4ob0gtKMRxvyum77lCJ5zdCi0,1951
|
|
240
|
+
holmes/utils/file_utils.py,sha256=ZRvt2zFMxYf42CGQsKF6n-O2WVOFY49ktFF3MGbl98E,1695
|
|
241
|
+
holmes/utils/global_instructions.py,sha256=8jNMC11upb0UGri0qP22Zjt74Md_cMyW3VQFzKisbjg,2219
|
|
242
|
+
holmes/utils/holmes_status.py,sha256=IFJgCuU-T-sEPqocbnt8ibppjEXyZZ526KmZ3LskEqI,762
|
|
243
|
+
holmes/utils/holmes_sync_toolsets.py,sha256=sePYPOjOVmo8FAxePTvv1D4-IPhIze6Nb3wOXpnjgyM,3147
|
|
244
|
+
holmes/utils/krr_utils.py,sha256=ObQ_hfZ5ceazy3w6oGt9eQjRDAPhTNnO3dowMZ1AoY0,6744
|
|
245
|
+
holmes/utils/llms.py,sha256=YLqq54I84wW7Kp7Z7CPVTxAFPb-Sq6xkdmVGzVf60jI,629
|
|
246
|
+
holmes/utils/log.py,sha256=V67IQWZg2YUrp_UGD2MSRuv4A-4D8UC_CNokl3MsWEU,424
|
|
247
|
+
holmes/utils/markdown_utils.py,sha256=wuRWp0rxX070kCx71FQej_s_kaKi0UOVtm5LfgftEWA,1474
|
|
248
|
+
holmes/utils/memory_limit.py,sha256=7HzDi2VnbbYqGWrPA0VnzRF-gnL-qpIJBDI9RxZFwf8,1922
|
|
249
|
+
holmes/utils/pydantic_utils.py,sha256=g0e0jLTa8Je8JKrhEP4N5sMxj0_hhPOqFZr0Vpd67sg,1649
|
|
250
|
+
holmes/utils/sentry_helper.py,sha256=jVE5t-HoH-xzkb0BXJIBvio-Cdau_SDYEd8kAhhXz_Q,2122
|
|
251
|
+
holmes/utils/stream.py,sha256=lrzYpOIeIRFE6fXRM49z7KiWl4WzgJhBMKekdu0FOzc,5091
|
|
252
|
+
holmes/utils/tags.py,sha256=6neumW6_Plmn_7ZgVL8YcSH3l8j-QQWT8WqjEJCZBwg,3365
|
|
253
|
+
holmes/version.py,sha256=TFden7sLkVxLRgFbedWMOFnIpgFD8iBRMbUOeXvp5jo,5994
|
|
254
|
+
holmesgpt-0.18.4.dist-info/LICENSE,sha256=To11ahvEeW4Vlz3wgs9yuR9eYf7E7GjWeZEEZwwQjQg,10208
|
|
255
|
+
holmesgpt-0.18.4.dist-info/METADATA,sha256=8t4z8Q3ewBkdnY6xo3cZZtqyHFQ0iJtyMtqkXHWk2Do,16653
|
|
256
|
+
holmesgpt-0.18.4.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
|
|
257
|
+
holmesgpt-0.18.4.dist-info/entry_points.txt,sha256=JdzEyZhpaYr7Boo4uy4UZgzY1VsAEbzMgGmHZtx9KFY,42
|
|
258
|
+
holmesgpt-0.18.4.dist-info/RECORD,,
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import time
|
|
2
|
-
import logging
|
|
3
|
-
|
|
4
|
-
from functools import wraps
|
|
5
|
-
|
|
6
|
-
from holmes.common.env_vars import (
|
|
7
|
-
LOG_PERFORMANCE,
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class PerformanceTiming:
|
|
12
|
-
def __init__(self, name):
|
|
13
|
-
self.ended = False
|
|
14
|
-
|
|
15
|
-
self.name = name
|
|
16
|
-
self.start_time = time.time()
|
|
17
|
-
self.last_measure_time = self.start_time
|
|
18
|
-
self.last_measure_label = "Start"
|
|
19
|
-
self.timings = []
|
|
20
|
-
|
|
21
|
-
def measure(self, label):
|
|
22
|
-
if not LOG_PERFORMANCE:
|
|
23
|
-
return
|
|
24
|
-
if self.ended:
|
|
25
|
-
raise Exception("cannot measure a perf timing that is already ended")
|
|
26
|
-
current_time = time.time()
|
|
27
|
-
|
|
28
|
-
time_since_start = int((current_time - self.start_time) * 1000)
|
|
29
|
-
time_since_last = int((current_time - self.last_measure_time) * 1000)
|
|
30
|
-
|
|
31
|
-
self.timings.append((label, time_since_last, time_since_start))
|
|
32
|
-
|
|
33
|
-
self.last_measure_time = current_time
|
|
34
|
-
self.last_measure_label = label
|
|
35
|
-
|
|
36
|
-
def end(self, custom_message: str = ""):
|
|
37
|
-
if not LOG_PERFORMANCE:
|
|
38
|
-
return
|
|
39
|
-
self.ended = True
|
|
40
|
-
current_time = time.time()
|
|
41
|
-
time_since_start = int((current_time - self.start_time) * 1000)
|
|
42
|
-
message = f"{self.name} {custom_message} {time_since_start}ms"
|
|
43
|
-
logging.info(message)
|
|
44
|
-
if LOG_PERFORMANCE:
|
|
45
|
-
for label, time_since_last, time_since_start in self.timings:
|
|
46
|
-
logging.info(
|
|
47
|
-
f"\t{self.name}({label}) +{time_since_last}ms {time_since_start}ms"
|
|
48
|
-
)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
def log_function_timing(label=None):
|
|
52
|
-
def decorator(func):
|
|
53
|
-
@wraps(func)
|
|
54
|
-
def function_timing_wrapper(*args, **kwargs):
|
|
55
|
-
start_time = time.perf_counter()
|
|
56
|
-
result = func(*args, **kwargs)
|
|
57
|
-
end_time = time.perf_counter()
|
|
58
|
-
total_time = int((end_time - start_time) * 1000)
|
|
59
|
-
|
|
60
|
-
function_identifier = (
|
|
61
|
-
f'"{label}: {func.__name__}()"' if label else f'"{func.__name__}()"'
|
|
62
|
-
)
|
|
63
|
-
logging.info(f"Function {function_identifier} took {total_time}ms")
|
|
64
|
-
return result
|
|
65
|
-
|
|
66
|
-
return function_timing_wrapper
|
|
67
|
-
|
|
68
|
-
if callable(label):
|
|
69
|
-
func = label
|
|
70
|
-
label = None
|
|
71
|
-
return decorator(func)
|
|
72
|
-
return decorator
|
holmes/plugins/toolsets/aws.yaml
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
toolsets:
|
|
2
|
-
aws/security:
|
|
3
|
-
description: "Set of tools to audit AWS security"
|
|
4
|
-
docs_url: "https://holmesgpt.dev/data-sources/builtin-toolsets/aws/"
|
|
5
|
-
icon_url: "https://upload.wikimedia.org/wikipedia/commons/9/93/Amazon_Web_Services_Logo.svg"
|
|
6
|
-
tags:
|
|
7
|
-
- cli
|
|
8
|
-
prerequisites:
|
|
9
|
-
- command: "aws sts get-caller-identity"
|
|
10
|
-
|
|
11
|
-
tools:
|
|
12
|
-
- name: "aws_cloudtrail_event_lookup"
|
|
13
|
-
description: "Fetches events of a specified type from AWS CloudTrail along with the users that called them"
|
|
14
|
-
user_description: "get {{ EVENT_NAME }} events"
|
|
15
|
-
command: |
|
|
16
|
-
echo "EventName,EventId,EventTime,Username,AccessKeyId,ip,userID"
|
|
17
|
-
aws cloudtrail lookup-events \
|
|
18
|
-
--lookup-attributes AttributeKey=EventName,AttributeValue="{{ EVENT_NAME }}" \
|
|
19
|
-
--start-time $(date -v -7d -u +%Y-%m-%dT%H:%M:%SZ) \
|
|
20
|
-
--end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \
|
|
21
|
-
--query 'Events[*].{EventName:EventName,EventId:EventId,EventTime:EventTime,Username:Username,AccessKeyId:AccessKeyId,ip:CloudTrailEvent.sourceIPAddress,userID:CloudTrailEvent.userIdentity.sessionContext.sessionIssuer.userName}' \
|
|
22
|
-
--output table
|
|
23
|
-
|
|
24
|
-
- name: "aws_cloudtrail_event_details"
|
|
25
|
-
description: "Fetches and returns full event details for an AWS cloudtrail event in JSON format given an event ID"
|
|
26
|
-
user_description: "looking up event {{ EVENT_ID }}"
|
|
27
|
-
command: |
|
|
28
|
-
aws cloudtrail lookup-events \
|
|
29
|
-
--lookup-attributes AttributeKey=EventId,AttributeValue="{{ EVENT_ID }}" \
|
|
30
|
-
--query 'Events[0]' --output json
|
|
31
|
-
|
|
32
|
-
- name: "aws_user_audit_logs"
|
|
33
|
-
description: "Fetches audit logs for a specified user from AWS CloudTrail in past 24 hours. Provide username as was outputed by aws_event_lookup or aws_event_details"
|
|
34
|
-
user_description: "get audit logs for {{ UserName }}"
|
|
35
|
-
command: |
|
|
36
|
-
aws cloudtrail lookup-events \
|
|
37
|
-
--lookup-attributes AttributeKey=Username,AttributeValue="{{ UserName }}" \
|
|
38
|
-
--start-time $(date -v -1d -u +%Y-%m-%dT%H:%M:%SZ) \
|
|
39
|
-
--end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \
|
|
40
|
-
--query 'Events[*].{EventName:EventName,EventSource:EventSource,EventId:EventId,EventTime:EventTime,Username:Username,AccessKeyId:AccessKeyId,ip:CloudTrailEvent.sourceIPAddress,userID:CloudTrailEvent.userIdentity.sessionContext.sessionIssuer.userName}' \
|
|
41
|
-
--output table
|
|
42
|
-
|
|
43
|
-
aws/rds:
|
|
44
|
-
description: "Read access to Amazon RDS resources"
|
|
45
|
-
docs_url: "https://holmesgpt.dev/data-sources/builtin-toolsets/aws/"
|
|
46
|
-
icon_url: "https://upload.wikimedia.org/wikipedia/commons/9/93/Amazon_Web_Services_Logo.svg"
|
|
47
|
-
llm_instructions: |
|
|
48
|
-
You have access to information on RDS resources.
|
|
49
|
-
Use this toolset to get extra information on RDS resources on AWS.
|
|
50
|
-
When investigating RDS resources ALWAYS fetch additional information if possible.
|
|
51
|
-
tags:
|
|
52
|
-
- cli
|
|
53
|
-
prerequisites:
|
|
54
|
-
- command: "aws sts get-caller-identity"
|
|
55
|
-
|
|
56
|
-
tools:
|
|
57
|
-
- name: "aws_rds_describe_events"
|
|
58
|
-
description: "Runs aws rds describe-events"
|
|
59
|
-
user_description: "fetch rds events"
|
|
60
|
-
command: "aws rds describe-events"
|
|
61
|
-
|
|
62
|
-
- name: "aws_rds_describe_instance"
|
|
63
|
-
description: "Get the configuration of a RDS instance, its status and availability stats. Runs 'aws rds describe-db-instances' for a specific instance."
|
|
64
|
-
user_description: "Get the configuration of an RDS instance"
|
|
65
|
-
command: "aws rds describe-db-instances --db-instance-identifier '{{ db_instance_identifier }}'"
|
|
66
|
-
|
|
67
|
-
- name: "aws_rds_describe_instances"
|
|
68
|
-
description: "Runs aws rds describe-db-instances"
|
|
69
|
-
user_description: "fetch rds instances"
|
|
70
|
-
command: "aws rds describe-db-instances"
|
|
71
|
-
|
|
72
|
-
- name: "aws_rds_describe_logs"
|
|
73
|
-
description: "Describe all available logs for an AWS RDS instance. Runs 'aws rds describe-db-log-files' for a specific instance."
|
|
74
|
-
user_description: "list available RDS logs (e.g. slow query logs)"
|
|
75
|
-
command: "aws rds describe-db-log-files --db-instance-identifier '{{ db_instance_identifier }}'"
|
|
76
|
-
|
|
77
|
-
- name: "aws_rds_fetch_log_by_name"
|
|
78
|
-
description: "Fetch a specific log for an AWS RDS instance by log file name."
|
|
79
|
-
user_description: "fetch a specific RDS log"
|
|
80
|
-
command: "aws rds download-db-log-file-portion --db-instance-identifier '{{ db_instance_identifier }}' --log-file-name '{{ log_file_name }}' --starting-token 0"
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
from typing import Any, Optional, Tuple, Set
|
|
2
|
-
|
|
3
|
-
from holmes.core.tools import (
|
|
4
|
-
CallablePrerequisite,
|
|
5
|
-
StructuredToolResult,
|
|
6
|
-
ToolResultStatus,
|
|
7
|
-
ToolsetTag,
|
|
8
|
-
)
|
|
9
|
-
from holmes.plugins.toolsets.consts import (
|
|
10
|
-
TOOLSET_CONFIG_MISSING_ERROR,
|
|
11
|
-
)
|
|
12
|
-
from holmes.plugins.toolsets.coralogix.api import (
|
|
13
|
-
build_query_string,
|
|
14
|
-
get_start_end,
|
|
15
|
-
health_check,
|
|
16
|
-
query_logs_for_all_tiers,
|
|
17
|
-
)
|
|
18
|
-
from holmes.plugins.toolsets.coralogix.utils import (
|
|
19
|
-
CoralogixConfig,
|
|
20
|
-
build_coralogix_link_to_logs,
|
|
21
|
-
stringify_flattened_logs,
|
|
22
|
-
)
|
|
23
|
-
from holmes.plugins.toolsets.logging_utils.logging_api import (
|
|
24
|
-
BasePodLoggingToolset,
|
|
25
|
-
FetchPodLogsParams,
|
|
26
|
-
LoggingCapability,
|
|
27
|
-
PodLoggingTool,
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
class CoralogixLogsToolset(BasePodLoggingToolset):
|
|
32
|
-
@property
|
|
33
|
-
def supported_capabilities(self) -> Set[LoggingCapability]:
|
|
34
|
-
"""Coralogix only supports substring matching, not regex or exclude filters"""
|
|
35
|
-
return set() # No regex support, no exclude filter
|
|
36
|
-
|
|
37
|
-
def __init__(self):
|
|
38
|
-
super().__init__(
|
|
39
|
-
name="coralogix/logs",
|
|
40
|
-
description="Toolset for interacting with Coralogix to fetch logs",
|
|
41
|
-
docs_url="https://holmesgpt.dev/data-sources/builtin-toolsets/coralogix-logs/",
|
|
42
|
-
icon_url="https://avatars.githubusercontent.com/u/35295744?s=200&v=4",
|
|
43
|
-
prerequisites=[CallablePrerequisite(callable=self.prerequisites_callable)],
|
|
44
|
-
tools=[], # Initialize with empty tools first
|
|
45
|
-
tags=[ToolsetTag.CORE],
|
|
46
|
-
)
|
|
47
|
-
# Now that parent is initialized and self.name exists, create the tool
|
|
48
|
-
self.tools = [PodLoggingTool(self)]
|
|
49
|
-
|
|
50
|
-
def get_example_config(self):
|
|
51
|
-
example_config = CoralogixConfig(
|
|
52
|
-
api_key="<cxuw_...>", team_hostname="my-team", domain="eu2.coralogix.com"
|
|
53
|
-
)
|
|
54
|
-
return example_config.model_dump()
|
|
55
|
-
|
|
56
|
-
def prerequisites_callable(self, config: dict[str, Any]) -> Tuple[bool, str]:
|
|
57
|
-
if not config:
|
|
58
|
-
return False, TOOLSET_CONFIG_MISSING_ERROR
|
|
59
|
-
|
|
60
|
-
self.config = CoralogixConfig(**config)
|
|
61
|
-
|
|
62
|
-
if not self.config.api_key:
|
|
63
|
-
return False, "Missing configuration field 'api_key'"
|
|
64
|
-
|
|
65
|
-
return health_check(domain=self.config.domain, api_key=self.config.api_key)
|
|
66
|
-
|
|
67
|
-
@property
|
|
68
|
-
def coralogix_config(self) -> Optional[CoralogixConfig]:
|
|
69
|
-
return self.config
|
|
70
|
-
|
|
71
|
-
def logger_name(self) -> str:
|
|
72
|
-
return "Coralogix"
|
|
73
|
-
|
|
74
|
-
def fetch_pod_logs(self, params: FetchPodLogsParams) -> StructuredToolResult:
|
|
75
|
-
if not self.coralogix_config:
|
|
76
|
-
return StructuredToolResult(
|
|
77
|
-
status=ToolResultStatus.ERROR,
|
|
78
|
-
error=f"The {self.name} toolset is not configured",
|
|
79
|
-
params=params.model_dump(),
|
|
80
|
-
)
|
|
81
|
-
|
|
82
|
-
logs_data = query_logs_for_all_tiers(
|
|
83
|
-
config=self.coralogix_config, params=params
|
|
84
|
-
)
|
|
85
|
-
(start, end) = get_start_end(params=params)
|
|
86
|
-
query_string = build_query_string(config=self.coralogix_config, params=params)
|
|
87
|
-
|
|
88
|
-
url = build_coralogix_link_to_logs(
|
|
89
|
-
config=self.coralogix_config,
|
|
90
|
-
lucene_query=query_string,
|
|
91
|
-
start=start,
|
|
92
|
-
end=end,
|
|
93
|
-
)
|
|
94
|
-
|
|
95
|
-
data: str
|
|
96
|
-
if logs_data.error:
|
|
97
|
-
data = logs_data.error
|
|
98
|
-
else:
|
|
99
|
-
logs = stringify_flattened_logs(logs_data.logs)
|
|
100
|
-
# Remove link and query from results once the UI and slackbot properly handle the URL from the StructuredToolResult
|
|
101
|
-
data = f"link: {url}\nquery: {query_string}\n{logs}"
|
|
102
|
-
|
|
103
|
-
return StructuredToolResult(
|
|
104
|
-
status=(
|
|
105
|
-
ToolResultStatus.ERROR if logs_data.error else ToolResultStatus.SUCCESS
|
|
106
|
-
),
|
|
107
|
-
error=logs_data.error,
|
|
108
|
-
data=data,
|
|
109
|
-
url=url,
|
|
110
|
-
invocation=query_string,
|
|
111
|
-
params=params.model_dump(),
|
|
112
|
-
)
|