sync: periodically retry if on-demand fails inline, closes #281

sync: don't return error on sync signatures, just skip them, closes #375
sync: sync signatures on demand
sync on demand: in case of parallel requests pull image just once, closes #344

Signed-off-by: Petu Eusebiu <peusebiu@cisco.com>
This commit is contained in:
Petu Eusebiu
2022-01-10 18:06:12 +02:00
committed by Ramkumar Chinchani
parent 87084f286b
commit f89925fb27
13 changed files with 948 additions and 249 deletions
+9 -3
View File
@@ -386,8 +386,10 @@ Configure each registry sync:
"urls": ["https://registry1:5000"],
"onDemand": false, # pull any image which the local registry doesn't have
"pollInterval": "6h", # polling interval, if not set then periodically polling will not run
"tlsVerify": true, # whether or not to verify tls
"tlsVerify": true, # whether or not to verify tls (default is true)
"certDir": "/home/user/certs", # use certificates at certDir path, if not specified then use the default certs dir
"maxRetries": 5, # mandatory option! maxRetries in case of temporary errors
"retryDelay": "10m", # mandatory option! delay between retries, retry options are applied for both on demand and periodically sync.
"content":[ # which content to periodically pull, also it's used for filtering ondemand images, if not set then periodically polling will not run
{
"prefix":"/repo1/repo", # pull image repo1/repo
@@ -409,6 +411,8 @@ Configure each registry sync:
"pollInterval": "12h",
"tlsVerify": false,
"onDemand": false,
"maxRetries": 5,
"retryDelay": "10m",
"content":[
{
"prefix":"/repo2",
@@ -420,8 +424,10 @@ Configure each registry sync:
},
{
"urls": ["https://docker.io/library"],
"onDemand": true, # doesn't have content, don't periodically pull, pull just on demand.
"tlsVerify": true
"onDemand": true, # doesn't have content, don't periodically pull, pull just on demand.
"tlsVerify": true,
"maxRetries": 3,
"retryDelay": "15m"
}
]
}
+7 -1
View File
@@ -19,6 +19,8 @@
"pollInterval": "6h",
"tlsVerify": true,
"certDir": "/home/user/certs",
"maxRetries": 3,
"retryDelay": "5m",
"content":[
{
"prefix":"/repo1/repo",
@@ -37,6 +39,8 @@
"pollInterval": "12h",
"tlsVerify": false,
"onDemand": false,
"maxRetries": 5,
"retryDelay": "10m",
"content":[
{
"prefix":"/repo2",
@@ -49,7 +53,9 @@
{
"urls": ["https://docker.io/library"],
"onDemand": true,
"tlsVerify": true
"tlsVerify": true,
"maxRetries": 6,
"retryDelay": "5m"
}
]
}