access-web/assets/index-BQk5nCpn.js: OK
access-web/assets/index-BwIegnYR.css: OK
access-web/index.html: OK
admin-web/RELEASE-MANIFEST.txt: OK
admin-web/assets/index-lk-kxNf_.js: OK
admin-web/assets/index-BsqdWDNz.css: OK
admin-web/index.html: OK
VM103_CADDY_SHA256=1f066c28afebfc9d384164aa0561aa8b5bd2c9926a19ee1628ab710a59b8fe44
{"level":"info","ts":1790877286.5933669,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":""}
{"level":"warn","ts":1790877286.6007786,"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":1790877286.6030474,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0002f07e0"}
{"level":"warn","ts":1790877286.6038096,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [admin.secret-studio.ru]: no OCSP server specified in certificate"}
{"level":"info","ts":1790877286.6039832,"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":1790877286.6040468,"logger":"http","msg":"automatic HTTP->HTTPS redirects are disabled","server_name":"srv0"}
{"level":"warn","ts":1790877286.6041112,"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":1790877286.6083784,"logger":"tls.cache.maintenance","msg":"stopped background certificate maintenance","cache":"0xc0002f07e0"}
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_P32O_STABLE_REVIEW_LINK_UI_ASSET_VERIFY=PASS
VM103_P32O_PUBLIC_ADMIN_DENY_VERIFY=PASS
VM103_CADDY_PRESERVATION_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=3716d87690e142a6abd938f3328f5ffdfcf9039c7e55e3a51ed88acf3ecb7a80
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=961dfc664a9741297bdae254ee2c81778a65e774
>>> [vm103-git] verify remote branch
REMOTE_HEAD=961dfc664a9741297bdae254ee2c81778a65e774
>>> [vm103-git] build current project allowlist
>>> [vm103-git] read paths already tracked by git
CURRENT_ALLOWED_COUNT=23
TRACKED_COUNT=23
MANAGED_UNION_COUNT=25
>>> [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-BI1oosPY.js
TRACKED_PATH_MISSING=srv/wg-paid/admin-web/assets/index-BvxAwj2C.js
TRACKED_PATH_MISSING_COUNT=2
>>> [vm103-git] build simulated git index
STAGED_CHANGE_COUNT=5
=== STAGED PATHS ===
srv/wg-paid/access-web/assets/index-BQk5nCpn.js
srv/wg-paid/access-web/index.html
srv/wg-paid/admin-web/RELEASE-MANIFEST.txt
srv/wg-paid/admin-web/assets/index-lk-kxNf_.js
srv/wg-paid/admin-web/index.html
>>> [vm103-git] validate simulated staged paths
STAGED_PATH_VALIDATION=true
SIMULATED_TREE_SHA=e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d
SIMULATED_TREE_FILE_COUNT=23
>>> [vm103-git] high-confidence secret scan of simulated tree
HIGH_CONFIDENCE_SECRET_MATCHES=0
>>> [vm103-git] keyword review scan
=== FILES REQUIRING KEYWORD REVIEW ===
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:etc/caddy/Caddyfile
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:etc/router-machine-git-source.conf
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:etc/ssh/sshd_config.d/90-secret-studio-library-sftp.conf
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:etc/systemd/system/secret-studio-sample-library.service
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:etc/systemd/system/srv-sftp-library.mount
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:etc/wg-paid-machine-role
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:srv/wg-paid/access-web/assets/index-BQk5nCpn.js
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:srv/wg-paid/access-web/assets/index-BwIegnYR.css
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:srv/wg-paid/admin-web/assets/index-lk-kxNf_.js
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:srv/wg-paid/web-meta/robots.txt
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:srv/wg-paid/web-meta/sitemap-reports.xml
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:srv/wg-paid/web-meta/sitemap-reports001.xml
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:usr/local/sbin/router-machine-git-publish.sh
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:usr/local/sbin/router-vm103-admin-cert-renew.sh
e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d:usr/local/sbin/router-vm103-ingress-health.sh

RESULT=PASS_VM103_GIT_PUBLISH_CHECK
MACHINE_ID=vm103
GIT_COMMIT=961dfc664a9741297bdae254ee2c81778a65e774
GIT_TREE=e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d
GIT_FILE_COUNT=23
COMMIT_CREATED=false
PUSH_PERFORMED=false

VM103_RESULT=PASS_VM103_GIT_PUBLISH_CHECK
VM103_COMMIT=961dfc664a9741297bdae254ee2c81778a65e774
VM103_REMOTE_COMMIT=961dfc664a9741297bdae254ee2c81778a65e774
>>> [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 961dfc6 vm103: publish managed source 2026-10-01T10:57:19Z

VM130_COMMIT=961dfc664a9741297bdae254ee2c81778a65e774
VM130_TREE=65c545b800fad23452cce8432c07bdce4e49e669
VM130_FILE_COUNT=23
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=961dfc664a9741297bdae254ee2c81778a65e774
VM130_COMMIT=961dfc664a9741297bdae254ee2c81778a65e774
VM130_TREE=65c545b800fad23452cce8432c07bdce4e49e669
VM130_FILE_COUNT=23
VM103_PUSH_PERFORMED=false
ARCHIVE_CREATED=false
PERMANENT_HTTPS_PUBLISHED=false
===== ACCEPTED DIST SHA256 =====
84cea79a21ed0fd7580bd577dded76bede38cece2240a6b2cee6c0e5a2c20e5a  access-web/assets/index-BQk5nCpn.js
fce4fddc17eca288173de7cb4fab9451380df63121df44a90d2c3efa1434fa91  access-web/assets/index-BwIegnYR.css
f5d76de4eabb127ca08d457ace5e69903e3520a4bf4aa3e21353f48ae8d1b885  access-web/index.html
7444358f6c58729bda78eaa83f06658ca06ced544ac2cc6e02f384b823002b7c  admin-web/RELEASE-MANIFEST.txt
1257035d7899f44da352c8ea5fae19e4cb7b04f36aa2bfe934c5da23bdeefc82  admin-web/assets/index-lk-kxNf_.js
49d9615244ee40dbb282e9454623b3df79f2f24be3affb6cdd1e235856336af6  admin-web/assets/index-BsqdWDNz.css
3b759844e95d92f98880f236101a2a4fadf575708559c0ac2be950a625590fbc  admin-web/index.html
DEPLOY_PACKAGE_SHA256=c8909ffa086e51304de99df7ca15789d6b9b96e96e214cf162e42c04dba43405
EXPECTED_TARGET_TREE=e6aab1cf8b2c7168f4e0b1460dbfb82146a2247d
RESULT=PASS_P32O_R01_POSTCHECK