S3 module wraps aws-sdk-s3 against MinIO. Two clients on purpose: - The bytes-mover client points at S3_ENDPOINT (internal minio:9000 over the storage Docker network). - The presign-only client points at S3_PUBLIC_ENDPOINT (https://s3.asxp.io via Traefik) so the URLs it mints resolve from a browser. force_path_style on both because subdomain-style URLs would require wildcard DNS under s3.asxp.io. AdminAuth is a tiny Rack middleware that 401s any request under /admin unless HTTP Basic credentials match ADMIN_USER / ADMIN_PASSWORD from env. Fails closed if either env var is missing. |
||
|---|---|---|
| .. | ||
| admin_auth.rb | ||
| db.rb | ||
| invoice.rb | ||
| invoice_pdf.rb | ||
| mailer.rb | ||
| rate_limit.rb | ||
| s3.rb | ||