Files
zot/examples/config-sync.json
Andrei Aaron bd32c62eb6 docs: update examples with the sync config example (#3573)
See https://github.com/project-zot/zot/pull/3537

Note this sync timeout is for the entire image. It is not per HTTP request.

Signed-off-by: Andrei Aaron <andreifdaaron@gmail.com>
2025-11-21 11:44:30 -08:00

98 lines
1.7 KiB
JSON

{
"distSpecVersion": "1.1.1",
"storage": {
"rootDirectory": "/tmp/zot"
},
"http": {
"address": "127.0.0.1",
"port": "8080"
},
"log": {
"level": "debug"
},
"extensions": {
"sync": {
"enable": true,
"credentialsFile": "./examples/sync-auth-filepath.json",
"registries": [
{
"urls": [
"https://registry1:5000"
],
"onDemand": false,
"pollInterval": "6h",
"tlsVerify": true,
"certDir": "/home/user/certs",
"maxRetries": 3,
"retryDelay": "5m",
"onlySigned": true,
"content": [
{
"prefix": "/repo1/repo",
"tags": {
"regex": "4.*",
"semver": true
}
},
{
"prefix": "/repo2/repo",
"destination": "/repo",
"stripPrefix": true
},
{
"prefix": "/repo3/**"
},
{
"prefix": "/repo4/**",
"tags": {
"excludeRegex": ".*-(amd64|arm64)$"
}
}
]
},
{
"urls": [
"https://registry2:5000",
"https://registry3:5000"
],
"pollInterval": "12h",
"tlsVerify": false,
"onDemand": false,
"content": [
{
"prefix": "**",
"tags": {
"semver": true
}
}
]
},
{
"urls": [
"https://index.docker.io"
],
"onDemand": true,
"tlsVerify": true,
"maxRetries": 5,
"retryDelay": "30s",
"syncTimeout": "10m"
},
{
"urls": [
"https://demo.goharbor.io"
],
"pollInterval": "12h",
"content": [
{
"prefix": "zot/**"
}
],
"onDemand": true,
"tlsVerify": true,
"maxRetries": 5,
"retryDelay": "1m"
}
]
}
}
}