api_sync/DATABASE_SCHEMA.md

3.8 KiB
Raw Blame History

Схема базы данных

База данных PostgreSQL. Имя БД задаётся переменной окружения DB_NAME (по умолчанию waf_info).


client_info

Список клиентов, для которых выполняется синхронизация.

Колонка Тип Описание
client_title text Уникальное название клиента

apps_settings

Настройки L7-ресурсов по каждому клиенту. Определяет, какие ресурсы и в каком режиме обрабатываются.

Колонка Тип Описание
client_title text Название клиента (связь с client_info)
l7resourceid bigint ID ресурса в ServicePipe (SID)
mode text Режим обработки: auto — синхронизируется автоматически, остальные значения игнорируются при синхронизации
waf_vendor text Вендор WAF: ptaf, sw, wmx — используется для формирования текста алертов при удалении ресурса

sp_info

Основная таблица с данными о ресурсах, полученными из API ServicePipe. Заполняется и обновляется автоматически при каждом запуске синхронизации.

Колонка Тип Описание
sid bigint ID ресурса в ServicePipe (первичный ключ)
domain_name text Основной домен ресурса
origins jsonb Список backend-серверов в формате [{"ip": "...", "mode": "...", "weight": N}]
aliases jsonb Список доменных псевдонимов в формате ["domain1", "domain2"]
aliaces_in_sp_modified timestamptz Дата последнего изменения алиасов на стороне SP
protected_ip text Защищённый IP из API (используется для проверки AntiDDOS)
resolved_ip text IP, полученный при DNS-резолвинге основного домена
antiddos_enable boolean Признак активности AntiDDOS: true если resolved_ip == protected_ip
waf_enabled_sp integer Признак включённости WAF на стороне SP (из API)
waf_vendor text Вендор WAF (из API ServicePipe)
instance_sp text Название WAF-инстанса на стороне SP
updated_at timestamptz Дата последнего обновления записи

manual_info

Ресурсы, добавляемые вручную администратором. Используется только как дополнительный источник IP-адресов для whitelist. Программой не изменяется.

Колонка Тип Описание
sid bigint ID ресурса в ServicePipe
domain_name text Основной домен ресурса
origins jsonb Список backend-серверов в формате [{"ip": "...", "mode": "...", "weight": N}]

ips

Содержит сети WAF-узлов в виде CIDR-диапазонов. Используется для фильтрации — IP из этих сетей не попадают в whitelist.

Колонка Тип Описание
waf_networks text[] Массив CIDR-диапазонов WAF-сетей, например {"10.0.0.0/8", "192.168.1.0/24"}