我试图使用Openshift go-client访问Openshift内部的对象。但是我无法通过用户名和密码进行身份验证。有谁知道如何使用带有用户名和密码身份验证的客户端?创建配置时我忘记了任何参数吗?
我不想通过Kubeconfig进行身份验证。
我已经使用用户名和密码身份验证创建了REST配置。另外,我尝试了Bearer-Token方法,该方法返回了预期的结果。我尝试了以下方法:
insecureCommunication := true
restConfig := rest.Config{
Host: "https://my-url.net",
}
authInfo := auth.Info{
User: "username",
Password: "password",
Insecure: &insecureCommunication,
}
restConfig, err := authInfo.MergeWithConfig(restConfig)
buildV1Client, err := buildv1.NewForConfig(&restConfig)
if err != nil {
fmt.Println(err)
return err
}
builds, err := buildV1Client.Builds("namespace").List(metav1.ListOptions{})
if err != nil {
fmt.Println(err)
return err
}
fmt.Printf("There are %d builds in project %s\n", len(builds.Items), openshift.namespace)
// List names of all builds
for i, build := range builds.Items {
fmt.Printf("index %d: Name of the build: %s", i, build.Name)
}
与承载令牌一样,我希望请求能够成功。但我总是遇到一个user "system:anonymous" cannot list builds.build.openshift.io in project "namespace"
错误。
有人知道我如何解决这个问题吗?
谢谢