The package cache creates every Nexus proxy with strictContentTypeValidation. A raw proxy has no type contract, and Nexus cannot type a GPG keybox: on a fresh cache it answers the Node.js release keyring (raw.githubusercontent.com/nodejs/release-keys/.../pubring.kbx) with 404 "Content type could not be determined". The Node.js installer from #1108 fetches that keyring, so on main (run 39668792538) Workspace debian:13 fails in `make install-lint`, and Workspace ubuntu, centos and manjaro fail in `test-external`, whose URL check reaches the same file through the cache. The four raw proxies (raw-githubusercontent, raw-codeload-github, raw-packagist, raw-alpine) now share the storage block with validation switched off. Every typed proxy (apt, pypi, npm, helm, rubygems, go, yum) keeps strict validation. The installer's integrity check does not depend on Nexus: it verifies the SHASUMS file with gpgv and the tarball with SHA-256. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Docker Runner Scripts 🐳
Shell helpers that run inside the infinito runner container defined by
the top-level compose.yml. They cover container
lifecycle (entry, healthcheck) and integration with peer compose
services (e.g. the registry-cache pull-through proxy).
Scope 📋
- This directory MUST contain only scripts that execute inside the
infinitocontainer, either as the container entrypoint, as a DockerHEALTHCHECK, or as asystemdunit hook. - This directory MUST NOT host host-side tooling. Scripts that run on
the developer or CI host belong under their workflow-specific path
(for example
scripts/tests/,scripts/image/,scripts/meta/). - This directory MUST NOT host application logic that belongs to an Ansible role.
Bind-mounted scripts 🔗
A script that is bind-mounted from this directory into a fixed in-container path (see compose.yml) MUST keep its git executable bit, because Docker bind-mounts preserve host file permissions and the in-container caller (systemd, dockerd, the entrypoint) cannot recover from a non-executable mount.
When a new script is added with a bind-mount target, its purpose and
in-container target path SHOULD be documented at the call site (the
matching compose/<service>/ README, or compose.yml.md).
Distro portability 🌐
A script in this directory MUST work across every distro variant that
the runner image is built for (currently Debian, Ubuntu, Arch, Fedora,
CentOS). Tool availability differs across these variants, so a script
SHOULD branch on command -v <tool> rather than on distro IDs.