{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "HOMELAB-SKLADCHIK-MONITOR-COOKIE-CONTRACT-AUDIT-385", "status": "FAIL", "rc": 1, "host": "pve01", "mode": "read-only", "component": "cluster-audit", "started_at_utc": "2026-07-23T17:14:28Z", "finished_at_utc": "2026-07-23T17:14:28Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752", "command_sha256": "8d86e9fa0ca4dbc0c7168504ca39d6f89f8514b4a3086e19417978e994901da1", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, "changes_made": false, "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, "raw_evidence_sha256": "f30a130cb16c9c0ddc2a8ca5bf99c1def8683ef0304b7caea324a6b0d7caea86", "sanitized_output_sha256": "f30a130cb16c9c0ddc2a8ca5bf99c1def8683ef0304b7caea324a6b0d7caea86", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", "output": "DETAIL=INTEGRITY_FILE=/usr/local/sbin/homelab-chat-run-linked|SHA256=5e8725e129fd2055b36fe2fae13fc95fc4b3271074a0e0d4bb7347e7b2f270a1\nDETAIL=INTEGRITY_FILE=/usr/local/sbin/homelab-reader-result-publish|SHA256=9cb8f7f1e9f300176a87f1abc8a9c51c92aeb9bea3514c7a9d9019ec400d4fd7\nDETAIL=INTEGRITY_FILE=/usr/local/sbin/skladchik-reports-monitor-supervisor|SHA256=35c68ae0929ff3795be2bde40de334fc8e26413a3d8a620a137be90d1f2c164e\nDETAIL=INTEGRITY_FILE=/usr/local/sbin/skladchik-reports-monitor-status|SHA256=f902a61109efbac5918360f2235c2523bd10704ac484a4e8591e8a1c490faf5a\nDETAIL=INTEGRITY_FILE=/root/.skladchik-cookie-header-372.pending|SHA256=3c260f0622999b94e1c3b45d5042532fe001b8118dff0d326636b2ad8609d8c4\nDETAIL=PENDING_COOKIE_CONTRACT=PASS|FORMAT=RAW_COOKIE_VALUE|PAIR_COUNT=5|SECRET_OUTPUT=NONE\nDETAIL=SERVICE_LOADSTATE=loaded\nDETAIL=SERVICE_ACTIVESTATE=failed\nDETAIL=SERVICE_SUBSTATE=failed\nDETAIL=SERVICE_RESULT=exit-code\nDETAIL=SERVICE_EXECMAINSTATUS=1\nDETAIL=SERVICE_FRAGMENTPATH=/etc/systemd/system/skladchik-reports-monitor-supervisor.service\nDETAIL=SERVICE_USER=\nDETAIL=SERVICE_GROUP=\nDETAIL=SERVICE_WORKINGDIRECTORY=\nDETAIL=COOKIE_SOURCE=/usr/local/sbin/skladchik-reports-monitor-supervisor|META=0:0|755|20463|regular file|SHA256=35c68ae0929ff3795be2bde40de334fc8e26413a3d8a620a137be90d1f2c164e\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|124|test -s /opt/skladchik-reports-monitor/monitor.py && echo monitor_py=yes || echo monitor_py=no\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|125|test -s /etc/skladchik-reports-monitor/config.ini && echo config_ini=yes || echo config_ini=no\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|126|test -s /etc/skladchik-reports-monitor/secrets.env && echo secrets_env=yes || echo secrets_env=no\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|127|test -s /var/lib/skladchik-reports-monitor/cookies.jar && echo cookies_jar=yes || echo cookies_jar=no\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|128|[ -s /var/lib/skladchik-reports-monitor/cookies.jar ] && echo cookies_jar_bytes=$(stat -c %s /var/lib/skladchik-reports-monitor/cookies.jar 2>/dev/null) || echo cookies_jar_bytes=0\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|129|test -s /opt/skladchik-reports-monitor/operational_digest.py && echo operational_digest_py=yes || echo operational_digest_py=no\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|130|test -s /opt/skladchik-reports-monitor/event-selftest-runner.py && echo event_selftest_runner_py=yes || echo event_selftest_runner_py=no\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|131|test -s /opt/skladchik-reports-monitor/event-selftest-core && echo event_selftest_core=yes || echo event_selftest_core=no\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|150| facts[\"monitor_open\"] = mon.get(\"open\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|151| facts[\"monitor_resolved\"] = mon.get(\"resolved\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|152| facts[\"monitor_smtp_configured\"] = mon.get(\"smtp_configured\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|153| facts[\"session_keepalive\"] = mon.get(\"session_keepalive\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|154| facts[\"cookie_jar\"] = mon.get(\"cookie_jar\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|155| facts[\"cookie_jar_bytes\"] = mon.get(\"cookie_jar_bytes\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|156| facts[\"cookie_expiry_status\"] = mon.get(\"cookie_expiry_status\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|157| facts[\"cookie_expiry_utc\"] = mon.get(\"cookie_expiry_utc\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|158| facts[\"cookie_expires_in_seconds\"] = mon.get(\"cookie_expires_in_seconds\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|165| problems.append(\"monitor_health_stale\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|166| if mon.get(\"reports\") in (\"\", \"0\"):\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|167| problems.append(\"monitor_reports_zero_or_missing\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|168| if mon.get(\"session_keepalive\") != \"persistent_cookie_jar\":\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|169| problems.append(\"session_keepalive_not_persistent\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|170| if mon.get(\"cookie_jar\") not in (\"yes\", \"empty\"):\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|171| problems.append(\"monitor_cookie_jar_bad\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|172| expiry_status = mon.get(\"cookie_expiry_status\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|173| try:\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|174| expires_in = int(mon.get(\"cookie_expires_in_seconds\", \"\"))\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|175| except Exception:\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|176| expires_in = None\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|177| if expiry_status in (\"\", \"NO_COOKIE_JAR\", \"NO_PERSISTENT_COOKIE\", \"ERROR\"):\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|178| problems.append(\"cookie_expiry_missing\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|179| elif expiry_status == \"EXPIRED\" or (expires_in is not None and expires_in <= 0):\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|180| problems.append(\"cookie_expiry_expired\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|210| facts[\"backup_run_id\"] = backup.get(\"RUN_ID\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|211| facts[\"backup_size_bytes\"] = backup.get(\"SIZE_BYTES\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|212| facts[\"backup_version\"] = backup.get(\"BACKUP_VERSION\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|213| facts[\"backup_cookie_jar_backed_up\"] = backup.get(\"COOKIE_JAR_BACKED_UP\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|214| facts[\"backup_extension_health_files_backed_up\"] = backup.get(\"EXTENSION_HEALTH_FILES_BACKED_UP\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|215| facts[\"backup_title_in_email_subject\"] = backup.get(\"TITLE_IN_EMAIL_SUBJECT\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|216| facts[\"backup_health_age_seconds\"] = str(age_seconds_from_ts(backup.get(\"TS\")))\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|217| if backup.get(\"STATUS\") != \"OK\":\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|218| problems.append(\"backup_status_not_ok\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|219| if backup.get(\"COOKIE_JAR_BACKED_UP\") != \"yes\":\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|220| problems.append(\"backup_cookie_jar_not_marked\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|221| if backup.get(\"BACKUP_VERSION\") != \"4\":\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|222| problems.append(\"backup_version_not_4\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|223| if backup.get(\"EXTENSION_HEALTH_FILES_BACKED_UP\") != \"yes\":\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|236| facts[\"restore_status\"] = restore.get(\"STATUS\", \"MISSING\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|237| facts[\"restore_run_id\"] = restore.get(\"RUN_ID\", \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|238| facts[\"restore_health_age_seconds\"] = str(age_seconds_from_ts(restore.get(\"TS\")))\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|239| for key in [\"CLOUD_1_STATUS\", \"CLOUD_2_STATUS\", \"SHA256_OK\", \"TAR_OK\", \"REQUIRED_FILES_OK\", \"COOKIE_JAR_OK\", \"EXTENSION_HEALTH_FILES_OK\", \"EXTENSION_SCRIPTS_OK\", \"EXTENSION_UNITS_OK\", \"SQLITE_OK\", \"PY_COMPILE_OK\"]:\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|240| facts[key.lower()] = restore.get(key, \"\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|241| if restore.get(\"STATUS\") != \"OK\":\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|242| problems.append(\"restore_status_not_ok\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|245| for key in [\"CLOUD_1_STATUS\", \"CLOUD_2_STATUS\"]:\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|246| if restore.get(key) != \"OK\":\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|247| problems.append(key.lower() + \"_bad\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|248| for key in [\"SHA256_OK\", \"TAR_OK\", \"REQUIRED_FILES_OK\", \"COOKIE_JAR_OK\", \"EXTENSION_HEALTH_FILES_OK\", \"EXTENSION_SCRIPTS_OK\", \"EXTENSION_UNITS_OK\", \"SQLITE_OK\", \"PY_COMPILE_OK\"]:\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|249| if restore.get(key) != \"yes\":\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|250| problems.append(key.lower() + \"_bad\")\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|251|\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|282| f\"- открытые/назначенные: {facts.get('monitor_open')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|283| f\"- закрытые: {facts.get('monitor_resolved')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|284| f\"- возраст health, сек: {facts.get('monitor_health_age_seconds')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|285| f\"- автопродление авторизации: {facts.get('session_keepalive')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|286| f\"- cookie jar: {facts.get('cookie_jar')} / {facts.get('cookie_jar_bytes')} байт\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|287| f\"- постоянная cookie действует до UTC: {facts.get('cookie_expiry_utc') or 'не определено'}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|288| f\"- осталось дней по cookie: or 'не определено'}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|289| f\"- статус срока cookie: or 'не определено'}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|290| f\"- NetBird route: {facts.get('netbird_route')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|291| \"\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|292| \"Бэкап:\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|293| f\"- статус: {facts.get('backup_status')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|294| f\"- последний RUN_ID: {facts.get('backup_run_id')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|295| f\"- размер архива, байт: {facts.get('backup_size_bytes')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|296| f\"- cookie jar в бэкапе: {facts.get('backup_cookie_jar_backed_up')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|297| f\"- health-файлы расширений в бэкапе: {facts.get('backup_extension_health_files_backed_up')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|298| f\"- название жалобы в теме письма: {facts.get('backup_title_in_email_subject')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|299| f\"- возраст health, сек: {facts.get('backup_health_age_seconds')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|302| f\"- статус: {facts.get('restore_status')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|303| f\"- последний RUN_ID: {facts.get('restore_run_id')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|304| f\"- cloud1/cloud2: {facts.get('cloud_1_status')}/{facts.get('cloud_2_status')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|305| f\"- sha256/tar/cookie/sqlite/python: {facts.get('sha256_ok')}/{facts.get('tar_ok')}/{facts.get('cookie_jar_ok')}/{facts.get('sqlite_ok')}/{facts.get('py_compile_ok')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|306| f\"- health/scripts/units расширений: {facts.get('extension_health_files_ok')}/{facts.get('extension_scripts_ok')}/{facts.get('extension_units_ok')}\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|307| \"\",\nDETAIL=COOKIE_SOURCE_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor|308| \"Проблемы:\",\nDETAIL=COOKIE_TARGET_REFERENCE=/tar/cookie/sqlite/python:|STATE=ABSENT\nDETAIL=COOKIE_TARGET_REFERENCE=/var/lib/skladchik-reports-monitor/cookies.jar|STATE=ABSENT\nFAILURE_REASON=COOKIE_TARGET_PARENT_INVALID\n" }