Skip to content

fix(file-service): restore configured S3 uploads - #269

Open
devin-ai-integration[bot] wants to merge 3 commits into
mainfrom
devin/1788237244-file-upload-s3-fix
Open

devin-ai-integration[bot] wants to merge 3 commits into
mainfrom
devin/1788237244-file-upload-s3-fix

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Sep 1, 2026

Copy link
Copy Markdown

Summary

  • Symptom / blast radius: file uploads return 500 storage_error for every user running the affected file-service deployment because writes are sent to a nonexistent S3 bucket.
  • Root cause (config/env): both the production image and the file-service Helm defaults enable FILE_UPLOAD_ALWAYS_FAIL, overriding the application's safe default and redirecting uploads away from S3_BUCKET.
  • Fix: remove the image-level default, set the Helm deployment default to false, guard both production configuration surfaces with production_deployments_do_not_force_upload_failures, and update operator recovery guidance to match the healthy defaults while preserving explicit per-tenant overrides.
  • Verification: reproduced the incident response, then rebuilt the image and confirmed the CSV upload returns HTTP 201 and creates the expected LocalStack S3 object. The browser flow passed through the React client and API gateway with FILE_UPLOAD_ALWAYS_FAIL genuinely unset; the uploaded file was visible, openable, downloadable, and searchable. Screen recording. cargo test (25 passed), cargo fmt --check, cargo clippy --all-targets -- -D warnings, script/YAML validation, and Helm template rendering also pass.

Independent incident run; compare with #267. This version additionally fixes and regression-tests the Helm deployment default and refreshes its operator guidance.

Link to Devin session: https://app.devin.ai/sessions/8ce85ee2f7784df090e3f3d1ddaf9e7f
Open in Devin Desktop: https://app.devin.ai/desktop/session/8ce85ee2f7784df090e3f3d1ddaf9e7f?variant=devin


Devin Review

Status Commit
⚪ Not started

Run Devin Review

Devin Review (Staging)
Devin Review

Co-Authored-By: bot_apk <apk@cognition.ai>
@devin-ai-integration
devin-ai-integration Bot requested a review from a team September 1, 2026 04:39
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

devin-ai-integration[bot]

This comment was marked as resolved.

Co-Authored-By: bot_apk <apk@cognition.ai>
devin-ai-integration[bot]

This comment was marked as resolved.

Co-Authored-By: bot_apk <apk@cognition.ai>
@devin-ai-integration

Copy link
Copy Markdown
Author

Runtime verification

The browser upload passed through the React client and API gateway with FILE_UPLOAD_ALWAYS_FAIL genuinely unset, so the rebuilt image default governed the result: snyk-vulnerability-report-unique.csv uploaded with HTTP 201, appeared in the drive and search, downloaded byte-identically, and existed in the configured LocalStack S3 bucket.

Screen recording

Upload succeeded

File detail

Search result

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.

0 participants