nd002test/on-premise/main/rancher_v2.9.1/source/rancher-2.9.1/pkg/project/project.go

36 lines
837 B
Go

package project
import (
mgmtv3 "github.com/rancher/rancher/pkg/generated/norman/management.cattle.io/v3"
"github.com/pkg/errors"
"k8s.io/apimachinery/pkg/labels"
)
const (
System = "System"
Default = "Default"
)
const (
SystemImageVersionAnn = "field.cattle.io/systemImageVersion"
ProjectIDAnn = "field.cattle.io/projectId"
)
var (
SystemProjectLabel = map[string]string{"authz.management.cattle.io/system-project": "true"}
)
func GetSystemProject(clusterName string, projectLister mgmtv3.ProjectLister) (*mgmtv3.Project, error) {
projects, err := projectLister.List(clusterName, labels.Set(SystemProjectLabel).AsSelector())
if err != nil {
return nil, errors.Wrapf(err, "list project failed")
}
if len(projects) == 0 {
return nil, errors.New("can't find system project")
}
return projects[0], nil
}