3.3 KiB
Контроль готовности промышленного внедрения
detmir-readiness - единая команда preflight-контроля перед внедрением,
релизом или изменением production runtime.
Команда проверяет:
- runtime env без public placeholders;
- активность обязательных systemd units;
- реальную запись в InfluxDB;
- health Grafana datasource.
Базовый запуск
На AW server:
detmir-readiness --json
Ожидаемый результат:
{
"ok": true,
"status": "OK"
}
Коды возврата:
0- готово к промышленной эксплуатации;2- readiness check нашелWARN;3- readiness check нашелFAIL;1- сама команда не смогла выполниться.
Private production inventory
Перед rollout private override-файлы проверяются отдельно:
scripts/check_production_inventory_placeholders.sh --strict \
private-config/runtime.env \
private-config/ansible-vars.yml
--strict предназначен только для private production-файлов. Публичные
tracked defaults и .example файлы могут содержать HOST-EXAMPLE и TEST-NET
адреса, потому что они не являются production source of truth.
Что считается отказом
detmir-readiness возвращает FAIL, если:
- включенный Influx exporter получил пустой или example URL/org/bucket/token/host;
- systemd unit из обязательного списка не active;
- Influx write-probe не смог записать heartbeat;
- Grafana datasource health не
OK.
Акт готовности стенда
detmir-readiness может сохранить акт готовности в JSON, Markdown, HTML и PDF:
detmir-readiness --json \
--output-json /var/lib/activitywatch/health/detmir-readiness-latest.json \
--output-markdown /var/lib/activitywatch/health/detmir-readiness-act.md \
--output-pdf /var/lib/activitywatch/health/detmir-readiness-act.pdf
PDF-вывод требует один из render tools на хосте: weasyprint, chromium,
chromium-browser или google-chrome. Если PDF renderer не установлен,
используйте --output-markdown и --output-html как обязательный минимальный
артефакт внедрения.
Полезные параметры
detmir-readiness --json \
--aw-env-file /etc/activitywatch/aw-server.env \
--grafana-env-file /etc/detmir-grafana-check.env \
--grafana-datasource-uid influxdb_aw
Для диагностики без write-probe:
detmir-readiness --json --skip-influx-write
Для контура, где Influx временно не входит в профиль внедрения:
detmir-readiness --json --allow-disabled-influx
Такой запуск допустим только как временный исключительный режим; для полного commercial DetMir contour Influx/Grafana должны быть зелеными.