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.
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/PKG-INFO +2 -1
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/pyproject.toml +2 -1
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/_version.py +1 -1
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/multi_resources_trigger.py +9 -1
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/triggers.py +11 -8
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/base_triggers.py +13 -8
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/mattermost/sender.py +6 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/common.py +3 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/LICENSE +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/api/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/auth.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/backend_profile.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/eula.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/integrations_cmd.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/main.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/playbooks_cmd.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/self_host.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/slack_feedback_message.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/slack_verification.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/cli/utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/discovery.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/resource_names.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/top_service_resolver.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/exceptions.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/base_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/cluster_status.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/env_vars.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/events.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/helm_release.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/jobs.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/k8s_operation_type.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/namespaces.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/nodes.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/pods.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/runner_config.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/model/services.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/persistency/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/persistency/in_memory.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/persistency/scheduled_jobs_states_dal.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/actions_registry.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/base_trigger.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/common.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/container_playbook_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/crash_reporter.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/generation.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/internal/discovery_events.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/job_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/node_playbook_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/oom_killer_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/playbook_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/playbooks_event_handler.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/playbooks_event_handler_impl.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/pod_utils/crashloop_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/pod_utils/imagepull_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/pod_utils/pending_pod_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/prometheus_enrichment_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/trigger.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/pubsub/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/pubsub/event_emitter.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/pubsub/event_subscriber.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/pubsub/events_pubsub.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/action_requests.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/base.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/blocks.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/callbacks.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/consts.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/custom_rendering.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/finding_subjects.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/reporting/utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/schedule/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/schedule/model.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/schedule/scheduler.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/common/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/common/html_tools.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/datadog/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/datadog/datadog_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/datadog/datadog_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/discord/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/discord/discord_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/discord/discord_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/file/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/file/file_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/file/file_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/file/object_traverser.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/google_chat/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/google_chat/google_chat.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/google_chat/google_chat_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/jira/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/jira/jira_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/jira/jira_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/kafka/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/kafka/kafka_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/kafka/kafka_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mail/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mail/mail_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mail/mail_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mattermost/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mattermost/mattermost_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mattermost/mattermost_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/msteams/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/msteams/msteams_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/msteams/msteams_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/opsgenie/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/opsgenie/opsgenie_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/opsgenie/opsgenie_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pagerduty/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pagerduty/pagerduty_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pagerduty/pagerduty_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/pushover_client.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/pushover_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/pushover_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/dal/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/dal/model_conversion.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/dal/supabase_dal.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/discovery_metrics.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/prometheus_health_checker.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/robusta_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/robusta_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/account_resource_fetcher.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/base_resource_manager.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/prometheus_alert_resource_manager.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/rrm.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/rrm/types.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/rocketchat/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/rocketchat/rocketchat_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/rocketchat/rocketchat_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/servicenow/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/servicenow/servicenow_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/servicenow/servicenow_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/sink_base.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/sink_base_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/sink_config.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/sink_factory.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/slack/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/slack/slack_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/slack/slack_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/telegram/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/telegram/telegram_client.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/telegram/telegram_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/telegram/telegram_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/timing.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/transformer.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/victorops/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/victorops/victorops_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/victorops/victorops_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webex/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webex/webex_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webex/webex_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webhook/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webhook/webhook_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/webhook/webhook_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/yamessenger/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/yamessenger/yamessenger_client.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/yamessenger/yamessenger_sink.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/yamessenger/yamessenger_sink_params.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/container_oom_killed_trigger.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/custom_triggers.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/error_event_trigger.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/helm_releases_triggers.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/job_failed_trigger.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/oom_killed_trigger_base.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/pod_crash_loop_trigger.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/pod_image_pull_backoff.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/pod_oom_killed_trigger.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/argocd/argocd_client.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/common/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/common/requests.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/discord/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/discord/sender.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/git/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/git/git_repo.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/git/well_known_hosts.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/google_chat/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/google_chat/sender.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/grafana.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/helper.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/jira/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/jira/client.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/jira/sender.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/api_client_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/events.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/models.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/v1/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/autogenerated/v1/models.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/base_event.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/custom_models.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/model_not_found_exception.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/process_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/templates.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/mail/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/mail/sender.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/mattermost/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/mattermost/client.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_adaptive_card_files.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_adaptive_card_files_image.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_adaptive_card_files_text.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_action.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_base.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_card.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_column.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_container.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_images.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_table.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_elements/msteams_text_block.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_mark_down_fix_url.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/msteams_msg.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/msteams/sender.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/openshift/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/openshift/token.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/prometheus/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/prometheus/models.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/prometheus/trigger.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/prometheus/utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/receiver.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/resource_analysis/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/resource_analysis/cpu_analyzer.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/resource_analysis/memory_analyzer.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/resource_analysis/node_cpu_analyzer.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/resource_analysis/prometheus_analyzer.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/rocketchat/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/rocketchat/sender.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/event.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/models.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/playbook_scheduler.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/playbook_scheduler_manager.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/playbook_scheduler_manager_impl.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/scheduled/trigger.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/servicenow/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/servicenow/sender.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/slack/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/slack/sender.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/webex/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/webex/sender.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/model/alert_relabel_config.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/model/config.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/model/playbook_action.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/model/playbook_definition.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/patch/patch.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/config_loader.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/log_init.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/main.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/not_found_exception.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/object_updater.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/process_setup.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/ssl_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/telemetry.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/telemetry_service.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/web.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/runner/web_api.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/__init__.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/auth_provider.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/base64_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/cluster_provider_discovery.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/decorators.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/docs.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/documented_pydantic.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/error_codes.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/file_system_watcher.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/function_hashes.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/json_schema.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/parsing.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/rate_limiter.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/scope.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/server_start.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/service_discovery.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/silence_utils.py +0 -0
- {robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/utils/stack_tracer.py +0 -0
- {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.
|
|
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.
|
|
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.
|
|
2
|
+
__version__ = "0.11.0"
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/triggers/multi_resources_trigger.py
RENAMED
|
@@ -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
|
|
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
|
|
3
|
+
from typing import Dict, Optional
|
|
4
|
+
|
|
4
5
|
from pydantic import BaseModel
|
|
5
|
-
|
|
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]] =
|
|
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]] =
|
|
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]] =
|
|
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]] =
|
|
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]] =
|
|
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
|
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/integrations/kubernetes/base_triggers.py
RENAMED
|
@@ -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
|
|
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] =
|
|
122
|
-
ignore: List[str] =
|
|
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.
|
|
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
|
-
|
|
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 = (
|
|
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
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/discovery/top_service_resolver.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
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/container_playbook_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/internal/discovery_events.py
RENAMED
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/node_playbook_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/playbooks_event_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/pod_utils/crashloop_utils.py
RENAMED
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/playbooks/pod_utils/imagepull_utils.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
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/datadog/datadog_sink_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/discord/discord_sink_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/file/file_sink_params.py
RENAMED
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/file/object_traverser.py
RENAMED
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/google_chat/google_chat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/jira/jira_sink_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/kafka/kafka_sink_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mail/mail_sink_params.py
RENAMED
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/mattermost/mattermost_sink.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/msteams/msteams_sink_params.py
RENAMED
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/opsgenie/opsgenie_sink.py
RENAMED
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/opsgenie/opsgenie_sink_params.py
RENAMED
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pagerduty/pagerduty_sink.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/pushover_client.py
RENAMED
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/pushover_sink.py
RENAMED
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/pushover/pushover_sink_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/dal/model_conversion.py
RENAMED
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/dal/supabase_dal.py
RENAMED
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/discovery_metrics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/robusta/robusta_sink_params.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
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/rocketchat/rocketchat_sink.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robusta_cli-0.10.32a0 → robusta_cli-0.11.0}/src/robusta/core/sinks/servicenow/servicenow_sink.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|