robusta-cli 0.12.1a0__tar.gz → 0.13.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.12.1a0 → robusta_cli-0.13.0}/PKG-INFO +8 -3
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/pyproject.toml +9 -5
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/_version.py +1 -1
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/api/__init__.py +1 -1
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/self_host.py +18 -6
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/env_vars.py +8 -2
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/reporting/base.py +11 -2
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/datadog/datadog_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/discord/discord_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/file/file_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/google_chat/google_chat_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/jira/jira_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/kafka/kafka_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/mail/mail_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/mattermost/mattermost_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/msteams/msteams_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/opsgenie/opsgenie_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/pagerduty/pagerduty_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/pushover/pushover_sink_params.py +5 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/dal/supabase_dal.py +81 -91
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/robusta_sink.py +48 -51
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/robusta_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/rocketchat/rocketchat_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/servicenow/servicenow_sink_params.py +4 -0
- robusta_cli-0.13.0/src/robusta/core/sinks/sink_base.py +185 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/sink_base_params.py +62 -1
- robusta_cli-0.13.0/src/robusta/core/sinks/slack/slack_sink.py +80 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/slack/slack_sink_params.py +8 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/telegram/telegram_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/victorops/victorops_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/webex/webex_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/webhook/webhook_sink.py +14 -1
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/webhook/webhook_sink_params.py +5 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/yamessenger/yamessenger_sink_params.py +4 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/triggers/custom_triggers.py +2 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/triggers/multi_resources_trigger.py +2 -5
- robusta_cli-0.13.0/src/robusta/core/triggers/pod_evicted_trigger.py +55 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/api_client_utils.py +23 -1
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/autogenerated/triggers.py +32 -9
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/base_triggers.py +1 -3
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/custom_models.py +3 -3
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/slack/sender.py +142 -10
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/zulip/sender.py +2 -2
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/web.py +30 -2
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/scope.py +11 -8
- robusta_cli-0.12.1a0/src/robusta/core/sinks/sink_base.py +0 -63
- robusta_cli-0.12.1a0/src/robusta/core/sinks/slack/slack_sink.py +0 -15
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/LICENSE +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/auth.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/backend_profile.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/eula.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/integrations_cmd.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/main.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/playbooks_cmd.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/slack_feedback_message.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/slack_verification.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/cli/utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/discovery/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/discovery/discovery.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/discovery/resource_names.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/discovery/top_service_resolver.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/discovery/utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/exceptions.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/base_params.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/cluster_status.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/events.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/helm_release.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/jobs.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/k8s_operation_type.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/namespaces.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/nodes.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/pods.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/runner_config.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/model/services.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/persistency/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/persistency/in_memory.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/persistency/scheduled_jobs_states_dal.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/actions_registry.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/base_trigger.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/common.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/container_playbook_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/crash_reporter.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/generation.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/internal/discovery_events.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/job_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/node_playbook_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/oom_killer_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/playbook_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/playbooks_event_handler.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/playbooks_event_handler_impl.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/pod_utils/crashloop_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/pod_utils/imagepull_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/pod_utils/pending_pod_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/prometheus_enrichment_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/playbooks/trigger.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/pubsub/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/pubsub/event_emitter.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/pubsub/event_subscriber.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/pubsub/events_pubsub.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/reporting/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/reporting/action_requests.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/reporting/blocks.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/reporting/callbacks.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/reporting/consts.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/reporting/custom_rendering.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/reporting/finding_subjects.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/reporting/utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/schedule/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/schedule/model.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/schedule/scheduler.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/common/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/common/channel_transformer.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/common/html_tools.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/datadog/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/datadog/datadog_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/discord/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/discord/discord_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/file/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/file/file_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/file/object_traverser.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/google_chat/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/google_chat/google_chat.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/jira/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/jira/jira_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/kafka/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/kafka/kafka_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/mail/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/mail/mail_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/mattermost/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/mattermost/mattermost_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/msteams/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/msteams/msteams_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/opsgenie/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/opsgenie/opsgenie_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/pagerduty/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/pagerduty/pagerduty_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/pushover/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/pushover/pushover_client.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/pushover/pushover_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/dal/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/dal/model_conversion.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/discovery_metrics.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/prometheus_health_checker.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/rrm/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/rrm/account_resource_fetcher.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/rrm/base_resource_manager.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/rrm/prometheus_alert_resource_manager.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/rrm/rrm.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/robusta/rrm/types.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/rocketchat/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/rocketchat/rocketchat_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/servicenow/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/servicenow/servicenow_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/sink_config.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/sink_factory.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/slack/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/telegram/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/telegram/telegram_client.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/telegram/telegram_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/timing.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/transformer.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/victorops/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/victorops/victorops_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/webex/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/webex/webex_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/webhook/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/yamessenger/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/yamessenger/yamessenger_client.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/yamessenger/yamessenger_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/zulip/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/zulip/zulip_sink.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/zulip/zulip_sink_params.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/triggers/container_oom_killed_trigger.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/triggers/error_event_trigger.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/triggers/helm_releases_triggers.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/triggers/job_failed_trigger.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/triggers/oom_killed_trigger_base.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/triggers/pod_crash_loop_trigger.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/triggers/pod_image_pull_backoff.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/triggers/pod_oom_killed_trigger.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/argocd/argocd_client.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/common/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/common/requests.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/discord/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/discord/sender.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/git/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/git/git_repo.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/git/well_known_hosts.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/google_chat/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/google_chat/sender.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/grafana.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/helper.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/jira/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/jira/client.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/jira/sender.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/autogenerated/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/autogenerated/events.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/autogenerated/models.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/autogenerated/v1/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/autogenerated/v1/models.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/base_event.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/model_not_found_exception.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/process_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/kubernetes/templates.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/mail/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/mail/sender.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/mattermost/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/mattermost/client.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/mattermost/sender.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_adaptive_card_files.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_adaptive_card_files_image.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_adaptive_card_files_text.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_elements/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_elements/msteams_action.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_elements/msteams_base.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_elements/msteams_card.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_elements/msteams_column.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_elements/msteams_container.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_elements/msteams_images.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_elements/msteams_table.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_elements/msteams_text_block.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_mark_down_fix_url.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/msteams_msg.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/msteams/sender.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/openshift/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/openshift/token.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/prometheus/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/prometheus/models.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/prometheus/trigger.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/prometheus/utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/receiver.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/resource_analysis/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/resource_analysis/cpu_analyzer.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/resource_analysis/memory_analyzer.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/resource_analysis/node_cpu_analyzer.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/resource_analysis/prometheus_analyzer.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/rocketchat/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/rocketchat/sender.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/scheduled/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/scheduled/event.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/scheduled/models.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/scheduled/playbook_scheduler.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/scheduled/playbook_scheduler_manager.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/scheduled/playbook_scheduler_manager_impl.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/scheduled/trigger.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/servicenow/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/servicenow/sender.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/slack/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/webex/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/webex/sender.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/integrations/zulip/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/model/alert_relabel_config.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/model/config.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/model/playbook_action.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/model/playbook_definition.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/patch/patch.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/config_loader.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/log_init.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/main.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/not_found_exception.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/object_updater.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/process_setup.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/ssl_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/telemetry.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/telemetry_service.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/runner/web_api.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/__init__.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/auth_provider.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/base64_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/cluster_provider_discovery.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/common.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/decorators.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/docs.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/documented_pydantic.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/error_codes.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/file_system_watcher.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/function_hashes.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/json_schema.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/parsing.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/rate_limiter.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/server_start.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/service_discovery.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/silence_utils.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/utils/stack_tracer.py +0 -0
- {robusta_cli-0.12.1a0 → robusta_cli-0.13.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.13.0
|
|
4
4
|
Summary:
|
|
5
5
|
Author: Natan Yellin
|
|
6
6
|
Author-email: aantn@users.noreply.github.com
|
|
@@ -17,6 +17,8 @@ Requires-Dist: apprise (>=1.5.0,<2.0.0)
|
|
|
17
17
|
Requires-Dist: attrs (>=23.1.0,<24.0.0)
|
|
18
18
|
Requires-Dist: better-exceptions (>=0.3.3,<0.4.0) ; extra == "all"
|
|
19
19
|
Requires-Dist: bitmath (>=1.3.3.1,<2.0.0.0)
|
|
20
|
+
Requires-Dist: boto3 (==1.28.72)
|
|
21
|
+
Requires-Dist: botocore (==1.31.72)
|
|
20
22
|
Requires-Dist: click-spinner (>=0.1.10,<0.2.0)
|
|
21
23
|
Requires-Dist: colorlog (>=5.0.1,<6.0.0)
|
|
22
24
|
Requires-Dist: croniter (>=1.3.15,<2.0.0)
|
|
@@ -28,7 +30,9 @@ Requires-Dist: dulwich (==0.20.28) ; extra == "all"
|
|
|
28
30
|
Requires-Dist: fpdf2 (>=2.7.1,<3.0.0)
|
|
29
31
|
Requires-Dist: grafana-api (>=1.0.3,<2.0.0) ; extra == "all"
|
|
30
32
|
Requires-Dist: hikaru-model-26 (>=1.1.1,<2.0.0)
|
|
31
|
-
Requires-Dist:
|
|
33
|
+
Requires-Dist: humanize (>=3.13.1,<4.0.0)
|
|
34
|
+
Requires-Dist: idna (>=3.7)
|
|
35
|
+
Requires-Dist: jinja2 (>=3.1.4)
|
|
32
36
|
Requires-Dist: kafka-python (>=2.0.2,<3.0.0) ; extra == "all"
|
|
33
37
|
Requires-Dist: kubernetes (>=26.1.0,<27.0.0)
|
|
34
38
|
Requires-Dist: markdown2 (>=2.4.2,<3.0.0)
|
|
@@ -45,7 +49,7 @@ Requires-Dist: rocketchat-api (>=1.30.0,<2.0.0)
|
|
|
45
49
|
Requires-Dist: sentry-sdk (>=1.5.2,<2.0.0) ; extra == "all"
|
|
46
50
|
Requires-Dist: setuptools (>=68.2.2,<69.0.0)
|
|
47
51
|
Requires-Dist: slack-sdk (>=3.23.0,<4.0.0)
|
|
48
|
-
Requires-Dist: supabase (>=
|
|
52
|
+
Requires-Dist: supabase (>=2.4,<3.0) ; extra == "all"
|
|
49
53
|
Requires-Dist: tabulate (>=0.8.10,<0.9.0) ; extra == "all"
|
|
50
54
|
Requires-Dist: toml (>=0.10.2,<0.11.0)
|
|
51
55
|
Requires-Dist: typer (>=0.4.1,<0.5.0)
|
|
@@ -53,3 +57,4 @@ Requires-Dist: watchdog (>=2.1.0,<3.0.0) ; extra == "all"
|
|
|
53
57
|
Requires-Dist: watchgod (>=0.7,<0.8)
|
|
54
58
|
Requires-Dist: webexteamssdk (>=1.6.1,<2.0.0)
|
|
55
59
|
Requires-Dist: websocket-client (==1.3.3)
|
|
60
|
+
Requires-Dist: werkzeug (>=3.0.3)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "robusta-cli"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.13.0"
|
|
4
4
|
description = ""
|
|
5
5
|
authors = ["Natan Yellin <aantn@users.noreply.github.com>"]
|
|
6
6
|
packages = [
|
|
@@ -32,11 +32,13 @@ pydantic = "^1.8.1"
|
|
|
32
32
|
kubernetes = "^26.1.0"
|
|
33
33
|
click-spinner = "^0.1.10"
|
|
34
34
|
pymsteams = "^0.1.16"
|
|
35
|
-
|
|
35
|
+
idna= { version = ">=3.7", optional = true }
|
|
36
|
+
supabase = "^2.4"
|
|
36
37
|
tabulate = { version = "^0.8.10" }
|
|
37
38
|
slack-sdk = { version = "^3.23.0" }
|
|
38
39
|
Flask = { version = "^3.0.0", optional = true }
|
|
39
|
-
|
|
40
|
+
werkzeug = { version = ">=3.0.3", optional = true }
|
|
41
|
+
jinja2 = { version = ">=3.1.4", optional = true }
|
|
40
42
|
grafana-api = { version = "^1.0.3", optional = true }
|
|
41
43
|
watchdog = { version = "^2.1.0", optional = true }
|
|
42
44
|
better-exceptions = { version = "^0.3.3", optional = true }
|
|
@@ -58,7 +60,7 @@ watchgod = "^0.7"
|
|
|
58
60
|
webexteamssdk = "^1.6.1"
|
|
59
61
|
bitmath = "^1.3.3.1"
|
|
60
62
|
croniter = "^1.3.15"
|
|
61
|
-
|
|
63
|
+
humanize = "^3.13.1"
|
|
62
64
|
# we're freezing a specific version here because the latest version doesn't have prebuilt wheels on pypi
|
|
63
65
|
# and therefore requires gcc to install which we'd like to avoid
|
|
64
66
|
# this is similar to the issue at https://github.com/dulwich/dulwich/issues/839
|
|
@@ -72,6 +74,9 @@ hikaru-model-26 = "^1.1.1"
|
|
|
72
74
|
apprise = "^1.5.0"
|
|
73
75
|
rocketchat-api = "^1.30.0"
|
|
74
76
|
pydash = "8.0.0"
|
|
77
|
+
# The following are added to speed up poetry dependency resolution
|
|
78
|
+
botocore = "1.31.72"
|
|
79
|
+
boto3 = "1.28.72"
|
|
75
80
|
|
|
76
81
|
[tool.poetry.dev-dependencies]
|
|
77
82
|
pre-commit = "^2.13.0"
|
|
@@ -88,7 +93,6 @@ sphinxcontrib-images = "^0.9.4"
|
|
|
88
93
|
jsonref = "^0.2"
|
|
89
94
|
Pillow = "^10.3.0"
|
|
90
95
|
sphinxcontrib-mermaid = "^0.7.1"
|
|
91
|
-
humanize = "^3.13.1"
|
|
92
96
|
cssselect = "^1.1.0"
|
|
93
97
|
pygal = "^3.0.0"
|
|
94
98
|
tinycss = "^0.4"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# this is updated by .github/workflows/release.yaml
|
|
2
|
-
__version__ = "0.
|
|
2
|
+
__version__ = "0.13.0"
|
|
@@ -70,12 +70,12 @@ from robusta.core.model.env_vars import (
|
|
|
70
70
|
ROBUSTA_LOGO_URL,
|
|
71
71
|
ROBUSTA_TELEMETRY_ENDPOINT,
|
|
72
72
|
ROBUSTA_UI_DOMAIN,
|
|
73
|
+
RUNNER_SERVICE_ACCOUNT,
|
|
73
74
|
RUNNER_VERSION,
|
|
74
75
|
SEND_ADDITIONAL_TELEMETRY,
|
|
75
76
|
SERVICE_CACHE_MAX_SIZE,
|
|
76
77
|
SERVICE_CACHE_TTL_SEC,
|
|
77
78
|
SLACK_TABLE_COLUMNS_LIMIT,
|
|
78
|
-
SUPABASE_LOGIN_RATE_LIMIT_SEC,
|
|
79
79
|
TEAMS_IMAGE_WIDTH,
|
|
80
80
|
TELEMETRY_PERIODIC_SEC,
|
|
81
81
|
TRACE_INCOMING_REQUESTS,
|
|
@@ -74,6 +74,10 @@ class RobustaRelay(BaseModel):
|
|
|
74
74
|
apiEndpointPrefix: str
|
|
75
75
|
apiNodePort: int = 30313 # api.domain
|
|
76
76
|
wsNodePort: int = 30314 # relay.domain
|
|
77
|
+
relayPrefix: str = "relay"
|
|
78
|
+
platformPrefix: str = "platform"
|
|
79
|
+
apiPrefix: str = "api"
|
|
80
|
+
isOnPrem: bool = True
|
|
77
81
|
|
|
78
82
|
def __init__(
|
|
79
83
|
self,
|
|
@@ -184,6 +188,13 @@ def gen_config(
|
|
|
184
188
|
)
|
|
185
189
|
values.KONG_HTTP_NODE_PORT = db_nport
|
|
186
190
|
|
|
191
|
+
backendProfile = BackendProfile.fromDomainProvider(
|
|
192
|
+
domain=domain,
|
|
193
|
+
api_endpoint_prefix=api_endpoint_prefix,
|
|
194
|
+
platform_endpoint_prefix=platform_endpoint_prefix,
|
|
195
|
+
relay_endpoint_prefix=relay_ws_endpoint_prefix,
|
|
196
|
+
)
|
|
197
|
+
|
|
187
198
|
relayValues = RobustaRelay(
|
|
188
199
|
domain=domain,
|
|
189
200
|
anon_key=values.ANON_KEY,
|
|
@@ -193,8 +204,13 @@ def gen_config(
|
|
|
193
204
|
platform_endpoint_prefix=platform_endpoint_prefix,
|
|
194
205
|
api_endpoint_prefix=api_endpoint_prefix,
|
|
195
206
|
)
|
|
207
|
+
|
|
196
208
|
relayValues.apiNodePort = api_nport
|
|
197
209
|
relayValues.wsNodePort = ws_nport
|
|
210
|
+
relayValues.relayPrefix = relay_ws_endpoint_prefix
|
|
211
|
+
relayValues.platformPrefix = platform_endpoint_prefix
|
|
212
|
+
relayValues.apiPrefix = api_endpoint_prefix
|
|
213
|
+
|
|
198
214
|
|
|
199
215
|
uiValues = RobustaUI(
|
|
200
216
|
domain=domain,
|
|
@@ -215,12 +231,8 @@ def gen_config(
|
|
|
215
231
|
"RELAY": relay_ws_endpoint_prefix,
|
|
216
232
|
}
|
|
217
233
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
api_endpoint_prefix=api_endpoint_prefix,
|
|
221
|
-
platform_endpoint_prefix=platform_endpoint_prefix,
|
|
222
|
-
relay_endpoint_prefix=relay_ws_endpoint_prefix,
|
|
223
|
-
)
|
|
234
|
+
|
|
235
|
+
|
|
224
236
|
self_host_approval_url = "https://api.robusta.dev/terms-of-service.html"
|
|
225
237
|
typer.echo(f"By using this software you agree to the terms of service ({self_host_approval_url})\n")
|
|
226
238
|
write_values_files("self_host_values.yaml", "robusta_cli_config.json", values_dict, backendProfile)
|
|
@@ -27,7 +27,6 @@ CLUSTER_STATUS_PERIOD_SEC = int(os.environ.get("CLUSTER_STATUS_PERIOD_SEC", 60 *
|
|
|
27
27
|
DISCOVERY_CHECK_THRESHOLD_SEC = int(os.environ.get("DISCOVERY_CHECK_THRESHOLD_SEC", 60 * 50)) # 50 min
|
|
28
28
|
DISCOVERY_PROCESS_TIMEOUT_SEC = int(os.environ.get("DISCOVERY_PROCESS_TIMEOUT_SEC", 60 * 120)) # 120 min
|
|
29
29
|
DISCOVERY_WATCHDOG_CHECK_SEC = int(os.environ.get("DISCOVERY_WATCHDOG_CHECK_SEC", 15 * 120)) # 15 min
|
|
30
|
-
SUPABASE_LOGIN_RATE_LIMIT_SEC = int(os.environ.get("SUPABASE_LOGIN_RATE_LIMIT_SEC", 900))
|
|
31
30
|
SUPABASE_TIMEOUT_SECONDS = int(os.environ.get("SUPABASE_TIMEOUT_SECONDS", 60))
|
|
32
31
|
GRAFANA_RENDERER_URL = os.environ.get("GRAFANA_RENDERER_URL", "http://127.0.0.1:8281/render")
|
|
33
32
|
RESOURCE_UPDATES_CACHE_TTL_SEC = os.environ.get("RESOURCE_UPDATES_CACHE_TTL_SEC", 120)
|
|
@@ -66,6 +65,8 @@ ENABLE_TELEMETRY = os.environ.get("ENABLE_TELEMETRY", "true").lower() == "true"
|
|
|
66
65
|
SEND_ADDITIONAL_TELEMETRY = os.environ.get("SEND_ADDITIONAL_TELEMETRY", "false").lower() == "true"
|
|
67
66
|
RELEASE_NAME = os.environ.get("RELEASE_NAME", "robusta")
|
|
68
67
|
|
|
68
|
+
RUNNER_SERVICE_ACCOUNT = os.environ.get("RUNNER_SERVICE_ACCOUNT", f"{RELEASE_NAME}-runner-service-account")
|
|
69
|
+
|
|
69
70
|
TELEMETRY_PERIODIC_SEC = int(os.environ.get("TELEMETRY_PERIODIC_SEC", 60 * 60 * 24)) # 24H
|
|
70
71
|
|
|
71
72
|
SLACK_TABLE_COLUMNS_LIMIT = int(os.environ.get("SLACK_TABLE_COLUMNS_LIMIT", 3))
|
|
@@ -100,7 +101,7 @@ RRM_PERIOD_SEC = int(os.environ.get("RRM_PERIOD_SEC", 90))
|
|
|
100
101
|
|
|
101
102
|
MAX_ALLOWED_RULES_PER_CRD_ALERT = int(os.environ.get("MAX_ALLOWED_RULES_PER_CRD_ALERT", 600))
|
|
102
103
|
|
|
103
|
-
IMAGE_REGISTRY = os.environ.get("IMAGE_REGISTRY", "
|
|
104
|
+
IMAGE_REGISTRY = os.environ.get("IMAGE_REGISTRY", "us-central1-docker.pkg.dev/genuine-flight-317411/devel")
|
|
104
105
|
|
|
105
106
|
CLUSTER_DOMAIN = os.environ.get("CLUSTER_DOMAIN", "cluster.local")
|
|
106
107
|
|
|
@@ -113,3 +114,8 @@ RUN_AS_SUBPROCESS = load_bool("RUN_AS_SUBPROCESS", True)
|
|
|
113
114
|
ARGO_ROLLOUTS = load_bool("ARGO_ROLLOUTS", False)
|
|
114
115
|
# lowered case k8s kinds in a json array string. "[\"configmap\", \"secret\"]"
|
|
115
116
|
RESOURCE_YAML_BLOCK_LIST = json.loads(os.environ.get("RESOURCE_YAML_BLOCK_LIST", "[]"))
|
|
117
|
+
|
|
118
|
+
NAMESPACE_DATA_TTL = int(os.environ.get("NAMESPACE_DATA_TTL", 30*60)) # in seconds
|
|
119
|
+
|
|
120
|
+
PROCESSED_ALERTS_CACHE_TTL = int(os.environ.get("PROCESSED_ALERT_CACHE_TTL", 2*3600))
|
|
121
|
+
PROCESSED_ALERTS_CACHE_MAX_SIZE = int(os.environ.get("PROCESSED_ALERTS_CACHE_MAX_SIZE", 100_000))
|
|
@@ -14,6 +14,7 @@ from pydantic.main import BaseModel
|
|
|
14
14
|
from robusta.core.discovery.top_service_resolver import TopServiceResolver
|
|
15
15
|
from robusta.core.model.env_vars import ROBUSTA_UI_DOMAIN
|
|
16
16
|
from robusta.core.reporting.consts import FindingSource, FindingSubjectType, FindingType
|
|
17
|
+
from robusta.integrations.kubernetes.api_client_utils import get_namespace_labels
|
|
17
18
|
from robusta.utils.scope import BaseScopeMatcher
|
|
18
19
|
|
|
19
20
|
|
|
@@ -106,7 +107,7 @@ class EnrichmentType(Enum):
|
|
|
106
107
|
|
|
107
108
|
|
|
108
109
|
class Enrichment:
|
|
109
|
-
#
|
|
110
|
+
# This is the actual enrichment data
|
|
110
111
|
blocks: List[BaseBlock] = []
|
|
111
112
|
# General purpose rendering flags, that can be used by specific sinks
|
|
112
113
|
annotations: Dict[str, str] = {}
|
|
@@ -138,6 +139,9 @@ class FilterableScopeMatcher(BaseScopeMatcher):
|
|
|
138
139
|
def get_data(self) -> Dict:
|
|
139
140
|
return self.data
|
|
140
141
|
|
|
142
|
+
def scope_match_namespace_labels(self, attr_matcher, attr_value):
|
|
143
|
+
return self.match_labels_annotations(attr_matcher, attr_value)
|
|
144
|
+
|
|
141
145
|
|
|
142
146
|
class Filterable(ABC):
|
|
143
147
|
@property
|
|
@@ -169,7 +173,12 @@ class Filterable(ABC):
|
|
|
169
173
|
# 1. "scope" check
|
|
170
174
|
accept = True
|
|
171
175
|
if scope_requirements is not None:
|
|
172
|
-
|
|
176
|
+
data = self.attribute_map
|
|
177
|
+
try:
|
|
178
|
+
data["namespace_labels"] = get_namespace_labels(data["namespace"])
|
|
179
|
+
except KeyError:
|
|
180
|
+
data["namespace_labels"] = {}
|
|
181
|
+
matcher = FilterableScopeMatcher(data)
|
|
173
182
|
if scope_requirements.exclude:
|
|
174
183
|
if matcher.scope_inc_exc_matches(scope_requirements.exclude):
|
|
175
184
|
return False
|
{robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/datadog/datadog_sink_params.py
RENAMED
|
@@ -5,6 +5,10 @@ from robusta.core.sinks.sink_config import SinkConfigBase
|
|
|
5
5
|
class DataDogSinkParams(SinkBaseParams):
|
|
6
6
|
api_key: str
|
|
7
7
|
|
|
8
|
+
@classmethod
|
|
9
|
+
def _get_sink_type(cls):
|
|
10
|
+
return "datadog"
|
|
11
|
+
|
|
8
12
|
|
|
9
13
|
class DataDogSinkConfigWrapper(SinkConfigBase):
|
|
10
14
|
datadog_sink: DataDogSinkParams
|
{robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/discord/discord_sink_params.py
RENAMED
|
@@ -5,6 +5,10 @@ from robusta.core.sinks.sink_config import SinkConfigBase
|
|
|
5
5
|
class DiscordSinkParams(SinkBaseParams):
|
|
6
6
|
url: str
|
|
7
7
|
|
|
8
|
+
@classmethod
|
|
9
|
+
def _get_sink_type(cls):
|
|
10
|
+
return "discord"
|
|
11
|
+
|
|
8
12
|
|
|
9
13
|
class DiscordSinkConfigWrapper(SinkConfigBase):
|
|
10
14
|
discord_sink: DiscordSinkParams
|
|
@@ -7,6 +7,10 @@ from robusta.core.sinks.sink_config import SinkConfigBase
|
|
|
7
7
|
class FileSinkParms(SinkBaseParams):
|
|
8
8
|
file_name: str = None
|
|
9
9
|
|
|
10
|
+
@classmethod
|
|
11
|
+
def _get_sink_type(cls):
|
|
12
|
+
return "file"
|
|
13
|
+
|
|
10
14
|
|
|
11
15
|
class FileSinkConfigWrapper(SinkConfigBase):
|
|
12
16
|
file_sink: FileSinkParms
|
{robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/google_chat/google_chat_params.py
RENAMED
|
@@ -7,6 +7,10 @@ from robusta.core.sinks.sink_config import SinkConfigBase
|
|
|
7
7
|
class GoogleChatSinkParams(SinkBaseParams):
|
|
8
8
|
webhook_url: SecretStr
|
|
9
9
|
|
|
10
|
+
@classmethod
|
|
11
|
+
def _get_sink_type(cls):
|
|
12
|
+
return "google_chat"
|
|
13
|
+
|
|
10
14
|
|
|
11
15
|
class GoogleChatSinkConfigWrapper(SinkConfigBase):
|
|
12
16
|
google_chat_sink: GoogleChatSinkParams
|
|
@@ -19,6 +19,10 @@ class JiraSinkParams(SinkBaseParams):
|
|
|
19
19
|
reopenStatusName: Optional[str] = "To Do"
|
|
20
20
|
noReopenResolution: Optional[str] = ""
|
|
21
21
|
|
|
22
|
+
@classmethod
|
|
23
|
+
def _get_sink_type(cls):
|
|
24
|
+
return "jira"
|
|
25
|
+
|
|
22
26
|
|
|
23
27
|
class JiraSinkConfigWrapper(SinkConfigBase):
|
|
24
28
|
jira_sink: JiraSinkParams
|
|
@@ -7,6 +7,10 @@ from robusta.core.sinks.sink_config import SinkConfigBase
|
|
|
7
7
|
class MailSinkParams(SinkBaseParams):
|
|
8
8
|
mailto: str
|
|
9
9
|
|
|
10
|
+
@classmethod
|
|
11
|
+
def _get_sink_type(cls):
|
|
12
|
+
return "mail"
|
|
13
|
+
|
|
10
14
|
@validator("mailto")
|
|
11
15
|
def validate_mailto(cls, mailto):
|
|
12
16
|
# Make sure we only handle emails and exclude other schemes provided by apprise
|
{robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/msteams/msteams_sink_params.py
RENAMED
|
@@ -5,6 +5,10 @@ from robusta.core.sinks.sink_config import SinkConfigBase
|
|
|
5
5
|
class MsTeamsSinkParams(SinkBaseParams):
|
|
6
6
|
webhook_url: str
|
|
7
7
|
|
|
8
|
+
@classmethod
|
|
9
|
+
def _get_sink_type(cls):
|
|
10
|
+
return "msteams"
|
|
11
|
+
|
|
8
12
|
|
|
9
13
|
class MsTeamsSinkConfigWrapper(SinkConfigBase):
|
|
10
14
|
ms_teams_sink: MsTeamsSinkParams
|
{robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/opsgenie/opsgenie_sink_params.py
RENAMED
|
@@ -10,6 +10,10 @@ class OpsGenieSinkParams(SinkBaseParams):
|
|
|
10
10
|
tags: List[str] = []
|
|
11
11
|
host: Optional[str] = None # NOTE: If None, the default value will be used from opsgenie_sdk
|
|
12
12
|
|
|
13
|
+
@classmethod
|
|
14
|
+
def _get_sink_type(cls):
|
|
15
|
+
return "opsgenie"
|
|
16
|
+
|
|
13
17
|
|
|
14
18
|
class OpsGenieSinkConfigWrapper(SinkConfigBase):
|
|
15
19
|
opsgenie_sink: OpsGenieSinkParams
|
|
@@ -5,6 +5,10 @@ from robusta.core.sinks.sink_config import SinkConfigBase
|
|
|
5
5
|
class PagerdutySinkParams(SinkBaseParams):
|
|
6
6
|
api_key: str
|
|
7
7
|
|
|
8
|
+
@classmethod
|
|
9
|
+
def _get_sink_type(cls):
|
|
10
|
+
return "pagerduty"
|
|
11
|
+
|
|
8
12
|
|
|
9
13
|
class PagerdutyConfigWrapper(SinkConfigBase):
|
|
10
14
|
pagerduty_sink: PagerdutySinkParams
|
{robusta_cli-0.12.1a0 → robusta_cli-0.13.0}/src/robusta/core/sinks/pushover/pushover_sink_params.py
RENAMED
|
@@ -10,6 +10,11 @@ class PushoverSinkParams(SinkBaseParams):
|
|
|
10
10
|
device: str = None
|
|
11
11
|
pushover_url: str = "https://api.pushover.net/1/messages.json"
|
|
12
12
|
|
|
13
|
+
@classmethod
|
|
14
|
+
def _get_sink_type(cls):
|
|
15
|
+
return "pushover"
|
|
16
|
+
|
|
17
|
+
|
|
13
18
|
class PushoverSinkConfigWrapper(SinkConfigBase):
|
|
14
19
|
pushover_sink: PushoverSinkParams
|
|
15
20
|
|