Skip to content

Release to staging: honor DDS's upload_mode "proxy" hint in FolderIngest (ref #306834) - #83

Merged
oskaresparza merged 1 commit into
stagingfrom
development
Oct 8, 2026
Merged

oskaresparza merged 1 commit into
stagingfrom
development

Conversation

@oskaresparza

Copy link
Copy Markdown
Collaborator

Promotes development to staging. Ref #306834.

What's in it

  • BeginResult.upload_mode reads the server's hint from the begin response, at the top level or inside s3.
  • FolderIngest(..., upload_mode="auto"): when begin says "proxy", every file is sent whole through POST /api/v1/ingest/stage (form fields session_id and rel_path, plus a file part) instead of the presigned S3 targets.
    • The client never connects to the storage itself. That avoids the client-side CERTIFICATE_VERIFY_FAILED: Hostname mismatch against sggw.pdmz.eea.
    • "proxy" forces this path, and "direct" keeps the presigned uploads.
  • IngestOutcome.upload_mode says which path was used. In proxy mode, commit gets no S3 ETags.

Tests

566 passed, 1 skipped. New tests cover the hint, the overrides and the /stage request shape. Not yet run against the real DDS.

🤖 Generated with Claude Code

- BeginResult reads upload_mode from the begin response (top level, or
  inside s3).
- FolderIngest(upload_mode="auto"): when begin says "proxy", every file is
  sent whole through POST /api/v1/ingest/stage (session_id + rel_path form
  fields, file part) instead of the presigned S3 targets, so the client
  never connects to the storage itself (avoids the client-side TLS
  hostname mismatch). "proxy" forces it, "direct" keeps presigned uploads.
- IngestOutcome.upload_mode says which path was used; commit gets no S3
  ETags in proxy mode.
- Tests for the hint, the overrides and the /stage request shape.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Redmine-Hook: v1
@oskaresparza
oskaresparza merged commit 2d41311 into staging Oct 8, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant