GoogleContainerTools / GoogleContainerTools/skaffold

Support for shared remote cache file

Open
#7,380 2 comments 1 reaction 0 assignees View on GitHub
kind/feature-request priority/p1 triage/discuss
Dominant language
Go
Stars
15.9k
Forks
1.7k
Avg merge
3d 9h
Merged PRs (30d)
10

Description

When using skaffold in CICD workflows with ephemeral workers (github actions), it is still desirable to leverage skaffold caching to avoid unnecessary rebuilds. You can create a hacky shared-cache feature by download and uploading your cache file to a shared location after each run, but this is not ideal and still creates a race condition when multiple workers are running at the same time. Worst case is you just get cache misses in this race condition, but still not a great experience.

It would be nice to be able to set a flag pointing to a remote cache file on GCS for example, and then have some more intelligent logic to update that file in real time. TBD on how careful you would want to be with locking, etc.

This feature is useful for large developer teams to share a single cache file. If developer A has already rebuilt and pushed microservice A to GCR, why does every other developer also have to rebuild that image.

It's unclear to me to what extent `tryImportMissing` helps here.
https://skaffold.dev/docs/references/yaml/#build-local-tryImportMissing

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.