Обновление 2025.4.1 до 2025.4.2
Важно!
В версии 2025.4.2 в базе данных вводится уникальное ограничение для предотвращения создания дублей кодовых баз. Чтобы обновление прошло успешно, необходимо заранее убедиться, что в базе нет дублей.
Перед обновлением необходимо:
-
Проверить наличие дублей в таблице hub.codebase. Выполните следующий SQL-запрос в БД AppSec.Hub:
-
Если запрос не вернул ни одной строки, значит дублей нет - можно безопасно обновляться до версии 2025.4.2.
Дополнительных действий не требуется.
-
Если запрос вернул строки, то это означает, что в таблице есть группы дублей (кодовые базы с одинаковыми параметрами).
Необходимо обратиться в техническую поддержку.
Обновление AppSec.Hub (UI/Core) в Kubernetes
Примечание
Версия Helm-чарта Appsec.Hub: 0.2.12.
-
Скачайте новый Helm-чарт.
helm pull oci://registry.appsec.global/appsechub/hub-helm/appsechub --version 0.2.12 -
Извлеките файлы из архива.
tar -xvf tar -xvf appsechub-0.2.12.tgz && cd appsechub -
Сравните два файла values.yaml (текущий и новый из архива) для выявления изменений.
diff -y --suppress-common-lines /path/to/actual/values.yaml /path/to/new/values.yaml -
Заполните новый файл values.yaml вашими значениями, в соответствии с требованиями вашей среды.
-
Обновите развертывание.
helm upgrade --install appsechub . --namespace "appsechub" --create-namespace -f values.yaml
Список изменений в Helm-чарте Appsec.Hub
-
В файл templates.hub-core.configmap.yaml добавлен новый сервис
defect-sync. -
В файл templates.hub-core.configmap.yaml в секции
app.propertiesдобавлен параметрhub.defect.showReleaseObject:hub.defect.showReleaseObject={{ .hub_defect_showReleaseObject | default "true" }}В файле values.yaml этот параметр попадает в секцию
hubcore:в подразделapp_properties:hub_defect_showReleaseObject: "true"Этот параметр включает/отключает отображение релизных объектов на странице списка дефектов (по умолчанию имеет значение
true). -
В файл templates/hub-ui/configmap.yaml добавлен параметр
showRuleNotifications(по умолчанию имеет значениеtrue).
Обновление AppSec.Hub (UI/Core) в Docker
-
Остановите AppSec.Hub.
cd /opt/apphub sudo docker-compose down -
В конфигурационном файле /opt/apphub/.env (см. «Приложение 1. Конфигурационный файл .env») укажите новые версии образов:
hub_core_version=2025.4.2 hub_ui_version=2025.4.2 hub_air_version=2025.4.2 hub_db_version=2025.4.2 hub_gateway_version=2025.4.2 hub_issue_rule_version=2025.4.2 hub_issue_version=2025.4.2 hub_sso_version=2025.4.2 hub_metrics_version=2025.4.2 hub_metrics_bridge_version=2025.4.2 hub_pipeline_version=2025.4.2 rabbitmq_version=3.13-management # hub-pipeline-agent - указывается в этом файле только в случае установки AppSec.Hub и сервиса hub-pipeline на одном хосте # если на разных - то в своем .env файле на отдельной ноде hub_pipeline_agent_version=2025.4.2 hub_scheduler_version=2025.4.2Примечание
При установке AppSec.Hub и Jenkins на разных хостах сервис
hub-pipelne-agentпри установке должен быть установлен на отдельной ноде. В этом случае значениеhub_pipeline_agent_versionдолжно быть указано и обновлено только в файле .env в директории/opt/pipelineна отдельной ноде.И добавьте строку для версии образа нового сервиса:
hub_defect_sync_version=2025.4.2 -
Добавьте в конец файла config/hub-core/app.properties следующие строки (см. «Приложение 4. Конфигурационный файл app.properties»).
hub.config.onboardingTaskThreadPoolSize=${config.onboardingTaskThreadPoolSize:4} hub.defect.showReleaseObject=${defect.showReleaseObject:true} hub.rabbitmq.defect.ttl=${hub.rabbitmqDefectQueueTtl:60000} hub.defect.enableSingleDefectSynchronization=${defect.enableSingleDefectSynchronization:false} -
В конфигурационном файле docker-compose.yml для AppSec.Hub (см. «Приложение 9. Пример docker-compose.yml для контейнера AppSec.Hub») добавьте следующий сервис:
hub-defect-sync: image: registry.appsec.global/appsechub/hub-defect-sync:${hub_defect_sync_version} container_name: defect-sync environment: - CONSUL_HOST=http://consul - CONSUL_PORT=8500 - CONSUL_TOKEN=${consul_token} - RABBITMQ_HOST=${RABBITMQ_HOST} - RABBITMQ_PORT=${RABBITMQ_PORT} - RABBITMQ_USERNAME=${RABBITMQ_USERNAME} - ENCRYPT_KEY=${ENC_KEY} - RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD} - DB_URL=jdbc:postgresql://${pgsql_url}/${hub_db_name} - HUBAPP_USERNAME=hubapp - HUBAPP_PASSWORD=${hub_app_password} - GRPC_PORT=${GRPC_PORT} volumes: #- ./certs/cacerts:/usr/lib/jvm/java-17-amazon-corretto/lib/security/cacerts networks: - net-hub restart: on-failure:5 pids_limit: 400 cpu_shares: 768 deploy: resources: limits: memory: 600M -
Добавьте в конец файла /opt/apphub/config/hub-core/auth.properties следующие строки (см. «Приложение 12. Конфигурационный файл auth.properties») для подключения к rabbitmq.
hub.rabbitmq.host=${hub.rabbitmqHost:rabbitmq} hub.rabbitmq.port=${hub.rabbitmqPort:5672} hub.rabbitmq.username=changeit hub.rabbitmq.password=changeitВажно!
Параметры
hub.rabbitmq.usernameиhub.rabbitmq.password(имя пользователя и пароль для работы с RabbitMQ) необходимо заменить актуальными значениями из вашей конфигурации. -
Загрузите новые версии контейнеров. Для этого в папке, указанной при установке (по умолчанию — /opt/apphub), выполните следующую команду.
docker-compose pull -
После загрузки образов запустите систему.
docker-compose up -d
Обновление AppSec.Hub Engine (Jenkins)
Важно!
Начиная с версии 2024.4.1, если планируется использование инструментов PT Application Inspector или CodeScoring, необходимо подготовить Docker-образ по инструкции, приведенной в разделе «Добавление в Docker-образ hub-engine агентов Johnny и PT AISA».
-
Остановите Jenkins.
cd /opt/jenkins sudo docker-compose down -
Укажите новые версии образов в файле .env.
hub_engine_manager_version=2025.4.2 hub_engine_version=2025.4.2 -
Загрузите новые версии контейнеров.
docker-compose pull -
После загрузки образов запустите систему.
docker-compose up -d