provisioning/schemas/platform/ncl-sync.ncl

41 lines
1.2 KiB
Text

{
NclSyncNatsSettings = {
# When true, ncl-sync connects to NATS and subscribes to
# provisioning.workspace.ncl.{changed,removed} for event-driven cache invalidation.
# Falls back to file watcher + sync-request sidecar when NATS is unavailable.
enabled | Bool | default = false,
# NATS URL. Empty → uses platform-nats default (nats://127.0.0.1:4222).
url | String | default = "",
},
NclSyncConfig = {
cache_dir | String | optional,
idle_timeout_secs | Number | default = 600,
sync_poll_interval_ms | Number | default = 500,
warm_concurrency | Number | default = 4,
extra_import_paths | Array String | default = [],
# Filename suffixes that identify library/schema files (not entry points).
# Files matching are skipped during warm-up and watcher events.
skip_patterns | Array String | default = [
"-schema.ncl",
"-defaults.ncl",
"-constraints.ncl",
],
# Directory basenames that indicate non-exportable NCL files.
# Any .ncl under a directory with this basename is skipped.
skip_dirs | Array String | default = [
"schemas",
"defaults",
"constraints",
],
nats | NclSyncNatsSettings | default = {},
},
}