diff --git a/runtime/history/SIGNALBOT-260908-DEPLOY-BUILD-RCA-042RCA.json b/runtime/history/SIGNALBOT-260908-DEPLOY-BUILD-RCA-042RCA.json new file mode 100644 index 00000000..d1f7862e --- /dev/null +++ b/runtime/history/SIGNALBOT-260908-DEPLOY-BUILD-RCA-042RCA.json @@ -0,0 +1,38 @@ +{ + "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\":\"\",\"size\":\"0B\"},{\"created_by\":\"ENV PYTHONUNBUFFERED=1\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"ENV PYTHONDONTWRITEBYTECODE=1\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"COPY demonov_forward_map /app/demonov_forward_map # buildkit\",\"id\":\"\",\"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\":\"\",\"size\":\"9.62MB\"},{\"created_by\":\"COPY deploy/8020-shadow/requirements-runtime.txt /tmp/requirements-runtime.txt # buildkit\",\"id\":\"\",\"size\":\"98B\"},{\"created_by\":\"WORKDIR /app\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"CMD [\\\"python3\\\"]\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst=\\\"$(echo \\\"$src\\\"\",\"id\":\"\",\"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\":\"\",\"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\":\"\",\"size\":\"0B\"},{\"created_by\":\"ENV PYTHON_VERSION=3.13.15\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305\",\"id\":\"\",\"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\":\"\",\"size\":\"12MB\"},{\"created_by\":\"ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"# debian.sh --arch 'amd64' out/ 'trixie' '@1787529600'\",\"id\":\"\",\"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" +} diff --git a/runtime/history/SIGNALBOT-260908-DEPLOY-BUILD-RCA-042RCA.txt b/runtime/history/SIGNALBOT-260908-DEPLOY-BUILD-RCA-042RCA.txt new file mode 100644 index 00000000..c8812ba0 --- /dev/null +++ b/runtime/history/SIGNALBOT-260908-DEPLOY-BUILD-RCA-042RCA.txt @@ -0,0 +1,40 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SIGNALBOT-260908-DEPLOY-BUILD-RCA-042RCA +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=signalbot-cr0116-deploy-build-rca +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=8ffa003fba02eddef69895d3849a53be6dcb1f763d6187fbe3caa9dd5c92bf18 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=088b946da18bf8e677320e6542369813d66cf19eb8239670d8eab893db738c67 +SANITIZED_OUTPUT_SHA256=088b946da18bf8e677320e6542369813d66cf19eb8239670d8eab893db738c67 +OUTPUT_BEGIN +ERROR_REGISTER_CHECK=OK +REFERENCE_CHECK=OK +AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED +SB042RCA_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":"","size":"0B"},{"created_by":"ENV PYTHONUNBUFFERED=1","id":"","size":"0B"},{"created_by":"ENV PYTHONDONTWRITEBYTECODE=1","id":"","size":"0B"},{"created_by":"COPY demonov_forward_map /app/demonov_forward_map # buildkit","id":"","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":"","size":"9.62MB"},{"created_by":"COPY deploy/8020-shadow/requirements-runtime.txt /tmp/requirements-runtime.txt # buildkit","id":"","size":"98B"},{"created_by":"WORKDIR /app","id":"","size":"0B"},{"created_by":"CMD [\"python3\"]","id":"","size":"0B"},{"created_by":"RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst=\"$(echo \"$src\"","id":"","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":"","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":"","size":"0B"},{"created_by":"ENV PYTHON_VERSION=3.13.15","id":"","size":"0B"},{"created_by":"ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305","id":"","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":"","size":"12MB"},{"created_by":"ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","id":"","size":"0B"},{"created_by":"# debian.sh --arch 'amd64' out/ 'trixie' '@1787529600'","id":"","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"} +SIGNALBOT042RCA_HOLDS=[] +SIGNALBOT042RCA_ROOT_CAUSE_CANDIDATE=BASE_IMAGE_PRESENT_NEED_BUILD_CONTEXT_OR_DAEMON_RCA +SIGNALBOT042RCA_DECISION=BUILD_RCA_EVIDENCE_READY +SIGNALBOT042RCA_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 687c7e4a..d1f7862e 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,27 +1,27 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "NEWFI-260908-A-STAGINGEDGE-APPLY10", - "status": "BLOCKED", - "rc": 2, + "command_id": "SIGNALBOT-260908-DEPLOY-BUILD-RCA-042RCA", + "status": "OK", + "rc": 0, "host": "pve01", - "mode": "change", - "component": "newfi-staging-reuse-existing-cert-route-dns", - "started_at_utc": "2026-09-08T06:59:36Z", - "finished_at_utc": "2026-09-08T06:59:50Z", + "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": "efc78aad8ac8bb2feb2b74fce6a2243ca6cddea1d1611fc104872290ec27d250", + "command_sha256": "8ffa003fba02eddef69895d3849a53be6dcb1f763d6187fbe3caa9dd5c92bf18", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "BLOCKED", + "result_contract_status": null, "result_contract_error": null, - "command_rc": 2, + "command_rc": 0, "changes_made": false, "rollback_started": false, "rollback_restored": null, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "5a76f6a6032c83d859f6247ac143b6da1f979f0ee0c2f901332c6ab8622d609a", - "sanitized_output_sha256": "54d50effa6e5459f82346743be0a7ad50b15c2844d470d98fccf1a8602519ed4", + "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": "APPLY10_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY10\nCOMPONENT=newfi-staging-reuse-existing-cert-route-dns\nMODE=change\nERROR_REGISTER_CHECK=OK\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nREFERENCE_CHECK=OK\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nPRIOR_APPLY9_HISTORY_SHA256=4a5422068e74f94656c8e0b931aa1649e9e89780beb88ac4c7853bb804a6011e\nPORTAL_PRODUCT_STATE_GATE=PASS\nSTAGING_PREFLIGHT={\"backend_ip\":\"[PRIVATE_IP]\",\"local_http\":\"503\"}\nAPPLY10_BLOCKED_REASON=EXISTING_CERT_OR_RENEWAL_VERIFY_FAIL:1:\nFINAL_DECISION=BLOCKED_NEWFI_STAGING_APPLY10_EXISTING_CERT_OR_RENEWAL_VERIFY_FAIL:1:\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260908-A-STAGINGEDGE-APPLY10\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"BLOCKED\",\"version\":1}\n" + "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\":\"\",\"size\":\"0B\"},{\"created_by\":\"ENV PYTHONUNBUFFERED=1\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"ENV PYTHONDONTWRITEBYTECODE=1\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"COPY demonov_forward_map /app/demonov_forward_map # buildkit\",\"id\":\"\",\"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\":\"\",\"size\":\"9.62MB\"},{\"created_by\":\"COPY deploy/8020-shadow/requirements-runtime.txt /tmp/requirements-runtime.txt # buildkit\",\"id\":\"\",\"size\":\"98B\"},{\"created_by\":\"WORKDIR /app\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"CMD [\\\"python3\\\"]\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst=\\\"$(echo \\\"$src\\\"\",\"id\":\"\",\"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\":\"\",\"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\":\"\",\"size\":\"0B\"},{\"created_by\":\"ENV PYTHON_VERSION=3.13.15\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305\",\"id\":\"\",\"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\":\"\",\"size\":\"12MB\"},{\"created_by\":\"ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"id\":\"\",\"size\":\"0B\"},{\"created_by\":\"# debian.sh --arch 'amd64' out/ 'trixie' '@1787529600'\",\"id\":\"\",\"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" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 26ddd286..c8812ba0 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,22 +1,22 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY10 -STATUS=BLOCKED -RC=2 +COMMAND_ID=SIGNALBOT-260908-DEPLOY-BUILD-RCA-042RCA +STATUS=OK +RC=0 HOST=pve01 -MODE=change -COMPONENT=newfi-staging-reuse-existing-cert-route-dns +MODE=read-only +COMPONENT=signalbot-cr0116-deploy-build-rca REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=efc78aad8ac8bb2feb2b74fce6a2243ca6cddea1d1611fc104872290ec27d250 +COMMAND_SHA256=8ffa003fba02eddef69895d3849a53be6dcb1f763d6187fbe3caa9dd5c92bf18 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=BLOCKED +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=2 +COMMAND_RC=0 CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null @@ -24,25 +24,17 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=5a76f6a6032c83d859f6247ac143b6da1f979f0ee0c2f901332c6ab8622d609a -SANITIZED_OUTPUT_SHA256=54d50effa6e5459f82346743be0a7ad50b15c2844d470d98fccf1a8602519ed4 +RAW_EVIDENCE_SHA256=088b946da18bf8e677320e6542369813d66cf19eb8239670d8eab893db738c67 +SANITIZED_OUTPUT_SHA256=088b946da18bf8e677320e6542369813d66cf19eb8239670d8eab893db738c67 OUTPUT_BEGIN -APPLY10_BEGIN=true -COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY10 -COMPONENT=newfi-staging-reuse-existing-cert-route-dns -MODE=change ERROR_REGISTER_CHECK=OK -ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 REFERENCE_CHECK=OK -REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED -RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d -PRIOR_APPLY9_HISTORY_SHA256=4a5422068e74f94656c8e0b931aa1649e9e89780beb88ac4c7853bb804a6011e -PORTAL_PRODUCT_STATE_GATE=PASS -STAGING_PREFLIGHT={"backend_ip":"[PRIVATE_IP]","local_http":"503"} -APPLY10_BLOCKED_REASON=EXISTING_CERT_OR_RENEWAL_VERIFY_FAIL:1: -FINAL_DECISION=BLOCKED_NEWFI_STAGING_APPLY10_EXISTING_CERT_OR_RENEWAL_VERIFY_FAIL:1: -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260908-A-STAGINGEDGE-APPLY10","rollback_restored":null,"rollback_started":false,"status":"BLOCKED","version":1} +SB042RCA_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":"","size":"0B"},{"created_by":"ENV PYTHONUNBUFFERED=1","id":"","size":"0B"},{"created_by":"ENV PYTHONDONTWRITEBYTECODE=1","id":"","size":"0B"},{"created_by":"COPY demonov_forward_map /app/demonov_forward_map # buildkit","id":"","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":"","size":"9.62MB"},{"created_by":"COPY deploy/8020-shadow/requirements-runtime.txt /tmp/requirements-runtime.txt # buildkit","id":"","size":"98B"},{"created_by":"WORKDIR /app","id":"","size":"0B"},{"created_by":"CMD [\"python3\"]","id":"","size":"0B"},{"created_by":"RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst=\"$(echo \"$src\"","id":"","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":"","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":"","size":"0B"},{"created_by":"ENV PYTHON_VERSION=3.13.15","id":"","size":"0B"},{"created_by":"ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305","id":"","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":"","size":"12MB"},{"created_by":"ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","id":"","size":"0B"},{"created_by":"# debian.sh --arch 'amd64' out/ 'trixie' '@1787529600'","id":"","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"} +SIGNALBOT042RCA_HOLDS=[] +SIGNALBOT042RCA_ROOT_CAUSE_CANDIDATE=BASE_IMAGE_PRESENT_NEED_BUILD_CONTEXT_OR_DAEMON_RCA +SIGNALBOT042RCA_DECISION=BUILD_RCA_EVIDENCE_READY +SIGNALBOT042RCA_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION OUTPUT_END CHAT_OUTPUT_END