FileSystemHttpCacheConfig (proto)

This extension has the qualified name envoy.extensions.http.cache.file_system_http_cache

Note

This extension is work-in-progress. Functionality is incomplete and it is not intended for production use.

This extension has an unknown security posture and should only be used in deployments where both the downstream and upstream are trusted.

Tip

This extension extends and can be used with the following extension category:

This extension must be configured with one of the following type URLs:

Warning

This API feature is currently work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.

extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig

[extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig proto]

Configuration for a cache implementation that caches in the local file system.

By default this cache uses a least-recently-used eviction strategy.

For implementation details, see DESIGN.md.

{
  "manager_config": {...},
  "cache_path": ...,
  "max_cache_size_bytes": {...},
  "max_cache_entry_count": {...}
}
manager_config

(extensions.common.async_files.v3.AsyncFileManagerConfig, REQUIRED) Configuration of a manager for how the file system is used asynchronously.

cache_path

(string, REQUIRED) Path at which the cache files will be stored.

This also doubles as the unique identifier for a cache, so a cache can be shared between different routes, or separate paths can be used to specify separate caches.

If the same cache_path is used in more than one CacheConfig, the rest of the FileSystemHttpCacheConfig must also match, and will refer to the same cache instance.

max_cache_size_bytes

(UInt64Value) The maximum size of the cache in bytes - when reached, cache eviction is triggered.

This is measured as the sum of file sizes, such that it includes headers, trailers, and metadata, but does not include e.g. file system overhead and block size padding.

If unset there is no limit except file system failure.

max_cache_entry_count

(UInt64Value) The maximum number of cache entries - when reached, cache eviction is triggered.

If unset there is no limit.