ruby / ruby/rubygems

Add support for S3 as source for bundler

Open
#9,364 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bundler
Dominant language
Ruby
Stars
4k
Forks
1.9k
Avg merge
1d 2h
Merged PRs (30d)
81

Description

Describe the problem as clearly as you can

Rubygems supports AWS S3 (hopefully also other object stores) as source for gems. See https://guides.rubygems.org/using-s3-source/

However, bundler does not support the same feature.
It should support also AWS S3 (and hopfeully other object stores) as source.

My Gemfile should be able to look like this:

source "https://rubygems.org"

source 's3://my_bucket' do
  gem 'my_secret_gem'
end
Did you try upgrading rubygems & bundler?

Sure. This is related to a old/closed issue: #3382

Post steps to reproduce the problem

N/A

Which command did you run?

N/A

What were you expecting to happen?

I think this repo from like 10 year ago describe very well what I expect to happen https://github.com/tmaier/docker-s3-gemserver
I should be able to define a s3 bucket as source for my private gems. I should be able to provide the necessarz secrets via env variables, so that I can access a private bucket.

What happened instead?

S3 is just partially supported. By rubygems, but not bundler

If not included with the output of your command, run bundle env and paste the output below

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Bundler's handling of the Gemfile source form shown in the issue, then review the Rubygems S3 source guide and the prior issue #3382. Done means Bundler can resolve private gems from an S3 bucket, with credentials supplied through environment variables, while preserving the existing rubygems.org source behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, ruby
Domain
cloud, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.