Add endpoint to request upload token to S3 bucket
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 38/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- aws, typescript
- Domain
- cloud, infrastructure
Research direction
Start with src/lib/server/aws/vars.ts and the repository's documentation, then review the linked appbuilder-terraform issue 14 to understand the bucket configuration owned by the AppBuilders team. Done here means the TypeScript variables and documentation reflect the Support Data upload bucket without duplicating the Terraform work.
Written by the indexing model from the issue text.
Description
Technical Details
Update the documentation and src/lib/server/aws/vars.ts. Add an endpoint in /(api)/support/[id=uuid]/token? (need to add uuid route params filter as well)
Summary
We are adding a new role to Scriptoria: Support Agent. In Scriptoria, the Support Agent will be creating SupportData requests. These requests will use a uuid as the id of the request. The reason for this is that we want to be able to pass along a URL to and end-user that is not guessable. They will be entering the URL into Scripture App Builder, which will send a request to Scriptoria to retrieve a federated token with write access to a S3 Bucket + path (based on the SupportData request id). This will be an unauthenticated request since the end-user is not a Scriptoria user. Scriptoria will make an API call to BuildEngine (this project) to do the work of generating the federated token (since all interaction with AWS is done by BuildEngine). This will be similar to how BuildEngine creates a federated token for project upload/download.
We will also need to support creating a read token for the Support Agent. In Scriptoria, this will be an authenticated request, only allowed by Support Agents (and Super Users). Scriptoria will make an API call to BuildEngine to do the work of generating the federated token for reading.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 2
- Avg merge
- 2h 13m
- Merged PRs (30d)
- 1
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sillsdev/appbuilder-buildengine-api
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
sillsdev/appbuilder-buildengine-api#83 · 3 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 3/5 1-2 days Newbie friendliness 42/100
All issues in sillsdev/appbuilder-buildengine-api
Similar issues
-
keytrace logo svg?Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
cyclofinance/cyclo.site#448 ·
-
[sanity-plugin-media] Searching for a word with an apostrophe shows an error instead of resultsOpen@sanity-io/studio bug sanity-plugin-media Sieve-Agent
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
pingdotgg/t3code#15221 · 1 comment ·
Maintainers usually reply within 1 day