gitpod-io / gitpod-io/leeway

Support more remote cache destinations

Open
#79 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
183
Forks
27
PR merge metrics
No merged PRs in 30d

Description

From what I've gathered in https://github.com/gitpod-io/leeway/blob/1d0912e3ab05a3bfd44c347197d51e00d5d17ca4/cmd/root.go#L177-L189

there are only two cache storage providers: GCS and MINIO. I would love to see the adoption of more services, but I understand the potential hassle and the size of this request. With that said, I think something that could help is https://github.com/rclone/rclone. It supports like, everything out there and could be used to store the remote cache on not just standard services like Azure Blob Storage or AWS S3, but also places which everyone has access too, like Google Drive, OneDrive and others.

In addition to all of these, rclone also supports custom FTP and HTTP remotes, which some folks would for sure appreciate being options. I've been using rclone for about 2 years now and had an awesome experience with it, it's very easy to deal with.

Drawbacks

The biggest con of implementing rclone specifically is the fact it is a CLI, not a library, which could limit us in some ways (such as error reporting and checking).

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 cmd/root.go lines 177-189 to understand how the existing GCS and MINIO cache providers are selected. Evaluate the proposed rclone approach and its CLI tradeoffs; done means the build system can use additional remote cache destinations with clear provider behavior and error handling.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, azure, gcp, go
Domain
build-system, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.