in runner/group/parse.go [42:68]
func NewRunnerGroupSpecFromURI(clientset kubernetes.Interface, specURI string) (*types.RunnerGroupSpec, error) {
u, err := url.Parse(specURI)
if err != nil {
return nil, fmt.Errorf("invalid runner group uri %s: %w", specURI, err)
}
switch typ := SpecURIType(u.Scheme); typ {
case SpecURITypeFile:
return parseRunnerGroupSpecFromFile(u.Path)
case SpecURITypeConfigMap:
var (
namespace = "default"
specName = "spec"
)
if ns := u.Query().Get("namespace"); len(ns) > 0 {
namespace = ns
}
if name := u.Query().Get("specName"); len(name) > 0 {
specName = name
}
return parseRunnerGroupSpecFromConfigMap(clientset, namespace, u.Host, specName)
default:
return nil, fmt.Errorf("unsupported RunnerGroupSpec's URI scheme: %v", typ)
}
}