Skip to content

Commit 728947a

Browse files
feat(sync): use regclient for sync extension
replaced containers/image package with regclient/regclient package Signed-off-by: Petu Eusebiu <[email protected]>
1 parent 4fcd107 commit 728947a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1546
-3626
lines changed

.github/workflows/branch-cov.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
cd $GITHUB_WORKSPACE
3535
for i in $(find . -type f \( -name "*.go" -not -name "*_test.go" -not -name "generated.go" \)); do
3636
echo $i;
37-
gobco -test '-tags=sync,search,scrub,metrics,containers_image_openpgp' $i;
38-
gobco -test '-tags=containers_image_openpgp' $i;
37+
gobco -test '-tags=sync,search,scrub,metrics' $i;
38+
gobco -test $i;
3939
done
4040

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
4040
env:
4141
CGO_ENABLED: 0
42-
GOFLAGS: "-tags=sync,search,scrub,metrics,userprefs,mgmt,imagetrust,containers_image_openpgp"
42+
GOFLAGS: "-tags=sync,search,scrub,metrics,userprefs,mgmt,imagetrust"
4343

4444
steps:
4545
- name: Checkout repository

.github/workflows/golangci-lint.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131

3232
# Optional: golangci-lint command line arguments.
3333
# args: --issues-exit-code=0
34-
args: --config ./golangcilint.yaml --enable-all --build-tags debug,needprivileges,sync,scrub,search,userprefs,metrics,containers_image_openpgp,lint,mgmt,imagetrust ./cmd/... ./pkg/...
34+
args: --config ./golangcilint.yaml --enable-all --build-tags debug,needprivileges,sync,scrub,search,userprefs,metrics,lint,mgmt,imagetrust ./cmd/... ./pkg/...
3535

3636
# Optional: show only new issues if it's a pull request. The default value is `false`.
3737
# only-new-issues: true

Makefile

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,6 @@ swaggercheck: swagger
109109

110110
.PHONY: build-metadata
111111
build-metadata: $(if $(findstring ui,$(BUILD_LABELS)), ui)
112-
# do not allow empty $(BUILD_TAGS) (at least add containers_image_openpgp that doesn't affect package import & files listing)
113-
$(eval BUILD_TAGS=$(if $(BUILD_LABELS),$(BUILD_LABELS),containers_image_openpgp))
114112
echo "Imports: \n"
115113
go list -tags $(BUILD_TAGS) -f '{{ join .Imports "\n" }}' ./... | sort -u
116114
echo "\n Files: \n"
@@ -164,53 +162,53 @@ gen-protobuf: check-not-freebds $(PROTOC)
164162
.PHONY: binary-minimal
165163
binary-minimal: EXTENSIONS=
166164
binary-minimal: modcheck build-metadata
167-
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH)-minimal $(BUILDMODE_FLAGS) -tags containers_image_openpgp -v -trimpath -ldflags "-X zotregistry.dev/zot/pkg/api/config.ReleaseTag=${RELEASE_TAG} -X zotregistry.dev/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.dev/zot/pkg/api/config.BinaryType=minimal -X zotregistry.dev/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zot
165+
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH)-minimal $(BUILDMODE_FLAGS) -v -trimpath -ldflags "-X zotregistry.dev/zot/pkg/api/config.ReleaseTag=${RELEASE_TAG} -X zotregistry.dev/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.dev/zot/pkg/api/config.BinaryType=minimal -X zotregistry.dev/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zot
168166

169167
.PHONY: binary
170168
binary: $(if $(findstring ui,$(BUILD_LABELS)), ui)
171169
binary: modcheck build-metadata
172-
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH) $(BUILDMODE_FLAGS) -tags $(BUILD_LABELS),containers_image_openpgp -v -trimpath -ldflags "-X zotregistry.dev/zot/pkg/api/config.ReleaseTag=${RELEASE_TAG} -X zotregistry.dev/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.dev/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.dev/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zot
170+
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH) $(BUILDMODE_FLAGS) -tags $(BUILD_LABELS) -v -trimpath -ldflags "-X zotregistry.dev/zot/pkg/api/config.ReleaseTag=${RELEASE_TAG} -X zotregistry.dev/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.dev/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.dev/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zot
173171

