Package: sentry-rate-limit
Sentry Rate LimitПриложение обеспечивает гибкий способ управления количеством ошибок на организацию/проект/ключ.Минимальные требованияPython >= 3.9PostgreSQL >= 11.8Sentry APIauth tokenAuthentication token permissions:org:readproject:readproject:writeЗапуск приложенияСкопировать файл конфигурацииratelimit/config.example.pyвratelimit/config.pyИзменить настройки в файле конфигурацииratelimit/config.py, если это необходимоУстановить необходимые зависимостиpip install -r requirements.txtСобрать приложениеpython setup.py installЗапустить приложениеsentry-rate-limitЗапуск приложения в виртуальном окружение PythonСоздать виртуально окружениеpython3 -m venv .venvАктивировать виртуальное окружение:source .venv/bin/activate- для Linux и MacOS.venv\Scripts\activate.bat- для Windowsdeactivate- для завершения работы в виртуальном окруженииСкопировать файл конфигурацииratelimit/config.example.pyвratelimit/config.pyИзменить настройки в файле конфигурацииratelimit/config.py, если это необходимоУстановить необходимые зависимостиpip install -r requirements.txtСобрать приложениеpython setup.py installЗапустить приложениеsentry-rate-limitЗапуск приложения в DockerСобрать образdockerbuild--file./docker/Dockerfile--tagYOUR_IMAGE_NAME.--no-cacheЗапустить приложениеdockerrun--nameYOUR_NAME--rm-itYOUR_IMAGE_NAMEПример запуска с переменными окружения в Dockerdockerrun--nameYOUR_NAME\-e"SENTRY_BEARER_TOKEN=00000000000000000000000000000000"\-e"LOGGING_ENABLE=True"\-e"LOGGING_LEVEL=info"\--rm-itYOUR_IMAGE_NAMEEnvironment variablesSentrySENTRY_URL: URL адрес для подключения к Sentry (examplehttps://sentry.io)SENTRY_BEARER_TOKEN: Токен авторизации (подробнее)PostgreSQLPOSTGRES_DB_NAME: Название базы данных (defaultpostgres)POSTGRES_DB_USER: Имя пользователя (defaultpostgres)POSTGRES_DB_PASSWORD: Пароль пользователяPOSTGRES_HOST: Имя хоста (defaultlocalhost)POSTGRES_PORT: Порт подключения (default5432)ЛогированиеLOGGING_ENABLE: Активация логирования (defaultFalse)LOGGING_LEVEL: Уровень логирования (defaultdebug)LOGGING_FILE_NAME: Название файла для логовДругиеDEFAULT_LIMIT_COUNT: Количество ошибок (default300)DEFAULT_LIMIT_WINDOW: Временной интервал в секундах (default60)MIN_LIMIT_COUNT: Минимальное количество ошибок, допускаемых за 1 минуту (default60)Список командПриложение может работать в нескольких режимов команд:управленияисполненияUsage:sentry-rate-limit[OPTIONS]COMMAND[ARGS]...SentryRateLimitthisisautilityforsettinglimitsin.

Options:--versionShowtheversionandexit.--helpShowthismessageandexit.

Commands:addAdddatatothedatabase.cleanupDeletedatawithoutdependencies.deleteDeletedatafromthedatabase.describeDESCRIBE.getGET.helpShowthismessageandexit.initInitializethetablesinthedatabase.setSetthespeedlimitinsentry.syncSyncsdatafromSentry.updateUpdatethedatainthedatabase.Команды управленияКоманда - initUsage:sentry-rate-limitinit[OPTIONS]Initializethetablesinthedatabase.

Options:--helpShowthismessageandexit.Команда - addДобавляет организацию в базу данных.Нельзя добавить организацию, которой нет в Sentry--limit-count- установить лимит на всю организациюEсли лимит не указан, будет использоваться дефолтный лимит:default_limit_countв файлеratelimit/config.py--desc- добавить описание для лимитаUsage:sentry-rate-limitadd[OPTIONS]Adddatatothedatabase.Examples:$sentry-rate-limitadd--organization-nametest--limit-count300--desc"Testing."$sentry-rate-limitadd--organization-nametest--limit-count300$sentry-rate-limitadd--organization-nametestOptions:-o,--organization-nameTEXTOrganizationname.Notdisplayname.-l,--limit-countINTEGERLimitcount.-d,--descTEXTDescription.--helpShowthismessageandexit.Команда - deleteУдаляет организацию из базы данных.Usage:sentry-rate-limitdelete[OPTIONS]Deletedatafromthedatabase.Examples:$sentry-rate-limitdelete--organization-nametestOptions:-o,--organization-nameTEXTOrganizationname.Notdisplayname.--helpShowthismessageandexit.Команда - describeв разработкеКоманда - getв разработкеКоманда - updateОбновляет лимиты на организацию/проект/ключ в базе данных.Usage:sentry-rate-limitupdate[OPTIONS]COMMAND[ARGS]...Updatethedatainthedatabase.

Options:--helpShowthismessageandexit.

Commands:limitUpdatelimit.Usage:sentry-rate-limitupdatelimit[OPTIONS]Updatelimit.Examples:$sentry-rate-limitupdatelimit--organization-nametest--limit-count500--desc"Testing."$sentry-rate-limitupdatelimit--organization-nametest--project-nameLoadTest--limit-count100$sentry-rate-limitupdatelimit--organization-nametest--project-nameLoadTest--public-keycec9dfceb0b74c1c9a5e3c135585f364--limit-count50Options:-o,--organization-nameTEXTOrganizationname.Notdisplayname.-p,--project-nameTEXTProjectname.-k,--public-keyTEXTPublickey.-l,--limit-countINTEGERLimitcount.[required]-d,--descTEXTDescription.--helpShowthismessageandexit.Команды исполненияКоманда cleanupЗапускает удаление данных без зависимостей из базы данных.Usage:sentry-rate-limitcleanup[OPTIONS]Deletedatawithoutdependencies.

Options:--helpShowthismessageandexit.Команда setУстанавливает лимиты в sentry.Usage:sentry-rate-limitset[OPTIONS]Setthespeedlimitinsentry.

Options:--helpShowthismessageandexit.Команда syncСинхронизирует данные между sentry и базы данных.Usage:sentry-rate-limitsync[OPTIONS]SyncsdatafromSentry.

Options:-L,--limit-onlySynconlylimits.-N,--no-limitSyncallexceptlimits.--helpShowthismessageandexit.