func()

in runner/server.go [52:84]


func (s *Server) Run() error {
	if err := s.deployRunnerGroups(); err != nil {
		return fmt.Errorf("failed to deploy runner group %w", err)
	}

	go s.waitForRunnerGroups()

	r := mux.NewRouter()
	// NOTE: Please update ./runnergroup_list.go if endpoint has been changed.
	r.HandleFunc("/v1/runnergroups", s.listRunnerGroupsHandler).Methods("GET")
	// NOTE: Please update ./runnergroup_result.go if endpoint has been changed.
	r.HandleFunc("/v1/runnergroups/summary", s.getRunnerGroupsSummary).Methods("GET")
	r.HandleFunc("/v1/runnergroups/{runner_name}/result", s.postRunnerGroupsRunnerResult).Methods("POST")

	errCh := make(chan error, len(s.listeners))
	var wg sync.WaitGroup
	for _, lis := range s.listeners {
		wg.Add(1)
		go func(l net.Listener) {
			defer wg.Done()
			//nolint:gosec
			errCh <- http.Serve(l, r)
		}(lis)
	}
	wg.Wait()

	for err := range errCh {
		if err != nil {
			return err
		}
	}
	return nil
}