174172
.PHONY: binary-debug
175173
binary-debug: $(if $(findstring ui,$(BUILD_LABELS)), ui)
176174
binary-debug: modcheck swaggercheck build-metadata
177-
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH)-debug $(BUILDMODE_FLAGS) -tags $(BUILD_LABELS),debug,containers_image_openpgp -v -gcflags all='-N -l' -ldflags "-X zotregistry.dev/zot/pkg/api/config.ReleaseTag=${RELEASE_TAG} -X zotregistry.dev/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.dev/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.dev/zot/pkg/api/config.GoVersion=${GO_VERSION}" ./cmd/zot
175+
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH)-debug $(BUILDMODE_FLAGS) -tags $(BUILD_LABELS),debug -v -gcflags all='-N -l' -ldflags "-X zotregistry.dev/zot/pkg/api/config.ReleaseTag=${RELEASE_TAG} -X zotregistry.dev/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.dev/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.dev/zot/pkg/api/config.GoVersion=${GO_VERSION}" ./cmd/zot
178176

179177
.PHONY: cli
180178
cli: modcheck build-metadata
181-
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zli-$(OS)-$(ARCH) $(BUILDMODE_FLAGS) -tags $(BUILD_LABELS),search,containers_image_openpgp -v -trimpath -ldflags "-X zotregistry.dev/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.dev/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.dev/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zli
179+
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zli-$(OS)-$(ARCH) $(BUILDMODE_FLAGS) -tags $(BUILD_LABELS),search -v -trimpath -ldflags "-X zotregistry.dev/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.dev/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.dev/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zli
182180

183181
.PHONY: bench
184182
bench: modcheck build-metadata
185-
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zb-$(OS)-$(ARCH) $(BUILDMODE_FLAGS) -tags $(BUILD_LABELS),containers_image_openpgp -v -trimpath -ldflags "-X zotregistry.dev/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.dev/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.dev/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zb
183+
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zb-$(OS)-$(ARCH) $(BUILDMODE_FLAGS) -tags $(BUILD_LABELS) -v -trimpath -ldflags "-X zotregistry.dev/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.dev/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.dev/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zb
186184

187185
.PHONY: exporter-minimal
188186
exporter-minimal: EXTENSIONS=
189187
exporter-minimal: modcheck build-metadata
190-
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zxp-$(OS)-$(ARCH) $(BUILDMODE_FLAGS) -tags containers_image_openpgp -v -trimpath ./cmd/zxp
188+
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zxp-$(OS)-$(ARCH) $(BUILDMODE_FLAGS) -v -trimpath ./cmd/zxp
191189

192190
.PHONY: test-prereq
193191
test-prereq: check-skopeo $(TESTDATA) $(ORAS)
194192

195193
.PHONY: test-extended
196194
test-extended: $(if $(findstring ui,$(BUILD_LABELS)), ui)
197195
test-extended: test-prereq
198-
go test -failfast -tags $(BUILD_LABELS),containers_image_openpgp -trimpath -race -timeout 20m -cover -coverpkg ./... -coverprofile=coverage-extended.txt -covermode=atomic ./...
196+
go test -failfast -tags $(BUILD_LABELS) -trimpath -race -timeout 20m -cover -coverpkg ./... -coverprofile=coverage-extended.txt -covermode=atomic ./...
199197
rm -rf /tmp/getter*; rm -rf /tmp/trivy*
200198

201199
.PHONY: test-minimal
202200
test-minimal: test-prereq
203-
go test -failfast -tags containers_image_openpgp -trimpath -race -cover -coverpkg ./... -coverprofile=coverage-minimal.txt -covermode=atomic ./...
201+
go test -failfast -trimpath -race -cover -coverpkg ./... -coverprofile=coverage-minimal.txt -covermode=atomic ./...
204202
rm -rf /tmp/getter*; rm -rf /tmp/trivy*
205203

