Support Multi-Region Access Points for S3 sources
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 974
- Forks
- 296
- Avg merge
- 6d 14h
- Merged PRs (30d)
- 9
Description
Feature Request
Environment
What hardware/cloud provider/hypervisor is being used to run Ignition? AWS
Desired Feature
We can only provide one source for the config, which can lead to single points of failure especially when relying on S3 buckets tied to one region. Luckily, AWS already implements S3 bucket region fallback with Multi-Region Access Points. Ignition should support multi-region access points as an S3 source.
Multi-region access points use the form arn:aws:s3::<account-id>:accesspoint/<alias>.mrap according to https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPointRequests.html
The current S3 source would need to be modified to allow for S3 access point URLs in ARN format (opaque URLs starting with s3:arn), and https://github.com/coreos/ignition/pull/1264 would accomplish this.
Next, AWS sdk support for multi-region access points is only in aws-sdk-go-v2, so aws-sdk-go (v1) would have to be converted to aws-sdk-go-v2.
Lastly, modifying the code to support downloading sources from multi-region access points.
Contributor 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.
Research direction
Start with the current S3 source implementation and review PR #1264 for support for opaque S3 access point ARNs. Then examine the aws-sdk-go v1 usage and the aws-sdk-go-v2 migration needed for Multi-Region Access Points. Done means an S3 source can download configuration through an ARN such as arn:aws:s3:::accesspoint/.mrap.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, go
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100