carvel-dev / carvel-dev/vendir
feat: use caching for `directories` entries
- Dominant language
- Go
- Stars
- 399
- Forks
- 73
- Avg merge
- 2h 53m
- Merged PRs (30d)
- 2
Description
**Describe the problem/challenge you have**
**See discussion below: I changed this request to a "implement caching request"**
Vendir is really slow if you clone multiple repos and sources.
**Describe the solution you'd like**
It would be nice to have a cache feature on entries in `directories` such that vendoring is **faster**
So in the below: `vendir` would cache the sources from `&ref` once and then the copying of the files for all entries would speed up tremendously.
```yaml
apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: ./bla
contents: &ref
- path: .
git:
url: https://gitlab.com/data-custodian/custodian.git
ref: main
depth: 1
newRootPath: tools
- path: /a
contents: *ref
- path: /b
contents: *ref
- path: /c
contents: *ref
- path: /d
contents: *ref
```
> [!NOTE]
> Vendir should have a two step process, first download all sources (for which it does not have a cache entry)
> next distribute all files in the `directories` entries. This will also make parallel processing trivial for the second step, parallel execution for the first step might be more tricky depending on how the download tools work.
---
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
Assessment
This issue has not been assessed yet.