206204
.PHONY: test-devmode
207205
test-devmode: $(if $(findstring ui,$(BUILD_LABELS)), ui)
208206
test-devmode: test-prereq
209-
go test -failfast -tags dev,$(BUILD_LABELS),containers_image_openpgp -trimpath -race -timeout 15m -cover -coverpkg ./... -coverprofile=coverage-dev-extended.txt -covermode=atomic ./pkg/test/... ./pkg/api/... ./pkg/storage/... ./pkg/extensions/sync/... -run ^TestInject
207+
go test -failfast -tags dev,$(BUILD_LABELS) -trimpath -race -timeout 15m -cover -coverpkg ./... -coverprofile=coverage-dev-extended.txt -covermode=atomic ./pkg/test/... ./pkg/api/... ./pkg/storage/... ./pkg/extensions/sync/... -run ^TestInject
210208
rm -rf /tmp/getter*; rm -rf /tmp/trivy*
211-
go test -failfast -tags dev,containers_image_openpgp -trimpath -race -cover -coverpkg ./... -coverprofile=coverage-dev-minimal.txt -covermode=atomic ./pkg/test/... ./pkg/storage/... ./pkg/extensions/sync/... -run ^TestInject
209+
go test -failfast -tags dev -trimpath -race -cover -coverpkg ./... -coverprofile=coverage-dev-minimal.txt -covermode=atomic ./pkg/test/... ./pkg/storage/... ./pkg/extensions/sync/... -run ^TestInject
212210
rm -rf /tmp/getter*; rm -rf /tmp/trivy*
213-
go test -failfast -tags stress,$(BUILD_LABELS),containers_image_openpgp -trimpath -race -timeout 15m ./pkg/cli/server/stress_test.go
211+
go test -failfast -tags stress,$(BUILD_LABELS) -trimpath -race -timeout 15m ./pkg/cli/server/stress_test.go
214212

215213
.PHONY: test
216214
test: $(if $(findstring ui,$(BUILD_LABELS)), ui)
@@ -219,7 +217,7 @@ test: test-extended test-minimal test-devmode
219217
.PHONY: privileged-test
220218
privileged-test: $(if $(findstring ui,$(BUILD_LABELS)), ui)
221219
privileged-test: check-skopeo $(TESTDATA)
222-
go test -failfast -tags needprivileges,$(BUILD_LABELS),containers_image_openpgp -trimpath -race -timeout 15m -cover -coverpkg ./... -coverprofile=coverage-dev-needprivileges.txt -covermode=atomic ./pkg/storage/local/... ./pkg/cli/client/... -run ^TestElevatedPrivileges
220+
go test -failfast -tags needprivileges,$(BUILD_LABELS) -trimpath -race -timeout 15m -cover -coverpkg ./... -coverprofile=coverage-dev-needprivileges.txt -covermode=atomic ./pkg/storage/local/... ./pkg/cli/client/... -run ^TestElevatedPrivileges
223221

224222
$(TESTDATA): check-skopeo
225223
mkdir -p ${TESTDATA}; \
@@ -320,8 +318,8 @@ check-logs:
320318
check: $(if $(findstring ui,$(BUILD_LABELS)), ui)
321319
check: ./golangcilint.yaml $(GOLINTER)
322320
mkdir -p pkg/extensions/build; touch pkg/extensions/build/.empty
323-
$(GOLINTER) --config ./golangcilint.yaml run --enable-all --out-format=colored-line-number --build-tags containers_image_openpgp ./...
324-
$(GOLINTER) --config ./golangcilint.yaml run --enable-all --out-format=colored-line-number --build-tags $(BUILD_LABELS),containers_image_openpgp ./...
321+
$(GOLINTER) --config ./golangcilint.yaml run --enable-all --out-format=colored-line-number ./...
322+
$(GOLINTER) --config ./golangcilint.yaml run --enable-all --out-format=colored-line-number --build-tags $(BUILD_LABELS) ./...
325323
$(GOLINTER) --config ./golangcilint.yaml run --enable-all --out-format=colored-line-number --build-tags debug ./pkg/debug/swagger/ ./pkg/debug/gqlplayground
326324
$(GOLINTER) --config ./golangcilint.yaml run --enable-all --out-format=colored-line-number --build-tags dev ./pkg/test/inject/
327325
$(GOLINTER) --config ./golangcilint.yaml run --enable-all --out-format=colored-line-number --build-tags stress ./pkg/cli/server/
@@ -349,7 +347,7 @@ update-licenses: check-linux
349347
check-licenses:
350348
# note: "printf" works for darwin instead of "echo -n"
351349
go install github.com/google/go-licenses@latest
352-
@for tag in "$(BUILD_LABELS),containers_image_openpgp" "containers_image_openpgp"; do \
350+
@for tag in "$(BUILD_LABELS)"; do \
353351
echo Evaluating tag: $$tag;\
354352
for mod in $$(go list -m -f '{{if not (or .Indirect .Main)}}{{.Path}}{{end}}' all); do \
355353
while [ x$$mod != x ]; do \

