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

Описание переменных

В этом разделе представлено описание переменных, необходимых для установки и настройки платформы, включая те, которые описаны в разделах Установка системы в Docker и Работа системы в Kubernetes.

Внесение изменений

Перед внесением любых изменений в стандартное значение переменных, необязательных к заполнению во время установки, проконсультируйтесь с технической поддержкой. Изменение стандартных значений может оказать влияние на производительность и эффективность работы системы.

Не используйте в параметрах символ #, он может некорректно восприниматься системой при установке.

env.template

Файл env.template содержит переменные, необходимые для запуска инсталляции CodeScoring с использованием Docker Compose. Он определяет параметры, необходимые для корректного запуска инсталляции в контейнеризированной среде.

  • COMPOSE_PROJECT_NAME - название проекта в Docker Compose, используемое как префикс для ресурсов, создаваемых Docker Compose;

  • CODESCORING_VERSION - определяет версию CodeScoring для установки. Актуальную версию можно узнать в разделе Changelog;

  • SECRET_KEY - случайная строка символов, используемая CodeScoring как секрет инсталляции;

  • DJANGO_CSRF_TRUSTED_ORIGINS - cписок доменов для правильной работы CSRF защиты. Указание протокола является обязательным, например:

       DJANGO_CSRF_TRUSTED_ORIGINS=http://localhost:18000,https://localhost:8081,https://внешний_ip:8081
    

Nginx

Для настройки домена системы CodeScoring использует Nginx.

  • NGINX_HOST - хост, на котором будет доступна система;
  • NGINX_PORT - порт, на котором будет доступна система;
  • SITE_SCHEME - протокол передачи данных, по умолчанию https.

PostgreSQL

Для управления, обработки и хранения данных CodeScoring использует PostgreSQL.

  • POSTGRES_DB - название базы данных;
  • POSTGRES_USER - имя пользователя. При использовании собственной базы необходимо убедиться, что пользователь имеет следующие права: Superuser, Create role, Create DB, Replication, Bypass RLS;
  • POSTGRES_PASSWORD - пароль;
  • POSTGRES_HOST - хост, на котором доступна база данных;
  • POSTGRES_PORT - порт, на котором доступна база данных.

Sentry

По умолчанию интеграция с Sentry отключена, SENTRY_ENABLE = False. При необходимости использования Sentry для отправки данных об ошибках и других событий системы укажите SENTRY_ENABLED = True и заполните следующие переменные:

  • SENTRY_DNS - идентификатор проекта внутри Sentry, в который будут отправляться данные;
  • SENTRY_ENVIRONMENT - окружение к которому будут относится отправляемые данные;
  • SENTRY_RELEASE - релиз с которым будут связаны отправляемые данные.

app.env.template

