1.2 KiB
ARR guarded object storage
ManagedObjectStore owns an immutable staged-to-committed workflow for source and generated artifacts. Canonical keys
contain only opaque job/attempt identity and role-controlled filenames; user filenames never enter object keys.
Every object carries job, attempt, state, role, SHA-256, exact byte size and MIME metadata. Upload snapshots and hashes the local file, conditionally creates a staged object, conditionally copies to the committed key, verifies committed bytes, and deletes only the exact staged object.
ARR2 OSS requirements:
- configured region matches the bucket and server-side encryption is enabled;
- versioning is neither Enabled nor Suspended;
- bucket ACL is
privateorpublic-read, neverpublic-read-write; - every ARR-managed object is explicitly written with object ACL
private; - credentials come from the SDK environment/RAM/STS chain and ambient desktop proxies are disabled.
The active flow materializes the committed source into a private temporary directory before processing. No public URL, Provider, fetch grant or external downloader is used. Legacy grant/output-exchange modules remain inactive compatibility code.