Перейти к содержанию

Обновление 2025.4.1 до 2025.4.2

Важно!

В версии 2025.4.2 в базе данных вводится уникальное ограничение для предотвращения создания дублей кодовых баз. Чтобы обновление прошло успешно, необходимо заранее убедиться, что в базе нет дублей.

Перед обновлением необходимо:

  1. Проверить наличие дублей в таблице hub.codebase. Выполните следующий SQL-запрос в БД AppSec.Hub:

    SELECT app_id, link, build_tool, repository_path, COUNT(*) AS cnt, ARRAY_AGG(codebase_id) AS ids
    FROM hub.codebase
    WHERE is_active = TRUE
    GROUP BY app_id, link, build_tool, repository_path
    HAVING COUNT(*) > 1;
    
  2. Если запрос не вернул ни одной строки, значит дублей нет - можно безопасно обновляться до версии 2025.4.2.

    Дополнительных действий не требуется.

  3. Если запрос вернул строки, то это означает, что в таблице есть группы дублей (кодовые базы с одинаковыми параметрами).

    Необходимо обратиться в техническую поддержку.

Обновление AppSec.Hub (UI/Core) в Kubernetes

Примечание

Версия Helm-чарта Appsec.Hub: 0.2.12.

  1. Скачайте новый Helm-чарт.

    helm pull oci://registry.appsec.global/appsechub/hub-helm/appsechub --version 0.2.12
    
  2. Извлеките файлы из архива.

    tar -xvf tar -xvf appsechub-0.2.12.tgz && cd appsechub
    
  3. Сравните два файла values.yaml (текущий и новый из архива) для выявления изменений.

    diff -y --suppress-common-lines /path/to/actual/values.yaml /path/to/new/values.yaml
    
  4. Заполните новый файл values.yaml вашими значениями, в соответствии с требованиями вашей среды.

  5. Обновите развертывание.

    helm upgrade --install appsechub . --namespace "appsechub" --create-namespace -f values.yaml
    

Список изменений в Helm-чарте Appsec.Hub

  1. В файл templates.hub-core.configmap.yaml добавлен новый сервис defect-sync.

  2. В файл 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).

  3. В файл templates/hub-ui/configmap.yaml добавлен параметр showRuleNotifications (по умолчанию имеет значение true).

Обновление AppSec.Hub (UI/Core) в Docker

  1. Остановите AppSec.Hub.

    cd /opt/apphub
    sudo docker-compose down
    
  2. В конфигурационном файле /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
    
  3. Добавьте в конец файла 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}
    
  4. В конфигурационном файле 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
    
  5. Добавьте в конец файла /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) необходимо заменить актуальными значениями из вашей конфигурации.

  6. Загрузите новые версии контейнеров. Для этого в папке, указанной при установке (по умолчанию — /opt/apphub), выполните следующую команду.

    docker-compose pull
    
  7. После загрузки образов запустите систему.

    docker-compose up -d
    

Обновление AppSec.Hub Engine (Jenkins)

Важно!

Начиная с версии 2024.4.1, если планируется использование инструментов PT Application Inspector или CodeScoring, необходимо подготовить Docker-образ по инструкции, приведенной в разделе «Добавление в Docker-образ hub-engine агентов Johnny и PT AISA».

  1. Остановите Jenkins.

    cd /opt/jenkins
    sudo docker-compose down
    
  2. Укажите новые версии образов в файле .env.

    hub_engine_manager_version=2025.4.2
    hub_engine_version=2025.4.2
    
  3. Загрузите новые версии контейнеров.

    docker-compose pull
    
  4. После загрузки образов запустите систему.

    docker-compose up -d
    
К началу