access-web/assets/index-RtmByWlZ.js: OK
access-web/assets/index-v8_ojBes.css: OK
access-web/index.html: OK
admin-web/assets/index-DjlGLZY9.js: OK
admin-web/assets/index-uf1aL5os.css: OK
admin-web/index.html: OK
admin-web/RELEASE-MANIFEST.txt: OK
{"level":"info","ts":1789220104.1516206,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":""}
{"level":"warn","ts":1789220104.1595118,"msg":"Caddyfile input is not formatted; run the 'caddy fmt' command to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/Caddyfile","line":2}
{"level":"info","ts":1789220104.1610634,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0002ba5b0"}
{"level":"warn","ts":1789220104.1613834,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [admin.secret-studio.ru]: no OCSP server specified in certificate"}
{"level":"info","ts":1789220104.1614637,"logger":"http","msg":"skipping automatic certificate management because one or more matching certificates are already loaded","domain":"admin.secret-studio.ru","server_name":"srv0"}
{"level":"warn","ts":1789220104.1614742,"logger":"http","msg":"automatic HTTP->HTTPS redirects are disabled","server_name":"srv0"}
{"level":"warn","ts":1789220104.1614797,"logger":"http","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv1","http_port":80}
{"level":"info","ts":1789220104.1650977,"logger":"tls.cache.maintenance","msg":"stopped background certificate maintenance","cache":"0xc0002ba5b0"}
VM103_CADDY_ACTIVE=true
VM103_REPORTS_PRIMARY=PASS
VM103_REPORTS001_HTTP_REDIRECT=PASS
VM103_REPORTS001_HTTPS_ROUTE=PASS
VM103_REPORTS001_LATEST_INDEX_BYTE_MATCH=PASS
VM103_REPORTS001_TLS_CERTIFICATE_HOSTNAME=PASS
VM103_ACCESS_HTTP_REDIRECT=PASS
VM103_ACCESS_ROOT_LOGIN_PAGE=PASS
VM103_ACCESS_HEALTH_ROUTE=PASS
VM103_ACCESS_TLS_CERTIFICATE_HOSTNAME=PASS
VM103_ACCESS_VITE_JS_DISCOVERY=PASS
VM103_ACCESS_FRONTEND_CONTRACT_MARKERS=PASS
VM103_ACCESS_LOGIN_PAGE=PASS
VM103_ACCESS_INVITE_PAGE=PASS
VM103_ACCESS_ACCOUNT_PAGE=PASS
VM103_ACCESS_MAGIC_FRAGMENT_PAGE=PASS
VM103_ACCESS_PUBLIC_API_PROXY_ACTIVE=true
VM103_ACCESS_INVITE_LIFECYCLE_API_ROUTES=PASS
VM103_ACCESS_EXTERNAL_ONBOARDING_GATE_OPEN=PASS
VM103_ACCESS_ACCOUNT_AUTH_REQUIRED=PASS
VM103_ACCESS_AGENT_PROXY_ACTIVE=false
VM103_ACCESS_ADMIN_PROXY_ACTIVE=false
VM103_REPORTS_CRAWL_ROOT=PASS
VM103_REPORTS_ROBOTS=PASS
VM103_REPORTS_SITEMAP=PASS
VM103_REPORTS_LATEST_CACHE_POLICY=PASS
VM103_REPORTS_OLD_CACHE_POLICY=PASS
VM103_REPORTS_ACCESS_LOGGING_CONFIGURED=true
RESULT=PASS_VM103_ACCESS_AND_REPORTS001_INGRESS_HEALTH
VM103_DIST_HASH_VERIFY=PASS
VM103_INGRESS_HEALTH_VERIFY=PASS
>>> [vm103-source] precheck
MODE=--check
REPOSITORY_URL=https://github.com/DChuvelev/wg-paid-vm103.git
REPO_DIR=/opt/router-ops/state/source-repositories/wg-paid-vm103
>>> [vm103-source] run VM103 git publisher through approved direct SSH
>>> [vm103-git] precheck
MODE=--check
PROFILE=/etc/router-machine-git-source.conf
PROFILE_VERSION=2
PROFILE_SHA256=14fccde9c3f62fe098828c1f04a9c5e415114cdaa844974dbab62cd76093d0d4
MACHINE_ID=vm103
GIT_DIR=/root/.vm103-source.git
WORK_TREE=/
BRANCH=main
REMOTE_URL=git@github.com:DChuvelev/wg-paid-vm103.git
LOCAL_HEAD=9eb2e9b7ef8967568bd761077e5029d2912a4257
>>> [vm103-git] verify remote branch
REMOTE_HEAD=9eb2e9b7ef8967568bd761077e5029d2912a4257
>>> [vm103-git] build current project allowlist
>>> [vm103-git] read paths already tracked by git
CURRENT_ALLOWED_COUNT=20
TRACKED_COUNT=20
MANAGED_UNION_COUNT=24
>>> [vm103-git] strict path validation
STRICT_PATH_VALIDATION=true
>>> [vm103-git] show tracked files now missing from machine
TRACKED_PATH_MISSING=srv/wg-paid/access-web/assets/index-Bc5BaXcc.js
TRACKED_PATH_MISSING=srv/wg-paid/access-web/assets/index-aW-YSs4q.css
TRACKED_PATH_MISSING=srv/wg-paid/admin-web/assets/index-BbV1i6yW.css
TRACKED_PATH_MISSING=srv/wg-paid/admin-web/assets/index-j3whv45_.js
TRACKED_PATH_MISSING_COUNT=4
>>> [vm103-git] build simulated git index
STAGED_CHANGE_COUNT=10
=== STAGED PATHS ===
srv/wg-paid/access-web/assets/index-RtmByWlZ.js
srv/wg-paid/access-web/assets/index-aW-YSs4q.css
srv/wg-paid/access-web/assets/index-v8_ojBes.css
srv/wg-paid/access-web/index.html
srv/wg-paid/admin-web/RELEASE-MANIFEST.txt
srv/wg-paid/admin-web/assets/index-BbV1i6yW.css
srv/wg-paid/admin-web/assets/index-DjlGLZY9.js
srv/wg-paid/admin-web/assets/index-j3whv45_.js
srv/wg-paid/admin-web/assets/index-uf1aL5os.css
srv/wg-paid/admin-web/index.html
>>> [vm103-git] validate simulated staged paths
STAGED_PATH_VALIDATION=true
SIMULATED_TREE_SHA=5dd8b75c44dc3db711ce6324f25d1a9846f19751
SIMULATED_TREE_FILE_COUNT=20
>>> [vm103-git] high-confidence secret scan of simulated tree
HIGH_CONFIDENCE_SECRET_MATCHES=0
>>> [vm103-git] keyword review scan
=== FILES REQUIRING KEYWORD REVIEW ===
5dd8b75c44dc3db711ce6324f25d1a9846f19751:etc/caddy/Caddyfile
5dd8b75c44dc3db711ce6324f25d1a9846f19751:etc/wg-paid-machine-role
5dd8b75c44dc3db711ce6324f25d1a9846f19751:srv/wg-paid/access-web/assets/index-RtmByWlZ.js
5dd8b75c44dc3db711ce6324f25d1a9846f19751:srv/wg-paid/admin-web/assets/index-DjlGLZY9.js
5dd8b75c44dc3db711ce6324f25d1a9846f19751:srv/wg-paid/web-meta/robots.txt
5dd8b75c44dc3db711ce6324f25d1a9846f19751:srv/wg-paid/web-meta/sitemap-reports.xml
5dd8b75c44dc3db711ce6324f25d1a9846f19751:srv/wg-paid/web-meta/sitemap-reports001.xml
5dd8b75c44dc3db711ce6324f25d1a9846f19751:usr/local/sbin/router-machine-git-publish.sh
5dd8b75c44dc3db711ce6324f25d1a9846f19751:usr/local/sbin/router-vm103-admin-cert-renew.sh
5dd8b75c44dc3db711ce6324f25d1a9846f19751:usr/local/sbin/router-vm103-ingress-health.sh

RESULT=PASS_VM103_GIT_PUBLISH_CHECK
MACHINE_ID=vm103
GIT_COMMIT=9eb2e9b7ef8967568bd761077e5029d2912a4257
GIT_TREE=5dd8b75c44dc3db711ce6324f25d1a9846f19751
GIT_FILE_COUNT=20
COMMIT_CREATED=false
PUSH_PERFORMED=false

VM103_RESULT=PASS_VM103_GIT_PUBLISH_CHECK
VM103_COMMIT=9eb2e9b7ef8967568bd761077e5029d2912a4257
VM103_REMOTE_COMMIT=9eb2e9b7ef8967568bd761077e5029d2912a4257
>>> [vm103-source] clone or refresh repository on VM130
CURRENT_ORIGIN=https://github.com/DChuvelev/wg-paid-vm103.git
From https://github.com/DChuvelev/wg-paid-vm103
 * branch            main       -> FETCH_HEAD
Reset branch 'main'
branch 'main' set up to track 'origin/main'.
Your branch is up to date with 'origin/main'.
HEAD is now at 9eb2e9b vm103: publish managed source 2026-09-12T09:32:01Z

VM130_COMMIT=9eb2e9b7ef8967568bd761077e5029d2912a4257
VM130_TREE=86e16245a64ce253894dc44d18a7cdd61bfe2c00
VM130_FILE_COUNT=20
VM130_STATUS=CLEAN
>>> [vm103-source] verify required managed paths
REQUIRED_PATH_OK=etc/router-machine-git-source.conf
REQUIRED_PATH_OK=etc/wg-paid-machine-role
REQUIRED_PATH_OK=usr/local/sbin/router-machine-git-publish.sh
REQUIRED_PATH_OK=usr/local/sbin/router-vm103-git-publish.sh

RESULT=PASS_VM130_VM103_GIT_SOURCE_CHECK
VM103_COMMIT=9eb2e9b7ef8967568bd761077e5029d2912a4257
VM130_COMMIT=9eb2e9b7ef8967568bd761077e5029d2912a4257
VM130_TREE=86e16245a64ce253894dc44d18a7cdd61bfe2c00
VM130_FILE_COUNT=20
VM103_PUSH_PERFORMED=false
ARCHIVE_CREATED=false
PERMANENT_HTTPS_PUBLISHED=false
===== ACCEPTED DIST SHA256 =====
8a11aa77a88e9fd54edf34d0827effd902ed7b59c1c9a083146503f8fd409604  access-web/assets/index-RtmByWlZ.js
d112b6dfbe45442c88cb8922dbfddce3afa61635db33d392ee17f0e09dbc6e85  access-web/assets/index-v8_ojBes.css
5ce87e9d517f070b190732bbb0db9311bc4b9fdb4256ad72fddf4876fa14b581  access-web/index.html
4defeb1349ba98388e1d7839efb2bb697ad94c037d041255c9321b39c26ae81e  admin-web/assets/index-DjlGLZY9.js
edafb010972860d1f343448a7eadf47dba1027b52a204f53e6cc6db0b84ca538  admin-web/assets/index-uf1aL5os.css
ff6be3e870d25cf1bf1f44607b0f8b6d0b4b82267184e11d49aa56a6418762dd  admin-web/index.html
23ef7ba207f639fa7d9b7d7b128b3cae9118e2323a0c8a6c19eb436268ea3c46  admin-web/RELEASE-MANIFEST.txt
DEPLOY_PACKAGE_SHA256=f9a787cb38fd80864f7dc822d7658991a52f3105a0a1c47dd7ca46e6af98668e
RESULT=PASS_P27FW12C_R05_POSTCHECK