29 lines
1 KiB
Text
29 lines
1 KiB
Text
# cache-management domain contract v0.1.0
|
|
#
|
|
# Build cache access policy for OCI-backed caches.
|
|
# Enables CI/session namespace isolation per ADR-039 / lian-build cache design.
|
|
|
|
let _CacheAccessMode = [| 'read_only, 'read_write, 'append_only |] in
|
|
|
|
let _CacheEntry = {
|
|
key | String
|
|
| doc "Cache key path within the registry namespace (e.g. 'ci/myproject-rust:buildcache')",
|
|
access | _CacheAccessMode,
|
|
endpoint | String | optional
|
|
| doc "Registry endpoint override for this cache entry; falls back to default_endpoint",
|
|
} in
|
|
|
|
let _CacheManagementContext = {
|
|
schema_version | String | default = "0.1.0",
|
|
workspace | String,
|
|
mode_id | String,
|
|
default_endpoint | String | optional
|
|
| doc "Default registry endpoint for all cache entries unless overridden per entry",
|
|
entries | Array _CacheEntry,
|
|
} in
|
|
|
|
{
|
|
CacheAccessMode = _CacheAccessMode,
|
|
CacheEntry = _CacheEntry,
|
|
CacheManagementContext = _CacheManagementContext,
|
|
}
|