mirror of https://github.com/k3s-io/k3s
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1014 B
39 lines
1014 B
12 months ago
|
package spegel
|
||
|
|
||
|
import (
|
||
|
"net"
|
||
|
|
||
|
"github.com/k3s-io/k3s/pkg/daemons/config"
|
||
|
"github.com/rancher/wharfie/pkg/registries"
|
||
|
)
|
||
|
|
||
|
// InjectMirror configures TLS for the registry mirror client, and adds the mirror address as an endpoint
|
||
|
// to all configured registries.
|
||
|
func (c *Config) InjectMirror(nodeConfig *config.Node) error {
|
||
|
mirrorAddr := net.JoinHostPort(c.InternalAddress, c.RegistryPort)
|
||
|
registry := nodeConfig.AgentConfig.Registry
|
||
|
|
||
|
if registry.Configs == nil {
|
||
|
registry.Configs = map[string]registries.RegistryConfig{}
|
||
|
}
|
||
|
registry.Configs[mirrorAddr] = registries.RegistryConfig{
|
||
|
TLS: ®istries.TLSConfig{
|
||
|
CAFile: c.ServerCAFile,
|
||
|
CertFile: c.ClientCertFile,
|
||
|
KeyFile: c.ClientKeyFile,
|
||
|
},
|
||
|
}
|
||
|
|
||
|
if registry.Mirrors == nil {
|
||
|
registry.Mirrors = map[string]registries.Mirror{}
|
||
|
}
|
||
|
for host, mirror := range registry.Mirrors {
|
||
|
if host != "*" {
|
||
|
mirror.Endpoints = append([]string{"https://" + mirrorAddr}, mirror.Endpoints...)
|
||
|
registry.Mirrors[host] = mirror
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|