func addMirrorConfiguration()

in cmd/proxy/main.go [194:232]


func addMirrorConfiguration(ctx context.Context, args *ServerCmd) error {
	if !args.AddMirrorConfiguration {
		return nil
	}

	l := zerolog.Ctx(ctx)
	fs := afero.NewOsFs()

	defaultHost, _ := url.Parse("https://mcr.microsoft.com")
	hosts := append([]url.URL{}, *defaultHost)

	var err error

	if len(args.Hosts) > 0 {
		hosts, err = toUrls(args.Hosts)
		if err != nil {
			return err
		}
	}

	l.Info().Msg(fmt.Sprintf("mirrors args: %v, hosts: %v", args.Hosts, hosts))

	defaultMirror, _ := url.Parse("https://localhost:30001")
	mirrors := append([]url.URL{}, *defaultMirror)

	if len(args.Mirrors) > 0 {
		mirrors, err = toUrls(args.Mirrors)
		if err != nil {
			return err
		}
	}

	err = containerd.AddHostsConfiguration(ctx, fs, args.ContainerdHostsConfigPath, hosts, mirrors, false)
	if err != nil {
		return err
	}

	return nil
}