railiance-platform/requirements
codex a8fc1a3438
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Prepare immutable application archive transfer and retention admission
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a11538-05ea-7b63-b3c7-a2df5f38898d
2026-10-07 23:23:33 +02:00
..
backup-primary.in Prepare immutable application archive transfer and retention admission 2026-10-07 23:23:33 +02:00
backup-primary.lock Prepare immutable application archive transfer and retention admission 2026-10-07 23:23:33 +02:00
README.md Prepare immutable application archive transfer and retention admission 2026-10-07 23:23:33 +02:00

Primary application archive runtime

Use a dedicated platform-managed backup virtual environment. The app image does not need boto3. backup-primary.in pins the boto3/botocore pair needed for conditional multipart completion; backup-primary.lock also freezes all transitive dependencies and accepted package hashes. Reviewed pair: boto3 1.40.18 / botocore 1.40.76.

After admission, prepare the runtime before a capture window:

uv venv /opt/railiance-platform/backup-venv
uv pip sync --python /opt/railiance-platform/backup-venv/bin/python \
  --require-hashes requirements/backup-primary.lock

These are installation instructions, not an instruction to alter a running workload or enable a schedule. Do not resolve dependencies during a scheduled backup. Node/tool/actor admission remains RPF-WP-0053. Deploy these requirements with the reviewed scripts and record installed hashes. Credentials are delivered separately by the owner; no values belong in this directory.

An offline check with synthetic environment fields on 2026-10-07 proved the exact installed botocore model exposes CompleteMultipartUpload.IfNoneMatch, without provider contact. A presence check does not prove actual custody or provider permissions. Requirements were compiled in /tmp; the comments preserve that command's provenance. Regenerate from this repository's requirements/*.in with uv pip compile --generate-hashes and review the new lock before installation.