demos/dev-getting-started.rec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@
265265
[8.458937, "i", "\r"]
266266
[8.459588, "o", "\r\n"]
267267
[8.471366, "o", "go mod tidy\r\n"]
268-
[8.971283, "o", "env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/zot-linux-amd64 -buildmode=pie -tags extended,containers_image_openpgp -v -trimpath -ldflags \"-X zotregistry.dev/zot/pkg/api/config.Commit=v1.4.0-rc3-1-ge583c2f -X zotregistry.dev/zot/pkg/api/config.BinaryType=extended -X zotregistry.dev/zot/pkg/api/config.GoVersion=go1.17.7 -s -w\" ./cmd/zot\r\n"]
268+
[8.971283, "o", "env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/zot-linux-amd64 -buildmode=pie -tags extended -v -trimpath -ldflags \"-X zotregistry.dev/zot/pkg/api/config.Commit=v1.4.0-rc3-1-ge583c2f -X zotregistry.dev/zot/pkg/api/config.BinaryType=extended -X zotregistry.dev/zot/pkg/api/config.GoVersion=go1.17.7 -s -w\" ./cmd/zot\r\n"]
269269
[11.652118, "o", "\u001b[32m$ \u001b[39m"]
270270
[12.657831, "i", "l"]
271271
[12.658095, "o", "l"]

demos/multi-arch-getting-started.rec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@
249249
[7.274013, "i", "\r"]
250250
[7.274687, "o", "\r\n"]
251251
[7.28773, "o", "go mod tidy\r\n"]
252-
[7.814666, "o", "env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/zot-linux-amd64 -buildmode=pie -tags extended,containers_image_openpgp -v -trimpath -ldflags \"-X zotregistry.dev/zot/pkg/api/config.Commit=v1.4.0-rc3-1-ge583c2f -X zotregistry.dev/zot/pkg/api/config.BinaryType=extended -X zotregistry.dev/zot/pkg/api/config.GoVersion=go1.17.7 -s -w\" ./cmd/zot\r\n"]
252+
[7.814666, "o", "env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/zot-linux-amd64 -buildmode=pie -tags extended -v -trimpath -ldflags \"-X zotregistry.dev/zot/pkg/api/config.Commit=v1.4.0-rc3-1-ge583c2f -X zotregistry.dev/zot/pkg/api/config.BinaryType=extended -X zotregistry.dev/zot/pkg/api/config.GoVersion=go1.17.7 -s -w\" ./cmd/zot\r\n"]
253253
[10.405138, "o", "\u001b[32m$ \u001b[39m"]
254254
[13.980122, "i", "l"]
255255
[13.980725, "o", "l"]
@@ -282,7 +282,7 @@
282282
[23.131551, "i", "\r"]
283283
[23.132194, "o", "\r\n"]
284284
[23.144726, "o", "go mod tidy\r\n"]
285-
[23.578377, "o", "env CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o bin/zot-linux-arm64 -buildmode=pie -tags extended,containers_image_openpgp -v -trimpath -ldflags \"-X zotregistry.dev/zot/pkg/api/config.Commit=v1.4.0-rc3-1-ge583c2f -X zotregistry.dev/zot/pkg/api/config.BinaryType=extended -X zotregistry.dev/zot/pkg/api/config.GoVersion=go1.17.7 -s -w\" ./cmd/zot\r\n"]
285+
[23.578377, "o", "env CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o bin/zot-linux-arm64 -buildmode=pie -tags extended -v -trimpath -ldflags \"-X zotregistry.dev/zot/pkg/api/config.Commit=v1.4.0-rc3-1-ge583c2f -X zotregistry.dev/zot/pkg/api/config.BinaryType=extended -X zotregistry.dev/zot/pkg/api/config.GoVersion=go1.17.7 -s -w\" ./cmd/zot\r\n"]
286286
[26.263223, "o", "\u001b[32m$ \u001b[39m"]
287287
[28.435297, "i", "\r"]
288288
[28.435982, "o", "\r\n\u001b[32m$ \u001b[39m"]
@@ -291,14 +291,14 @@
291291
[29.525918, "i", "\r"]
292292
[29.526615, "o", "\r\n"]
293293
[29.538303, "o", "go mod tidy\r\n"]
294-
[30.014147, "o", "env CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o bin/zot-darwin-amd64 -buildmode=pie -tags extended,containers_image_openpgp -v -trimpath -ldflags \"-X zotregistry.dev/zot/pkg/api/config.Commit=v1.4.0-rc3-1-ge583c2f -X zotregistry.dev/zot/pkg/api/config.BinaryType=extended -X zotregistry.dev/zot/pkg/api/config.GoVersion=go1.17.7 -s -w\" ./cmd/zot\r\n"]
294+
[30.014147, "o", "env CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o bin/zot-darwin-amd64 -buildmode=pie -tags extended -v -trimpath -ldflags \"-X zotregistry.dev/zot/pkg/api/config.Commit=v1.4.0-rc3-1-ge583c2f -X zotregistry.dev/zot/pkg/api/config.BinaryType=extended -X zotregistry.dev/zot/pkg/api/config.GoVersion=go1.17.7 -s -w\" ./cmd/zot\r\n"]
295295
[32.749036, "o", "\u001b[32m$ \u001b[39m"]
296296
[34.710083, "i", "make OS=darwin ARCH=arm64 binary"]
297297
[34.710825, "o", "make OS=darwin ARCH=arm64 binary"]
298298
[35.312014, "i", "\r"]
299299
[35.312848, "o", "\r\n"]
300300
[35.324987, "o", "go mod tidy\r\n"]
301-
[35.783444, "o", "env CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o bin/zot-darwin-arm64 -buildmode=pie -tags extended,containers_image_openpgp -v -trimpath -ldflags \"-X zotregistry.dev/zot/pkg/api/config.Commit=v1.4.0-rc3-1-ge583c2f -X zotregistry.dev/zot/pkg/api/config.BinaryType=extended -X zotregistry.dev/zot/pkg/api/config.GoVersion=go1.17.7 -s -w\" ./cmd/zot\r\n"]
301+
[35.783444, "o", "env CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o bin/zot-darwin-arm64 -buildmode=pie -tags extended -v -trimpath -ldflags \"-X zotregistry.dev/zot/pkg/api/config.Commit=v1.4.0-rc3-1-ge583c2f -X zotregistry.dev/zot/pkg/api/config.BinaryType=extended -X zotregistry.dev/zot/pkg/api/config.GoVersion=go1.17.7 -s -w\" ./cmd/zot\r\n"]
302302
[38.84018, "o", "\u001b[32m$ \u001b[39m"]
303303
[40.470596, "i", "l"]
304304
[40.471211, "o", "l"]

