Обновление 2025.1.3 до 2025.2.1
Обновление AppSec.Hub (UI/Core) в Kubernetes
Примечание
Версия Helm-чарта Appsec.Hub: 0.2.8.
-
Скачайте новый Helm-чарт.
helm pull helm pull oci://registry.appsec.global/appsechub/hub-helm/appsechub --version 0.2.8 -
Извлеките файлы из архива.
tar -xvf tar -xvf appsechub-0.2.8.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
-
В файл values.yaml в секции
hubcore:добавлен параметрhub_jira_users_limit:hub_jira_users_limit: "-1"В нем указывается ограничение на количество пользователей Jira (по умолчанию параметр имеет значение
-1, при котором ограничений на количество пользователей не будет). -
В файл values.yaml в секции
env:добавлены параметрыLOGS_LIFETIME_DAYS,ARCHIVE_LIFETIME_DAYSиSCHEDULER_INTERVAL_HOURS, определяющие удаление логов и архивов:LOGS_LIFETIME_DAYS: "30" ARCHIVE_LIFETIME_DAYS: "3" SCHEDULER_INTERVAL_HOURS: "24" CONSUL_SCHEDULER_INTERVAL_MINUTES: "60"Значения параметров:
LOGS_LIFETIME_DAYS- логи хранятся в течение указанного количества дней, а затем удаляются (по умолчанию30).ARCHIVE_LIFETIME_DAYS- архивы хранятся в течение указанного количества дней, а затем удаляются (по умолчанию3).SCHEDULER_INTERVAL_HOURS- интервал запуска инструмента очистки, как часто будет запускаться проверка на возраст логов и архивов (по умолчанию24, т.е. проверка на удаление производится один раз в 24 часа).CONSUL_SCHEDULER_INTERVAL_MINUTES- интервал запуска проверки регистрации в consul (если нода отсоединилась от consul, то она вновь зарегистрируется, по умолчанию60).
Обновление AppSec.Hub (UI/Core) в Docker
-
Остановите AppSec.Hub.
cd /opt/apphub sudo docker-compose down -
В конфигурационном файле /opt/apphub/.env (см. «Приложение 1. Конфигурационный файл .env») укажите новые версии образов:
hub_core_version=2025.2.1 hub_ui_version=2025.2.1 hub_air_version=2025.2.1 hub_db_version=2025.2.1 hub_gateway_version=2025.2.1 hub_issue_rule_version=2025.2.1 hub_issue_version=2025.2.1 hub_sso_version=2025.2.1 hub_metrics_version=2025.2.1 hub_metrics_bridge_version=2025.2.1 hub_pipeline_version=2025.2.1 rabbitmq_version=3.13-management # hub-pipeline-agent - указывается в этом файле только в случае установки AppSec.Hub и сервиса hub-pipeline на одном хосте # если на разных - то в своем .env файле на отдельной ноде hub_pipeline_agent_version=2025.2.1Примечание
При установке AppSec.Hub и Jenkins на разных хостах сервис
hub-pipelne-agentпри установке должен быть установлен на отдельной ноде. В этом случае значениеhub_pipeline_agent_versionдолжно быть указано и обновлено только в файле .env в директории/opt/pipelineна отдельной ноде. -
В файл .env (см. «Приложение 1. Конфигурационный файл .env») добавьте следующие параметры:
LOGS_LIFETIME_DAYS="30" ARCHIVE_LIFETIME_DAYS="3" SCHEDULER_INTERVAL_HOURS="24" CONSUL_SCHEDULER_INTERVAL_MINUTES="60" CUSTOM_CA_PATH=<путь до самоподписанного сертификата, например, /app/custom_ca.crt>Значения параметров:
LOGS_LIFETIME_DAYS- логи хранятся в течение указанного количества дней, а затем удаляются (по умолчанию30).ARCHIVE_LIFETIME_DAYS- архивы хранятся в течение указанного количества дней, а затем удаляются (по умолчанию3).SCHEDULER_INTERVAL_HOURS- интервал запуска инструмента очистки, как часто будет запускаться проверка на возраст логов и архивов (по умолчанию24, т.е. проверка на удаление производится один раз в 24 часа).CONSUL_SCHEDULER_INTERVAL_MINUTES- интервал запуска проверки регистрации в consul (если нода отсоединилась от consul, то она вновь зарегистрируется, по умолчанию60).CUSTOM_CA_PATH- путь до самоподписанного сертификата, который можно добавлять в агенты сканирования для того, чтобы можно было интегрироваться со сканирующими инструментами во внутреннем контуре (например,/app/custom_ca.crt). Этот параметр является опциональным.
-
Добавьте в файл config/hub-core/app.properties следующую строку (см. «Приложение 4. Конфигурационный файл app.properties») следующую строку, где указывается ограничение на количество пользователей Jira (если задать значение
-1, ограничений не будет):hub.jira.users.limit=${jira.users.limit:-1} -
В конфигурационном файле docker-compose.yml для AppSec.Hub (см. «Приложение 9. Пример docker-compose.yml для контейнера AppSec.Hub») добавьте выделенные строки для сервиса hub-pipeline:
hub-pipeline: image: registry.appsec.global/appsechub/hub-pipeline:${hub_pipeline_version} container_name: hub-pipeline environment: - PG_USER=postgres - PGPASSWORD=${pgsql_admin_password} - PG_URL=${pgsql_url} - HUB_URL=${HUB_URL} - TZ=Europe/Moscow - CONSUL_HOST=http://consul - CONSUL_PORT=8500 - CONSUL_TOKEN=${CONSUL_TOKEN} - DB_URL=jdbc:postgresql://${pgsql_url}/${hub_db_name} - HUBAPP_USERNAME=hubapp - HUBAPP_PASSWORD=${hub_app_password} - RABBITMQ_HOST=${RABBITMQ_HOST} - RABBITMQ_AMQP_PORT=${RABBITMQ_AMQP_PORT} - RABBITMQ_USERNAME=${RABBITMQ_USERNAME} - RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD} - ARCHIVE_LIFETIME_DAYS=${ARCHIVE_LIFETIME_DAYS} - LOGS_LIFETIME_DAYS=${LOGS_LIFETIME_DAYS} - SCHEDULER_INTERVAL_HOURS=${SCHEDULER_INTERVAL_HOURS} - CONSUL_SCHEDULER_INTERVAL_MINUTES=${CONSUL_SCHEDULER_INTERVAL_MINUTES} cpu_shares: 768 deploy: resources: limits: memory: 1000M pids: 400 -
В случае использования самоподписных сертификатов в агентах сканирования, в файле docker-compose.yml для каждого агента добавьте выделенную строку и укажите в ней свой путь до самоподписанного сертификата:
hub-pipelne-agent-node-1: image: registry.appsec.global/appsechub/hub-pipeline-agent:${hub_pipeline_agent_version} container_name: hub-pipeline-agent-node-1 ... volumes: - ./ssh-pub-keys-all:/home/ubuntu/.ssh - /etc/localtime:/etc/localtime - /etc/timezone:/etc/timezone - ./certs:/tmp/certs # В строке ниже замените /app/custom_ca.crt на свой путь до самоподписанного сертификата - ./custom_cert/custom_ca.crt:/app/custom_ca.crt restart: on-failure:5 ... -
Загрузите новые версии контейнеров. Для этого в папке, указанной при установке (по умолчанию — /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.2.1 hub_engine_version=2025.2.1 -
Загрузите новые версии контейнеров.
docker-compose pull -
После загрузки образов запустите систему.
docker-compose up -d