Comments (12)
@willejs I had some thoughts about it, and I see two options for now:
-
As far as I found, aws cli does not support anonymous credentials, but it seems that golang client does. This may work out, I need to investigate and write some tests for this.
-
More complicated solution. We can add a special option to publish index file and chart files with both public and private urls.
This way, the plugin user will keep working with
s3://...
urls when pushing charts, e.g.:helm s3 init s3://public-repo-bucket helm repo add public-repo s3://public-repo-bucket helm s3 push ./foo-1.2.3.tgz public-repo --publish # note --publish flag
And, because chart will have both public and private url, other users can only use Helm itself and be able to fetch index and chart by public urls, e.g.:
helm repo add public-repo https://public-repo-bucket.s3.amazonaws.com helm fetch public-repo/foo # will use https://public-repo-bucket.s3.amazonaws.com/foo-1.2.3.tgz
This solution also needs investigation and verification that Helm will be able to fetch chart by public url when there is one.
from helm-s3.
Unfortunately, #46 is not acceptable as it will break some functional, for example, it will be impossible to delete charts from the index when there are http(s)://
urls instead of expected s3://
. Also, it does not integrate with the reindex operation.
I'm in the process of writing a proposal about public repositories and solving the issue in a way that will keep all the existing features of the plugin working. I'm going to publish it and welcome anyone for the review.
from helm-s3.
Hey folks, I've opened a PR with a proposal, welcome if you're interested. Please check if I'm missing something there. Also, I'm open to alternative solutions if you have ideas.
from helm-s3.
Hi @hypnoglow, In short I want to publish my charts to a public S3 bucket, and allow anyone to download them. So the helm s3 plugin either needs to support an anonymous AWS credential provider or publish the charts with only https:// urls instead of s3:// urls.
The plugin is really useful for managing a private chart repo on S3, but i want my charts to be public, so i need to use https:// s3 bucket urls instead, along side the new --acl
flag with 'public-read' flags.
Does this make sense?
from helm-s3.
We are highly interested in this option. Would be cool if we could use that in near future. Our use case is that we use the helm s3 plugin to push to a public s3 bucket and we want to rewrite the URLs from s3:// to https://...
from helm-s3.
@skliche @willejs - Agreed - this would be an awesome way to managed public chart repos like the one we currently provide: https://github.com/cloudposse/charts
@hypnoglow
The helm-s3
plugin does a better job of managing charts in the S3 bucket than we do, but we need to expose the public bucket url in the index: https://charts.cloudposse.com` and not the s3://
bucket.
As far as our use-case goes, we don't need to support the s3://
urls (and probably @skliche as well). Would it simplify the implementation to just support overiding the base URL?
from helm-s3.
@osterman yes you are right, we use the s3 plugin only to push to the s3 bucket and expose only https URLs. By the way, I created a fork where I merged this PR and we are using it for almost a month now without a problem.
from helm-s3.
I had a look at this and put this together #46
I am not sure its the best approach, but it does work 😒
from helm-s3.
Hi @willejs , thanks for your interest.
Sorry, but I don't get what do you mean by public URLs? Can you please describe your use case in detail? How do you want to upload charts and how you want them to be downloaded?
I think it's easy to get into a mess here. Basically, the helm itself manages repos and their corresponding URLs. And helm has somewhat poor support about multiple URLs per chart entry in the index. But let's see, maybe we can make something useful.
from helm-s3.
@hypnoglow any thoughts?
from helm-s3.
I think #46 is perfect =)
from helm-s3.
Thanks @hypnoglow !
from helm-s3.
Related Issues (20)
- Bad EOL characters in shell scripts HOT 2
- Reindex timeout flag is not documented HOT 1
- Plugin cannot connect, dispite AWS CLI connecting without issue HOT 1
- helm s3 push fails with an error HOT 4
- Wrong sort order for pre-releases above 9
- Helm s3 plugin cannot pull public s3 charts anymore HOT 1
- add/replace chart in the index: Invalid Semantic Version HOT 1
- Version number with `+` gets double URL escaped when using relative URLs
- Vulnerability found in helm-s3 v0.14.0 HOT 1
- Error installing last plugin version on windows HOT 1
- CVEs found in helm-s3 v0.14.0 HOT 1
- fork/exec /home/ubuntu/.helm/plugins/helm-s3.git/bin/helm-s3 download: no such file or directory HOT 3
- reindex does not report which chart throws an error HOT 1
- Unable to install helm-s3 plugin through Github runner HOT 1
- Error when install: env: can't execute 'bash': No such file or directory HOT 5
- helm s3 init failure with version 0.15.0 HOT 3
- repository.yaml not found if permissions on $KUBECONFIG are bad HOT 3
- Reindex is too slow in repos with thousands of charts HOT 3
- No results found HOT 3
- Vulnerability in helm v3.13.2 HOT 1
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 helm-s3.