robusta-cli 0.10.32a0__tar.gz → 0.11.0__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.
Files changed (287) hide show
  1. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/PKG-INFO +2 -1
  2. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/pyproject.toml +2 -1
  3. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/_version.py +1 -1
  4. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/multi_resources_trigger.py +9 -1
  5. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/triggers.py +11 -8
  6. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/base_triggers.py +13 -8
  7. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/mattermost/sender.py +6 -0
  8. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/common.py +3 -0
  9. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/LICENSE +0 -0
  10. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/__init__.py +0 -0
  11. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/api/__init__.py +0 -0
  12. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/__init__.py +0 -0
  13. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/auth.py +0 -0
  14. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/backend_profile.py +0 -0
  15. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/eula.py +0 -0
  16. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/integrations_cmd.py +0 -0
  17. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/main.py +0 -0
  18. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/playbooks_cmd.py +0 -0
  19. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/self_host.py +0 -0
  20. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/slack_feedback_message.py +0 -0
  21. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/slack_verification.py +0 -0
  22. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/utils.py +0 -0
  23. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/__init__.py +0 -0
  24. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/__init__.py +0 -0
  25. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/discovery.py +0 -0
  26. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/resource_names.py +0 -0
  27. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/top_service_resolver.py +0 -0
  28. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/utils.py +0 -0
  29. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/exceptions.py +0 -0
  30. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/__init__.py +0 -0
  31. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/base_params.py +0 -0
  32. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/cluster_status.py +0 -0
  33. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/env_vars.py +0 -0
  34. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/events.py +0 -0
  35. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/helm_release.py +0 -0
  36. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/jobs.py +0 -0
  37. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/k8s_operation_type.py +0 -0
  38. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/namespaces.py +0 -0
  39. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/nodes.py +0 -0
  40. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/pods.py +0 -0
  41. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/runner_config.py +0 -0
  42. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/services.py +0 -0
  43. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/persistency/__init__.py +0 -0
  44. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/persistency/in_memory.py +0 -0
  45. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/persistency/scheduled_jobs_states_dal.py +0 -0
  46. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/__init__.py +0 -0
  47. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/actions_registry.py +0 -0
  48. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/base_trigger.py +0 -0
  49. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/common.py +0 -0
  50. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/container_playbook_utils.py +0 -0
  51. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/crash_reporter.py +0 -0
  52. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/generation.py +0 -0
  53. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/internal/discovery_events.py +0 -0
  54. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/job_utils.py +0 -0
  55. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/node_playbook_utils.py +0 -0
  56. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/oom_killer_utils.py +0 -0
  57. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/playbook_utils.py +0 -0
  58. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/playbooks_event_handler.py +0 -0
  59. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/playbooks_event_handler_impl.py +0 -0
  60. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/pod_utils/crashloop_utils.py +0 -0
  61. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/pod_utils/imagepull_utils.py +0 -0
  62. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/pod_utils/pending_pod_utils.py +0 -0
  63. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/prometheus_enrichment_utils.py +0 -0
  64. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/trigger.py +0 -0
  65. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/pubsub/__init__.py +0 -0
  66. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/pubsub/event_emitter.py +0 -0
  67. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/pubsub/event_subscriber.py +0 -0
  68. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/pubsub/events_pubsub.py +0 -0
  69. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/__init__.py +0 -0
  70. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/action_requests.py +0 -0
  71. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/base.py +0 -0
  72. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/blocks.py +0 -0
  73. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/callbacks.py +0 -0
  74. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/consts.py +0 -0
  75. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/custom_rendering.py +0 -0
  76. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/finding_subjects.py +0 -0
  77. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/utils.py +0 -0
  78. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/schedule/__init__.py +0 -0
  79. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/schedule/model.py +0 -0
  80. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/schedule/scheduler.py +0 -0
  81. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/__init__.py +0 -0
  82. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/common/__init__.py +0 -0
  83. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/common/html_tools.py +0 -0
  84. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/datadog/__init__.py +0 -0
  85. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/datadog/datadog_sink.py +0 -0
  86. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/datadog/datadog_sink_params.py +0 -0
  87. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/discord/__init__.py +0 -0
  88. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/discord/discord_sink.py +0 -0
  89. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/discord/discord_sink_params.py +0 -0
  90. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/file/__init__.py +0 -0
  91. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/file/file_sink.py +0 -0
  92. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/file/file_sink_params.py +0 -0
  93. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/file/object_traverser.py +0 -0
  94. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/google_chat/__init__.py +0 -0
  95. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/google_chat/google_chat.py +0 -0
  96. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/google_chat/google_chat_params.py +0 -0
  97. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/jira/__init__.py +0 -0
  98. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/jira/jira_sink.py +0 -0
  99. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/jira/jira_sink_params.py +0 -0
  100. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/kafka/__init__.py +0 -0
  101. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/kafka/kafka_sink.py +0 -0
  102. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/kafka/kafka_sink_params.py +0 -0
  103. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mail/__init__.py +0 -0
  104. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mail/mail_sink.py +0 -0
  105. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mail/mail_sink_params.py +0 -0
  106. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mattermost/__init__.py +0 -0
  107. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mattermost/mattermost_sink.py +0 -0
  108. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mattermost/mattermost_sink_params.py +0 -0
  109. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/msteams/__init__.py +0 -0
  110. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/msteams/msteams_sink.py +0 -0
  111. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/msteams/msteams_sink_params.py +0 -0
  112. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/opsgenie/__init__.py +0 -0
  113. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/opsgenie/opsgenie_sink.py +0 -0
  114. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/opsgenie/opsgenie_sink_params.py +0 -0
  115. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pagerduty/__init__.py +0 -0
  116. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pagerduty/pagerduty_sink.py +0 -0
  117. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pagerduty/pagerduty_sink_params.py +0 -0
  118. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/__init__.py +0 -0
  119. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/pushover_client.py +0 -0
  120. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/pushover_sink.py +0 -0
  121. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/pushover_sink_params.py +0 -0
  122. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/__init__.py +0 -0
  123. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/dal/__init__.py +0 -0
  124. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/dal/model_conversion.py +0 -0
  125. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/dal/supabase_dal.py +0 -0
  126. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/discovery_metrics.py +0 -0
  127. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/prometheus_health_checker.py +0 -0
  128. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/robusta_sink.py +0 -0
  129. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/robusta_sink_params.py +0 -0
  130. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/__init__.py +0 -0
  131. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/account_resource_fetcher.py +0 -0
  132. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/base_resource_manager.py +0 -0
  133. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/prometheus_alert_resource_manager.py +0 -0
  134. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/rrm.py +0 -0
  135. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/types.py +0 -0
  136. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/rocketchat/__init__.py +0 -0
  137. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/rocketchat/rocketchat_sink.py +0 -0
  138. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/rocketchat/rocketchat_sink_params.py +0 -0
  139. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/servicenow/__init__.py +0 -0
  140. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/servicenow/servicenow_sink.py +0 -0
  141. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/servicenow/servicenow_sink_params.py +0 -0
  142. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/sink_base.py +0 -0
  143. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/sink_base_params.py +0 -0
  144. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/sink_config.py +0 -0
  145. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/sink_factory.py +0 -0
  146. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/slack/__init__.py +0 -0
  147. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/slack/slack_sink.py +0 -0
  148. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/slack/slack_sink_params.py +0 -0
  149. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/telegram/__init__.py +0 -0
  150. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/telegram/telegram_client.py +0 -0
  151. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/telegram/telegram_sink.py +0 -0
  152. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/telegram/telegram_sink_params.py +0 -0
  153. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/timing.py +0 -0
  154. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/transformer.py +0 -0
  155. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/victorops/__init__.py +0 -0
  156. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/victorops/victorops_sink.py +0 -0
  157. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/victorops/victorops_sink_params.py +0 -0
  158. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webex/__init__.py +0 -0
  159. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webex/webex_sink.py +0 -0
  160. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webex/webex_sink_params.py +0 -0
  161. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webhook/__init__.py +0 -0
  162. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webhook/webhook_sink.py +0 -0
  163. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webhook/webhook_sink_params.py +0 -0
  164. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/yamessenger/__init__.py +0 -0
  165. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/yamessenger/yamessenger_client.py +0 -0
  166. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/yamessenger/yamessenger_sink.py +0 -0
  167. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/yamessenger/yamessenger_sink_params.py +0 -0
  168. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/container_oom_killed_trigger.py +0 -0
  169. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/custom_triggers.py +0 -0
  170. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/error_event_trigger.py +0 -0
  171. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/helm_releases_triggers.py +0 -0
  172. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/job_failed_trigger.py +0 -0
  173. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/oom_killed_trigger_base.py +0 -0
  174. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/pod_crash_loop_trigger.py +0 -0
  175. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/pod_image_pull_backoff.py +0 -0
  176. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/pod_oom_killed_trigger.py +0 -0
  177. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/__init__.py +0 -0
  178. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/argocd/argocd_client.py +0 -0
  179. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/common/__init__.py +0 -0
  180. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/common/requests.py +0 -0
  181. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/discord/__init__.py +0 -0
  182. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/discord/sender.py +0 -0
  183. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/git/__init__.py +0 -0
  184. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/git/git_repo.py +0 -0
  185. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/git/well_known_hosts.py +0 -0
  186. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/google_chat/__init__.py +0 -0
  187. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/google_chat/sender.py +0 -0
  188. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/grafana.py +0 -0
  189. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/helper.py +0 -0
  190. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/jira/__init__.py +0 -0
  191. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/jira/client.py +0 -0
  192. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/jira/sender.py +0 -0
  193. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/__init__.py +0 -0
  194. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/api_client_utils.py +0 -0
  195. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/__init__.py +0 -0
  196. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/events.py +0 -0
  197. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/models.py +0 -0
  198. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/v1/__init__.py +0 -0
  199. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/v1/models.py +0 -0
  200. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/base_event.py +0 -0
  201. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/custom_models.py +0 -0
  202. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/model_not_found_exception.py +0 -0
  203. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/process_utils.py +0 -0
  204. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/templates.py +0 -0
  205. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/mail/__init__.py +0 -0
  206. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/mail/sender.py +0 -0
  207. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/mattermost/__init__.py +0 -0
  208. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/mattermost/client.py +0 -0
  209. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/__init__.py +0 -0
  210. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_adaptive_card_files.py +0 -0
  211. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_adaptive_card_files_image.py +0 -0
  212. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_adaptive_card_files_text.py +0 -0
  213. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/__init__.py +0 -0
  214. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_action.py +0 -0
  215. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_base.py +0 -0
  216. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_card.py +0 -0
  217. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_column.py +0 -0
  218. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_container.py +0 -0
  219. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_images.py +0 -0
  220. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_table.py +0 -0
  221. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_text_block.py +0 -0
  222. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_mark_down_fix_url.py +0 -0
  223. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_msg.py +0 -0
  224. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/sender.py +0 -0
  225. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/openshift/__init__.py +0 -0
  226. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/openshift/token.py +0 -0
  227. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/prometheus/__init__.py +0 -0
  228. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/prometheus/models.py +0 -0
  229. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/prometheus/trigger.py +0 -0
  230. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/prometheus/utils.py +0 -0
  231. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/receiver.py +0 -0
  232. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/resource_analysis/__init__.py +0 -0
  233. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/resource_analysis/cpu_analyzer.py +0 -0
  234. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/resource_analysis/memory_analyzer.py +0 -0
  235. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/resource_analysis/node_cpu_analyzer.py +0 -0
  236. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/resource_analysis/prometheus_analyzer.py +0 -0
  237. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/rocketchat/__init__.py +0 -0
  238. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/rocketchat/sender.py +0 -0
  239. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/__init__.py +0 -0
  240. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/event.py +0 -0
  241. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/models.py +0 -0
  242. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/playbook_scheduler.py +0 -0
  243. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/playbook_scheduler_manager.py +0 -0
  244. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/playbook_scheduler_manager_impl.py +0 -0
  245. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/trigger.py +0 -0
  246. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/servicenow/__init__.py +0 -0
  247. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/servicenow/sender.py +0 -0
  248. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/slack/__init__.py +0 -0
  249. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/slack/sender.py +0 -0
  250. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/webex/__init__.py +0 -0
  251. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/webex/sender.py +0 -0
  252. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/model/alert_relabel_config.py +0 -0
  253. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/model/config.py +0 -0
  254. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/model/playbook_action.py +0 -0
  255. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/model/playbook_definition.py +0 -0
  256. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/patch/patch.py +0 -0
  257. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/__init__.py +0 -0
  258. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/config_loader.py +0 -0
  259. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/log_init.py +0 -0
  260. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/main.py +0 -0
  261. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/not_found_exception.py +0 -0
  262. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/object_updater.py +0 -0
  263. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/process_setup.py +0 -0
  264. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/ssl_utils.py +0 -0
  265. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/telemetry.py +0 -0
  266. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/telemetry_service.py +0 -0
  267. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/web.py +0 -0
  268. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/web_api.py +0 -0
  269. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/__init__.py +0 -0
  270. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/auth_provider.py +0 -0
  271. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/base64_utils.py +0 -0
  272. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/cluster_provider_discovery.py +0 -0
  273. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/decorators.py +0 -0
  274. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/docs.py +0 -0
  275. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/documented_pydantic.py +0 -0
  276. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/error_codes.py +0 -0
  277. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/file_system_watcher.py +0 -0
  278. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/function_hashes.py +0 -0
  279. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/json_schema.py +0 -0
  280. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/parsing.py +0 -0
  281. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/rate_limiter.py +0 -0
  282. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/scope.py +0 -0
  283. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/server_start.py +0 -0
  284. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/service_discovery.py +0 -0
  285. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/silence_utils.py +0 -0
  286. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/stack_tracer.py +0 -0
  287. {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/task_queue.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robusta-cli
3
- Version: 0.10.32a0
3
+ Version: 0.11.0
4
4
  Summary:
5
5
  Author: Natan Yellin
6
6
  Author-email: aantn@users.noreply.github.com
@@ -28,6 +28,7 @@ Requires-Dist: dulwich (==0.20.28) ; extra == "all"
28
28
  Requires-Dist: fpdf2 (>=2.7.1,<3.0.0)
29
29
  Requires-Dist: grafana-api (>=1.0.3,<2.0.0) ; extra == "all"
30
30
  Requires-Dist: hikaru-model-26 (>=1.1.1,<2.0.0)
31
+ Requires-Dist: jinja2 (==3.1.3)
31
32
  Requires-Dist: kafka-python (>=2.0.2,<3.0.0) ; extra == "all"
32
33
  Requires-Dist: kubernetes (>=26.1.0,<27.0.0)
33
34
  Requires-Dist: markdown2 (>=2.4.2,<3.0.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "robusta-cli"
3
- version = "0.10.32-alpha"
3
+ version = "0.11.0"
4
4
  description = ""
5
5
  authors = ["Natan Yellin <aantn@users.noreply.github.com>"]
6
6
  packages = [
@@ -36,6 +36,7 @@ supabase = { version = "^1.0.3", optional = true }
36
36
  tabulate = { version = "^0.8.10" }
37
37
  slack-sdk = { version = "^3.23.0" }
38
38
  Flask = { version = "^3.0.0", optional = true }
39
+ jinja2 = { version ="3.1.3", optional = true } # indirect dependency
39
40
  grafana-api = { version = "^1.0.3", optional = true }
40
41
  watchdog = { version = "^2.1.0", optional = true }
41
42
  better-exceptions = { version = "^0.3.3", optional = true }
@@ -1,2 +1,2 @@
1
1
  # this is updated by .github/workflows/release.yaml
2
- __version__ = "0.10.32-alpha"
2
+ __version__ = "0.11.0"
@@ -1,8 +1,12 @@
1
1
  from typing import Any, Dict, List
2
2
 
3
3
  from robusta.core.playbooks.base_trigger import TriggerEvent
4
- from robusta.integrations.kubernetes.autogenerated.triggers import KubernetesAnyAllChangesTrigger
4
+ from robusta.integrations.kubernetes.autogenerated.triggers import (
5
+ DEFAULT_CHANGE_FILTERS,
6
+ KubernetesAnyAllChangesTrigger,
7
+ )
5
8
  from robusta.integrations.kubernetes.base_triggers import K8sTriggerEvent
9
+ from robusta.utils.scope import ScopeParams
6
10
 
7
11
 
8
12
  class MultiResourceTrigger(KubernetesAnyAllChangesTrigger):
@@ -28,11 +32,15 @@ class MultiResourceTrigger(KubernetesAnyAllChangesTrigger):
28
32
  labels_selector: str = None,
29
33
  resources: List[str] = None,
30
34
  operations: List[str] = None,
35
+ change_filters: Dict[str, List[str]] = DEFAULT_CHANGE_FILTERS,
36
+ scope: ScopeParams = None
31
37
  ):
32
38
  super().__init__(
33
39
  name_prefix=name_prefix,
34
40
  namespace_prefix=namespace_prefix,
35
41
  labels_selector=labels_selector,
42
+ change_filters=change_filters,
43
+ scope=scope
36
44
  )
37
45
  self.resources = [resource.lower() for resource in resources] if resources else []
38
46
  self.operations = [op.lower() for op in operations] if operations else []
@@ -1,10 +1,12 @@
1
1
  # This file was autogenerated. Do not edit.
2
2
 
3
- from typing import Optional, Dict
3
+ from typing import Dict, Optional
4
+
4
5
  from pydantic import BaseModel
5
- from robusta.integrations.kubernetes.base_triggers import K8sBaseTrigger
6
+
6
7
  from robusta.core.model.k8s_operation_type import K8sOperationType
7
8
  from robusta.integrations.kubernetes.autogenerated.events import *
9
+ from robusta.integrations.kubernetes.base_triggers import DEFAULT_CHANGE_FILTERS, K8sBaseTrigger
8
10
  from robusta.utils.scope import ScopeParams
9
11
 
10
12
 
@@ -15,7 +17,7 @@ class PodAllChangesTrigger(K8sBaseTrigger):
15
17
  name_prefix: str = None,
16
18
  namespace_prefix: str = None,
17
19
  labels_selector: str = None,
18
- change_filters: Dict[str, List[str]] = None,
20
+ change_filters: Dict[str, List[str]] = DEFAULT_CHANGE_FILTERS,
19
21
  scope: ScopeParams = None
20
22
  ):
21
23
  super().__init__(
@@ -209,7 +211,7 @@ class DaemonSetAllChangesTrigger(K8sBaseTrigger):
209
211
  name_prefix: str = None,
210
212
  namespace_prefix: str = None,
211
213
  labels_selector: str = None,
212
- change_filters: Dict[str, List[str]] = None,
214
+ change_filters: Dict[str, List[str]] = DEFAULT_CHANGE_FILTERS,
213
215
  scope: ScopeParams = None
214
216
  ):
215
217
  super().__init__(
@@ -306,7 +308,7 @@ class DeploymentAllChangesTrigger(K8sBaseTrigger):
306
308
  name_prefix: str = None,
307
309
  namespace_prefix: str = None,
308
310
  labels_selector: str = None,
309
- change_filters: Dict[str, List[str]] = None,
311
+ change_filters: Dict[str, List[str]] = DEFAULT_CHANGE_FILTERS,
310
312
  scope: ScopeParams = None
311
313
  ):
312
314
  super().__init__(
@@ -403,7 +405,7 @@ class StatefulSetAllChangesTrigger(K8sBaseTrigger):
403
405
  name_prefix: str = None,
404
406
  namespace_prefix: str = None,
405
407
  labels_selector: str = None,
406
- change_filters: Dict[str, List[str]] = None,
408
+ change_filters: Dict[str, List[str]] = DEFAULT_CHANGE_FILTERS,
407
409
  scope: ScopeParams = None
408
410
  ):
409
411
  super().__init__(
@@ -1761,7 +1763,7 @@ class IngressAllChangesTrigger(K8sBaseTrigger):
1761
1763
  name_prefix: str = None,
1762
1764
  namespace_prefix: str = None,
1763
1765
  labels_selector: str = None,
1764
- change_filters: Dict[str, List[str]] = None,
1766
+ change_filters: Dict[str, List[str]] = DEFAULT_CHANGE_FILTERS,
1765
1767
  scope: ScopeParams = None
1766
1768
  ):
1767
1769
  super().__init__(
@@ -1854,7 +1856,7 @@ class IngressUpdateTrigger(K8sBaseTrigger):
1854
1856
  # Kubernetes Any Triggers
1855
1857
  class KubernetesAnyAllChangesTrigger(K8sBaseTrigger):
1856
1858
  def __init__(
1857
- self, name_prefix: str = None, namespace_prefix: str = None, labels_selector: str = None, scope: ScopeParams = None
1859
+ self, name_prefix: str = None, namespace_prefix: str = None, labels_selector: str = None, change_filters: Dict[str, List[str]] = DEFAULT_CHANGE_FILTERS, scope: ScopeParams = None
1858
1860
  ):
1859
1861
  super().__init__(
1860
1862
  kind="Any",
@@ -1862,6 +1864,7 @@ class KubernetesAnyAllChangesTrigger(K8sBaseTrigger):
1862
1864
  name_prefix=name_prefix,
1863
1865
  namespace_prefix=namespace_prefix,
1864
1866
  labels_selector=labels_selector,
1867
+ change_filters=change_filters,
1865
1868
  scope=scope,
1866
1869
  )
1867
1870
 
@@ -3,10 +3,9 @@ from typing import Any, Dict, List, Optional, Union
3
3
 
4
4
  import hikaru
5
5
  import pydash
6
- from pydash.helpers import UNSET
7
-
8
6
  from hikaru import HikaruBase
9
7
  from pydantic import BaseModel, PrivateAttr
8
+ from pydash.helpers import UNSET
10
9
 
11
10
  from robusta.core.model.events import ExecutionBaseEvent
12
11
  from robusta.core.model.k8s_operation_type import K8sOperationType
@@ -17,7 +16,7 @@ from robusta.integrations.kubernetes.autogenerated.events import KIND_TO_EVENT_C
17
16
  from robusta.integrations.kubernetes.autogenerated.models import get_api_version
18
17
  from robusta.integrations.kubernetes.model_not_found_exception import ModelNotFoundException
19
18
  from robusta.utils.common import duplicate_without_fields, is_matching_diff
20
- from robusta.utils.scope import ScopeParams, BaseScopeMatcher
19
+ from robusta.utils.scope import BaseScopeMatcher, ScopeParams
21
20
 
22
21
  OBJ = "obj"
23
22
  OLD_OBJ = "old_obj"
@@ -118,21 +117,24 @@ DEFAULT_CHANGE_IGNORE = [
118
117
 
119
118
 
120
119
  class K8sTriggerChangeFilters(BaseModel):
121
- include: List[str] = DEFAULT_CHANGE_INCLUDE
122
- ignore: List[str] = DEFAULT_CHANGE_IGNORE
120
+ include: Optional[List[str]] = None
121
+ ignore: Optional[List[str]] = None
123
122
 
124
123
 
125
124
  class InvalidMatcher(Exception):
126
125
  pass
127
126
 
128
127
 
128
+ DEFAULT_CHANGE_FILTERS = K8sTriggerChangeFilters(include=DEFAULT_CHANGE_INCLUDE, ignore=DEFAULT_CHANGE_IGNORE)
129
+
130
+
129
131
  class K8sBaseTrigger(BaseTrigger):
130
132
  kind: str
131
133
  operation: K8sOperationType = None
132
134
  name_prefix: str = None
133
135
  namespace_prefix: str = None
134
136
  labels_selector: str = None
135
- change_filters: K8sTriggerChangeFilters = None
137
+ change_filters: Optional[K8sTriggerChangeFilters] = None
136
138
  scope: Optional[ScopeParams] = None
137
139
 
138
140
  _labels_map: Dict = PrivateAttr()
@@ -261,7 +263,7 @@ class K8sBaseTrigger(BaseTrigger):
261
263
 
262
264
  if not self.change_filters:
263
265
  execution_event.obj_filtered = execution_event.obj
264
- execution_event.old_obj_filtered = execution_event.old_obj_filtered
266
+ execution_event.old_obj_filtered = execution_event.old_obj
265
267
  execution_event.filtered_diffs = []
266
268
  return True
267
269
 
@@ -272,7 +274,10 @@ class K8sBaseTrigger(BaseTrigger):
272
274
 
273
275
  if execution_event.operation == K8sOperationType.UPDATE:
274
276
  all_diffs = obj_filtered.diff(old_obj_filtered)
275
- filtered_diffs = list(filter(lambda x: is_matching_diff(x, self.change_filters.include), all_diffs))
277
+ if self.change_filters.include:
278
+ filtered_diffs = list(filter(lambda x: is_matching_diff(x, self.change_filters.include), all_diffs))
279
+ else:
280
+ filtered_diffs = all_diffs
276
281
  if len(filtered_diffs) == 0:
277
282
  result = False
278
283
  execution_event.obj_filtered = obj_filtered
@@ -11,8 +11,10 @@ from robusta.core.reporting.blocks import (
11
11
  KubernetesDiffBlock,
12
12
  ListBlock,
13
13
  MarkdownBlock,
14
+ ScanReportBlock,
14
15
  TableBlock,
15
16
  )
17
+ from robusta.core.reporting.consts import EnrichmentAnnotation
16
18
  from robusta.core.reporting.utils import add_pngs_for_all_svgs
17
19
  from robusta.core.sinks.mattermost.mattermost_sink_params import MattermostSinkParams
18
20
  from robusta.core.sinks.transformer import Transformer
@@ -70,6 +72,8 @@ class MattermostSender:
70
72
  return self.__to_mattermost(block.to_markdown(), sink_name)
71
73
  elif isinstance(block, KubernetesDiffBlock):
72
74
  return self.__to_mattermost_diff(block, sink_name)
75
+ elif isinstance(block, ScanReportBlock):
76
+ raise AssertionError("to_mattermost() should never be called on a ScanReportBlock")
73
77
  else:
74
78
  logging.warning(f"cannot convert block of type {type(block)} to mattermost format block: {block}")
75
79
  return "" # no reason to crash the entire report
@@ -144,6 +148,8 @@ class MattermostSender:
144
148
  blocks.append(MarkdownBlock(finding.description))
145
149
 
146
150
  for enrichment in finding.enrichments:
151
+ if enrichment.annotations.get(EnrichmentAnnotation.SCAN, False):
152
+ enrichment.blocks = [Transformer.scanReportBlock_to_fileblock(b) for b in enrichment.blocks]
147
153
  blocks.extend(enrichment.blocks)
148
154
 
149
155
  status: FindingStatus = (
@@ -23,6 +23,9 @@ def duplicate_without_fields(obj: HikaruBase, omitted_fields: List[str]):
23
23
  if obj is None:
24
24
  return None
25
25
 
26
+ if not omitted_fields:
27
+ return obj
28
+
26
29
  duplication = obj.dup()
27
30
 
28
31
  for field_name in omitted_fields:
File without changes