starfield-datastore 0.1.0

Pull-through artifact cache with fail-closed validation, an S3 mirror served by presigned redirect, and a credential model that keeps upstream secrets in one place
Documentation
# /etc/starfield-datastore/env — mode 0600, owner starfield.
# Read by both systemd units. Fill in the angle-bracket values.

STARFIELD_CACHE_DIR=/var/lib/starfield-datastore/cache
STARFIELD_BUCKET=s3://<bucket>/<prefix>
STARFIELD_BIND=<tailnet-ip>:8080
AWS_REGION=<region>

# S3 writer credentials: prefer an instance profile and leave these unset.
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=

# Upstream archive credentials, one of:
#   - bearer tokens here, one per host (host uppercased, non-alphanumerics -> _)
# STARFIELD_TOKEN_URS_EARTHDATA_NASA_GOV=
# STARFIELD_TOKEN_ARCHIVE_STSCI_EDU=
#   - or /var/lib/starfield-datastore/.netrc (mode 0600), consulted automatically
#   - or 1Password, when the binary is built with --features onepassword
# STARFIELD_OP_ITEM=op://<vault>/<item>