Drop Runbook
The Phenom media upload and drop service, used for receiving and staging media files from Phenom users.
Source:
curl https://drop.thephenom.app → HTTP 200 (envoy server, no Cloudflare proxy); /health returns HTML not JSON
C2PA signed · SanMarcSoft AI content credential
What it is
drop.thephenom.app is the Phenom media upload and drop service. It provides an endpoint for users and automated pipelines to upload media files (images, video, documents) to the Phenom platform. It is a core dependency for any content-ingestion or media-provenance workflow. Downtime affects content submission and C2PA signing pipelines.
Deployment chain
| Layer | Value |
|---|---|
| URL | https://drop.thephenom.app |
| DNS | Cloudflare (DNS-only, grey-cloud) — not CF-proxied; server is envoy |
| Hosting | HTTP service (AWS ECS Fargate or App Runner – verify in AWS console) |
| Region | us-east-1 |
| AWS profile | phenom |
| Storage backend | AWS S3 (phenom media bucket, us-east-1) |
Note: Confirm the exact hosting mechanism (ECS Fargate service name or App Runner service ARN) via the AWS console under ECS or App Runner in us-east-1.
Common operations
Check service health (App Runner)
aws apprunner list-services \
--profile phenom \
--region us-east-1 \
--query 'ServiceSummaryList[?contains(ServiceName,`drop`)].{Name:ServiceName,Status:Status,URL:ServiceUrl}'
Restart / redeploy (App Runner)
# Get the service ARN first
SERVICE_ARN=$(aws apprunner list-services \
--profile phenom --region us-east-1 \
--query 'ServiceSummaryList[?contains(ServiceName,`drop`)].ServiceArn' \
--output text)
# Trigger a new deployment
aws apprunner start-deployment \
--service-arn "$SERVICE_ARN" \
--profile phenom \
--region us-east-1
Restart / redeploy (ECS Fargate, if applicable)
aws ecs update-service \
--cluster phenom-dev-cluster \
--service phenom-drop \
--force-new-deployment \
--profile phenom \
--region us-east-1
Check S3 upload bucket
# List recent uploads to verify ingestion is working
aws s3 ls s3://phenom-media-uploads/ \
--recursive \
--human-readable \
--summarize \
--profile phenom \
--region us-east-1 | tail -20
View logs
aws logs tail /aws/apprunner/drop-thephenom-app \
--follow \
--profile phenom \
--region us-east-1
Verify it is working
curl -si https://drop.thephenom.app/ | grep -E "^HTTP|^server"
# Expected: HTTP/2 200, server: envoy (no cf-ray — drop is NOT behind CF proxy)
curl -si https://drop.thephenom.app/health | grep -E "^HTTP"
# Expected: HTTP/2 200 (note: /health returns the app HTML, not a JSON payload)
Common failure modes
| Symptom | Likely cause | Remediation |
|---|---|---|
| 502 / 503 on upload | App Runner or ECS task crashed | Check CloudWatch logs; restart service |
| Upload succeeds but file not in S3 | IAM role missing S3 write permissions | Check task/service IAM role for s3:PutObject on the media bucket |
| Large file uploads timeout | App Runner request timeout (default 120s) | Increase timeout in App Runner service configuration |
| Cloudflare 524 (origin timeout) | Origin taking too long for large uploads | Check CF proxy timeout settings; consider bypassing CF proxy for large uploads |
| 413 Request Entity Too Large | CF or origin payload size limit | Increase CF upload limit or implement chunked/multipart upload |
Related
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.