Package: botoolkit
BotoolkitСемейство инструментов предназначенное для сокращения рутинных действий
разработчиков проектов web_bb и организации работы со сторонними сервисами.Набор содержит следующие инструменты:boconfbodatabaserbarsdockbogitboguideboipbojenkinsbojirabopostgresboregistrybotelegrambotoolkitbowebbbДанные инструменты нацелены на объединение существующих решений с создание новых
в едином проекте в качестве консольных утилит для повышения удобства работы с
проектом и сокращения издержек выполнение рутинных задач. Более подробно с
инструментом можно ознакомиться вConfluence.ВерсионированиеВ проекте используется Семантическое версионирование. Со спецификацией можно ознакомиться по ссылкеhttps://semver.org/lang/ru/#История измененийВсе изменения проекта должны быть отражены в этом файле.Формат основан наKeep a Changelogи проект следуетСемантическому версионированию.[x.y.z] - гггг-мм-ддЗдесь должно быть расширенное описание того, что было сделано, какие есть планы у команды по дальнейшему развитию.
Желательно будущие цели привязывать к конкретным задачам. Т.е. на каждую цель нужно поставить отдельную задачу и
отразить ее номер здесь.ДобавленоПРОЕКТ-ZZZZPATCH Название задачи или изменения.ПРОЕКТ-YYYYMINOR Название задачи или изменения.ПРОЕКТ-XXXXMAJOR Название задачи или изменения.ИзмененоИсправленоУдалено[1.2.0] - 2024-02-14Доработка команды по анализу и зачистке веток в репозитории. Добавлена возможность указания нескольких проектов, обход
поддиректорий с проектами.ДобавленоEDUDEVOPS-41MINOR Добавлена возможность указания нескольких проектов в команде bogit check closed issues remote branches.EDUDEVOPS-41MINOR Добавлена возможность обхода поддиректорий с проектами в команде bogit check closed issues remote branches.1.1.27Изменен адрес репозитория web_bb_vehicle1.1.26Добавлен max_parallel_workers_per_gather = 0 в образ postgres1.1.25Добавлен плагин salary.lk1.1.24Добавлен плагин integration_gis_gmp1.1.23Добавлен плагин accounting_inventory_reports1.1.22Удален лишний параметр для логирования1.1.21Добавлен плагин accounting_mchs.other_legal_basis1.1.20Добавлены параметры в секцию databaser для сохранения логов сборки среза в файловой системе1.1.19В генерацию файла базовых образов добавлена логика, когда нижестоящие ветки используют образы вышестоящихТаблица waterfall_warningcollector добавлена в исключения1.1.18Добавлена синхронная версия создания базовых образов1.1.17Плагин civil_service добавлен как базовый для salary.1.1.16Добавление указания тега ветки web_bb_app_branch при запуске пустой БД приложения web_bb.1.1.15Добавлен плагин web_execution1.1.14Добавлен плагин import_pp_web1.1.13Изменена проверка на запущенный job databaser'а1.1.12Добавлен плагин period_closing_ext1.1.11Переименована ссылка на guides1.1.10Добавлен плагин zkr.1.1.9Переименован плагин mchs.1.1.8Добавление плагина integration_transcrypt проекта web_bb_accounting.1.1.7Добавлен проброс содержимого pip.conf при сборке образов приложения web_bb.1.1.6Добавление плагина salary.mchs1.1.5BODEVOPS-246 Добавление databaser_folder_name в конфиг.1.1.4BODEVOPS-246 Восстановлена парсинг Job-ов Jenkins;BODEVOPS-246 Вынос view name в параметры.1.1.3Изменение названия view в Jenkins на БО.1.1.2BODEVOPS-244 Добавление возможности исключения комбинаций проектов из генератора схемы сборки базовых образов БД.1.1.1EDUDEVOPS-6 Убрана отсылка сообщения в телеграм, если нет задач с ошибочно собранными срезами БД.1.1.0Добавление команды bojira show databaser build errors issues.1.0.0Добавлена команда bogit show remote branches;Отлов ошибки при получении задачи Jira;EDUDEVOPS-6 Доработка логирования, обработка ошибок;EDUDEVOPS-6 Добавление команды для вывода всех веток удаленного репозитория;Добавлено указание типа версионирования;0.0.104Добавлен параметр use_simple_server для ГАР;Добавление команды check closed issues remote branches.0.0.103Техническая версия.0.0.102Добавление плагина МЧС.0.0.101Исправление ошибки начального конфигурирования инструмента.0.0.100Замена названия файла с зависимостями с common.txt на stage.txt.0.0.99Исправление ошибки с большим количеством пустых строк и пробелов в генерируемом конфигурационном файле.0.0.98Добавление full_transfer_tables в Databaser.0.0.97Добавление плагина supplier_personalities.0.0.96Добавление плагина salary.staffing_strength_export.0.0.95Доработан вывод лога сборки Docker-образов приложения web_bb;Доработка Dockerfile базового образа приложения web_bb.0.0.94Дополнены значения по умолчанию в генерируемом конфигурационном файле;Добавление скрипта для удаления партиций и создания одной дефолтной партиции;Добавление параметров exclude_branches и base_images_branch в команду для генерации схемы сборки базовых образов БД.0.0.93Изменена инструкция по установке pyenv;Добавление секций gar и async_database в генерируемом конфигурационном файле.0.0.92Добавление плагинов accounting_edm_nso, accounting_edm_rt.0.0.91Исправление ошибок после перехода на ConfigUpdater;Добавлен отлов ошибки с отсутствующим конфигом при первом конфигурировании;Переименование инструмента bo_dock в bo_barsdock для работы с barsdock.0.0.90Внесение изменений в лог работы databaser, в связи с переходом на barsdock;Исправление опечатки в сообщении о недоступности тестового стенда при автоматическом запуске среза БД.0.0.89BODEVOPS-219 Восстановление работы команды по генерации конфига для работы databaser.0.0.88Переделана генерация декларативного описания сборки базовых образов БД, чтобы сборка производилась для всех доступных тестовых стендов, а не только для старших.0.0.87Добавлен вывод комментариев для секций генерируемого конфигурационного файла;Расширение комментариев опций и секций конфигурационного файла приложения web_bb;Добавление комментария о возможности настройки окружения при помощи botoolkit в логе работы Databaser.0.0.86Исправление ошибки с неверной фильтрацией плагинов из-за отсутствия добавления плагинов, от которых зависят плагины проектов, при получении плагинов проектов.0.0.85Исправление ошибки получения значений из конфига.0.0.84Фиксирование pyparsing==2.4.7 из-за возникающей ошибки;Добавление явных зависимостей между плагинами и сортировки плагинов.0.0.83Добавление в зависимости ConfigUpdater==3.0.1;Отказ от использования ConfigParser в пользу ConfigUpdater; Добавлен вывод описания параметров конфигурационного файла в генерируемый конфигурационный файл;Добавление новых параметров конфигов с описанием;Исправление ошибки с получение и проставление порта и хоста базы данных;Добавление параметров для вывода в генерируемый конфигурационный файл.0.0.82Указание явной зависимости accounting_edm от accounting;0.0.81Добавление плагина accounting_edm.0.0.80Добавлен плагин ЗиК salary.document_flow.document_register.0.0.79Добавление возможности настройки окружения разработчика без поднятия контейнера с базой данных и/или без генерации конфигурационного файла.0.0.78BOBUH-19132 Восстановление сборки базовых образов приложения после добавления xmlsec.0.0.77Добавление плагина salary.ehdo.0.0.76Перекрытия ошибок в связи с невозможностью резолва ip-адреса по домену;Поднятие версий зависимостей.0.0.75BODEVOPS-202 Добавление файлов для корректной сборки и установки пакета;BODEVOPS-202 Изменение фильтра удаляемых образов при сборке базовых образов;BODEVOPS-202 Исправление ошибки после добавление нового docker registry в Nexus.0.0.74BODEVOPS-202 Добавлено указание ветки в качестве тега для образа Postgres для Databaser;BODEVOPS-202 Добавлено указание ветки в качестве тега в команде по формированию базовых образов БД.0.0.73BODEVOPS-201 Исправление ошибки с проставление ветки web_bb_app при автоматическом запуске сборки среза БД;BODEVOPS-201 Удален неиспользуемый код в сборке базовых образов БД.0.0.72BODEVOPS-201 Восстановление работы команды bojenkins generate databaser interfacebojenkins generate databaser interface;BODEVOPS-201 Восстановление сборки базовых образов приложения, с добавлением тегов образов по веткам;BODEVOPS-201 Восстановление команды bopostgres generate base db image schema;BODEVOPS-201 Восстановление команды bopostgres create base images;BODEVOPS-201 Восстановление команды databaser run.0.0.71Добавление плагина Бухгалтерии account_statement.0.0.70BODEVOPS-194 Добавление возможности исключения проекта из создаваемой схемы сборки базовых образов БД.0.0.69Добавлен плагин KV_CHELYAB;Дополнена документация.0.0.68Исправление опечатки в импорте;Доработка механизма формирования вспомогательного текста команд --help.0.0.67Доработка команды boconf check consistency в части формируемого лога при возникновении ошибки с дублем UUID.0.0.66Добавлена возможность запуска сборки среза с несколькими учреждениями, указанными в описании задачи.0.0.65Поднята версия Postgres до 13.3.0.0.64Добавлена установка wal2json при сборке базовых образов БД;Исправлена ошибка, возникающая при переконфигурировании инструментов после обновления с добавленными новыми параметрами;Добавление параметров max_connections и max_replication_slots для работы с replisync;В документацию добавлена страница с инструкциями по обновлению на новую версию;В документацию добавлена страница с версиями.0.0.63Добавление плагина integration_ack.0.0.62Поднята версия isort до 5.8.0;Внесены изменения в MANIFEST.in для исключения документации из пакета;Перенос документации из Confluence в проект;Добавление команды botoolkit work off;Исправление ошибки с парсингом stand_url и ent_id из тела задачи в Jira.0.0.61Исправление ошибки удаления собранного образа со срезом БД, при использовании кастомного тега.0.0.60BODEVOPS-64 Переработка сборки базовых образов БД. Добавлена поддержка асинхронных сборок;Поднята требуемая версия Python до 3.9.0.0.59Исправление бага с использованием simplejson;Поднятие версий Postgres до 1.11, GitPython, docker;Добавление параметра with_test_databases для команды bopostgres generate base db image schema.0.0.58Регистрация плагинов udmurtia_ufk и kpp_pp.0.0.57BODEVOPS-153 Доработка команды botoolkit work on после переезда на Nexus;BODEVOPS-153 Доработка команды по удалению образов закрытых задач.0.0.56BODEVOPS-153 Добавление в зависимости nexus3-cli;BODEVOPS-153 Добавление поддержки использования Nexus в качестве Registry.0.0.55BODEVOPS-83 Добавлена команда bojenkins check databaser для проверки запущенных автоматически сборок.0.0.54Доработка команды boguide python check updates в части работы с Differ.0.0.53Удаление TLS адаптера.0.0.52Добавление нотификации в Telegram о наличии ошибок в конфигурационных файлах.0.0.51Добавление TLS адаптера для понижения SECLEVEL.0.0.50Добавлена настройка для раскатки миграций с изменением типа первичного ключа;Отключена верификация SSL при работе с JIRA API.0.0.49Исправлена ошибка получения списка репозиториев в Registry, доработана пагинация.0.0.48Добавлена работа с кастомными полями задач в Jira для работы с Databaser.0.0.47Добавление возможности указания кастомного тега финального образа Postgres со срезом БД.0.0.46Добавлена логика запуска контейнера с базой, если он ранее был создан. Например, когда человек повторно возвращается
к работе над задачей.0.0.45Добавлен инструмент bodock;Добавлена команда botoolkit work on.0.0.44Добавление нового статуса databaser_can_not_parse_stand_url_and_ent_id задачи
Jira, в случае невозможности парсинга stand_url и ent_id.0.0.43Добавлена команда bojenkins run databaser для запуска сборки среза БД по
номеру задачи заданному вручную или найденному из указанного фильтра;Произведена доработка команды bopostgres generate db images schema в части
генерации описания для создания региональных образов Postgres с базами с
эталонным наполнением.0.0.42В командуbopostgres check accessдобавлен вывод параметровmax_connections,max_parallel_workers_per_gatherИсправление ошибки при отправке сообщения в Telegram.0.0.41Добавлен новый инструмент bo_telegram;Добавлен новый инструмент bo_guide;Добавлена командаboguide python check updatesдля проверки наличия изменение
в оригинальном Google Python Styleguide и оповещения в telegram, если изменения
обнаружены;Повышение версий зависимостей.0.0.40Исправление ошибок с затирающимися значениями параметров конфигов при переконфигурировании;Добавлены новые плагины;Обновлен лог работы Databaser для работы с bodock;Изменен url Jenkins.0.0.39Добавление плагина salary.eisks;Поднятие версии Postgres до 11.9;Исправление ошибки с разбором данных тестового стенда;BODEVOPS-34 Добавлена команда для проверки консистентности конфигурационных файлов тестовых стендов.0.0.38Добавлено добавление расширения pg_trgm в базовых образах БД;Исправление ошибки с неверным указанием ветки в генерируемом конфиге для создания базовых образов БД, в случае, с отсутствующим тестовым стендом на ветке default;Рефакторинг механизма получения данных Job-ов;Добавлен отлов ошибки при обращении к битому конфигу;Исправление ошибки с импортами из-за того, что используется библиотека validators. Ошибка появилась после обновления cliff, в котором стали активно использовать stevedore.0.0.37Исправление ошибки генерации имени образа для имен, состоящих из имени региона/приложения и проекта;Добавление плагина budget_smart;Откат разделения аббревиатуры региона, для корректного формирования базовых образов;Сделан рефакторинг в части получения данных тестовых стендов Jenkins; В команду bojenkins stands добавлен вывод адреса Job-а;Отредактирован тип данных возвращаемых методом botoolkit.bo_jenkins.parsers.JenkinsJobParser.get_jobs_data_as_tuple;В команду по генерации Groovy-скриптов для Databaser Job-а в Jenkins добавлена возможность применения обновленных параметров в конфиг Job-а с дальнейшим его обновлением в Jenkins в автоматическом режиме.0.0.36Добавлен плагин ЗиК salary.digital_payslip;Добавление sql_log в параметры конфигурационного файла;Добавлена ссылка на статью на conf о параметрах для postgres в комментарий к шаблонам botoolkit;Добавление параметров БД в конфиг, т.к. они все могут отсутствовать в связи с использованием значений по умолчанию;Исправление ошибки парсинга JSON;Добавление нового плагина vehicle.vehicle_novosib_extend;0.0.35Сокращен вывод в лог при удалении образа из репозитория.0.0.34Добавлена команда для отображения списка всех репозиториев образов в Registry;Добавлена команда для удаления образов из Registry по указанным именам;Плагин nomer_dogovora добавлен в перечисление плагинов;Добавлен функционал по удалению базовых образов баз данных из Registry перед пушем свежесобранных для экономии места.0.0.33BODEVOPS-78 Добавлен отлов исключения ContainerError при сборке базовых образов БД с зачисткой артефактов;BODEVOPS-78 Установка Dockerize перенесена в базовый образ base_web_bb_app.0.0.32Добавлена команда bopostgres check access.0.0.31Исправление ошибочных импортов класса исключения ConnectionError.0.0.30Добавлен отлов исключений ConnectTimeout при сборе статистики тестовых стендов.0.0.29Добавлен отлов исключения ReadTimeout и добавлены таймауты к get-запросам в парсере Job-ов Jenkins и при получении UUID приложения в WebBBAPI.0.0.28Отлов ошибки с невозможностью получить ответ от сервера при работе парсера Jenkins;Перенос метода удаления образов баз данных в метод _remove_artefacts в команде по созданию базовых образов для их удаления при возникновении ошибок.0.0.27Временно убрано указание зависимости salary.accounting_integration от accounting;Исправление ошибки с аббревиатурой региона в команде по запуску базы с раскаченными миграциями.0.0.26Исправление вывода лога.0.0.25Добавлена фильтрация плагинов согласно зависимости между ними;Убран timeout в 180 секунд при остановке контейнера с Postgres перед коммитом и заменен на использование container.wait();Исправлена ошибка с зацикливанием при очистке артефактов работы команды по созданию базовых образов баз данных.0.0.24Командой bojenkins stands теперь выводятся UUID конфигурационного файла и регион;Поднята версия isort;Добавлена команда bopostgres generate base db image schema для генерации base_db_image_schema.yaml с декларативным описанием параметров сборок базовых образов БД;Добавлена генерация параметров сборок региональных базовых образов БД;Произведены доработки в части использования ProjectEnum и ProjectPluginEnum;Поднята версия Postgres до 11.8;Удалено использование projects_map и осуществлен переход на комбинации проектов;Добавлено ранжирование проектов в зависимости от времени раскатки миграций;Во всем проекте внесены правки согласно изменений. В частности, в bodatabaser run осуществляется выбор регионального базового образа.0.0.23Исправление ошибки в названии базового образа БД base-web-bb-db-accounting-food.0.0.22Добавлен метод удаления образа _remove_image в DockerServiceMixin;Добавлен вывод имени образа в метод push класса DockerServiceManager;Добавлена зачистка артефактов в виде образов приложения web_bb и Postgres в команде bodatabaser run;Добавлено удаление создаваемых базовых образов БД и образы приложения web_bb  с хостовой машины после работы команды bopostgres create base images.0.0.21Добавлен pyopenssl в зависимости для корректной работы со свежей версией OpenSSL;Убраны параметры web_bb_accounting, web_bb_salary, web_bb_vehicle, web_bb_food из конфига boconf generator;Добавлена возможность указания опций, значения которых не должны проставляться из конфигурационных файлов тестовых стендов;Добавлен параметр stream для регулирования вывода логов при пуше образа в Registry.0.0.20Отлов ошибки с отсутствующим параметром в конфиге;Указание POSTGRES_DEFAULT_PORT вместо повсеместного '5432';Для bodatabaser run убраны лишние параметры для запуска;Убраны лишние параметры команды bodatabaser stop;Исправлена ошибка с затиранием значения параметра result_configuration_dir_path в секции databaser_general;Исправление ошибки в проставлении хоста базы-донора, если указан не ip-адрес.0.0.19Добавлены миксины для создания команд для работы с сервисами WebBB и Postgres в контейнерах;Убран повсеместный проброс parsed_args и теперь используется свойство экземпляра _parsed_args;Добавлена команда для поднятия базы с раскаченными миграциями для работы с Databaser в тестовом режиме.0.0.18Увеличение таймаута при работе с Unix сокетами, для исправления ошибки при коммите контейнера.0.0.17Добавление обработчика сигналов SIGHUP и SIGTERM при получении среза БД с помощью Databaser.0.0.16Добавление регистрации обработчика на случай обрыва исполнения сборки среза БД Databaser.0.0.15Исправление ошибок при конфигурировании bodatabaser.0.0.14Добавлена проверка на указание UUID конфига и вывода названия конфига, если UUID отсутствует;Запрещен шаринг порта 5432 при сборке среза Databaser;Исправление ошибки вывода лога Databaser;Добавлен таймаут при старте контейнера с Postgres для корректной инициализации;Добавлена команда для оставновки работы Databaser и сопутствующих сервисов;Добавлена поддержка парсинга ссылок на тестовые стенды в описании Job-ов.0.0.13Исправление ошибки с подбором образа БД для сборки среза БД Databaser-ом.0.0.12Восстановление работоспособность команды boregistry remove images;Исправление ошибки с неверным подставлением таблиц для исключения при запуске Databaser;Исправление ошибки с подставлением значений из конфигов.0.0.11Добавление дополнительных исключаемых таблиц.0.0.10Рефакторинг кодовой базы;Добавлены базовые классы для создания Docker сервисов;Добавлен сервис для работы с Postgres;Добавлена возможность запуска контейнера с Postgres;Добавлено bogit;Добавлена команда для сборки базового образа приложения;Добавлена команда для создания базовых образов баз данных;Добавлена команда для запуска Databaser.0.0.9Указание кастомного образа Postgres в автоматическом режиме производится только при наличи настроенного Registry;Добавление инструмента boip для проверки доступности серверов с тестовыми приложениями и серверами баз данных;Добавлена команда boip check;Добавлен механизм вывода списка инструментов, которые должны быть сконфигурированы перед запуском команды;Исправлены описания к командам под новый механизм вывода описания;Добавление значений по умолчанию в конфиг botoolkit.conf;Рефакторинг механизма создания команд;Доработки в части проставления значений по умолчанию при конфигурировании инструментов;Исправление ошибки с заполнением значений параметров конфигурационного файла;Доработка методов заполнения значений параметров конфигурационных файлов;Исправление ошибки с указанием kB в настройках Postgres.0.0.8Исправление ошибки маски образа базы при работе команды boregistry remove images0.0.7Заполнение имени образа базы согласно подключенных проектов в конфигурационном файле  databaser0.0.6Добавление дополнительных параметров для конфигурирования Postgres;Исправление бага с проставлением дефолтного значения параметра databaser_build_task_id.0.0.5Добавление килобайтов;Исправление опечатки в шаблоне конфигурационного файла bodatabaser.conf.0.0.4Добавление параметров is_truncate_tables, tables_truncate_included в секцию databaser;Исправление ошибки с указанием лишних данных Registry в конфиге;Исправление ошибки с затиранием result_configuration_dir_path при переконфигурировании bodatabaser;Изменение настроек по умолчанию bopostgres.0.0.3Исправление бага с проставлением пустого значения databaser_excluded_tables.0.0.2В командуboconfconfigure добавлено клонирование репозитория с конфигурациями тестовых стендов при первом запуске и обновление, при последующих.В командеbojenkins generate databaser interfaceв генераторе Groovy скриптов в качестве пустого значения установлена пустая строка вместо NoneИсправлена ошибка при работе командыbodastabaser build configure, в исключаемые таблицы всегда должны быть добавлены таблицы из конфигаbodatabaser, т.к. они никогда не нужныВ bodatabaser переименован параметр key_column_ids -> key_column_values;В bodatabaser добавлен параметр key_table_hierarchy_column_name;Исправлен баг с конфигурированием bodatabaser.0.0.1Добавление команд:boconf configureboconf check pluginsboconf check optionsboconf generator configureboconf generator generatebodatabaser configurebodatabaser build configurebojenkins configurebojenkins standsbojenkins generate databaser interfacebojira configurebopostgres configureboregistry configureboregistry remove imagesbotoolkit configurebowebbb configure