func()

in pkg/testutil/bldr/oci_registry_server.go [67:101]


func (s *OCIRegistryServer) Serve(ctx context.Context) {
	ctx, cancelFn := context.WithCancel(ctx)
	s.cancelFn = cancelFn

	config := &configuration.Configuration{}
	config.Storage = configuration.Storage{}
	config.Storage["inmemory"] = configuration.Parameters{}
	config.Storage["maintenance"] = configuration.Parameters{"uploadpurging": map[any]any{"enabled": false}}
	config.Log.Level = "debug"
	config.Log.Formatter = "text"
	config.HTTP.Secret = "secrety-secret"
	config.HTTP.Addr = fmt.Sprintf(":%s", s.opts.port)

	if s.opts.requireAuth {
		err := auth.Register("basicauth", NewOCIBasicAuthAccess)
		require.NoError(s.t, err)

		config.Auth = configuration.Auth{"basicauth": configuration.Parameters{"username": s.opts.user, "password": s.opts.password}}
	}

	var err error
	s.server, err = registry.NewRegistry(ctx, config)
	require.NoError(s.t, err)

	var errchan chan error
	go func() {
		errchan <- s.server.ListenAndServe()
	}()

	select {
	case err = <-errchan:
		s.t.Fatalf("error serving registry: %v", err)
	default:
	}
}