Skip to content
Crow CI

Build Cache

Build cache storage, quota and expiry. Caching is disabled until CROW_CACHE_BACKEND is set. See build caching for the pipeline syntax.

  • Name: CROW_CACHE_BACKEND
  • Description: Cache storage backend (local or s3). Empty disables caching.
  • Default: none

  • Name: CROW_CACHE_LOCAL_PATH
  • Description: Directory used by the local backend. Archives are streamed through the server.
  • Default: /var/lib/crow/cache

  • Name: CROW_CACHE_S3_ENDPOINT
  • Description: S3-compatible endpoint for cache storage (e.g. s3.amazonaws.com or minio.example.com:9000). Cache steps up- and download directly via presigned URLs, so the endpoint must be reachable from pipeline steps.
  • Default: none

  • Name: CROW_CACHE_S3_BUCKET
  • Description: S3 bucket name for cache storage.
  • Default: none

  • Name: CROW_CACHE_S3_REGION
  • Description: S3 region of the cache bucket.
  • Default: none

  • Name: CROW_CACHE_S3_ACCESS_KEY
  • Description: S3 access key for cache storage. Stays on the server.
  • Default: none

  • Name: CROW_CACHE_S3_SECRET_KEY
  • Description: S3 secret key for cache storage. Stays on the server.
  • Default: none

  • Name: CROW_CACHE_S3_SSL
  • Description: Use SSL for the S3 cache storage connection.
  • Default: true

  • Name: CROW_CACHE_S3_PATH_STYLE
  • Description: Use path-style addressing for S3 cache storage (required for MinIO and some S3-compatible providers).
  • Default: false

  • Name: CROW_CACHE_S3_PREFIX
  • Description: Key prefix for cache objects in the S3 bucket.
  • Default: cache

  • Name: CROW_CACHE_MAX_REPO_SIZE
  • Description: Maximum total cache size per repository (e.g. 500MB, 10GiB). 0 means unlimited. When a save would exceed the limit, the least recently used caches are evicted; if it still does not fit, the save is skipped with a warning.
  • Default: 10GiB

  • Name: CROW_CACHE_MAX_ORG_SIZE
  • Description: Default maximum total cache size of one user or organization (e.g. 50GiB). 0 means unlimited. Admins can set another limit per user or organization in Admin Settings > Caches. Eviction works as for CROW_CACHE_MAX_REPO_SIZE, across all repositories of the owner.
  • Default: 0

  • Name: CROW_CACHE_MAX_ORG_EGRESS
  • Description: Default maximum number of bytes one user or organization restores per calendar month (UTC), e.g. 1TiB. 0 means unlimited. Once reached, restores are skipped with a note in the step log until the next month. Admins can set another limit per user or organization.
  • Default: 0

  • Name: CROW_CACHE_ALLOW_USER_BUCKETS
  • Description: Let users and organizations keep their caches in an S3-compatible bucket of their own. When turned off, caches already kept in such buckets are neither used nor deleted, and come back once it is turned on again.
  • Default: true

  • Name: CROW_CACHE_ALLOW_PRIVATE_BUCKET_ENDPOINTS
  • Description: Let the buckets users and organizations connect be on loopback, private, link-local or CGNAT addresses, for example a MinIO on the local network. By default the server refuses to connect to such addresses, checked after name resolution, so users cannot make it probe internal services. Proxy environment variables are not used for these buckets.
  • Default: false

  • Name: CROW_CACHE_MAX_TOTAL_SIZE
  • Description: Maximum total cache size across all repositories (e.g. 500GiB). 0 means unlimited. Eviction works as for CROW_CACHE_MAX_REPO_SIZE.
  • Default: 0

  • Name: CROW_CACHE_TTL
  • Description: Caches not restored for this long are removed. 0 keeps them until they are evicted by size. Cleanup runs every 15 minutes, and abandoned uploads are removed after one hour.
  • Default: 168h

  • Name: CROW_CACHE_PLUGIN
  • Description: Image of the restore-cache and save-cache steps. It is built from cmd/cache-plugin and released with the server. Cache steps always pull it, so agents pick up a new image under the same tag.
  • Default: codefloe.com/crowci/crow-cache:v6