examples/README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -952,7 +952,7 @@ Configure each registry sync:
952952
"onDemand": false, # pull any image which the local registry doesn't have
953953
"pollInterval": "6h", # polling interval, if not set then periodically polling will not run
954954
"tlsVerify": true, # whether or not to verify tls (default is true)
955-
"certDir": "/home/user/certs", # use certificates at certDir path, if not specified then use the default certs dir
955+
"certDir": "/home/user/certs", # use certificates at certDir path similar to Docker's /etc/docker/certs.d., if not specified then use the default certs dir,
956956
"maxRetries": 5, # maxRetries in case of temporary errors (default: no retries)
957957
"retryDelay": "10m", # delay between retries, retry options are applied for both on demand and periodically sync and retryDelay is mandatory when using maxRetries.
958958
"onlySigned": true, # sync only signed images (either notary or cosign)
@@ -1006,5 +1006,16 @@ Configure each registry sync:
10061006
]
10071007
}
10081008
```
1009-
10101009
Prefixes can be strings that exactly match repositories or they can be [glob](https://en.wikipedia.org/wiki/Glob_(programming)) patterns.
1010+
1011+
### Sync's certDir option
1012+
1013+
sync uses the same logic for reading cert directory as docker: https://docs.docker.com/engine/security/certificates/#understand-the-configuration
1014+
sync can also read the certificates directly under certDir:
1015+
- ca.crt - public pem cert of registry. Root CA that signed the registry certificate, in PEM.
1016+
- client.cert - public pem cert for client (mTLS)
1017+
- client.key - public key cert for client (mTLS)
1018+
1019+
### Sync's credentials
1020+
1021+
Besides sync-auth.json file, zot also reads and uses docker credentials by default: https://docs.docker.com/reference/cli/docker/login/#description

examples/config-sync.json

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,25 @@
7373
],
7474
"onDemand": true,
7575
"tlsVerify": true,
76-
"maxRetries": 6,
77-
"retryDelay": "5m"
76+
"maxRetries": 5,
77+
"retryDelay": "30s"
78+
},
79+
{
80+
"urls": [
81+
"https://demo.goharbor.io"
82+
],
83+
"pollInterval": "12h",
84+
"content": [
85+
{
86+
"prefix": "zot/**"
87+
}
88+
],
89+
"onDemand": true,
90+
"tlsVerify": true,
91+
"maxRetries": 5,
92+
"retryDelay": "1m"
7893
}
7994
]
8095
}
8196
}
82-
}
97+
}

0 commit comments

Comments
 (0)