Файл app.env.template содержит переменные окружения, необходимые для конфигурирования инсталляции CodeScoring. Он определяет настройки базы данных, веб-сервера и очередей, а также другие важные параметры системы.

  • PATH - определяет путь к исполняемым файлам, файлам виртуального окружения (venv) и стандартным системным путям:

       PATH=/venv/bin:${PATH}:/jscpd/node_modules/jscpd/bin:/sbin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/root/bin
    

  • ANALYSIS_IGNORED_PATHS - содержит список путей, по которым не производится поиск манифестов, файлов и не происходит анализ качества. По умолчанию указаны следующие пути:

       **/.git*,**/.git/**,**/fixtures/**,**/tests/**,**/doc/**,**/docs/**,**/samples/**
    

  • Переменные, указывающие на расположение основных файлов инсталляции:

    • HOME - значение по умолчанию: ipcs-backend;
    • BASE_DIR - значение по умолчанию: ipcs-backend;
    • AZURE_DEVOPS_CACHE_DIR - значение по умолчанию: ipcs-backend.
  • INDEX_API_URL - URL-адрес API для индекса, необходимого для обновления базы знаний, значение по умолчанию: https://index.codescoring.ru. Данный параметр не требует изменений;

  • INDEX_PROXY_URL - указывает внутри сети докер на URL-адрес контейнера Index Proxy. Не нуждается в изменении. Значение по умолчанию: http://index-proxy:8000;

  • ALLOWED_HOSTS - разрешенные хосты для Django. Определяет допустимые адреса, с которых Django может принимать запросы. При отсутствии хоста в списке, Django отклоняет входящие запросы. По умолчанию разрешены все хосты *;

  • DJANGO_CACHES_REDIS_URL - адрес сервера Redis, используемого в качестве системы кэширования Django. Значение по умолчанию: redis://redis:6379/1;

  • JOHNNY_BIN - путь к исполняемому файлу агента сканирования JOHNNY. Значение по умолчанию: /agents/johnny-linux-amd64;

  • HASHER_BIN - путь к исполняемому файлу агента HASHER, отвечающего за хеширование файлов. Значение по умолчанию: /agents/hasher-linux-amd64;

  • ANALYSIS_ROOT - корневая директория для клонирования репозиториев для анализа. Файлы копируются как временные и после анализа удаляются. Значение по умолчанию: /analysis-root;

  • MEDIA_ROOT - рабочая директория для промежуточного хранения скачиваемых и загружаемых файлов (таких как отчёт, SBOM и т.д.). Значение по умолчанию: /analysis-root;

  • NODE_PATH - директория расположения node_modules. Значение по умолчанию: /jscpd/node_modules;

  • REQUESTS_CA_BUNDLE и SSL_CERT_FILE - указывают на расположение SSL-сертификатов, используемых инсталляцией для работы:

    REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
    
    SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
    

  • USE_SMART_FILTERS - отвечает за использование "умных фильтров" в Celery. Эти фильтры позволяют более гибко управлять порядком выполнения задач. Доступны значения True или False, значение по умолчанию: True;

  • В случае необходимости использования прокси для предоставления доступа инсталляции в интернет или к системе контроля версий, раскомментируйте и заполните необходимые переменные, указав URL-адрес прокси с протоколом, а также имя пользователя и пароль (при необходимости), например:

    • HTTP_PROXY
      HTTP_PROXY=http://proxy_user:password@proxy_host:proxy_port
      
    • HTTPS_PROXY
      HTTPS_PROXY=http://proxy_user:password@proxy_host:proxy_port
      
    • NO_PROXY
      NO_PROXY=localhost,gitlab.domain.local
      

HUEY

HUEY - сервис, отвечающий за очереди и задачи. Количество воркеров рекомендуется изменять, только после консультации со специалистами технической поддержки.

  • HUEY_REDIS_URL - адрес для подключения к серверу Redis, используемому Huey. Значение по умолчанию: redis://redis:6379/0;
  • HUEY_WORKERS - количество воркеров HUEY, разбирающих очереди tasks-main. Значение по умолчанию: 8;
  • HUEY_HIGH_PRIORITY_WORKERS - количество воркеров HUEY для высокоприоритетных задач. Значение по умолчанию: 8;
  • HUEY_OSA_PACKAGE_SCAN_WORKERS - количество воркеров HUEY для модуля сканирования пакетов OSA. Значение по умолчанию: 4;
  • HUEY_OSA_CONTAINER_IMAGE_SCAN_WORKERS - количество воркеров HUEY для модуля сканирования контейнеров OSA. Значение по умолчанию: 4;
  • HUEY_POLICY_WORKERS - количество воркеров HUEY для работы политик безопасности. Значение по умолчанию: 4;
  • HUEY_TQI_WORKERS - количество воркеров HUEY для модуля TQI. Значение по умолчанию: 4;
  • HUEY_SECRETS_WORKERS - количество воркеров HUEY для модуля поиска секретов. Значение по умолчанию: 4;
  • HUEY_MEDIA_WORKERS - количество воркеров Huey, отвечающих за загрузку медиа. Значение по умолчанию: 4;
  • HUEY_SCA_EXTERNAL_SCAN_WORKERS - количество воркеров отвечающих за очередь анализа, запущенного через агент Джонни (tasks-sca-external-scan). Значение по умолчанию: 4;
  • HUEY_WEBHOOKS_WORKERS - стандартное количество воркеров HUEY, отвечающих за работу вебхуков. Значение по умолчанию: 2;
  • HUEY_WORKER_MAX_TASKS - максимальное количество задач, которое может обработать один воркер HUEY. Значение по умолчанию: 500.

Redis

Redis - хранилище данных, предназначенное для кэширования и управления данными в реальном времени. Переменные, определяющие параметры конфигурации для взаимодействия с сервером Redis:

  • REDIS_BACKOFF_CAP - максимальное количество повторных попыток соединения при возникновении ошибок. Если после этого количества попыток соединение не установлено, будет возвращена ошибка. Значение по умолчанию: 5;
  • REDIS_BACKOFF_BASE - базовое время задержки (в секундах) между повторными попытками при возникновении ошибок. Значение по умолчанию: 0.08;
  • REDIS_RETRIES - общее количество попыток подключения к серверу Redis. Значение по умолчанию: 5;
  • REDIS_SOCKET_CONNECT_TIMEOUT - время ожидания (в секундах) при выполнении операций с сервером Redis. Если операция не завершится в течение этого времени, будет выдана ошибка. Значение по умолчанию: 5.0;
  • REDIS_SOCKET_TIMEOUT - время ожидания (в секундах) при выполнении операций с сервером Redis. Если соединение не установлено в течение этого времени, будет осуществлена повторная попытка или выдана ошибка. Значение по умолчанию: 5.0;
  • REDIS_SOCKET_KEEPALIVE - включает механизм поддержки активного соединения с сервером Redis, чтобы избежать его разрыва из-за бездействия. Доступны значения True или False, значение по умолчанию: True;
  • TASK_RESULT_EXPIRATION_PERIOD - указывает, как долго (в секундах) результаты выполнения задач будут храниться в Redis. После истечения этого времени они будут удалены. Значение по умолчанию: 14400.

Celery

Celery - сервис, отвечающий за управления асинхронными задачами, который позволяет разгрузить основные процессы приложения и повысить его отзывчивость. Переменные, отвечающие за настройку воркеров Celery:

  • CELERY_WORKER_CONCURRENCY - количество задач, которые может обрабатывать один воркер Celery одновременно, значение по умолчанию: 6;
  • CELERY_WORKER_MAX_CONCURRENCY - максимальное количество задач, которые может обрабатывать один воркер Celery. Этот параметр используется для предотвращения перегрузки системы при большом количестве задач, значение по умолчанию: 12;
  • CELERY_MEDIA_WORKER_CONCURRENCY - количество задач, которые может обрабатывать воркер Celery, отвечающий за обработку медиа-задач (например, генерация отчётов), значение по умолчанию: 2;
  • CELERY_MEDIA_WORKER_MAX_CONCURRENCY - максимальное количество задач, которые может обрабатывать воркер Celery, отвечающий за обработку медиа-задач. Этот параметр используется для предотвращения перегрузки системы при большом количестве задач, значение по умолчанию: 4;

Архивирование данных CodeScoring OSA

Следующие переменные отвечают за настройку архивирования данных сервиса системы CodeScoring - OSA. По умолчанию переменные OSA_ARCHIVE_THRESHOLD_DAYS, OSA_ARCHIVE_AUTO_CLEANUP_ENABLED, OSA_ARCHIVE_RETENTION_PERIOD_DAYS, OSA_ARCHIVE_CHUNK_SIZE закомментированы, при необходимости их использования, необходимо их расскомментировать.

  • OSA_ARCHIVE_THRESHOLD_DAYS - период (в днях), после которого пакет или контейнерный образ, не получивший запросов, архивируется. Значение по умолчанию: 14;
  • OSA_ARCHIVE_RETENTION_PERIOD_DAYS - период (в днях) указывающий, сколько дней архивные пакеты или контейнерные образы будут храниться перед тем, как быть удаленными, при включенной автоматической очистке OSA_ARCHIVE_AUTO_CLEANUP_ENABLED. Значение по умолчанию: 30;
  • OSA_ARCHIVE_AUTO_CLEANUP_ENABLED - включение или отключение автоматической очистки архивных компонентов OSA. Если выставлено значение True, то система будет автоматически удалять архивные пакеты после периода, указанного в OSA_ARCHIVE_RETENTION_PERIOD_DAYS, если False - очистка выполняется вручную, значение по умолчанию: False;
  • OSA_ARCHIVE_CHUNK_SIZE - определяет размер "порций" (чанков) для обработки архивных компонентов. Этот параметр может влиять на производительность и эффективность процесса архивирования/очистки. Значение по умолчанию: 1000.

Judge

Следующие переменные отвечают за настройку компонента Judge, отвечающего за работу политик в рамках работы сервиса OSA Proxy. Их необходимо настраивать только в случае использования OSA Proxy:

  • WEB_CONCURRENCY - определяет количество воркеров для параллельной проверки компонентов или контейнеров на соответствие политикам безопасности. Значение по умолчанию: 5;
  • MIN_DATABASE_CONNECTION_POOL_SIZE - определяет минимальный пул активных соединений к базе данных. По умолчанию: переменная закомментирована и имеет значение 0;
  • MAX_DATABASE_CONNECTION_POOL_SIZE - определяет максимальный пул активных соединений к базе данных. По умолчанию: переменная закомментирована и имеет значение 10.