- Установить наш ssh-ключ как доверенный
- Развернуть наше приложение с общедоступным url
- Добавить в исключения
robots.txt
url с нашим приложением - Через интерфейс приложения установить параметры поддержки:
- Инициализация git
.gitignore
для исключения файлов ядра- Авторизацию с сервером поддержки
- Привязать (дополнительный) remote для git
- Настроить периодический запуск:
- Битрикс: убедиться, что запуск на агентах работает
- Другие CMS: настроить crontab на запуск скрипта диагностики
- Инициализировать аутентификацию на сервере поддержки
- Принять запрос аутентификации со стороны сервера поддержки
Наглядные сценарии обмена информацией на coggle.it
- чтение состояния git (git status, git remote, git branch, git stash)
- проверка наличия и валидности robots.txt, sitemap.xml
- Rest API для удаленного запуска функционала приложения
- аутентификация для защиты приложения от стороннего вмешательства
- интерфейс разворота скрипта поддержки для интерактивного создания
.gitignore
, настройки аутентификации - сохранение результатов диагностики локально в случае, если сервер поддержки недоступен; отправка всех результатов диагностики, как только сервер поддержки снова станет доступен. Предусмотреть лимит хранимых логов
- чтение оставшегося места на диске
- удаленное создание коммитов на сервере
- запуск Мониторинга качества, чтение результата мониторинга
- запуск Проверки системы, чтение результата проверки
- чтение списка резервных копий
- запуск создания резервных копий
- резервное копирование базы данных
Предварительный выбор инструментов:
- Бэк нашего сервера: Laravel
- Фронт нашего сервера: AdminLTE
- API Telegram: telegram-bot-sdk
- Rest API для приёма результатов диагностики сайтов
- периодический пинг сайтов для проверка ответа HTTP 200
- хранение принятых результатов в БД
- ведение истории изменений по сайтам
- веб-интерфейс администратора для просмотра результатов диагностики поддерживаемых сайтов
- возможность через интерфейс послать запрос диагностики: как отдельных функций, так и полного тестирования
- удаленное изменение сервера поддержки на поддерживаемых сайтах (в случае переезда)
- уведомление в Telegram, если на сайте произошло что-то тревожное
Название | Описание | Связи |
---|---|---|
clients | Список клиентов | |
domains | Список доменов клиента | clients |
diagnostic_tags | Возможные ключи диагностики | |
client_diagnostic_values | Значения ключей диагностики для сайта | clients diagnostic_tags |
Столбец | Тип | Описание |
---|---|---|
id | primary unsigned bigInt |
Primary key |
name | string(32) | Наименование клиента (для понимания) |
Столбец | Тип | Описание |
---|---|---|
id | primary unsigned bigInt |
Primary key |
client_id | unsigned bigInt |
Ссылка на supp_clients.id |
domain | unique string(32) |
Уникальный домен |
Столбец | Тип | Описание |
---|---|---|
id | primary unsigned bigInt |
Primary key |
tag | string(64) | Название ключа диагностики |
type | enum | Тип данных: integer, string, boolean, timestamp |
Столбец | Тип | Описание |
---|---|---|
client_id | unsigned bigInt |
Ссылка на supp_clients.id |
tag_id | unsigned bigInt |
HTTP 200 - true; иначе false |
value | string(256) | Значение диагностического параметра |
create_at | timestamp | Время добавления отчёта |