Comments (2)
Welcome back @seporaitis,
One of the major reason of the slowdown on my part is that I lost access to a proper test platform. Several PRs unfortunately were not backward compatible (e.g. #69 inverses the priority of configuration vs environment variables, #78 adds the dependency to boto3, etc..).
A few notes:
- Regarding the use of boto3, one of the advantages of the yum-s3-iam module for its users is that it does not have dependencies that are not typically part of the standard distributions. At the time RHEL6/CentOS6 did not have a boto3 package (and making one was not easy because of the dependencies). It's certainly an option, but it would limit the target to distributions that have a boto3 package (or put a significant burden on users of those that don't).
- Trying to support too many syntaxes for the URLs has made some parts of the code too complicated. It's not an easy problem either (hostname validation, user-friendliness, etc.).
- As you have probably seen, we relied on a blog entry as a tutorial, and that blog was deleted.
from yum-s3-iam.
Thank you for the detailed answer @mbrossard it is very helpful.
Re: testing environment. I have set-up a basic GitHub Workflow that builds the RPM. It is my first GW, and just runs make rpm
on CentOS 6/7. Probably it can be improved further (I saw a mention of rpmlint
while reacquainting myself with rpm/yum). Next week/end I'll look for setting up a testing environment that could run the tests and maybe even could do integration testing. My thoughts are towards setting up a separate AWS account under my personal organization, with some limited credentials and have secrets set-up in this repo, so that various cases could be tested using GitHub Workflow. S3 buckets are free and the price for a few megabytes - negligible. How did the previous testing platform look/work?
Re: boto3 - very good point. My thoughts now are somewhere between:
- vendoring full or part of boto, responsible for credentials;
- re-implement a simple version of credential retrieval, so that it matches what people expect from boto3;
- provide an option to plug-in
boto3
as needed; - keep it as is, but document the limitations and/or workarounds for various use-cases.
All carry trade-offs, so before I change anything I will try to establish a somewhat good enough CI setup.
from yum-s3-iam.
Related Issues (20)
- Getting 403 Access Forbidden when accessing repomd.xml HOT 3
- CertificateError for bucket name with dots HOT 3
- s3iam.py fails when running outside of EC2 HOT 2
- fails to work in cn-north-1 HOT 3
- error in v1.1.1 when region is NoneType HOT 7
- Rename to yum-s3-iam-plugin HOT 2
- http[s]://s3.amazonaws.com/<bucket> URLs don't work HOT 5
- Problems using IAM role HOT 9
- Special value "_none_" for repository proxy is not handled correctly HOT 3
- Getting occasional failures which I would expect retries to handle
- Stop building with variable "Name:" in .spec file HOT 1
- Rename git repo to yum-plugin-s3-iam, to match RPM name HOT 1
- Using the s3 plugin with DNF HOT 9
- S3 URL deprecation
- S3 will stop accepting requests signed using SigV2 in all regions on June 24, 2019
- Link to instructions is dead. HOT 3
- Enumerate use-cases. HOT 2
- yum check-update --security command is not being handled by s3iam plugin HOT 4
- IMDSv2 breaks plugin
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yum-s3-iam.