Skip to content

Commit c694c63

Browse files
committed
Add config for registry http headers
This adds a configuration knob for adding request headers to all registry requests. It is not namespaced to a registry. Signed-off-by: Brian Goff <[email protected]>
1 parent bc96548 commit c694c63

3 files changed

Lines changed: 8 additions & 1 deletion

File tree

docs/config.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,10 @@ version = 2
209209
# 'plugins."io.containerd.grpc.v1.cri".registry' contains config related to the registry
210210
[plugins."io.containerd.grpc.v1.cri".registry]
211211

212+
# 'plugins."io.containerd.grpc.v1.cri.registry.headers sets the http request headers to send for all registry requests
213+
[plugins."io.containerd.grpc.v1.cri".registry.headers]
214+
Foo = ["bar"]
215+
212216
# 'plugins."io.containerd.grpc.v1.cri".registry.mirrors' are namespace to mirror mapping for all namespaces.
213217
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
214218
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]

pkg/config/config.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ type Registry struct {
149149
// be a valid url with host specified.
150150
// DEPRECATED: Use Configs instead. Remove in containerd 1.4.
151151
Auths map[string]AuthConfig `toml:"auths" json:"auths"`
152+
// Headers adds additional HTTP headers that get sent to all registries
153+
Headers map[string][]string `toml:"headers" json:"headers"`
152154
}
153155

154156
// RegistryConfig contains configuration used to communicate with the registry.

pkg/server/image_pull.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ func (c *criService) PullImage(ctx context.Context, r *runtime.PullImageRequest)
9898
}
9999
var (
100100
resolver = docker.NewResolver(docker.ResolverOptions{
101-
Hosts: c.registryHosts(r.GetAuth()),
101+
Headers: c.config.Registry.Headers,
102+
Hosts: c.registryHosts(r.GetAuth()),
102103
})
103104
isSchema1 bool
104105
imageHandler containerdimages.HandlerFunc = func(_ context.Context,

0 commit comments

Comments
 (0)