39 lines
39 KiB
JSON
39 lines
39 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"channel": "homelab-runtime",
|
|
"command_id": "GRAM1-SITE-AVAX-LINK-V17-DEBIAN-SUDO-EXACT-SOURCE-CAPTURE-20260731T211900Z",
|
|
"status": "OK",
|
|
"rc": 0,
|
|
"host": "pve01",
|
|
"mode": "verify",
|
|
"component": "gram1-site-avax-link-v17-debian-sudo-exact-source-capture",
|
|
"started_at_utc": "2026-07-31T21:20:57Z",
|
|
"finished_at_utc": "2026-07-31T21:20:57Z",
|
|
"reference_register_checked": true,
|
|
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
|
|
"error_register_checked": true,
|
|
"error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
|
|
"command_sha256": "404219cce138c7f6c61eae8e1bab74591903744c97981970ff999945e673d6c5",
|
|
"duplicate_failed_command_blocked": false,
|
|
"block_reason": null,
|
|
"execution_started": true,
|
|
"change_declared": false,
|
|
"result_contract_valid": true,
|
|
"result_contract_status": null,
|
|
"result_contract_error": null,
|
|
"command_rc": 0,
|
|
"changes_made": false,
|
|
"rollback_started": false,
|
|
"rollback_restored": null,
|
|
"mutation_outcome": "NO_MUTATION",
|
|
"sanitized": true,
|
|
"secrets_included": false,
|
|
"private_addresses_included": false,
|
|
"raw_evidence_retained_locally": true,
|
|
"raw_evidence_sha256": "59c2fd75df79dad54983661a95529fb1a8e10ed812c3777ca5ba2439d1f19c3d",
|
|
"sanitized_output_sha256": "59c2fd75df79dad54983661a95529fb1a8e10ed812c3777ca5ba2439d1f19c3d",
|
|
"output_truncated_in_json": false,
|
|
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
|
"output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"GRAM1-SITE-AVAX-LINK-V17-DEBIAN-SUDO-EXACT-SOURCE-CAPTURE-20260731T211900Z\",\"mutation_outcome\":\"NO_MUTATION\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"changes_made\":false,\"command_id\":\"GRAM1-SITE-AVAX-LINK-V17-DEBIAN-SUDO-EXACT-SOURCE-CAPTURE-20260731T211900Z\",\"control_plane_error\":null,\"gitea_changed\":false,\"known_host_reference_count\":1,\"mutation_outcome\":\"NO_MUTATION\",\"next_decision\":\"BUILD_TRANSACTIONAL_AVAX_LINK_CHANGE\",\"output_json_bytes_before_size_field\":37042,\"previous_capsule_sha256\":\"2a7e1500556cfc02dd1eeb945a298b96396255ae98be26fa67ff7b75fa25b0e5\",\"previous_command_id\":\"GRAM1-SITE-AVAX-LINK-V16-DEBIAN-SSH-EXACT-SOURCE-CAPTURE-20260731T211300Z\",\"production_site_changed\":false,\"proven_v16_failure\":\"DEBIAN_SSH_IDENTITY_VERIFIED_BUT_SOURCE_CAPTURE_ABORTED_ON_PERMISSION_DENIED_FOR_OPT_STACKS_CRYPTO_PORTFOLIO_APP_PY\",\"rc\":0,\"remote_execution\":{\"classification\":\"OK\",\"duration_seconds\":0.158,\"method\":\"ALIAS_PINNED_AS_DEBIAN\",\"rc\":0,\"report\":{\"core_candidates\":[{\"exists\":true,\"relative_path\":\"app.py\"},{\"exists\":true,\"relative_path\":\"worker.py\"},{\"exists\":true,\"relative_path\":\"templates/index.html\"},{\"exists\":true,\"relative_path\":\"compose.yaml\"},{\"exists\":false,\"relative_path\":\"compose.yml\"},{\"exists\":false,\"relative_path\":\"docker-compose.yml\"},{\"exists\":false,\"relative_path\":\"docker-compose.yaml\"},{\"exists\":true,\"relative_path\":\"Dockerfile\"},{\"exists\":true,\"relative_path\":\"requirements.txt\"},{\"exists\":false,\"relative_path\":\"pyproject.toml\"},{\"exists\":false,\"relative_path\":\"package.json\"}],\"deadline_hit\":false,\"deadline_seconds\":7.0,\"discovery\":[{\"bytes\":17955,\"hits\":[{\"line\":9,\"text\":\"DB = DATA / \\\"portfolio.db\\\"\"},{\"line\":13,\"text\":\"COINS = {\\\"hedera-hashgraph\\\": \\\"HBAR\\\", \\\"polygon-ecosystem-token\\\": \\\"POL\\\"}\"},{\"line\":89,\"text\":\" return {\\\"status\\\":\\\"OK\\\",\\\"type\\\":\\\"crypto-portfolio\\\",\\\"market_age_seconds\\\":age}\"},{\"line\":111,\"text\":\" with httpx.Client(timeout=6, headers={\\\"User-Agent\\\":\\\"Gram-Crypto-Portfolio/1.0\\\"}) as client:\"},{\"line\":112,\"text\":\" response = client.get(\\\"https://api.coingecko.com/api/v3/coins/markets\\\", params={\\\"vs_currency\\\":\\\"usd\\\",\\\"ids\\\":coin_id,\\\"sparkline\\\":\\\"false\\\"})\"},{\"line\":128,\"text\":\" symbols = {\\\"bitcoin\\\":\\\"₿\\\",\\\"ethereum\\\":\\\"Ξ\\\",\\\"solana\\\":\\\"S\\\",\\\"binancecoin\\\":\\\"BNB\\\",\\\"ripple\\\":\\\"XRP\\\",\\\"cardano\\\":\\\"ADA\\\",\\\"hedera-hashgraph\\\":\\\"HBAR\\\",\\\"hedera\\\":\\\"HBAR\\\",\\\"chainlink\\\":\\\"LINK\\\",\\\"toncoin\\\":\\\"TON\\\",\\\"dogecoin\\\":\\\"Ð\\\"}\"},{\"line\":129,\"text\":\" label = symbols.get(coin_id, coin_id[:3].upper())\"},{\"line\":138,\"text\":\"LIGHTWEIGHT_JS = DATA / \\\"lightweight-charts.standalone.production.js\\\"\"}],\"relative_path\":\"app.py\",\"sha256\":\"44df2b25183b7c5d87ff1516ec2d9cd1d169acde3031f7c2aa1fc4e0c7813cd2\"},{\"bytes\":1233,\"hits\":[{\"line\":4,\"text\":\" container_name: crypto-portfolio\"},{\"line\":29,\"text\":\" container_name: crypto-portfolio-worker\"}],\"relative_path\":\"compose.yaml\",\"sha256\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\"},{\"bytes\":29469,\"hits\":[{\"line\":3,\"text\":\"<style>:root{--bg:#071018;--p:#0f1d29;--p2:#0a1620;--l:#213644;--t:#f3f7fb;--m:#8fa5b6;--g:#63e6be;--r:#ff6b81;--b:#69a7ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 0,#17395a55,transparent 32%),var(--bg);color:var(--t);font:14px system-ui}.app{max-width:1500px;margin:auto;padding:24px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.top-actions{display:flex;align-items:center;gap:10px}.currency-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--l);border-radius:12px;background:#091722}.currency-btn{border:0;\"},{\"line\":6,\"text\":\"<section id=\\\"coins\\\" class=\\\"coins\\\"></section><section class=\\\"layout\\\"><div class=\\\"panel\\\"><div class=\\\"title\\\"><div><h2 id=\\\"chartTitle\\\">График цены</h2><span class=\\\"muted\\\">7 дней</span></div><span id=\\\"marketStatus\\\" class=\\\"status\\\">Загрузка</span></div><svg id=\\\"chart\\\" class=\\\"chart\\\" viewBox=\\\"0 0 900 270\\\" preserveAspectRatio=\\\"none\\\"></svg></div><div class=\\\"panel sharp-moves-panel\\\"><div class=\\\"title\\\"><h2>Резкие движения</h2></div><div id=\\\"moves\\\" class=\\\"moves\\\"></div></div></section>\"},{\"line\":9,\"text\":\"<script>let state=null;let selected=\\\"hedera-hashgraph\\\";let currency=localStorage.getItem(\\\"portfolio_currency\\\")===\\\"RUB\\\"?\\\"RUB\\\":\\\"USD\\\";const fx=()=>Number(state&&state.market&&state.market.usd_rub||0);const cv=n=>Number(n||0)*(currency===\\\"RUB\\\"?fx():1);const money=(n,d=2)=>new Intl.NumberFormat(currency===\\\"RUB\\\"?\\\"ru-RU\\\":\\\"en-US\\\",{style:\\\"currency\\\",currency:currency,minimumFractionDigits:d,maximumFractionDigits:d}).format(cv(n));const compactMoney=n=>(currency===\\\"RUB\\\"?\\\"₽\\\":\\\"$\\\")+new Intl.NumberFormat(currency===\\\"RUB\\\"?\\\"ru-RU\\\":\\\"en-US\\\",{notation:\\\"compact\\\",maximumFractionDigits:2}).format(cv(n));const inputP\"},{\"line\":132,\"text\":\" const symbol=(data.coins&&data.coins[alert.coin_id])||alert.coin_id;\"},{\"line\":134,\"text\":\" if([\\\"pump\\\",\\\"dump\\\"].includes(alert.kind))return symbol+\\\": \\\"+kind+\\\" \\\"+Number(alert.threshold).toLocaleString(\\\"ru-RU\\\",{maximumFractionDigits:12})+\\\"%\\\";\"},{\"line\":135,\"text\":\" return symbol+\\\": \\\"+kind+\\\" \\\"+alertMoney(data,alert.threshold);\"},{\"line\":217,\"text\":\"<style id=\\\"TRADINGVIEW_THREE_CHARTS_STYLE_V1\\\">#chart{display:none!important}#tvCharts{display:grid;grid-template-columns:1fr;gap:18px;margin-top:12px}.tv-card{min-height:470px;border:1px solid var(--l);border-radius:16px;overflow:hidden;background:#081823}.tv-card-head{padding:12px 14px 0;font-weight:800}.tv-widget-slot{height:430px;width:100%}@media(max-width:750px){.tv-widget-slot{height:370px}}</style>\"},{\"line\":218,\"text\":\"<script src=\\\"/vendor/lightweight-charts.js\\\"></script>\"}],\"relative_path\":\"templates/index.html\",\"sha256\":\"e497a36d8549654c6d451360a11a2ad714e19c23e6d384330a5436f7d32267cb\"},{\"bytes\":10256,\"hits\":[{\"line\":7,\"text\":\"DB = DATA / \\\"portfolio.db\\\"\"},{\"line\":11,\"text\":\"COINS = {\\\"hedera-hashgraph\\\": \\\"HBAR\\\", \\\"polygon-ecosystem-token\\\": \\\"POL\\\"}\"},{\"line\":43,\"text\":\" with httpx.Client(timeout=25, headers={\\\"User-Agent\\\":\\\"Gram-Crypto-Portfolio/1.0\\\"}) as client:\"},{\"line\":44,\"text\":\" r = client.get(\\\"https://api.coingecko.com/api/v3/coins/markets\\\", params=params)\"},{\"line\":57,\"text\":\" with httpx.Client(timeout=15, headers={\\\"User-Agent\\\":\\\"Gram-Crypto-Portfolio/1.0\\\"}) as fx_client:\"},{\"line\":58,\"text\":\" fx_data = fx_client.get(\\\"https://api.coingecko.com/api/v3/simple/price\\\", params={\\\"ids\\\":\\\"bitcoin\\\",\\\"vs_currencies\\\":\\\"usd,rub\\\"}).json()[\\\"bitcoin\\\"]\"},{\"line\":72,\"text\":\" result[\\\"coins\\\"][cid] = {\\\"symbol\\\":COINS[cid],\\\"name\\\":x.get(\\\"name\\\"),\\\"price\\\":float(x.get(\\\"current_price\\\") or 0),\\\"market_cap\\\":float(x.get(\\\"market_cap\\\") or 0),\\\"rank\\\":x.get(\\\"market_cap_rank\\\"),\\\"volume\\\":float(x.get(\\\"total_volume\\\") or 0),\\\"high_24h\\\":x.get(\\\"high_24h\\\"),\\\"low_24h\\\":x.get(\\\"low_24h\\\"),\\\"change_1h\\\":x.get(\\\"price_change_percentage_1h_in_currency\\\"),\\\"change_24h\\\":x.get(\\\"price_change_percentage_24h_in_currency\\\"),\\\"change_7d\\\":x.get(\\\"price_change_percentage_7d_in_currency\\\"),\\\"sparkline_7d\\\":((x.get(\\\"sparkline_in_7d\\\") or {}).get(\\\"price\\\") or []),\\\"last_updated\\\":x.get(\\\"last_updated\\\")}\"},{\"line\":107,\"text\":\"def portfolio_text(c, coin_id, price):\"}],\"relative_path\":\"worker.py\",\"sha256\":\"174a14b86014535980d200a76d0057110c7af102c66f16c2e21fc3e74bb2e49e\"}],\"discovery_limit_hit\":false,\"duration_seconds\":0.023,\"files_scanned\":30,\"hostname\":\"core-apps\",\"root\":\"/opt/stacks/crypto-portfolio\",\"root_exists\":true,\"schema\":2,\"source_bundle\":{\"b64\":\"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\",\"compressed_bytes\":19376,\"compressed_sha256\":\"81c079a94543bb046ab3c2fbbd9b0aa0aa79ed66c1f7b651a7b2a633c5ec93be\",\"encoding\":\"gzip+base64\",\"file_count\":6,\"uncompressed_bytes\":63818,\"uncompressed_sha256\":\"249586886d7a9205716c6d205b3c9e3967151aada023423a77b844ff03c89c7d\"},\"source_files\":[{\"bytes\":17955,\"content_in_bundle\":true,\"line_count\":395,\"redactions\":[{\"kind\":\"sensitive_assignment\",\"line\":12}],\"relative_path\":\"app.py\",\"sanitized_sha256\":\"f17e00535770261d74098de0e9bd6343e0352a8f69444d03d0c319634ed2cc2d\",\"sha256\":\"44df2b25183b7c5d87ff1516ec2d9cd1d169acde3031f7c2aa1fc4e0c7813cd2\"},{\"bytes\":10256,\"content_in_bundle\":true,\"line_count\":203,\"redactions\":[{\"kind\":\"sensitive_assignment\",\"line\":89}],\"relative_path\":\"worker.py\",\"sanitized_sha256\":\"590fb3e39460675b60630233687071f0876120cc62435ae16ca595def7a021fa\",\"sha256\":\"174a14b86014535980d200a76d0057110c7af102c66f16c2e21fc3e74bb2e49e\"},{\"bytes\":29469,\"content_in_bundle\":true,\"line_count\":276,\"redactions\":[],\"relative_path\":\"templates/index.html\",\"sanitized_sha256\":\"e497a36d8549654c6d451360a11a2ad714e19c23e6d384330a5436f7d32267cb\",\"sha256\":\"e497a36d8549654c6d451360a11a2ad714e19c23e6d384330a5436f7d32267cb\"},{\"bytes\":1233,\"content_in_bundle\":true,\"line_count\":53,\"redactions\":[{\"kind\":\"private_address\",\"line\":7},{\"kind\":\"sensitive_assignment\",\"line\":11},{\"kind\":\"sensitive_assignment\",\"line\":12}],\"relative_path\":\"compose.yaml\",\"sanitized_sha256\":\"00d07541be95f2c01098ddb9505a24d0549f017d441a6718cef49262e9d1dd01\",\"sha256\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\"},{\"bytes\":465,\"content_in_bundle\":true,\"line_count\":11,\"redactions\":[],\"relative_path\":\"Dockerfile\",\"sanitized_sha256\":\"a5d546ddb9b4fac44cc00a43c18a18a8cdb246afea4dfc945089759d0dec0fcb\",\"sha256\":\"a5d546ddb9b4fac44cc00a43c18a18a8cdb246afea4dfc945089759d0dec0fcb\"},{\"bytes\":123,\"content_in_bundle\":true,\"line_count\":6,\"redactions\":[],\"relative_path\":\"requirements.txt\",\"sanitized_sha256\":\"5dec3868a6a71a7dc8810b57acae9de25b99cae6978cd1750f4b0c01b27055a2\",\"sha256\":\"5dec3868a6a71a7dc8810b57acae9de25b99cae6978cd1750f4b0c01b27055a2\"}],\"source_scope_complete\":true},\"stderr\":\"Authenticated to <PRIVATE_ADDRESS> ([<PRIVATE_ADDRESS>]:22) using \\\"publickey\\\". Transferred: sent 14476, received 38648 bytes, in 0.1 seconds Bytes per second: sent 207030.7, received 552730.1\"},\"remote_user_override\":\"debian\",\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"selected_method\":\"ALIAS_PINNED_AS_DEBIAN\",\"source_bundle_verified\":{\"compressed_sha256\":\"81c079a94543bb046ab3c2fbbd9b0aa0aa79ed66c1f7b651a7b2a633c5ec93be\",\"file_count\":6,\"uncompressed_sha256\":\"249586886d7a9205716c6d205b3c9e3967151aada023423a77b844ff03c89c7d\",\"verified\":true},\"ssh_config_summary\":{\"configured_user_is_root\":true,\"hostname_is_pinned_address\":false,\"identityfile_count\":6,\"port\":22,\"proxycommand_present\":false,\"proxyjump_present\":false,\"remote_user_override\":\"debian\",\"resolved\":true,\"user_present\":true},\"ssh_method_probes\":[{\"classification\":\"OK\",\"duration_seconds\":0.108,\"hostname\":\"core-apps\",\"identity_matches\":true,\"name\":\"ALIAS_PINNED_AS_DEBIAN\",\"rc\":0,\"remote_user\":\"debian\",\"resolved_identity_count\":null,\"stderr\":\"Authenticated to <PRIVATE_ADDRESS> ([<PRIVATE_ADDRESS>]:22) using \\\"publickey\\\". Transferred: sent 4312, received 4120 bytes, in 0.0 seconds Bytes per second: sent 172086.7, received 164424.2\"},{\"classification\":\"OK\",\"duration_seconds\":0.112,\"hostname\":\"core-apps\",\"identity_matches\":true,\"name\":\"DIRECT_PINNED_AS_DEBIAN_NO_PROXY\",\"rc\":0,\"remote_user\":\"debian\",\"resolved_identity_count\":2,\"stderr\":\"Authenticated to <PRIVATE_ADDRESS> ([<PRIVATE_ADDRESS>]:22) using \\\"publickey\\\". Transferred: sent 4312, received 4120 bytes, in 0.0 seconds Bytes per second: sent 166205.3, received 158804.7\"}],\"status\":\"OK\",\"tcp_probe\":{\"connected\":true,\"duration_seconds\":0.001,\"error\":null}}\n"
|
|
}
|