carvel-dev / carvel-dev/vendir

Support fetching artifacts by OS & architecture

Open
#157 3 comments 1 reaction 0 assignees View on GitHub
carvel-accepted discussion enhancement
Dominant language
Go
Stars
399
Forks
73
Avg merge
2h 53m
Merged PRs (30d)
2

Description

**Describe the problem/challenge you have**
I want my project to run on different platforms and so depending on which platform I am building for I want to download different artifacts.

For example, [this vendir.yml](https://github.com/vmware-tanzu/carvel-vendir/blob/d115f5e139311531fcc6843eeca2921299edf751/examples/github-release/vendir.yml#L52) pulls in `kubectl` for linux/amd64.

**Describe the solution you'd like**
I would prefer a solution where I don't have to download artifacts for *all* platforms, so maybe this needs to be an argument that's passed to `vendir sync`.

For the example given above it seems like we could allow this to work:
```yaml
url: https://dl.k8s.io/release/{tag}/bin/{os}/{arch}/kubectl
```

**Anything else you would like to add:**
This probably only makes sense for certain kinds of artifacts: GitHub releases, HTTP maybe.

---
Vote on this request

This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.

👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"

We are also happy to receive and review Pull Requests if you want to help working on this issue.

Contributor guide

Open the contributing guide

Research direction

Start with the linked examples/github-release/vendir.yml and the vendir sync entry point, then trace how GitHub release and HTTP artifacts are selected. Done means the supported artifact types can select the requested OS and architecture without downloading artifacts for every platform.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, go
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.