Skip to content

Commit ef131cb

Browse files
authored
feat: add proxyAllRegistries configuration to support containerd to pull images (#495)
Signed-off-by: Gaius <gaius.qi@gmail.com>
1 parent fcffd0c commit ef131cb

3 files changed

Lines changed: 30 additions & 22 deletions

File tree

charts/dragonfly/Chart.yaml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ name: dragonfly
33
description: Dragonfly is an intelligent P2P based image and file distribution system
44
icon: https://raw.githubusercontent.com/dragonflyoss/dragonfly/main/docs/images/logo/dragonfly.svg
55
type: application
6-
version: 1.6.22
7-
appVersion: 2.4.4-beta.0
6+
version: 1.6.23
7+
appVersion: 2.4.4-rc.1
88
keywords:
99
- dragonfly
1010
- d7y
@@ -27,8 +27,9 @@ sources:
2727

2828
annotations:
2929
artifacthub.io/changes: |
30-
- Bump dragonfly version to v2.4.4-beta.0.
31-
- Bump client version to v1.3.2.
30+
- Bump dragonfly version to v2.4.4-rc.1.
31+
- Bump client version to v1.3.6.
32+
- Add proxyAllRegistries configuration to support containerd to pull images.
3233
3334
artifacthub.io/links: |
3435
- name: Chart Source
@@ -43,11 +44,11 @@ annotations:
4344
- name: scheduler
4445
image: dragonflyoss/scheduler:v2.4.4-beta.0
4546
- name: client
46-
image: dragonflyoss/client:v1.3.2
47+
image: dragonflyoss/client:v1.3.6
4748
- name: seed-client
48-
image: dragonflyoss/client:v1.3.2
49+
image: dragonflyoss/client:v1.3.6
4950
- name: dfinit
50-
image: dragonflyoss/dfinit:v1.3.2
51+
image: dragonflyoss/dfinit:v1.3.6
5152
- name: injector
5253
image: dragonflyoss/injector:v0.1.0
5354

charts/dragonfly/README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -184,15 +184,16 @@ helm delete dragonfly --namespace dragonfly-system
184184
| client.config.upload.server.requestbufferSize | int | `1000` | requestbufferSize is the buffer size of the upload server's request channel in dfdaemon, default is 1000. This controls the capacity of the bounded channel used to queue incoming gRPC requests before they are processed. If the buffer is full, new requests will return a `RESOURCE_EXHAUSTED` error. |
185185
| client.dfinit.config.console | bool | `true` | console prints log. |
186186
| client.dfinit.config.containerRuntime.containerd.configPath | string | `"/etc/containerd/config.toml"` | configPath is the path of containerd configuration file. |
187-
| client.dfinit.config.containerRuntime.containerd.registries | list | `[{"capabilities":["pull","resolve"],"hostNamespace":"docker.io","serverAddr":"https://index.docker.io","skipVerify":true},{"capabilities":["pull","resolve"],"hostNamespace":"ghcr.io","serverAddr":"https://ghcr.io","skipVerify":true}]` | registries is the list of containerd registries. hostNamespace is the location where container images and artifacts are sourced, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#registry-host-namespace. The registry host namespace portion is [registry_host_name|IP address][:port], such as docker.io, ghcr.io, gcr.io, etc. serverAddr specifies the default server for this registry host namespace, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#server-field. capabilities is the list of capabilities in containerd configuration, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#capabilities-field. skip_verify is the flag to skip verifying the server's certificate, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#bypass-tls-verification-example. ca (Certificate Authority Certification) can be set to a path or an array of paths each pointing to a ca file for use in authenticating with the registry namespace, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#ca-field. |
187+
| client.dfinit.config.containerRuntime.containerd.proxyAllRegistries | bool | `true` | Proxy all registries enables a catch-all `_default/hosts.toml` entry so that any registry not explicitly listed in `registries` is still proxied through dfdaemon. The dfdaemon infers the upstream registry from the `ns=` query parameter that containerd appends when using a `_default` fallback mirror. Explicitly configured registries continue to use their own `hosts.toml` and take precedence. |
188+
| client.dfinit.config.containerRuntime.containerd.registries | list | `[{"capabilities":["pull","resolve"],"hostNamespace":"docker.io","serverAddr":"https://index.docker.io","skipVerify":true},{"capabilities":["pull","resolve"],"hostNamespace":"ghcr.io","serverAddr":"https://ghcr.io","skipVerify":true}]` | Registries is the list of containerd registries. hostNamespace is the location where container images and artifacts are sourced, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#registry-host-namespace. The registry host namespace portion is [registry_host_name|IP address][:port], such as docker.io, ghcr.io, gcr.io, etc. serverAddr specifies the default server for this registry host namespace, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#server-field. capabilities is the list of capabilities in containerd configuration, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#capabilities-field. skip_verify is the flag to skip verifying the server's certificate, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#bypass-tls-verification-example. ca (Certificate Authority Certification) can be set to a path or an array of paths each pointing to a ca file for use in authenticating with the registry namespace, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#ca-field. |
188189
| client.dfinit.config.log.level | string | `"info"` | Specify the logging level [trace, debug, info, warn, error] |
189190
| client.dfinit.config.proxy.addr | string | `"http://127.0.0.1:4001"` | addr is the proxy server address of dfdaemon. |
190191
| client.dfinit.enable | bool | `false` | Enable dfinit to override configuration of container runtime. |
191192
| client.dfinit.image.digest | string | `""` | Image digest. |
192193
| client.dfinit.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
193194
| client.dfinit.image.registry | string | `"docker.io"` | Image registry. |
194195
| client.dfinit.image.repository | string | `"dragonflyoss/dfinit"` | Image repository. |
195-
| client.dfinit.image.tag | string | `"v1.3.2"` | Image tag. |
196+
| client.dfinit.image.tag | string | `"v1.3.6"` | Image tag. |
196197
| client.dfinit.restartContainerRuntime | bool | `true` | restartContainerRuntime indicates whether to restart container runtime when dfinit is enabled. it should be set to true when your first install dragonfly. If non-hot load configuration changes are made, the container runtime needs to be restarted. |
197198
| client.enable | bool | `true` | Enable client. |
198199
| client.extraEnvVars | list | `[]` | Extra environment variables for pod. |
@@ -208,7 +209,7 @@ helm delete dragonfly --namespace dragonfly-system
208209
| client.image.pullSecrets | list | `[]` (defaults to global.imagePullSecrets). | Image pull secrets. |
209210
| client.image.registry | string | `"docker.io"` | Image registry. |
210211
| client.image.repository | string | `"dragonflyoss/client"` | Image repository. |
211-
| client.image.tag | string | `"v1.3.2"` | Image tag. |
212+
| client.image.tag | string | `"v1.3.6"` | Image tag. |
212213
| client.initContainer.image.digest | string | `""` | Image digest. |
213214
| client.initContainer.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
214215
| client.initContainer.image.registry | string | `"docker.io"` | Image registry. |
@@ -281,13 +282,13 @@ helm delete dragonfly --namespace dragonfly-system
281282
| injector.image.registry | string | `"docker.io"` | Image registry. |
282283
| injector.image.repository | string | `"dragonflyoss/injector"` | Image repository. |
283284
| injector.image.tag | string | `"v0.1.0"` | Image tag. |
284-
| injector.initContainerImage | object | `{"digest":"","pullPolicy":"IfNotPresent","pullSecrets":[],"registry":"docker.io","repository":"dragonflyoss/client","tag":"v1.3.2"}` | initContainerImage is the image configuration for the init container that will be injected into target pods. |
285+
| injector.initContainerImage | object | `{"digest":"","pullPolicy":"IfNotPresent","pullSecrets":[],"registry":"docker.io","repository":"dragonflyoss/client","tag":"v1.3.6"}` | initContainerImage is the image configuration for the init container that will be injected into target pods. |
285286
| injector.initContainerImage.digest | string | `""` | Image digest. |
286287
| injector.initContainerImage.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
287288
| injector.initContainerImage.pullSecrets | list | `[]` | Image pull secrets. |
288289
| injector.initContainerImage.registry | string | `"docker.io"` | Image registry. |
289290
| injector.initContainerImage.repository | string | `"dragonflyoss/client"` | Image repository. |
290-
| injector.initContainerImage.tag | string | `"v1.3.2"` | Image tag. Should align with the version of Dragonfly client and seed client. |
291+
| injector.initContainerImage.tag | string | `"v1.3.6"` | Image tag. Should align with the version of Dragonfly client and seed client. |
291292
| injector.metrics.enable | bool | `false` | Enable injector metrics. |
292293
| injector.metrics.service.port | int | `8443` | Metrics service port. |
293294
| injector.nodeSelector | object | `{}` | Node labels for pod assignment. |
@@ -347,7 +348,7 @@ helm delete dragonfly --namespace dragonfly-system
347348
| manager.image.pullSecrets | list | `[]` (defaults to global.imagePullSecrets). | Image pull secrets. |
348349
| manager.image.registry | string | `"docker.io"` | Image registry. |
349350
| manager.image.repository | string | `"dragonflyoss/manager"` | Image repository. |
350-
| manager.image.tag | string | `"v2.4.4-beta.0"` | Image tag. |
351+
| manager.image.tag | string | `"v2.4.4-rc.1"` | Image tag. |
351352
| manager.ingress.annotations | object | `{}` | Ingress annotations. |
352353
| manager.ingress.className | string | `""` | Ingress class name. Requirement: kubernetes >=1.18. |
353354
| manager.ingress.enable | bool | `false` | Enable ingress. |
@@ -454,7 +455,7 @@ helm delete dragonfly --namespace dragonfly-system
454455
| scheduler.image.pullSecrets | list | `[]` (defaults to global.imagePullSecrets). | Image pull secrets. |
455456
| scheduler.image.registry | string | `"docker.io"` | Image registry. |
456457
| scheduler.image.repository | string | `"dragonflyoss/scheduler"` | Image repository. |
457-
| scheduler.image.tag | string | `"v2.4.4-beta.0"` | Image tag. |
458+
| scheduler.image.tag | string | `"v2.4.4-rc.1"` | Image tag. |
458459
| scheduler.initContainer.image.digest | string | `""` | Image digest. |
459460
| scheduler.initContainer.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
460461
| scheduler.initContainer.image.registry | string | `"docker.io"` | Image registry. |
@@ -560,7 +561,7 @@ helm delete dragonfly --namespace dragonfly-system
560561
| seedClient.image.pullSecrets | list | `[]` (defaults to global.imagePullSecrets). | Image pull secrets. |
561562
| seedClient.image.registry | string | `"docker.io"` | Image registry. |
562563
| seedClient.image.repository | string | `"dragonflyoss/client"` | Image repository. |
563-
| seedClient.image.tag | string | `"v1.3.2"` | Image tag. |
564+
| seedClient.image.tag | string | `"v1.3.6"` | Image tag. |
564565
| seedClient.initContainer.image.digest | string | `""` | Image digest. |
565566
| seedClient.initContainer.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
566567
| seedClient.initContainer.image.registry | string | `"docker.io"` | Image registry. |

charts/dragonfly/values.yaml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ manager:
3939
# -- Image repository.
4040
repository: dragonflyoss/manager
4141
# -- Image tag.
42-
tag: v2.4.4-beta.0
42+
tag: v2.4.4-rc.1
4343
# -- Image digest.
4444
digest: ''
4545
# -- Image pull policy.
@@ -335,7 +335,7 @@ scheduler:
335335
# -- Image repository.
336336
repository: dragonflyoss/scheduler
337337
# -- Image tag.
338-
tag: v2.4.4-beta.0
338+
tag: v2.4.4-rc.1
339339
# -- Image digest.
340340
digest: ''
341341
# -- Image pull policy.
@@ -720,7 +720,7 @@ seedClient:
720720
# -- Image repository.
721721
repository: dragonflyoss/client
722722
# -- Image tag.
723-
tag: v1.3.2
723+
tag: v1.3.6
724724
# -- Image digest.
725725
digest: ''
726726
# -- Image pull policy.
@@ -1237,7 +1237,7 @@ client:
12371237
# -- Image repository.
12381238
repository: dragonflyoss/client
12391239
# -- Image tag.
1240-
tag: v1.3.2
1240+
tag: v1.3.6
12411241
# -- Image digest.
12421242
digest: ''
12431243
# -- Image pull policy.
@@ -1326,7 +1326,7 @@ client:
13261326
# -- Image repository.
13271327
repository: dragonflyoss/dfinit
13281328
# -- Image tag.
1329-
tag: v1.3.2
1329+
tag: v1.3.6
13301330
# -- Image digest.
13311331
digest: ''
13321332
# -- Image pull policy.
@@ -1344,7 +1344,13 @@ client:
13441344
containerd:
13451345
# -- configPath is the path of containerd configuration file.
13461346
configPath: /etc/containerd/config.toml
1347-
# -- registries is the list of containerd registries. hostNamespace is the location where container images and artifacts are sourced,
1347+
# -- Proxy all registries enables a catch-all `_default/hosts.toml` entry so that any
1348+
# registry not explicitly listed in `registries` is still proxied through dfdaemon.
1349+
# The dfdaemon infers the upstream registry from the `ns=` query parameter that
1350+
# containerd appends when using a `_default` fallback mirror. Explicitly configured
1351+
# registries continue to use their own `hosts.toml` and take precedence.
1352+
proxyAllRegistries: true
1353+
# -- Registries is the list of containerd registries. hostNamespace is the location where container images and artifacts are sourced,
13481354
# refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#registry-host-namespace. The registry host namespace
13491355
# portion is [registry_host_name|IP address][:port], such as docker.io, ghcr.io, gcr.io, etc. serverAddr specifies the default server
13501356
# for this registry host namespace, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#server-field.
@@ -1942,7 +1948,7 @@ injector:
19421948
# -- Image repository.
19431949
repository: dragonflyoss/client
19441950
# -- Image tag. Should align with the version of Dragonfly client and seed client.
1945-
tag: v1.3.2
1951+
tag: v1.3.6
19461952
# -- Image digest.
19471953
digest: ''
19481954
# -- Image pull policy.

0 commit comments

Comments
 (0)