Идентификация предоставляемого экземпляра
| Параметр | Значение |
|---|---|
| Версия выпуска | 2.0.3 |
| Полный source commit | 399717d1ed4c0e83e00150912a2a029eae |
| Канал поставки | stable |
| Вариант экземпляра | demo |
| Имя полного комплекта | cshark-2.0.3-demo-ubuntu-24.04- |
| SHA-256 полного комплекта | ccb36a121bf8e1b756f1190f9369e49058 |
| SHA-256 открытого ключа | 0908f56ddcd6cd13fe95d81faae6543b9c |
1. Назначение документа
Документ описывает процессы разработки, поставки, сопровождения, устранения неисправностей и совершенствования программного обеспечения CShark, а также компетенции персонала, необходимые для выполнения этих процессов.
1.1. Организационные сведения
| Параметр | Значение |
|---|---|
| Организация | ООО «КОМПЕТЕНЦИЯ» |
| Адрес инфраструктуры разработки | 115280, Москва, ул. Ленинская Слобода, д. 21, к. 1 |
| Адрес рабочего места разработчиков | 115280, Москва, ул. Ленинская Слобода, д. 21, к. 1 |
| Адрес службы технической поддержки | 115280, Москва, ул. Ленинская Слобода, д. 21, к. 1 |
| Режим работы службы технической поддержки | понедельник–пятница, 09:00–18:00 по московскому времени |
| Телефон службы технической поддержки | +7 495 532-61-18 |
| Ответственный за сопровождение | ООО «КОМПЕТЕНЦИЯ» |
Функции разработки, тестирования, DevOps и системного администрирования, а также технической поддержки выполняют специалисты ООО «КОМПЕТЕНЦИЯ». Совмещение функций учитывается при планировании работ и разделении операций разработки, проверки и выпуска во времени.
2. Стадии жизненного цикла
Жизненный цикл включает:
- сбор и анализ требований;
- проектирование изменения;
- разработку и проверку кода;
- формирование версии;
- сборку и контроль комплекта поставки;
- установку или обновление;
- эксплуатационный мониторинг;
- обработку обращений и дефектов;
- выпуск исправлений и улучшений;
- прекращение поддержки версии и миграцию.
Каждое изменение должно иметь идентификатор, описание назначения, критерии приемки и связь с версией поставки.
3. Управление требованиями и изменениями
Источниками требований являются договорные обязательства, эксплуатационные обращения, требования безопасности, результаты испытаний и продуктовый план.
Перед реализацией изменение:
- описывается как конкретный проверяемый результат;
- классифицируется по приоритету и риску;
- проверяется на совместимость с текущими данными и интеграциями;
- получает критерии приемки;
- включается в план версии.
4. Разработка
Исходный код хранится в системе контроля версий. Разработка выполняется изолированными изменениями с обязательным анализом затрагиваемых компонентов.
Для изменений используются:
- статический анализ и форматирование;
- модульные тесты;
- интеграционные тесты с реальными PostgreSQL и NATS;
- контрактные тесты API и событий;
- проверка миграций базы данных;
- тесты интерфейса;
- сценарии резервного копирования и восстановления;
- проверка установочного комплекта.
Изменение не считается завершенным только по результату локального запуска: необходимы воспроизводимые проверки, соответствующие его риску.
5. Контроль качества
Перед выпуском версии выполняются:
- проверка полного набора автоматизированных тестов;
- проверка сборки контейнерных образов;
- проверка OpenAPI и сгенерированного клиента;
- сканирование на утечку секретов;
- проверка миграций на чистой и существующей базе;
- Быстрое тестирование развернутого экземпляра;
- визуальная проверка измененных пользовательских сценариев;
- проверка архива поставки и контрольных сумм;
- актуализация документации.
Найденный блокирующий дефект останавливает выпуск до исправления или формального решения о переносе с зафиксированным ограничением.
6. Версионирование и комплект поставки
Версия связывает:
- идентификатор исходного кода;
- версии контейнерных образов;
- ревизию схемы базы данных;
- манифест архива;
- контрольные суммы;
- установщик;
- документацию и перечень изменений.
Для закрытого контура формируется offline-комплект с локальными Docker-образами и APT-зависимостями. Комплект проверяется на чистой Ubuntu Server 24.04 LTS AMD64 без доступа к внешним репозиториям.
7. Поставка и установка
Поставка выполняется через защищенный сервер либо переносом offline-архива. Перед распаковкой проверяется SHA-256. Установщик повторно проверяет внутренний манифест, устанавливает зависимости, применяет миграции и выполняет быстрое тестирование.
Результаты установки и журналы сохраняются для диагностики. При ошибке контейнеры останавливаются, а данные не удаляются автоматически.
8. Обновление системы
Текущий процесс обновления является управляемой административной операцией:
- зафиксировать установленную версию;
- проверить свободное место и состояние системы;
- создать и проверить резервную копию;
- получить идентифицированный комплект новой версии;
- проверить контрольные суммы и примечания к выпуску;
- проверить совместимость схемы данных;
- применить миграции отдельным шагом;
- переключить контейнеры на новую версию;
- выполнить health-check и smoke-test;
- зафиксировать результат обновления.
Автоматическое обновление из пользовательского интерфейса является перспективной функцией. До ее выпуска обновление выполняет системный администратор по утвержденной инструкции.
9. Управление миграциями и откатом
Core запускается только при совместимой схеме базы данных. Если схема отстает от версии приложения, запуск блокируется до применения миграций.
Перед обновлением определяется возможность обратимого отката. Для изменений, выполняемых по методу расширения-сужения (совместимых миграций) предыдущая версия может временно работать на новой схеме. Для несовместимого изменения откат выполняется только по отдельному плану с восстановлением проверенной резервной копии.
10. Мониторинг эксплуатации
Состояние системы контролируется по:
/api/health;- статусам контейнеров;
- метрикам публикации и обработки событий;
- глубине очереди Gateway;
- состоянию NATS;
- доступности PostgreSQL и S3;
- журналам Core, Gateway и инфраструктуры;
- свободному дисковому пространству;
- состоянию устройств.
Пороговые значения и маршрутизация оповещений задаются в эксплуатационном регламенте конкретного объекта.
11. Регистрация и классификация обращений
Обращение должно содержать время, версию, роль пользователя, последовательность действий, фактический и ожидаемый результат, журналы и снимки экрана при необходимости.
| Приоритет | Пример | Цель обработки |
|---|---|---|
| Критический | недоступна система или потеря данных | немедленная диагностика и восстановление |
| Высокий | не работает основная операторская функция | обходной путь или исправление в приоритетном выпуске |
| Средний | частичный дефект без остановки работы | исправление в плановом выпуске |
| Низкий | улучшение удобства или документации | включение в продуктовый план |
Конкретные сроки реакции и восстановления устанавливаются договором сопровождения.
12. Устранение неисправностей
Процесс устранения включает:
- регистрацию обращения;
- сохранение исходного состояния и журналов;
- классификацию влияния;
- воспроизведение на безопасном стенде;
- локализацию причины;
- подготовку исправления;
- регрессионные проверки;
- выпуск исправленной версии;
- установку по согласованному окну;
- подтверждение результата пользователем;
- актуализацию базы знаний.
Изменение данных вручную допускается только по согласованной процедуре с резервной копией, журналом команд и последующей проверкой.
13. Резервное копирование и восстановление
Бизнес-данные включают базу PostgreSQL и медиа в S3-совместимом хранилище.
Рекомендуемый базовый график:
- база данных - ежедневно;
- полная копия медиа - еженедельно;
- тестовое восстановление - после изменения процедуры и периодически по эксплуатационному регламенту.
Копия считается проверенной только после восстановления во временную среду и сверки контрольных счетчиков. Медиа сверяются по SHA-256 и итоговому digest манифеста.
14. Управление безопасностью
В процесс сопровождения входят:
- обновление базовых образов и зависимостей;
- анализ уязвимостей;
- ротация секретов;
- проверка прав пользователей;
- аудит административных действий;
- контроль сроков хранения данных;
- исключение секретов и персональных данных из открытых отчетов;
- документирование исправлений безопасности.
Критические обновления безопасности могут выпускаться вне планового цикла.
15. Совершенствование программного обеспечения
Улучшения формируются из обращений пользователей, результатов наблюдаемости, аудитов интерфейса и продуктового плана. Для каждого улучшения фиксируются проблема пользователя, целевой результат, ограничения и способ проверки.
К направлениям дальнейшего развития относятся автоматизированное обновление, развитие шаблонов рабочих экранов, дополнительные интеграции, зарядная инфраструктура и коммерческие модули. Они не считаются функциями текущей версии до отдельного выпуска.
16. Документация
При изменении поведения актуализируются:
- инструкция по установке;
- описание функциональных характеристик;
- руководство по эксплуатации;
- runbook для администраторов;
- OpenAPI и событийные контракты;
- примечания к выпуску;
- инструкции резервного копирования и восстановления.
Документация хранит дату актуальности и идентификатор версии, к которой она относится.
17. Персонал, необходимый для сопровождения
| Роль | Основные компетенции | Типовые задачи |
|---|---|---|
| Системный администратор | Ubuntu, Docker Compose, сеть, TLS, резервные копии | установка, обновление, мониторинг, восстановление |
| Администратор CShark | роли, топология, устройства, настройки | конфигурация и поддержка пользователей |
| Специалист поддержки | диагностика Web/API, сбор журналов, коммуникация | регистрация и первичная обработка обращений |
| Разработчик backend | Python, FastAPI, PostgreSQL, NATS, миграции | исправление бизнес-логики и интеграций |
| Разработчик frontend | TypeScript, React, Web-интерфейсы | исправление и развитие пользовательских сценариев |
| Инженер по качеству | тест-дизайн, API/UI и регрессионные проверки | подтверждение исправлений и выпусков |
| Инженер DevOps | CI/CD, образы, observability, supply chain | сборка и воспроизводимость поставки |
| Специалист по ИБ | управление уязвимостями, аудит, защита данных | оценка рисков и контроль мер защиты |
| Аналитик или владелец продукта | требования и приемка | приоритизация и контроль результата |
В небольшой команде один специалист может совмещать роли при наличии необходимых компетенций. Для штатной эксплуатации объекта минимально необходимы системный администратор и администратор CShark; разработчики и инженер по качеству привлекаются для исправлений и выпуска новых версий.
18. Прекращение поддержки версии
Перед прекращением поддержки пользователям предоставляются сведения о последней поддерживаемой версии, известных ограничениях и порядке перехода. До удаления экземпляра выполняются экспорт необходимых данных, резервное копирование и отзыв интеграционных ключей. Сроки поддержки и уведомления определяются договором и политикой выпуска.