1
0
Files
homelab-public-context/runtime/latest.json
T
2026-09-08 07:04:41 +00:00

39 lines
12 KiB
JSON

{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "SIGNALBOT-260908-DEPLOY-BUILD-RCA-042RCA",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "read-only",
"component": "signalbot-cr0116-deploy-build-rca",
"started_at_utc": "2026-09-08T07:04:39Z",
"finished_at_utc": "2026-09-08T07:04:40Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "8ffa003fba02eddef69895d3849a53be6dcb1f763d6187fbe3caa9dd5c92bf18",
"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": "088b946da18bf8e677320e6542369813d66cf19eb8239670d8eab893db738c67",
"sanitized_output_sha256": "088b946da18bf8e677320e6542369813d66cf19eb8239670d8eab893db738c67",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "ERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nSB042RCA_VM170={\"exitcode\":0,\"report\":{\"active_env\":{\"APP_IMAGE\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"CODE_IDENTITY\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"COLLECTION_START_AT\":\"2026-09-07T00:00:00+00:00\",\"EXPERIMENT_ID\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\",\"RUNTIME_MANIFEST_ID\":\"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a\"},\"active_env_matches_expected\":true,\"base_image\":{\"architecture\":\"amd64\",\"created\":\"2026-09-04T18:53:07.479502403+03:00\",\"exists\":true,\"id\":\"sha256:008ab480142056d1f0b628e6c17bb6b99b30b8b4f59f24e31d972a4a128a8602\",\"os\":\"linux\",\"repo_tags\":[\"8020-demonov-shadow:ac7094a76ddc06f376d71a76432af7c2dd10ec7d\",\"8020-demonov-shadow:rehearsal-ac7094a76ddc06f376d71a76432af7c2dd10ec7d\"],\"rootfs_layers\":8,\"size\":138413195},\"current_image\":{\"architecture\":\"amd64\",\"created\":\"2026-09-06T21:32:49.969853356+03:00\",\"exists\":true,\"id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"os\":\"linux\",\"repo_tags\":[\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\"],\"rootfs_layers\":9,\"size\":139518929},\"current_image_history\":{\"rc\":0,\"rows\":[{\"created_by\":\"COPY demonov_forward_map /app/demonov_forward_map # buildkit\",\"id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"size\":\"1.11MB\"},{\"created_by\":\"ENV PYTHONPATH=/app\",\"id\":\"<missing>\",\"size\":\"0B\"},{\"created_by\":\"ENV PYTHONUNBUFFERED=1\",\"id\":\"<missing>\",\"size\":\"0B\"},{\"created_by\":\"ENV PYTHONDONTWRITEBYTECODE=1\",\"id\":\"<missing>\",\"size\":\"0B\"},{\"created_by\":\"COPY demonov_forward_map /app/demonov_forward_map # buildkit\",\"id\":\"<missing>\",\"size\":\"2.55MB\"},{\"created_by\":\"RUN /bin/sh -c python -m pip install --no-cache-dir --require-hashes -r /tmp/requirements-runtime.txt # buildkit\",\"id\":\"<missing>\",\"size\":\"9.62MB\"},{\"created_by\":\"COPY deploy/8020-shadow/requirements-runtime.txt /tmp/requirements-runtime.txt # buildkit\",\"id\":\"<missing>\",\"size\":\"98B\"},{\"created_by\":\"WORKDIR /app\",\"id\":\"<missing>\",\"size\":\"0B\"},{\"created_by\":\"CMD [\\\"python3\\\"]\",\"id\":\"<missing>\",\"size\":\"0B\"},{\"created_by\":\"RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst=\\\"$(echo \\\"$src\\\"\",\"id\":\"<missing>\",\"size\":\" tr -d 3)\\\"; [ -s \\\"/usr/local/bin/$src\\\" ]; [ ! -e \\\"/usr/local/bin/$dst\\\" ]; ln -svT \\\"$src\\\" \\\"/usr/local/bin/$dst\\\"; done # buildkit|36B\"},{\"created_by\":\"RUN /bin/sh -c set -eux; savedAptMark=\\\"$(apt-mark showmanual)\\\"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev g++ gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev \",\"id\":\"<missing>\",\"size\":\" sha256sum -c -; wget -O python.tar.xz.asc \\\"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc\\\"; GNUPGHOME=\\\"$(mktemp -d)\\\"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys \\\"$GPG_KEY\\\"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf \\\"$GNUPGHOME\\\" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch=\\\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\\\"; ./configure --build=\\\"$gnuArch\\\" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test \\\"${gnuArch%%-*}\\\" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc=\\\"$(nproc)\\\"; EXTRA_CFLAGS=\\\"$(dpkg-buildflags --get CFLAGS)\\\"; LDFLAGS=\\\"$(dpkg-buildflags --get LDFLAGS)\\\"; LDFLAGS=\\\"${LDFLAGS:-} -Wl,--strip-all\\\"; arch=\\\"$(dpkg --print-architecture)\\\"; arch=\\\"${arch##*-}\\\"; case \\\"$arch\\\" in amd64|arm64) EXTRA_CFLAGS=\\\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer\\\"; ;; i386) ;; *) EXTRA_CFLAGS=\\\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer\\\"; ;; esac; make -j \\\"$nproc\\\" \\\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\\\" \\\"LDFLAGS=${LDFLAGS:-}\\\" ; rm python; make -j \\\"$nproc\\\" \\\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\\\" \\\"LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\\\\$\\\\$ORIGIN/../lib'\\\" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \\\\( \\\\( -type d -a \\\\( -name test -o -name tests -o -name idle_test \\\\) \\\\) -o \\\\( -type f -a \\\\( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \\\\) \\\\) \\\\) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \\\\( -name '*tkinter*' \\\\) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, \\\"/usr/local/\\\") == 1) { next }; gsub(\\\"^/(usr/)?\\\", \\\"\\\", so); printf \\\"*%s\\\\n\\\", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(\\\":$\\\", \\\"\\\", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; apt-get dist-clean; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit|35.6MB\"},{\"created_by\":\"ENV PYTHON_SHA256=1e66a7945a48390ee4c2a4268a0e4185884059a13c4aab6d148aa208deea4a76\",\"id\":\"<missing>\",\"size\":\"0B\"},{\"created_by\":\"ENV PYTHON_VERSION=3.13.15\",\"id\":\"<missing>\",\"size\":\"0B\"},{\"created_by\":\"ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305\",\"id\":\"<missing>\",\"size\":\"0B\"},{\"created_by\":\"RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; apt-get dist-clean # buildkit\",\"id\":\"<missing>\",\"size\":\"12MB\"},{\"created_by\":\"ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"id\":\"<missing>\",\"size\":\"0B\"},{\"created_by\":\"# debian.sh --arch 'amd64' out/ 'trixie' '@1787529600'\",\"id\":\"<missing>\",\"size\":\"78.6MB\"}],\"stderr\":\"\"},\"daemon\":{\"rc\":0,\"root_dir\":\"/var/lib/docker\",\"server_version\":\"26.1.5+dfsg1\",\"stderr\":\"\",\"storage_driver\":\"overlay2\"},\"decision\":\"BUILD_RCA_EVIDENCE_READY\",\"disk\":{\"df\":{\"avail_kb\":\"93162792\",\"blocks_kb\":\"123638648\",\"filesystem\":\"/dev/sda1\",\"mountpoint\":\"/\",\"use_percent\":\"22%\",\"used_kb\":\"25401580\"},\"df_rc\":0,\"docker_system_df\":[\"Images|35|8.383GB|1.398GB (16%)\",\"Containers|24|120.6MB|0B (0%)\",\"Local Volumes|5|1.203GB|0B (0%)\",\"Build Cache|99|5.453MB|5.453MB\"],\"docker_system_df_rc\":0},\"dockerfile\":{\"base_image_ref\":\"8020-demonov-shadow:ac7094a76ddc06f376d71a76432af7c2dd10ec7d\",\"bytes\":116,\"copy_lines\":[\"COPY demonov_forward_map /app/demonov_forward_map\"],\"exists\":true,\"instructions\":[\"FROM 8020-demonov-shadow:ac7094a76ddc06f376d71a76432af7c2dd10ec7d\",\"COPY demonov_forward_map /app/demonov_forward_map\"],\"sha256\":\"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8\"},\"holds\":[],\"hostname\":\"core-apps\",\"images_catalog\":{\"rc\":0,\"rows\":[{\"created_at\":\"2026-09-06 21:32:49 +0300 MSK\",\"id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"repository\":\"8020-demonov-shadow\",\"size\":\"140MB\",\"tag\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\"},{\"created_at\":\"2026-09-04 18:53:07 +0300 MSK\",\"id\":\"sha256:008ab480142056d1f0b628e6c17bb6b99b30b8b4f59f24e31d972a4a128a8602\",\"repository\":\"8020-demonov-shadow\",\"size\":\"138MB\",\"tag\":\"ac7094a76ddc06f376d71a76432af7c2dd10ec7d\"},{\"created_at\":\"2026-09-04 18:53:07 +0300 MSK\",\"id\":\"sha256:008ab480142056d1f0b628e6c17bb6b99b30b8b4f59f24e31d972a4a128a8602\",\"repository\":\"8020-demonov-shadow\",\"size\":\"138MB\",\"tag\":\"rehearsal-ac7094a76ddc06f376d71a76432af7c2dd10ec7d\"},{\"created_at\":\"2026-09-02 12:32:44 +0300 MSK\",\"id\":\"sha256:bd87280848771bb8bc18f1d64dd5d0a12ba149af924e9c4d5007002a313a7913\",\"repository\":\"8020-demonov-shadow\",\"size\":\"138MB\",\"tag\":\"db51d82cab9bd39fb7fe24f03790d853b3390a2b\"},{\"created_at\":\"2026-09-02 12:32:44 +0300 MSK\",\"id\":\"sha256:bd87280848771bb8bc18f1d64dd5d0a12ba149af924e9c4d5007002a313a7913\",\"repository\":\"8020-demonov-shadow\",\"size\":\"138MB\",\"tag\":\"rehearsal-db51d82cab9bd39fb7fe24f03790d853b3390a2b\"},{\"created_at\":\"2026-09-02 11:57:25 +0300 MSK\",\"id\":\"sha256:e320554d5914394f28f256e709471adb450fc4a2f69c1880ed2b358400111e4f\",\"repository\":\"8020-demonov-shadow\",\"size\":\"138MB\",\"tag\":\"002f15772f774db5c2818cc1f3c002db2f24468e\"},{\"created_at\":\"2026-09-02 11:57:25 +0300 MSK\",\"id\":\"sha256:e320554d5914394f28f256e709471adb450fc4a2f69c1880ed2b358400111e4f\",\"repository\":\"8020-demonov-shadow\",\"size\":\"138MB\",\"tag\":\"2278a7df9743e8087939f9046c280952b26ec33f\"},{\"created_at\":\"2026-09-02 11:26:39 +0300 MSK\",\"id\":\"sha256:1f48bb34d420084ef12c6523afc3d47fd50e2ab17da7f0ca49c6a65e4043bbba\",\"repository\":\"8020-demonov-shadow\",\"size\":\"137MB\",\"tag\":\"cr0116-test\"}],\"stderr\":\"\"},\"mutation_scope\":\"NONE_READ_ONLY\",\"new_image\":{\"exists\":false,\"rc\":1,\"stderr\":\"Error response from daemon: No such image: 8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd\"},\"prior_build_log\":{\"bytes\":886,\"exists\":true,\"selected_lines\":[\"#2 [internal] load metadata for docker.io/library/8020-demonov-shadow:ac7094a76ddc06f376d71a76432af7c2dd10ec7d\",\"#7 exporting to image\",\"#7 naming to docker.io/library/8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70 done\"],\"sha256\":\"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb\"},\"root_cause_candidate\":\"BASE_IMAGE_PRESENT_NEED_BUILD_CONTEXT_OR_DAEMON_RCA\",\"services\":[{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":13,\"running\":true,\"service\":\"collector\",\"started_at\":\"2026-09-08T05:01:08.70385245Z\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":0,\"running\":true,\"service\":\"relay\",\"started_at\":\"2026-09-06T18:48:20.603414848Z\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":0,\"running\":true,\"service\":\"shadow\",\"started_at\":\"2026-09-06T18:48:20.768190553Z\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":0,\"running\":true,\"service\":\"worker\",\"started_at\":\"2026-09-06T18:48:20.586788319Z\"}],\"stage_path_exists\":false},\"state\":\"COMPLETE\"}\nSIGNALBOT042RCA_HOLDS=[]\nSIGNALBOT042RCA_ROOT_CAUSE_CANDIDATE=BASE_IMAGE_PRESENT_NEED_BUILD_CONTEXT_OR_DAEMON_RCA\nSIGNALBOT042RCA_DECISION=BUILD_RCA_EVIDENCE_READY\nSIGNALBOT042RCA_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION\n"
}