in pkg/userdata/cloudinit/cloudinit.go [133:164]
func setRegistryMirror(registryMirror *etcdbootstrapv1.RegistryMirrorConfiguration, input *userdata.BaseUserData) error {
if registryMirror == nil {
return nil
}
tmpl := template.New("registryMirror")
t, err := tmpl.Parse(registryMirrorConf)
if err != nil {
return fmt.Errorf("failed to parse registryMirror template: %v", err)
}
var out bytes.Buffer
if err = t.Execute(&out, registryMirror); err != nil {
return fmt.Errorf("error generating registryMirror config file: %v", err)
}
input.AdditionalFiles = append(input.AdditionalFiles,
capbk.File{
Content: registryMirror.CACert,
Owner: "root:root",
Path: fmt.Sprintf("/etc/containerd/certs.d/%s/ca.crt", registryMirror.Endpoint),
},
capbk.File{
Content: out.String(),
Owner: "root:root",
Path: "/etc/containerd/config_append.toml",
},
)
input.PreEtcdadmCommands = append(input.PreEtcdadmCommands, `cat /etc/containerd/config_append.toml >> /etc/containerd/config.toml`)
input.PreEtcdadmCommands = append(input.PreEtcdadmCommands, containerdRestart...)
return nil
}