7.9 KiB
Onboarding по кодовой базе AWatch-rus
Этот документ — быстрый вход для новичка: что лежит где, как всё связано и что читать дальше.
1) Что это за репозиторий
AWatch-rus — это не один сервис, а инфраструктурный набор для развёртывания и сопровождения ActivityWatch в прод-подобной среде:
- Proxmox/LXC-подготовка,
- установка и настройка AW Server,
- русификация Web UI,
- автоматизация через Ansible,
- клиентский rollout для Windows/Linux,
- дополнительная телеметрия (в т.ч. pfSense poller и DLP-сигналы),
- эксплуатационные runbook/operations документы.
Идея: чтобы развёртывание было повторяемым, а не «ручной магией в один вечер».
2) Карта проекта (по папкам)
docs/
Главный источник истины по процессам.
preparation.md— входные данные, prerequisites, что нужно до старта.deployment.md— базовый серверный деплой.runbook.md— быстрые операционные действия и проверки.operations.md— сопровождение, бэкапы, rollback.windows/*— отдельная ветка документации по Windows-оркестрации.1C_GRAFANA_DEPLOYMENT_RU.md,1C_FILE_ANALYTICS_STACK_RU.md,pfsense.md,linux-client.md— специализированные подсистемы.
proxmox/
Скрипты ранней инфраструктурной фазы:
create-ct.sh— создание/подготовка контейнера,push-aw-artifacts.sh— доставка артефактов и конфигов.
aw-server/
Серверная «сердцевина»:
install_aw_server.sh— установка AW Server,apply_webui_ru_patch.sh+aw-ru-patch.js— русификация UI,activitywatch-server.service— unit для systemd,aw-server.env.example— шаблон переменных окружения,settings/*.json— конфигурация представлений/классов.
ansible/
Идемпотентная автоматизация (вместо ручных команд):
- playbook'и для серверного деплоя,
- сценарии provisioning + deploy,
group_vars/*.example.ymlиinventory.example.iniкак шаблоны входных данных.
windows/
PowerShell toolkit для клиентской стороны:
deploy-ensemble.ps1— оркестратор,deploy-single-user.ps1,deploy-domain-users.ps1— сценарии установки,validate-deployment.ps1— post-check,ActivityWatch.Windows.Common.psm1— общая библиотека функций,- скрипты DLP/browser telemetry.
pfsense/
Отдельный poller для pfSense API + systemd unit.
grafana-1c/
Набор для SQL exporter + Prometheus + Grafana дашбордов по 1C метрикам.
clickhouse-1c/
Новый stack именно для файловой 1С:
- ETL выгрузок
CSV/JSON, - ClickHouse schema,
- rule-based detections,
- Grafana dashboard catalog,
- AI Investigator contract.
scripts/
Утилиты и quality gates:
quality-gate.sh— базовый preflight,- инсталляторы Linux-клиента и console/ssh logger режимов.
private-config/
Только шаблоны. Реальные секреты в репозиторий не кладутся.
3) Как компоненты связаны в потоке
Типовой pipeline:
- Подготовка параметров (
docs/preparation.md,private-config/*.example). - Provisioning контейнера в Proxmox (
proxmox/). - Установка/настройка AW Server (
aw-server/). - Включение автозапуска и проверка (
systemd+docs/runbook.md). - Rollout клиентов (обычно
windows/, иногдаscripts/install_aw_linux_client.sh). - Эксплуатация и изменения через
docs/operations.md. - При необходимости — расширение мониторинга (
grafana-1c/,clickhouse-1c/,pfsense/).
4) Что важно понять в первую очередь
- Репозиторий документ-ориентированный: сначала читаешь
docs/, потом запускаешь скрипты. - Шаблоны
.example— обязательная точка входа: не редактируй скрипты вместо заполнения переменных. - Есть два режима работы:
- ручной/полуручной (bash + runbook),
- автоматизированный (Ansible).
- Windows часть — полноценный под-проект с собственными deploy/validate практиками.
- Безопасность: никаких секретов в git; rollback и backup — не опция, а стандарт процесса.
5) Рекомендованный порядок изучения (первые 2–3 часа)
README.md— получить общую картину.docs/preparation.md— понять входные параметры.docs/deployment.md— увидеть «сквозной» серверный сценарий.docs/runbook.mdиdocs/operations.md— как жить с системой после деплоя.aw-server/install_aw_server.shиaw-server/activitywatch-server.service— как реально стартует сервис.windows/deploy-ensemble.ps1+windows/validate-deployment.ps1— клиентская фаза.ansible/README.mdи ключевые playbook'и — переход к промышленной автоматизации.
6) Практические подсказки для первого вклада
- Начни с правок документации или
.example-шаблонов — это самый безопасный вход. - Перед изменениями в скриптах сравни, нет ли уже Ansible-аналога (лучше поддерживать один «официальный» путь).
- Любая новая переменная должна быть отражена:
- в
.exampleфайле, - в docs,
- в проверках/валидации (если применимо).
- в
- Для Windows-скриптов используй общие функции из
ActivityWatch.Windows.Common.psm1, чтобы не дублировать логику.
7) Куда смотреть дальше (углубление)
- Если интересует эксплуатация и инциденты:
docs/runbook.md,docs/operations.md,docs/windows/troubleshooting.md. - Если интересует автодеплой:
ansible/provision_proxmox_ct_and_deploy_aw.ymlиansible/tasks/. - Если интересует наблюдаемость:
grafana-1c/,clickhouse-1c/+pfsense/+prometheus/alertsконфиги. - Если интересует hardening и DLP:
windows/hardening-recovery.ps1,docs/dlp-gap-analysis.md.
Если ты новичок в проекте, практичный старт: разверни тестовый стенд по docs/deployment.md, затем прогоняй валидации из docs/runbook.md и windows/validate-deployment.ps1.