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

Обновление 2025.3.1 до 2025.3.2

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

Примечание

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

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

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

    tar -xvf tar -xvf appsechub-0.2.10.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. В файл values.yaml в секциях issueRule:, hubsso: и hubissue: добавлен параметр dbPoolSize в подраздел env:

    dbPoolSize: "10"
    

    Этот параметр определяет размер пула соединений с базой данных (по умолчанию имеет значение 10).

  2. В файл values.yaml в секциях issueRule: и hubissue: добавлены параметры executionLogEnabled и executionLogMinDurationMsToLog в подраздел env:

    executionLogEnabled: "false"
    executionLogMinDurationMsToLog: "1000"
    

    Параметр executionLogEnabled включает логирование затраченного времени на выполнение методов (по умолчанию имеет значение false).

    Параметр executionLogMinDurationMsToLog задает порог времени выполнения метода в миллисекундах, до которого он не будет логироваться (по умолчанию имеет значение 10000).

Обновление 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.3.2
    hub_ui_version=2025.3.2
    hub_air_version=2025.3.2
    hub_db_version=2025.3.2
    hub_gateway_version=2025.3.2
    hub_issue_rule_version=2025.3.2
    hub_issue_version=2025.3.2
    hub_sso_version=2025.3.2
    hub_metrics_version=2025.3.2
    hub_metrics_bridge_version=2025.3.2
    hub_pipeline_version=2025.3.2      
    rabbitmq_version=3.13-management
    # hub-pipeline-agent - указывается в этом файле только в случае установки AppSec.Hub и сервиса hub-pipeline на одном хосте
    # если на разных - то в своем .env файле на отдельной ноде
    hub_pipeline_agent_version=2025.3.2
    

    Примечание

    При установке AppSec.Hub и Jenkins на разных хостах сервис hub-pipelne-agent при установке должен быть установлен на отдельной ноде. В этом случае значение hub_pipeline_agent_version должно быть указано и обновлено только в файле .env в директории /opt/pipeline на отдельной ноде.

    И добавьте строку для версии образа нового микросервиса:

    hub_scheduler_version=2025.3.2
    
  3. Добавьте следующие строки в конец файла /opt/apphub/.env (см. «Приложение 1. Конфигурационный файл .env»):

    executionLogEnabled=false
    executionLogMinDurationMsToLog=10000
    DB_POOL_SIZE=10
    
  4. В файле config/hub-core/app.properties удалите следующую строку (см. «Приложение 4. Конфигурационный файл app.properties»).

    hub.osa.issues.import.cron.expression=${osa.issues.import.cron.expression:0 0 5 * * *}
    
  5. Добавьте в конец файла config/hub-core/app.properties следующие строки (см. «Приложение 4. Конфигурационный файл app.properties»).

    hub.fix.infinity.task.cron.expression=${fix.infinity.task.cron.expression:0 0 0 * * *}
    logging.executionLog.enabled=false
    logging.executionLog.minDurationMsToLog=10000
    

    Параметры:

    • hub.fix.infinity.task.cron.expression - это cron-выражение, задающее время, после которого прерываются зависшие задачи экспорта/импорта. Значение по умолчанию - 0 0 0 * * * (ежедневно в полночь).
    • logging.executionLog.enabled включает логирование затраченного времени на выполнение методов в сервисе. Значение по умолчанию - false.
    • logging.executionLog.minDurationMsToLog задает порог времени выполнения метода в миллисекундах (если на выполнение будет затрачено меньше времени, он не будет логироваться). Т.е. если задано значение 10000, то логироваться будут только те методы, которые выполняются больше 10000 ms.
  6. В конфигурационном файле docker-compose.yml для AppSec.Hub (см. «Приложение 9. Пример docker-compose.yml для контейнера AppSec.Hub») добавьте следующий сервис:

        scheduler:
            image: registry.appsec.global/appsechub/hub-scheduler:${hub_scheduler_version}
            container_name: scheduler
            #      ports:
            #        - 50053:50053
            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}
                - USE_GRPC_SECURITY=${USE_GRPC_SECURITY}
                - GRPC_AUTHORITY=${GRPC_AUTHORITY}
            networks:
                - net-hub
            cpu_shares: 768
                deploy:
                    resources:
                        limits:
                            memory: 1000M
            #                  pids: 400
    
  7. В конфигурационном файле docker-compose.yml для AppSec.Hub (см. «Приложение 9. Пример docker-compose.yml для контейнера AppSec.Hub») добавьте следующую строку в подраздел environment: в сервисах issue-rule:, hub-sso: и hub-issue::

        ...
           environment:
                ...
                - DB_POOL_SIZE=${DB_POOL_SIZE}
                ... 
    
  8. Загрузите новые версии контейнеров. Для этого в папке, указанной при установке (по умолчанию — /opt/apphub), выполните следующую команду.

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

    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.3.2
    hub_engine_version=2025.3.2
    
  3. Загрузите новые версии контейнеров.

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

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