1. change glog to klog
2. move types to api package to avoid cyclic import
This commit is contained in:
@@ -4,7 +4,7 @@ import (
|
||||
"flag"
|
||||
cliflag "k8s.io/component-base/cli/flag"
|
||||
"k8s.io/klog"
|
||||
genericoptions "kubesphere.io/kubesphere/pkg/options"
|
||||
genericoptions "kubesphere.io/kubesphere/pkg/server/options"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/devops"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/k8s"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/ldap"
|
||||
|
||||
@@ -28,11 +28,11 @@ import (
|
||||
"kubesphere.io/kubesphere/cmd/ks-apiserver/app/options"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/runtime"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/servicemesh/tracing"
|
||||
"kubesphere.io/kubesphere/pkg/filter"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
logging "kubesphere.io/kubesphere/pkg/models/log"
|
||||
"kubesphere.io/kubesphere/pkg/server"
|
||||
apiserverconfig "kubesphere.io/kubesphere/pkg/server/config"
|
||||
"kubesphere.io/kubesphere/pkg/server/filter"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"kubesphere.io/kubesphere/pkg/utils/signals"
|
||||
"kubesphere.io/kubesphere/pkg/utils/term"
|
||||
@@ -187,7 +187,8 @@ func CreateClientSet(conf *apiserverconfig.Config, stopCh <-chan struct{}) error
|
||||
SetS3Options(conf.S3Options).
|
||||
SetOpenPitrixOptions(conf.OpenPitrixOptions).
|
||||
SetPrometheusOptions(conf.MonitoringOptions).
|
||||
SetRedisOptions(conf.RedisOptions)
|
||||
SetRedisOptions(conf.RedisOptions).
|
||||
SetKubeSphereOptions(conf.KubeSphereOptions)
|
||||
|
||||
client.NewClientSetFactory(csop, stopCh)
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ package options
|
||||
|
||||
import (
|
||||
"github.com/spf13/pflag"
|
||||
genericoptions "kubesphere.io/kubesphere/pkg/options"
|
||||
genericoptions "kubesphere.io/kubesphere/pkg/server/options"
|
||||
)
|
||||
|
||||
type ServerRunOptions struct {
|
||||
|
||||
@@ -25,10 +25,10 @@ import (
|
||||
"github.com/spf13/pflag"
|
||||
"kubesphere.io/kubesphere/cmd/ks-iam/app/options"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/runtime"
|
||||
"kubesphere.io/kubesphere/pkg/filter"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam"
|
||||
"kubesphere.io/kubesphere/pkg/server"
|
||||
"kubesphere.io/kubesphere/pkg/server/filter"
|
||||
"kubesphere.io/kubesphere/pkg/utils/jwtutil"
|
||||
"kubesphere.io/kubesphere/pkg/utils/signals"
|
||||
"log"
|
||||
|
||||
20
pkg/api/devops/v1alpha2/types.go
Normal file
20
pkg/api/devops/v1alpha2/types.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package v1alpha2
|
||||
|
||||
import "time"
|
||||
|
||||
type PageableDevOpsProject struct {
|
||||
Items []*DevOpsProject `json:"items"`
|
||||
TotalCount int `json:"total_count"`
|
||||
}
|
||||
|
||||
type DevOpsProject struct {
|
||||
ProjectId string `json:"project_id" db:"project_id" description:"ProjectId must be unique within a workspace, it is generated by kubesphere."`
|
||||
Name string `json:"name" description:"DevOps Projects's Name"`
|
||||
Description string `json:"description,omitempty" description:"DevOps Projects's Description, used to describe the DevOps Project"`
|
||||
Creator string `json:"creator" description:"Creator's username"`
|
||||
CreateTime time.Time `json:"create_time" description:"DevOps Project's Creation time"`
|
||||
Status string `json:"status" description:"DevOps project's status. e.g. active"`
|
||||
Visibility string `json:"visibility,omitempty" description:"Deprecated Field"`
|
||||
Extra string `json:"extra,omitempty" description:"Internal Use"`
|
||||
Workspace string `json:"workspace" description:"The workspace to which the devops project belongs"`
|
||||
}
|
||||
@@ -22,13 +22,14 @@ import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/emicklei/go-restful-openapi"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"kubesphere.io/kubesphere/pkg/api/devops/v1alpha2"
|
||||
devopsv1alpha1 "kubesphere.io/kubesphere/pkg/apis/devops/v1alpha1"
|
||||
devopsapi "kubesphere.io/kubesphere/pkg/apiserver/devops"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/runtime"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -53,17 +54,17 @@ func addWebService(c *restful.Container) error {
|
||||
Doc("Get the specified DevOps Project").
|
||||
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}).
|
||||
Param(webservice.PathParameter("devops", "DevOps project's ID, e.g. project-RRRRAzLBlLEm")).
|
||||
Returns(http.StatusOK, RespOK, devops.DevOpsProject{}).
|
||||
Writes(devops.DevOpsProject{}))
|
||||
Returns(http.StatusOK, RespOK, v1alpha2.DevOpsProject{}).
|
||||
Writes(v1alpha2.DevOpsProject{}))
|
||||
|
||||
webservice.Route(webservice.PATCH("/devops/{devops}").
|
||||
To(devopsapi.UpdateProjectHandler).
|
||||
Doc("Update the specified DevOps Project").
|
||||
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}).
|
||||
Param(webservice.PathParameter("devops", "DevOps project's ID, e.g. project-RRRRAzLBlLEm")).
|
||||
Reads(devops.DevOpsProject{}).
|
||||
Returns(http.StatusOK, RespOK, devops.DevOpsProject{}).
|
||||
Writes(devops.DevOpsProject{}))
|
||||
Reads(v1alpha2.DevOpsProject{}).
|
||||
Returns(http.StatusOK, RespOK, v1alpha2.DevOpsProject{}).
|
||||
Writes(v1alpha2.DevOpsProject{}))
|
||||
|
||||
webservice.Route(webservice.GET("/devops/{devops}/defaultroles").
|
||||
To(devopsapi.GetDevOpsProjectDefaultRoles).
|
||||
|
||||
@@ -25,9 +25,9 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/iam"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/runtime"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam/policy"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -22,7 +22,7 @@ import (
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/operations"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/runtime"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
||||
@@ -34,13 +34,13 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/runtime"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/workloadstatuses"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/models/applications"
|
||||
gitmodel "kubesphere.io/kubesphere/pkg/models/git"
|
||||
registriesmodel "kubesphere.io/kubesphere/pkg/models/registries"
|
||||
"kubesphere.io/kubesphere/pkg/models/status"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/openpitrix"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -22,16 +22,16 @@ import (
|
||||
"github.com/emicklei/go-restful-openapi"
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
devopsv1alpha2 "kubesphere.io/kubesphere/pkg/api/devops/v1alpha2"
|
||||
"kubesphere.io/kubesphere/pkg/apis/tenant/v1alpha1"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/runtime"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/tenant"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/elasticsearch"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
|
||||
"net/http"
|
||||
)
|
||||
@@ -145,15 +145,15 @@ func addWebService(c *restful.Container) error {
|
||||
To(tenant.CreateDevopsProject).
|
||||
Param(ws.PathParameter("workspace", "workspace name")).
|
||||
Doc("Create a devops project in the specified workspace").
|
||||
Reads(devops.DevOpsProject{}).
|
||||
Returns(http.StatusOK, RespOK, devops.DevOpsProject{}).
|
||||
Reads(devopsv1alpha2.DevOpsProject{}).
|
||||
Returns(http.StatusOK, RespOK, devopsv1alpha2.DevOpsProject{}).
|
||||
Metadata(restfulspec.KeyOpenAPITags, []string{constants.TenantResourcesTag}))
|
||||
ws.Route(ws.DELETE("/workspaces/{workspace}/devops/{devops}").
|
||||
To(tenant.DeleteDevopsProject).
|
||||
Param(ws.PathParameter("workspace", "workspace name")).
|
||||
Param(ws.PathParameter("devops", "devops project ID")).
|
||||
Doc("Delete the specified devops project from the workspace").
|
||||
Returns(http.StatusOK, RespOK, devops.DevOpsProject{}).
|
||||
Returns(http.StatusOK, RespOK, devopsv1alpha2.DevOpsProject{}).
|
||||
Metadata(restfulspec.KeyOpenAPITags, []string{constants.TenantResourcesTag}))
|
||||
ws.Route(ws.GET("/logs").
|
||||
To(tenant.LogQuery).
|
||||
|
||||
@@ -20,8 +20,8 @@ package components
|
||||
|
||||
import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/components"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ package devops
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/emicklei/go-restful"
|
||||
log "github.com/golang/glog"
|
||||
log "k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
@@ -17,11 +17,11 @@ import (
|
||||
"fmt"
|
||||
"github.com/asaskevich/govalidator"
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/reflectutils"
|
||||
"net/http"
|
||||
)
|
||||
@@ -33,7 +33,7 @@ func GetDevOpsProjectMembersHandler(request *restful.Request, resp *restful.Resp
|
||||
|
||||
err := devops.CheckProjectUserInRole(username, projectId, devops.AllRoleSlice)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
@@ -45,7 +45,7 @@ func GetDevOpsProjectMembersHandler(request *restful.Request, resp *restful.Resp
|
||||
project, err := devops.GetProjectMembers(projectId, conditions, orderBy, reverse, limit, offset)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -62,14 +62,14 @@ func GetDevOpsProjectMemberHandler(request *restful.Request, resp *restful.Respo
|
||||
|
||||
err := devops.CheckProjectUserInRole(username, projectId, devops.AllRoleSlice)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
project, err := devops.GetProjectMember(projectId, member)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -85,34 +85,34 @@ func AddDevOpsProjectMemberHandler(request *restful.Request, resp *restful.Respo
|
||||
member := &devops.DevOpsProjectMembership{}
|
||||
err := request.ReadEntity(&member)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
if govalidator.IsNull(member.Username) {
|
||||
err := fmt.Errorf("error need username")
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
if !reflectutils.In(member.Role, devops.AllRoleSlice) {
|
||||
err := fmt.Errorf("err role [%s] not in [%s]", member.Role,
|
||||
devops.AllRoleSlice)
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
|
||||
err = devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
project, err := devops.AddProjectMember(projectId, username, member)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -128,41 +128,41 @@ func UpdateDevOpsProjectMemberHandler(request *restful.Request, resp *restful.Re
|
||||
member := &devops.DevOpsProjectMembership{}
|
||||
err := request.ReadEntity(&member)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
member.Username = request.PathParameter("member")
|
||||
if govalidator.IsNull(member.Username) {
|
||||
err := fmt.Errorf("error need username")
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
if username == member.Username {
|
||||
err := fmt.Errorf("you can not change your role")
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
if !reflectutils.In(member.Role, devops.AllRoleSlice) {
|
||||
err := fmt.Errorf("err role [%s] not in [%s]", member.Role,
|
||||
devops.AllRoleSlice)
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
|
||||
err = devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
project, err := devops.UpdateProjectMember(projectId, username, member)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -179,13 +179,13 @@ func DeleteDevOpsProjectMemberHandler(request *restful.Request, resp *restful.Re
|
||||
|
||||
err := devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
username, err = devops.DeleteProjectMember(projectId, member)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -15,11 +15,11 @@ package devops
|
||||
|
||||
import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/golang/glog"
|
||||
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/api/devops/v1alpha2"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -30,14 +30,14 @@ func GetDevOpsProjectHandler(request *restful.Request, resp *restful.Response) {
|
||||
|
||||
err := devops.CheckProjectUserInRole(username, projectId, devops.AllRoleSlice)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
project, err := devops.GetProject(projectId)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -50,24 +50,24 @@ func UpdateProjectHandler(request *restful.Request, resp *restful.Response) {
|
||||
|
||||
projectId := request.PathParameter("devops")
|
||||
username := request.HeaderParameter(constants.UserNameHeader)
|
||||
var project *devops.DevOpsProject
|
||||
var project *v1alpha2.DevOpsProject
|
||||
err := request.ReadEntity(&project)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
project.ProjectId = projectId
|
||||
err = devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
project, err = devops.UpdateProject(project)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -15,10 +15,10 @@ package devops
|
||||
|
||||
import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -29,20 +29,20 @@ func CreateDevOpsProjectCredentialHandler(request *restful.Request, resp *restfu
|
||||
var credential *devops.JenkinsCredential
|
||||
err := request.ReadEntity(&credential)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
err = devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner, devops.ProjectMaintainer})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
credentialId, err := devops.CreateProjectCredential(projectId, username, credential)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -61,20 +61,20 @@ func UpdateDevOpsProjectCredentialHandler(request *restful.Request, resp *restfu
|
||||
var credential *devops.JenkinsCredential
|
||||
err := request.ReadEntity(&credential)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
err = devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner, devops.ProjectMaintainer})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
credentialId, err = devops.UpdateProjectCredential(projectId, credentialId, credential)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -93,20 +93,20 @@ func DeleteDevOpsProjectCredentialHandler(request *restful.Request, resp *restfu
|
||||
var credential *devops.JenkinsCredential
|
||||
err := request.ReadEntity(&credential)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
err = devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner, devops.ProjectMaintainer})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
credentialId, err = devops.DeleteProjectCredential(projectId, credentialId, credential)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -127,14 +127,14 @@ func GetDevOpsProjectCredentialHandler(request *restful.Request, resp *restful.R
|
||||
|
||||
err := devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner, devops.ProjectMaintainer})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
response, err := devops.GetProjectCredential(projectId, credentialId, domain, getContent)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -150,13 +150,13 @@ func GetDevOpsProjectCredentialsHandler(request *restful.Request, resp *restful.
|
||||
|
||||
err := devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner, devops.ProjectMaintainer})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
jenkinsCredentials, err := devops.GetProjectCredentials(projectId, domain)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -15,10 +15,10 @@ package devops
|
||||
|
||||
import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -29,20 +29,20 @@ func CreateDevOpsProjectPipelineHandler(request *restful.Request, resp *restful.
|
||||
var pipeline *devops.ProjectPipeline
|
||||
err := request.ReadEntity(&pipeline)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
err = devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner, devops.ProjectMaintainer})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
pipelineName, err := devops.CreateProjectPipeline(projectId, pipeline)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -60,14 +60,14 @@ func DeleteDevOpsProjectPipelineHandler(request *restful.Request, resp *restful.
|
||||
|
||||
err := devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner, devops.ProjectMaintainer})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
pipelineName, err := devops.DeleteProjectPipeline(projectId, pipelineId)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -86,20 +86,20 @@ func UpdateDevOpsProjectPipelineHandler(request *restful.Request, resp *restful.
|
||||
var pipeline *devops.ProjectPipeline
|
||||
err := request.ReadEntity(&pipeline)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
err = devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner, devops.ProjectMaintainer})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
pipelineName, err := devops.UpdateProjectPipeline(projectId, pipelineId, pipeline)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -118,14 +118,14 @@ func GetDevOpsProjectPipelineHandler(request *restful.Request, resp *restful.Res
|
||||
|
||||
err := devops.CheckProjectUserInRole(username, projectId, []string{devops.ProjectOwner, devops.ProjectMaintainer})
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
pipeline, err := devops.GetProjectPipeline(projectId, pipelineId)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -140,13 +140,13 @@ func GetPipelineSonarStatusHandler(request *restful.Request, resp *restful.Respo
|
||||
pipelineId := request.PathParameter("pipeline")
|
||||
err := devops.CheckProjectUserInRole(username, projectId, devops.AllRoleSlice)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
sonarStatus, err := devops.GetPipelineSonar(projectId, pipelineId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -160,13 +160,13 @@ func GetMultiBranchesPipelineSonarStatusHandler(request *restful.Request, resp *
|
||||
branchId := request.PathParameter("branch")
|
||||
err := devops.CheckProjectUserInRole(username, projectId, devops.AllRoleSlice)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusForbidden, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
sonarStatus, err := devops.GetMultiBranchPipelineSonar(projectId, pipelineId, branchId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
"fmt"
|
||||
"github.com/emicklei/go-restful"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"kubesphere.io/kubesphere/pkg/utils/hashutil"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -4,8 +4,8 @@ import (
|
||||
"net/http"
|
||||
|
||||
"github.com/emicklei/go-restful"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/git"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
)
|
||||
|
||||
func GitReadVerify(request *restful.Request, response *restful.Response) {
|
||||
|
||||
@@ -21,13 +21,13 @@ import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"k8s.io/api/rbac/v1"
|
||||
k8serr "k8s.io/apimachinery/pkg/api/errors"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"net/http"
|
||||
"sort"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam/policy"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
)
|
||||
|
||||
type RoleList struct {
|
||||
|
||||
@@ -20,13 +20,13 @@ package iam
|
||||
import (
|
||||
"github.com/dgrijalva/jwt-go"
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/utils/iputil"
|
||||
"kubesphere.io/kubesphere/pkg/utils/jwtutil"
|
||||
"net/http"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
)
|
||||
|
||||
type Spec struct {
|
||||
@@ -102,7 +102,7 @@ func TokenReviewHandler(req *restful.Request, resp *restful.Response) {
|
||||
token, err := jwtutil.ValidateToken(uToken)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("token review failed", uToken, err)
|
||||
klog.Errorln("token review failed", uToken, err)
|
||||
failed := TokenReview{APIVersion: APIVersion,
|
||||
Kind: KindTokenReview,
|
||||
Status: &Status{
|
||||
|
||||
@@ -26,9 +26,9 @@ import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/go-ldap/ldap"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
)
|
||||
|
||||
func CreateGroup(req *restful.Request, resp *restful.Response) {
|
||||
|
||||
@@ -20,7 +20,7 @@ package iam
|
||||
import (
|
||||
"fmt"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"net/http"
|
||||
"net/mail"
|
||||
"strings"
|
||||
@@ -29,9 +29,9 @@ import (
|
||||
"github.com/go-ldap/ldap"
|
||||
rbacv1 "k8s.io/api/rbac/v1"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
)
|
||||
|
||||
func CreateUser(req *restful.Request, resp *restful.Response) {
|
||||
|
||||
@@ -21,11 +21,11 @@ import (
|
||||
"github.com/emicklei/go-restful"
|
||||
k8serr "k8s.io/apimachinery/pkg/api/errors"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam"
|
||||
"kubesphere.io/kubesphere/pkg/models/workspaces"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
||||
@@ -20,9 +20,9 @@ package logging
|
||||
|
||||
import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/golang/glog"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/models/log"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
es "kubesphere.io/kubesphere/pkg/simple/client/elasticsearch"
|
||||
fb "kubesphere.io/kubesphere/pkg/simple/client/fluentbit"
|
||||
"kubesphere.io/kubesphere/pkg/utils/stringutils"
|
||||
@@ -106,7 +106,7 @@ func LoggingInsertFluentbitOutput(request *restful.Request, response *restful.Re
|
||||
|
||||
err := request.ReadEntity(&output)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
response.WriteHeaderAndEntity(http.StatusBadRequest, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
@@ -128,7 +128,7 @@ func LoggingUpdateFluentbitOutput(request *restful.Request, response *restful.Re
|
||||
|
||||
err := request.ReadEntity(&output)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
response.WriteHeaderAndEntity(http.StatusBadRequest, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/workloads"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"net/http"
|
||||
|
||||
"github.com/emicklei/go-restful"
|
||||
|
||||
@@ -22,8 +22,8 @@ import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"net/http"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/nodes"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
)
|
||||
|
||||
func DrainNode(request *restful.Request, response *restful.Response) {
|
||||
|
||||
@@ -22,7 +22,7 @@ import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"net/http"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/models/quotas"
|
||||
)
|
||||
|
||||
@@ -22,8 +22,8 @@ import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"net/http"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/registries"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
|
||||
k8serror "k8s.io/apimachinery/pkg/api/errors"
|
||||
log "k8s.io/klog"
|
||||
|
||||
@@ -20,14 +20,14 @@ package resources
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/models/applications"
|
||||
"kubesphere.io/kubesphere/pkg/models/resources"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/openpitrix"
|
||||
"net/http"
|
||||
)
|
||||
@@ -46,7 +46,7 @@ func ListApplication(req *restful.Request, resp *restful.Response) {
|
||||
if len(clusterId) > 0 {
|
||||
app, err := applications.GetApp(clusterId)
|
||||
if err != nil {
|
||||
glog.Errorln("get application error", err)
|
||||
klog.Errorln("get application error", err)
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
@@ -77,7 +77,7 @@ func ListNamespacedApplication(req *restful.Request, resp *restful.Response) {
|
||||
if len(clusterId) > 0 {
|
||||
app, err := applications.GetApp(clusterId)
|
||||
if err != nil {
|
||||
glog.Errorln("get app failed", err)
|
||||
klog.Errorln("get app failed", err)
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
@@ -88,7 +88,7 @@ func ListNamespacedApplication(req *restful.Request, resp *restful.Response) {
|
||||
namespace, err := resources.GetResource("", resources.Namespaces, namespaceName)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get namespace failed", err)
|
||||
klog.Errorln("get namespace failed", err)
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
@@ -100,7 +100,7 @@ func ListNamespacedApplication(req *restful.Request, resp *restful.Response) {
|
||||
}
|
||||
|
||||
if runtimeId == "" {
|
||||
glog.Errorln("runtime id not found")
|
||||
klog.Errorln("runtime id not found")
|
||||
resp.WriteAsJson(models.PageableResponse{Items: []interface{}{}, TotalCount: 0})
|
||||
return
|
||||
}
|
||||
@@ -108,7 +108,7 @@ func ListNamespacedApplication(req *restful.Request, resp *restful.Response) {
|
||||
result, err := applications.ListApplication(runtimeId, conditions, limit, offset)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("list applications failed", err)
|
||||
klog.Errorln("list applications failed", err)
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
@@ -121,14 +121,14 @@ func DescribeApplication(req *restful.Request, resp *restful.Response) {
|
||||
namespaceName := req.PathParameter("namespace")
|
||||
app, err := applications.GetApp(clusterId)
|
||||
if err != nil {
|
||||
glog.Errorln("get app failed", err)
|
||||
klog.Errorln("get app failed", err)
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
namespace, err := resources.GetResource("", resources.Namespaces, namespaceName)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get namespace failed", err)
|
||||
klog.Errorln("get namespace failed", err)
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
@@ -140,7 +140,7 @@ func DescribeApplication(req *restful.Request, resp *restful.Response) {
|
||||
}
|
||||
|
||||
if runtimeId != app.RuntimeId {
|
||||
glog.Errorln("runtime not match", app.RuntimeId, runtimeId)
|
||||
klog.Errorln("runtime not match", app.RuntimeId, runtimeId)
|
||||
resp.WriteHeaderAndEntity(http.StatusForbidden, errors.New(fmt.Sprintf("rumtime not match %s,%s", app.RuntimeId, runtimeId)))
|
||||
return
|
||||
}
|
||||
@@ -170,14 +170,14 @@ func DeleteApplication(req *restful.Request, resp *restful.Response) {
|
||||
namespaceName := req.PathParameter("namespace")
|
||||
app, err := applications.GetApp(clusterId)
|
||||
if err != nil {
|
||||
glog.Errorln("get app failed", err)
|
||||
klog.Errorln("get app failed", err)
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
namespace, err := resources.GetResource("", resources.Namespaces, namespaceName)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get namespace failed", err)
|
||||
klog.Errorln("get namespace failed", err)
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
@@ -189,7 +189,7 @@ func DeleteApplication(req *restful.Request, resp *restful.Response) {
|
||||
}
|
||||
|
||||
if runtimeId != app.RuntimeId {
|
||||
glog.Errorln("runtime not match", app.RuntimeId, runtimeId)
|
||||
klog.Errorln("runtime not match", app.RuntimeId, runtimeId)
|
||||
resp.WriteHeaderAndEntity(http.StatusForbidden, errors.New(fmt.Sprintf("rumtime not match %s,%s", app.RuntimeId, runtimeId)))
|
||||
return
|
||||
}
|
||||
@@ -197,7 +197,7 @@ func DeleteApplication(req *restful.Request, resp *restful.Response) {
|
||||
err = applications.DeleteApplication(clusterId)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("delete application failed", err)
|
||||
klog.Errorln("delete application failed", err)
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -22,8 +22,8 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/models/resources"
|
||||
"net/http"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
)
|
||||
|
||||
func ListNamespacedResources(req *restful.Request, resp *restful.Response) {
|
||||
|
||||
@@ -22,8 +22,8 @@ import (
|
||||
"k8s.io/api/core/v1"
|
||||
"net/http"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/storage"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
)
|
||||
|
||||
type pvcList struct {
|
||||
|
||||
@@ -19,13 +19,13 @@ package resources
|
||||
|
||||
import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/golang/glog"
|
||||
k8serr "k8s.io/apimachinery/pkg/api/errors"
|
||||
"k8s.io/klog"
|
||||
"net/http"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/kubeconfig"
|
||||
"kubesphere.io/kubesphere/pkg/models/kubectl"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
)
|
||||
|
||||
func GetKubectl(req *restful.Request, resp *restful.Response) {
|
||||
@@ -35,7 +35,7 @@ func GetKubectl(req *restful.Request, resp *restful.Response) {
|
||||
kubectlPod, err := kubectl.GetKubectlPod(user)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
return
|
||||
}
|
||||
@@ -50,7 +50,7 @@ func GetKubeconfig(req *restful.Request, resp *restful.Response) {
|
||||
kubectlConfig, err := kubeconfig.GetKubeConfig(user)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
if k8serr.IsNotFound(err) {
|
||||
// recreate
|
||||
kubeconfig.CreateKubeConfig(user)
|
||||
|
||||
@@ -22,8 +22,8 @@ import (
|
||||
"strconv"
|
||||
|
||||
"github.com/emicklei/go-restful"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/revisions"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
)
|
||||
|
||||
func GetDaemonSetRevision(req *restful.Request, resp *restful.Response) {
|
||||
|
||||
@@ -24,7 +24,7 @@ import (
|
||||
k8serr "k8s.io/apimachinery/pkg/api/errors"
|
||||
"net/http"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
|
||||
"strings"
|
||||
|
||||
|
||||
@@ -19,23 +19,22 @@ package tenant
|
||||
|
||||
import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/api/core/v1"
|
||||
rbacv1 "k8s.io/api/rbac/v1"
|
||||
k8serr "k8s.io/apimachinery/pkg/api/errors"
|
||||
"k8s.io/apimachinery/pkg/util/net"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/api/devops/v1alpha2"
|
||||
"kubesphere.io/kubesphere/pkg/apis/tenant/v1alpha1"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/logging"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam"
|
||||
"kubesphere.io/kubesphere/pkg/models/metrics"
|
||||
"kubesphere.io/kubesphere/pkg/models/resources"
|
||||
"kubesphere.io/kubesphere/pkg/models/tenant"
|
||||
"kubesphere.io/kubesphere/pkg/models/workspaces"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/elasticsearch"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
@@ -91,7 +90,7 @@ func DescribeWorkspace(req *restful.Request, resp *restful.Response) {
|
||||
result, err := tenant.DescribeWorkspace(username, workspaceName)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("describe workspace failed: %+v", err)
|
||||
klog.Errorf("describe workspace failed: %+v", err)
|
||||
if k8serr.IsNotFound(err) {
|
||||
resp.WriteHeaderAndEntity(http.StatusNotFound, errors.Wrap(err))
|
||||
} else {
|
||||
@@ -229,7 +228,7 @@ func ListDevopsProjects(req *restful.Request, resp *restful.Response) {
|
||||
conditions, err := params.ParseConditions(req.QueryParameter(params.ConditionsParam))
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
@@ -237,7 +236,7 @@ func ListDevopsProjects(req *restful.Request, resp *restful.Response) {
|
||||
result, err := tenant.ListDevopsProjects(workspace, username, conditions, orderBy, reverse, limit, offset)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -266,7 +265,7 @@ func DeleteDevopsProject(req *restful.Request, resp *restful.Response) {
|
||||
_, err := tenant.GetWorkspace(workspaceName)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
@@ -274,7 +273,7 @@ func DeleteDevopsProject(req *restful.Request, resp *restful.Response) {
|
||||
err = tenant.DeleteDevOpsProject(projectId, username)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -287,21 +286,21 @@ func CreateDevopsProject(req *restful.Request, resp *restful.Response) {
|
||||
workspaceName := req.PathParameter("workspace")
|
||||
username := req.HeaderParameter(constants.UserNameHeader)
|
||||
|
||||
var devops devops.DevOpsProject
|
||||
var devops v1alpha2.DevOpsProject
|
||||
|
||||
err := req.ReadEntity(&devops)
|
||||
|
||||
if err != nil {
|
||||
glog.Infof("%+v", err)
|
||||
klog.Infof("%+v", err)
|
||||
errors.ParseSvcErr(restful.NewError(http.StatusBadRequest, err.Error()), resp)
|
||||
return
|
||||
}
|
||||
|
||||
glog.Infoln("create workspace", username, workspaceName, devops)
|
||||
klog.Infoln("create workspace", username, workspaceName, devops)
|
||||
project, err := tenant.CreateDevopsProject(username, workspaceName, &devops)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -331,7 +330,7 @@ func ListDevopsRules(req *restful.Request, resp *restful.Response) {
|
||||
rules, err := tenant.GetUserDevopsSimpleRules(username, devops)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
errors.ParseSvcErr(err, resp)
|
||||
return
|
||||
}
|
||||
@@ -350,7 +349,7 @@ func LogQuery(req *restful.Request, resp *restful.Response) {
|
||||
clusterRules, err := iam.GetUserClusterRules(username)
|
||||
if err != nil {
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -363,7 +362,7 @@ func LogQuery(req *restful.Request, resp *restful.Response) {
|
||||
roles, err := iam.GetUserRoles("", username)
|
||||
if err != nil {
|
||||
resp.WriteHeaderAndEntity(http.StatusInternalServerError, errors.Wrap(err))
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return
|
||||
}
|
||||
for _, role := range roles {
|
||||
|
||||
@@ -20,8 +20,8 @@ package terminal
|
||||
import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"gopkg.in/igm/sockjs-go.v2/sockjs"
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/terminal"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
||||
@@ -22,8 +22,8 @@ import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"net/http"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/errors"
|
||||
"kubesphere.io/kubesphere/pkg/models/status"
|
||||
"kubesphere.io/kubesphere/pkg/server/errors"
|
||||
)
|
||||
|
||||
func GetClusterAbnormalWorkloads(req *restful.Request, resp *restful.Response) {
|
||||
|
||||
@@ -22,7 +22,6 @@ import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
|
||||
"github.com/golang/glog"
|
||||
batchv1 "k8s.io/api/batch/v1"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
@@ -233,7 +232,7 @@ func (v *JobController) makeRevision(job *batchv1.Job) error {
|
||||
|
||||
revisionsByte, err := json.Marshal(revisions)
|
||||
if err != nil {
|
||||
glog.Error("generate reversion string failed", err)
|
||||
log.Error("generate reversion string failed", err)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ import (
|
||||
tenantv1alpha1 "kubesphere.io/kubesphere/pkg/apis/tenant/v1alpha1"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
cs "kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/kubesphere"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"reflect"
|
||||
@@ -68,7 +69,7 @@ func Add(mgr manager.Manager) error {
|
||||
// newReconciler returns a new reconcile.Reconciler
|
||||
func newReconciler(mgr manager.Manager) reconcile.Reconciler {
|
||||
return &ReconcileWorkspace{Client: mgr.GetClient(), scheme: mgr.GetScheme(),
|
||||
recorder: mgr.GetRecorder("workspace-controller"), ksclient: kubesphere.Client()}
|
||||
recorder: mgr.GetRecorder("workspace-controller"), ksclient: cs.ClientSets().KubeSphere()}
|
||||
}
|
||||
|
||||
// add adds a new Controller to mgr with r as the reconcile.Reconciler
|
||||
|
||||
@@ -14,7 +14,7 @@ limitations under the License.
|
||||
package db
|
||||
|
||||
import (
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
)
|
||||
|
||||
// EventReceiver is a sentinel EventReceiver; use it if the caller doesn't supply one
|
||||
@@ -38,8 +38,8 @@ func (n *EventReceiver) EventErr(eventName string, err error) error {
|
||||
// EventErrKv receives a notification of an error if one occurs along with
|
||||
// optional key/value data
|
||||
func (n *EventReceiver) EventErrKv(eventName string, err error, kvs map[string]string) error {
|
||||
glog.Errorf("%+v", err)
|
||||
glog.Errorf("%s: %+v", eventName, kvs)
|
||||
klog.Errorf("%+v", err)
|
||||
klog.Errorf("%s: %+v", eventName, kvs)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -51,5 +51,5 @@ func (n *EventReceiver) Timing(eventName string, nanoseconds int64) {
|
||||
// TimingKv receives the time an event took to happen along with optional key/value data
|
||||
func (n *EventReceiver) TimingKv(eventName string, nanoseconds int64, kvs map[string]string) {
|
||||
// TODO: Change logger level to debug
|
||||
glog.Infof("%s spend %.2fms: %+v", eventName, float32(nanoseconds)/1000000, kvs)
|
||||
klog.Infof("%s spend %.2fms: %+v", eventName, float32(nanoseconds)/1000000, kvs)
|
||||
}
|
||||
|
||||
@@ -19,18 +19,18 @@ package applications
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/golang/glog"
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/api/extensions/v1beta1"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/models/resources"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/openpitrix"
|
||||
"strings"
|
||||
@@ -105,7 +105,7 @@ func GetApp(clusterId string) (*Application, error) {
|
||||
item, err := openPitrixClient.GetCluster(clusterId)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ func GetApp(clusterId string) (*Application, error) {
|
||||
|
||||
workloads, err := getWorkLoads(app.Runtime, item.ClusterRoleSets)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
app.WorkLoads = workloads
|
||||
@@ -159,7 +159,7 @@ func getWorkLoads(namespace string, clusterRoles []openpitrix.ClusterRole) (*wor
|
||||
if errors.IsNotFound(err) {
|
||||
continue
|
||||
}
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -175,7 +175,7 @@ func getWorkLoads(namespace string, clusterRoles []openpitrix.ClusterRole) (*wor
|
||||
if errors.IsNotFound(err) {
|
||||
continue
|
||||
}
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
works.Daemonsets = append(works.Daemonsets, *item)
|
||||
@@ -190,7 +190,7 @@ func getWorkLoads(namespace string, clusterRoles []openpitrix.ClusterRole) (*wor
|
||||
if errors.IsNotFound(err) {
|
||||
continue
|
||||
}
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
works.Statefulsets = append(works.Statefulsets, *item)
|
||||
@@ -255,7 +255,7 @@ func getSvcs(namespace string, workLoadLabels *[]map[string]string) []v1.Service
|
||||
labelSelector := labels.Set(label).AsSelector().String()
|
||||
svcs, err := k8sClient.CoreV1().Services(namespace).List(metav1.ListOptions{LabelSelector: labelSelector})
|
||||
if err != nil {
|
||||
glog.Errorf("get app's svc failed, reason: %v", err)
|
||||
klog.Errorf("get app's svc failed, reason: %v", err)
|
||||
}
|
||||
for _, item := range svcs.Items {
|
||||
if !isExist(services, item) {
|
||||
@@ -276,11 +276,11 @@ func getIng(namespace string, services []v1.Service) []v1beta1.Ingress {
|
||||
for _, svc := range services {
|
||||
result, err := resources.ListResources(namespace, "ingress", ¶ms.Conditions{Fuzzy: map[string]string{"serviceName": svc.Name}}, "", false, -1, 0)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil
|
||||
}
|
||||
|
||||
glog.Error(result)
|
||||
klog.Error(result)
|
||||
for _, i := range result.Items {
|
||||
ingress := i.(*v1beta1.Ingress)
|
||||
|
||||
@@ -316,7 +316,7 @@ func DeployApplication(namespace string, app openpitrix.CreateClusterRequest) er
|
||||
|
||||
ns, err := informers.SharedInformerFactory().Core().V1().Namespaces().Lister().Get(namespace)
|
||||
if err != nil {
|
||||
glog.Errorf("deploy application failed: %+v", err)
|
||||
klog.Errorf("deploy application failed: %+v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,12 @@ package components
|
||||
import (
|
||||
"fmt"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
|
||||
"github.com/golang/glog"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
|
||||
@@ -102,7 +102,7 @@ func GetSystemHealthStatus() (*models.HealthStatus, error) {
|
||||
// get kubesphere-system components
|
||||
components, err := GetAllComponentsStatus()
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
}
|
||||
|
||||
status.KubeSphereComponents = components
|
||||
@@ -111,7 +111,7 @@ func GetSystemHealthStatus() (*models.HealthStatus, error) {
|
||||
// get node status
|
||||
nodes, err := nodeLister.List(labels.Everything())
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return status, nil
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ func GetAllComponentsStatus() ([]models.ComponentStatus, error) {
|
||||
services, err := serviceLister.Services(ns).List(labels.Everything())
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ func GetAllComponentsStatus() ([]models.ComponentStatus, error) {
|
||||
pods, err := podLister.Pods(ns).List(labels.SelectorFromValidatedSet(service.Spec.Selector))
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
continue
|
||||
}
|
||||
|
||||
|
||||
@@ -14,11 +14,12 @@ limitations under the License.
|
||||
package devops
|
||||
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/api/devops/v1alpha2"
|
||||
"kubesphere.io/kubesphere/pkg/utils/idutils"
|
||||
"time"
|
||||
)
|
||||
|
||||
var DevOpsProjectColumns = GetColumnsFromStruct(&DevOpsProject{})
|
||||
var DevOpsProjectColumns = GetColumnsFromStruct(&v1alpha2.DevOpsProject{})
|
||||
|
||||
const (
|
||||
DevOpsProjectTableName = "project"
|
||||
@@ -31,33 +32,8 @@ const (
|
||||
DevOpsProjectCreateTimeColumn = "project.create_time"
|
||||
)
|
||||
|
||||
type PageableDevOpsProject struct {
|
||||
Items []*DevOpsProject `json:"items"`
|
||||
TotalCount int `json:"total_count"`
|
||||
}
|
||||
|
||||
type DevOpsProject struct {
|
||||
ProjectId string `json:"project_id" db:"project_id" description:"ProjectId must be unique within a workspace, it is generated by kubesphere."`
|
||||
|
||||
Name string `json:"name" description:"DevOps Projects's Name"`
|
||||
|
||||
Description string `json:"description,omitempty" description:"DevOps Projects's Description, used to describe the DevOps Project"`
|
||||
|
||||
Creator string `json:"creator" description:"Creator's username"`
|
||||
|
||||
CreateTime time.Time `json:"create_time" description:"DevOps Project's Creation time"`
|
||||
|
||||
Status string `json:"status" description:"DevOps project's status. e.g. active"`
|
||||
|
||||
Visibility string `json:"visibility,omitempty" description:"Deprecated Field"`
|
||||
|
||||
Extra string `json:"extra,omitempty" description:"Internal Use"`
|
||||
|
||||
Workspace string `json:"workspace" description:"The workspace to which the devops project belongs"`
|
||||
}
|
||||
|
||||
func NewDevOpsProject(name, description, creator, extra, workspace string) *DevOpsProject {
|
||||
return &DevOpsProject{
|
||||
func NewDevOpsProject(name, description, creator, extra, workspace string) *v1alpha2.DevOpsProject {
|
||||
return &v1alpha2.DevOpsProject{
|
||||
ProjectId: idutils.GetUuid(DevOpsProjectPrefix),
|
||||
Name: name,
|
||||
Description: description,
|
||||
|
||||
@@ -19,7 +19,7 @@ import (
|
||||
"github.com/asaskevich/govalidator"
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/gocraft/dbr"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/db"
|
||||
"kubesphere.io/kubesphere/pkg/gojenkins"
|
||||
@@ -39,7 +39,7 @@ func CreateProjectCredential(projectId, username string, credentialRequest *Jenk
|
||||
|
||||
err = checkJenkinsCredentialExists(projectId, credentialRequest.Domain, credentialRequest.Id)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", err
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ func CreateProjectCredential(projectId, username string, credentialRequest *Jenk
|
||||
case CredentialTypeUsernamePassword:
|
||||
if credentialRequest.UsernamePasswordCredential == nil {
|
||||
err := fmt.Errorf("usename_password should not be nil")
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", restful.NewError(http.StatusBadRequest, err.Error())
|
||||
}
|
||||
credentialId, err := jenkinsClient.CreateUsernamePasswordCredentialInFolder(credentialRequest.Domain,
|
||||
@@ -57,19 +57,19 @@ func CreateProjectCredential(projectId, username string, credentialRequest *Jenk
|
||||
credentialRequest.Description,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
err = insertCredentialToDb(projectId, *credentialId, credentialRequest.Domain, username)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", err
|
||||
}
|
||||
return *credentialId, nil
|
||||
case CredentialTypeSsh:
|
||||
if credentialRequest.SshCredential == nil {
|
||||
err := fmt.Errorf("ssh should not be nil")
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", restful.NewError(http.StatusBadRequest, err.Error())
|
||||
}
|
||||
credentialId, err := jenkinsClient.CreateSshCredentialInFolder(credentialRequest.Domain,
|
||||
@@ -80,20 +80,20 @@ func CreateProjectCredential(projectId, username string, credentialRequest *Jenk
|
||||
credentialRequest.Description,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
|
||||
err = insertCredentialToDb(projectId, *credentialId, credentialRequest.Domain, username)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
return *credentialId, nil
|
||||
case CredentialTypeSecretText:
|
||||
if credentialRequest.SecretTextCredential == nil {
|
||||
err := fmt.Errorf("secret_text should not be nil")
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", restful.NewError(http.StatusBadRequest, err.Error())
|
||||
}
|
||||
|
||||
@@ -103,20 +103,20 @@ func CreateProjectCredential(projectId, username string, credentialRequest *Jenk
|
||||
credentialRequest.Description,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
|
||||
err = insertCredentialToDb(projectId, *credentialId, credentialRequest.Domain, username)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
return *credentialId, nil
|
||||
case CredentialTypeKubeConfig:
|
||||
if credentialRequest.KubeconfigCredential == nil {
|
||||
err := fmt.Errorf("kubeconfig should not be nil")
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", restful.NewError(http.StatusBadRequest, err.Error())
|
||||
}
|
||||
credentialId, err := jenkinsClient.CreateKubeconfigCredentialInFolder(credentialRequest.Domain,
|
||||
@@ -125,18 +125,18 @@ func CreateProjectCredential(projectId, username string, credentialRequest *Jenk
|
||||
credentialRequest.Description,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
err = insertCredentialToDb(projectId, *credentialId, credentialRequest.Domain, username)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
return *credentialId, nil
|
||||
default:
|
||||
err := fmt.Errorf("error unsupport credential type")
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(http.StatusBadRequest, err.Error())
|
||||
|
||||
}
|
||||
@@ -154,7 +154,7 @@ func UpdateProjectCredential(projectId, credentialId string, credentialRequest *
|
||||
credentialId,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
credentialType := CredentialTypeMap[jenkinsCredential.TypeName]
|
||||
@@ -162,7 +162,7 @@ func UpdateProjectCredential(projectId, credentialId string, credentialRequest *
|
||||
case CredentialTypeUsernamePassword:
|
||||
if credentialRequest.UsernamePasswordCredential == nil {
|
||||
err := fmt.Errorf("usename_password should not be nil")
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", restful.NewError(http.StatusBadRequest, err.Error())
|
||||
}
|
||||
credentialId, err := jenkinsClient.UpdateUsernamePasswordCredentialInFolder(credentialRequest.Domain,
|
||||
@@ -172,7 +172,7 @@ func UpdateProjectCredential(projectId, credentialId string, credentialRequest *
|
||||
credentialRequest.Description,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ func UpdateProjectCredential(projectId, credentialId string, credentialRequest *
|
||||
case CredentialTypeSsh:
|
||||
if credentialRequest.SshCredential == nil {
|
||||
err := fmt.Errorf("ssh should not be nil")
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", restful.NewError(http.StatusBadRequest, err.Error())
|
||||
}
|
||||
credentialId, err := jenkinsClient.UpdateSshCredentialInFolder(credentialRequest.Domain,
|
||||
@@ -191,7 +191,7 @@ func UpdateProjectCredential(projectId, credentialId string, credentialRequest *
|
||||
credentialRequest.Description,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ func UpdateProjectCredential(projectId, credentialId string, credentialRequest *
|
||||
case CredentialTypeSecretText:
|
||||
if credentialRequest.SecretTextCredential == nil {
|
||||
err := fmt.Errorf("secret_text should not be nil")
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", restful.NewError(http.StatusBadRequest, err.Error())
|
||||
}
|
||||
credentialId, err := jenkinsClient.UpdateSecretTextCredentialInFolder(credentialRequest.Domain,
|
||||
@@ -208,14 +208,14 @@ func UpdateProjectCredential(projectId, credentialId string, credentialRequest *
|
||||
credentialRequest.Description,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
return *credentialId, nil
|
||||
case CredentialTypeKubeConfig:
|
||||
if credentialRequest.KubeconfigCredential == nil {
|
||||
err := fmt.Errorf("kubeconfig should not be nil")
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", restful.NewError(http.StatusBadRequest, err.Error())
|
||||
}
|
||||
credentialId, err := jenkinsClient.UpdateKubeconfigCredentialInFolder(credentialRequest.Domain,
|
||||
@@ -224,13 +224,13 @@ func UpdateProjectCredential(projectId, credentialId string, credentialRequest *
|
||||
credentialRequest.Description,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
return *credentialId, nil
|
||||
default:
|
||||
err := fmt.Errorf("error unsupport credential type")
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(http.StatusBadRequest, err.Error())
|
||||
|
||||
}
|
||||
@@ -253,13 +253,13 @@ func DeleteProjectCredential(projectId, credentialId string, credentialRequest *
|
||||
credentialId,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
|
||||
id, err := jenkinsClient.DeleteCredentialInFolder(credentialRequest.Domain, credentialId, projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
|
||||
@@ -274,7 +274,7 @@ func DeleteProjectCredential(projectId, credentialId string, credentialRequest *
|
||||
_, err = dbClient.DeleteFrom(ProjectCredentialTableName).
|
||||
Where(db.And(deleteConditions...)).Exec()
|
||||
if err != nil && err != db.ErrNotFound {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return "", restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
return *id, nil
|
||||
@@ -296,7 +296,7 @@ func GetProjectCredential(projectId, credentialId, domain, getContent string) (*
|
||||
credentialId,
|
||||
projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return nil, restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
|
||||
@@ -308,7 +308,7 @@ func GetProjectCredential(projectId, credentialId, domain, getContent string) (*
|
||||
db.Eq(ProjectCredentialDomainColumn, jenkinsResponse.Domain))).LoadOne(projectCredential)
|
||||
|
||||
if err != nil && err != db.ErrNotFound {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return nil, restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
|
||||
@@ -316,13 +316,13 @@ func GetProjectCredential(projectId, credentialId, domain, getContent string) (*
|
||||
if getContent != "" {
|
||||
stringBody, err := jenkinsClient.GetCredentialContentInFolder(jenkinsResponse.Domain, credentialId, projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return nil, restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
stringReader := strings.NewReader(stringBody)
|
||||
doc, err := goquery.NewDocumentFromReader(stringReader)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return nil, restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
switch response.Type {
|
||||
@@ -372,7 +372,7 @@ func GetProjectCredentials(projectId, domain string) ([]*JenkinsCredential, erro
|
||||
}
|
||||
jenkinsCredentialResponses, err := jenkinsClient.GetCredentialsInFolder(domain, projectId)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return nil, restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
selectCondition := db.Eq(ProjectCredentialProjectIdColumn, projectId)
|
||||
@@ -383,7 +383,7 @@ func GetProjectCredentials(projectId, domain string) ([]*JenkinsCredential, erro
|
||||
_, err = dbClient.Select(ProjectCredentialColumns...).
|
||||
From(ProjectCredentialTableName).Where(selectCondition).Load(&projectCredentials)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return nil, restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
response := formatCredentialsResponse(jenkinsCredentialResponses, projectCredentials)
|
||||
@@ -400,7 +400,7 @@ func insertCredentialToDb(projectId, credentialId, domain, username string) erro
|
||||
_, err = dbClient.InsertInto(ProjectCredentialTableName).Columns(ProjectCredentialColumns...).
|
||||
Record(projectCredential).Exec()
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
return nil
|
||||
@@ -417,11 +417,11 @@ func checkJenkinsCredentialExists(projectId, domain, credentialId string) error
|
||||
credential, err := jenkinsClient.GetCredentialInFolder(domain, credentialId, projectId)
|
||||
if credential != nil {
|
||||
err := fmt.Errorf("credential id [%s] has been used", credential.Id)
|
||||
glog.Warning(err.Error())
|
||||
klog.Warning(err.Error())
|
||||
return restful.NewError(http.StatusConflict, err.Error())
|
||||
}
|
||||
if err != nil && utils.GetJenkinsStatusCode(err) != http.StatusNotFound {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
|
||||
return restful.NewError(http.StatusBadRequest, err.Error())
|
||||
}
|
||||
|
||||
@@ -17,35 +17,36 @@ import (
|
||||
"github.com/asaskevich/govalidator"
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/gocraft/dbr"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/api/devops/v1alpha2"
|
||||
"kubesphere.io/kubesphere/pkg/db"
|
||||
cs "kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func GetProject(projectId string) (*DevOpsProject, error) {
|
||||
func GetProject(projectId string) (*v1alpha2.DevOpsProject, error) {
|
||||
dbconn, err := cs.ClientSets().MySQL()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
project := &DevOpsProject{}
|
||||
project := &v1alpha2.DevOpsProject{}
|
||||
err = dbconn.Select(DevOpsProjectColumns...).
|
||||
From(DevOpsProjectTableName).
|
||||
Where(db.Eq(DevOpsProjectIdColumn, projectId)).
|
||||
LoadOne(project)
|
||||
if err != nil && err != dbr.ErrNotFound {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return nil, restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
if err == dbr.ErrNotFound {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
|
||||
return nil, restful.NewError(http.StatusNotFound, err.Error())
|
||||
}
|
||||
return project, nil
|
||||
}
|
||||
|
||||
func UpdateProject(project *DevOpsProject) (*DevOpsProject, error) {
|
||||
func UpdateProject(project *v1alpha2.DevOpsProject) (*v1alpha2.DevOpsProject, error) {
|
||||
dbconn, err := cs.ClientSets().MySQL()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -66,18 +67,18 @@ func UpdateProject(project *DevOpsProject) (*DevOpsProject, error) {
|
||||
Where(db.Eq(DevOpsProjectIdColumn, project.ProjectId)).Exec()
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
|
||||
return nil, restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
}
|
||||
newProject := &DevOpsProject{}
|
||||
newProject := &v1alpha2.DevOpsProject{}
|
||||
err = dbconn.Select(DevOpsProjectColumns...).
|
||||
From(DevOpsProjectTableName).
|
||||
Where(db.Eq(DevOpsProjectIdColumn, project.ProjectId)).
|
||||
LoadOne(newProject)
|
||||
if err != nil {
|
||||
glog.Errorf("%+v", err)
|
||||
klog.Errorf("%+v", err)
|
||||
return nil, restful.NewError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
return newProject, nil
|
||||
|
||||
@@ -23,7 +23,7 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/gojenkins"
|
||||
"kubesphere.io/kubesphere/pkg/gojenkins/utils"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
cs "kubesphere.io/kubesphere/pkg/simple/client"
|
||||
)
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@ package devops
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/beevik/etree"
|
||||
"github.com/golang/glog"
|
||||
"github.com/kubesphere/sonargo/sonar"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/gojenkins"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"strconv"
|
||||
@@ -1093,7 +1093,7 @@ func getBuildSonarResults(build *gojenkins.Build) ([]*SonarStatus, error) {
|
||||
}
|
||||
ceTask, _, err := sonarClient.SonarQube().Ce.Task(taskOptions)
|
||||
if err != nil {
|
||||
glog.Errorf("get sonar task error [%+v]", err)
|
||||
klog.Errorf("get sonar task error [%+v]", err)
|
||||
continue
|
||||
}
|
||||
sonarStatus.Task = ceTask
|
||||
@@ -1104,7 +1104,7 @@ func getBuildSonarResults(build *gojenkins.Build) ([]*SonarStatus, error) {
|
||||
}
|
||||
measures, _, err := sonarClient.SonarQube().Measures.Component(measuresComponentOption)
|
||||
if err != nil {
|
||||
glog.Errorf("get sonar task error [%+v]", err)
|
||||
klog.Errorf("get sonar task error [%+v]", err)
|
||||
continue
|
||||
}
|
||||
sonarStatus.Measures = measures
|
||||
|
||||
@@ -20,19 +20,19 @@ package iam
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/go-ldap/ldap"
|
||||
"github.com/golang/glog"
|
||||
rbacv1 "k8s.io/api/rbac/v1"
|
||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam/policy"
|
||||
"kubesphere.io/kubesphere/pkg/models/kubectl"
|
||||
"kubesphere.io/kubesphere/pkg/models/resources"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"kubesphere.io/kubesphere/pkg/utils/k8sutil"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
@@ -99,7 +99,7 @@ func GetUserRoles(namespace, username string) ([]*rbacv1.Role, error) {
|
||||
roleBindings, err := roleBindingLister.RoleBindings(namespace).List(labels.Everything())
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get role bindings", namespace, err)
|
||||
klog.Errorln("get role bindings", namespace, err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -111,10 +111,10 @@ func GetUserRoles(namespace, username string) ([]*rbacv1.Role, error) {
|
||||
clusterRole, err := clusterRoleLister.Get(roleBinding.RoleRef.Name)
|
||||
if err != nil {
|
||||
if apierrors.IsNotFound(err) {
|
||||
glog.Warningf("cluster role %s not found but bind user %s in namespace %s", roleBinding.RoleRef.Name, username, namespace)
|
||||
klog.Warningf("cluster role %s not found but bind user %s in namespace %s", roleBinding.RoleRef.Name, username, namespace)
|
||||
continue
|
||||
} else {
|
||||
glog.Errorln("get cluster role", roleBinding.RoleRef.Name, err)
|
||||
klog.Errorln("get cluster role", roleBinding.RoleRef.Name, err)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@@ -129,10 +129,10 @@ func GetUserRoles(namespace, username string) ([]*rbacv1.Role, error) {
|
||||
|
||||
if err != nil {
|
||||
if apierrors.IsNotFound(err) {
|
||||
glog.Warningf("namespace %s role %s not found, but bind user %s", namespace, roleBinding.RoleRef.Name, username)
|
||||
klog.Warningf("namespace %s role %s not found, but bind user %s", namespace, roleBinding.RoleRef.Name, username)
|
||||
continue
|
||||
} else {
|
||||
glog.Errorln("get role", roleBinding.Namespace, roleBinding.RoleRef.Name, err)
|
||||
klog.Errorln("get role", roleBinding.Namespace, roleBinding.RoleRef.Name, err)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@@ -150,7 +150,7 @@ func GetUserClusterRoles(username string) (*rbacv1.ClusterRole, []*rbacv1.Cluste
|
||||
clusterRoleBindings, err := clusterRoleBindingLister.List(labels.Everything())
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get cluster role bindings", err)
|
||||
klog.Errorln("get cluster role bindings", err)
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
@@ -161,10 +161,10 @@ func GetUserClusterRoles(username string) (*rbacv1.ClusterRole, []*rbacv1.Cluste
|
||||
clusterRole, err := clusterRoleLister.Get(clusterRoleBinding.RoleRef.Name)
|
||||
if err != nil {
|
||||
if apierrors.IsNotFound(err) {
|
||||
glog.Warningf("cluster role %s not found but bind user %s", clusterRoleBinding.RoleRef.Name, username)
|
||||
klog.Warningf("cluster role %s not found but bind user %s", clusterRoleBinding.RoleRef.Name, username)
|
||||
continue
|
||||
} else {
|
||||
glog.Errorln("get cluster role", clusterRoleBinding.RoleRef.Name, err)
|
||||
klog.Errorln("get cluster role", clusterRoleBinding.RoleRef.Name, err)
|
||||
return nil, nil, err
|
||||
}
|
||||
}
|
||||
@@ -221,7 +221,7 @@ func GetWorkspaceRoleBindings(workspace string) ([]*rbacv1.ClusterRoleBinding, e
|
||||
clusterRoleBindings, err := informers.SharedInformerFactory().Rbac().V1().ClusterRoleBindings().Lister().List(labels.Everything())
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get cluster role bindings", err)
|
||||
klog.Errorln("get cluster role bindings", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -249,7 +249,7 @@ func GetUserWorkspaceRoleMap(username string) (map[string]string, error) {
|
||||
clusterRoleBindings, err := informers.SharedInformerFactory().Rbac().V1().ClusterRoleBindings().Lister().List(labels.Everything())
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get cluster role bindings", err)
|
||||
klog.Errorln("get cluster role bindings", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -284,7 +284,7 @@ func GetRoleBindings(namespace string, roleName string) ([]*rbacv1.RoleBinding,
|
||||
roleBindings, err := roleBindingLister.RoleBindings(namespace).List(labels.Everything())
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get role bindings", namespace, err)
|
||||
klog.Errorln("get role bindings", namespace, err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -306,7 +306,7 @@ func GetClusterRoleBindings(clusterRoleName string) ([]*rbacv1.ClusterRoleBindin
|
||||
roleBindings, err := clusterRoleBindingLister.List(labels.Everything())
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get cluster role bindings", err)
|
||||
klog.Errorln("get cluster role bindings", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -337,7 +337,7 @@ func ListClusterRoleUsers(clusterRoleName string, conditions *params.Conditions,
|
||||
continue
|
||||
}
|
||||
if err != nil {
|
||||
glog.Errorln("get user info", subject.Name, err)
|
||||
klog.Errorln("get user info", subject.Name, err)
|
||||
return nil, err
|
||||
}
|
||||
users = append(users, user)
|
||||
@@ -431,7 +431,7 @@ func ListClusterRoles(conditions *params.Conditions, orderBy string, reverse boo
|
||||
func NamespaceUsers(namespaceName string) ([]*models.User, error) {
|
||||
namespace, err := informers.SharedInformerFactory().Core().V1().Namespaces().Lister().Get(namespaceName)
|
||||
if err != nil {
|
||||
glog.Errorln("get namespace", namespaceName, err)
|
||||
klog.Errorln("get namespace", namespaceName, err)
|
||||
return nil, err
|
||||
}
|
||||
roleBindings, err := GetRoleBindings(namespaceName, "")
|
||||
@@ -540,7 +540,7 @@ func GetClusterRoleSimpleRules(clusterRoleName string) ([]models.SimpleRule, err
|
||||
clusterRole, err := clusterRoleLister.Get(clusterRoleName)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get cluster role", clusterRoleName, clusterRoleName)
|
||||
klog.Errorln("get cluster role", clusterRoleName, clusterRoleName)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -576,7 +576,7 @@ func GetRoleSimpleRules(namespace string, roleName string) ([]models.SimpleRule,
|
||||
role, err := roleLister.Roles(namespace).Get(roleName)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get role", namespace, roleName, err)
|
||||
klog.Errorln("get role", namespace, roleName, err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -624,20 +624,20 @@ func CreateClusterRoleBinding(username string, clusterRoleName string) error {
|
||||
_, err := clusterRoleLister.Get(clusterRoleName)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("get cluster role", clusterRoleName, err)
|
||||
klog.Errorln("get cluster role", clusterRoleName, err)
|
||||
return err
|
||||
}
|
||||
|
||||
if clusterRoleName == constants.ClusterAdmin {
|
||||
// create kubectl pod if cluster role is cluster-admin
|
||||
if err := kubectl.CreateKubectlDeploy(username); err != nil {
|
||||
glog.Error("create user terminal pod failed", username, err)
|
||||
klog.Error("create user terminal pod failed", username, err)
|
||||
}
|
||||
|
||||
} else {
|
||||
// delete kubectl pod if cluster role is not cluster-admin, whether it exists or not
|
||||
if err := kubectl.DelKubectlDeploy(username); err != nil {
|
||||
glog.Error("delete user terminal pod failed", username, err)
|
||||
klog.Error("delete user terminal pod failed", username, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -652,7 +652,7 @@ func CreateClusterRoleBinding(username string, clusterRoleName string) error {
|
||||
if apierrors.IsNotFound(err) {
|
||||
_, err = client.ClientSets().K8s().Kubernetes().RbacV1().ClusterRoleBindings().Create(clusterRoleBinding)
|
||||
if err != nil {
|
||||
glog.Errorln("create cluster role binding", err)
|
||||
klog.Errorln("create cluster role binding", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -667,7 +667,7 @@ func CreateClusterRoleBinding(username string, clusterRoleName string) error {
|
||||
deleteOption := &metav1.DeleteOptions{PropagationPolicy: &deletePolicy, GracePeriodSeconds: &gracePeriodSeconds}
|
||||
err = client.ClientSets().K8s().Kubernetes().RbacV1().ClusterRoleBindings().Delete(found.Name, deleteOption)
|
||||
if err != nil {
|
||||
glog.Errorln("delete cluster role binding", err)
|
||||
klog.Errorln("delete cluster role binding", err)
|
||||
return err
|
||||
}
|
||||
maxRetries := 3
|
||||
@@ -678,7 +678,7 @@ func CreateClusterRoleBinding(username string, clusterRoleName string) error {
|
||||
}
|
||||
time.Sleep(300 * time.Millisecond)
|
||||
}
|
||||
glog.Errorln("create cluster role binding", err)
|
||||
klog.Errorln("create cluster role binding", err)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -686,7 +686,7 @@ func CreateClusterRoleBinding(username string, clusterRoleName string) error {
|
||||
found.Subjects = clusterRoleBinding.Subjects
|
||||
_, err = client.ClientSets().K8s().Kubernetes().RbacV1().ClusterRoleBindings().Update(found)
|
||||
if err != nil {
|
||||
glog.Errorln("update cluster role binding", err)
|
||||
klog.Errorln("update cluster role binding", err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"kubesphere.io/kubesphere/pkg/models/kubeconfig"
|
||||
"kubesphere.io/kubesphere/pkg/models/kubectl"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
clientset "kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"kubesphere.io/kubesphere/pkg/utils/k8sutil"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
|
||||
@@ -29,12 +29,12 @@ import (
|
||||
"fmt"
|
||||
"gopkg.in/yaml.v2"
|
||||
"io/ioutil"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"math/big"
|
||||
rd "math/rand"
|
||||
"time"
|
||||
|
||||
"github.com/golang/glog"
|
||||
metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
@@ -111,7 +111,7 @@ func createCRT(RootCa *x509.Certificate, RootKey *rsa.PrivateKey, info CertInfor
|
||||
Crt := newCertificate(info)
|
||||
Key, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
@@ -120,13 +120,13 @@ func createCRT(RootCa *x509.Certificate, RootKey *rsa.PrivateKey, info CertInfor
|
||||
buf, err = x509.CreateCertificate(rand.Reader, Crt, RootCa, &Key.PublicKey, RootKey)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, nil, err
|
||||
}
|
||||
pem.Encode(&cert, &pem.Block{Type: "CERTIFICATE", Bytes: buf})
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ func createCRT(RootCa *x509.Certificate, RootKey *rsa.PrivateKey, info CertInfor
|
||||
func Parse(crtPath, keyPath string) (rootcertificate *x509.Certificate, rootPrivateKey *rsa.PrivateKey, err error) {
|
||||
rootcertificate, err = parseCrt(crtPath)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, nil, err
|
||||
}
|
||||
rootPrivateKey, err = parseKey(keyPath)
|
||||
@@ -149,7 +149,7 @@ func Parse(crtPath, keyPath string) (rootcertificate *x509.Certificate, rootPriv
|
||||
func parseCrt(path string) (*x509.Certificate, error) {
|
||||
buf, err := ioutil.ReadFile(path)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
p := &pem.Block{}
|
||||
@@ -160,7 +160,7 @@ func parseCrt(path string) (*x509.Certificate, error) {
|
||||
func parseKey(path string) (*rsa.PrivateKey, error) {
|
||||
buf, err := ioutil.ReadFile(path)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
p, buf := pem.Decode(buf)
|
||||
@@ -195,12 +195,12 @@ func generateCaAndKey(user, caPath, keyPath string) (string, string, error) {
|
||||
|
||||
crt, pri, err := Parse(caPath, keyPath)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", "", err
|
||||
}
|
||||
cert, key, err := createCRT(crt, pri, crtInfo)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", "", err
|
||||
}
|
||||
|
||||
@@ -213,7 +213,7 @@ func createKubeConfig(username string) (string, error) {
|
||||
tmpKubeConfig := kubeConfig{ApiVersion: "v1", Kind: "Config"}
|
||||
serverCa, err := ioutil.ReadFile(caPath)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return "", err
|
||||
}
|
||||
base64ServerCa := base64.StdEncoding.EncodeToString(serverCa)
|
||||
@@ -251,7 +251,7 @@ func CreateKubeConfig(username string) error {
|
||||
if errors.IsNotFound(err) {
|
||||
config, err := createKubeConfig(username)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -259,7 +259,7 @@ func CreateKubeConfig(username string) error {
|
||||
configMap := v1.ConfigMap{TypeMeta: metaV1.TypeMeta{Kind: "Configmap", APIVersion: "v1"}, ObjectMeta: metaV1.ObjectMeta{Name: configName}, Data: data}
|
||||
_, err = k8sClient.CoreV1().ConfigMaps(constants.KubeSphereControlNamespace).Create(&configMap)
|
||||
if err != nil && !errors.IsAlreadyExists(err) {
|
||||
glog.Errorf("create username %s's kubeConfig failed, reason: %v", username, err)
|
||||
klog.Errorf("create username %s's kubeConfig failed, reason: %v", username, err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -273,7 +273,7 @@ func GetKubeConfig(username string) (string, error) {
|
||||
configName := fmt.Sprintf("kubeconfig-%s", username)
|
||||
configMap, err := k8sClient.CoreV1().ConfigMaps(constants.KubeSphereControlNamespace).Get(configName, metaV1.GetOptions{})
|
||||
if err != nil {
|
||||
glog.Errorf("cannot get username %s's kubeConfig, reason: %v", username, err)
|
||||
klog.Errorf("cannot get username %s's kubeConfig, reason: %v", username, err)
|
||||
return "", err
|
||||
}
|
||||
|
||||
@@ -281,7 +281,7 @@ func GetKubeConfig(username string) (string, error) {
|
||||
var kubeConfig kubeConfig
|
||||
err = yaml.Unmarshal([]byte(str), &kubeConfig)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", err
|
||||
}
|
||||
masterURL := client.ClientSets().K8s().Master()
|
||||
@@ -291,7 +291,7 @@ func GetKubeConfig(username string) (string, error) {
|
||||
}
|
||||
data, err := yaml.Marshal(kubeConfig)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return "", err
|
||||
}
|
||||
return string(data), nil
|
||||
@@ -308,7 +308,7 @@ func DelKubeConfig(username string) error {
|
||||
deletePolicy := metaV1.DeletePropagationBackground
|
||||
err = k8sClient.CoreV1().ConfigMaps(constants.KubeSphereControlNamespace).Delete(configName, &metaV1.DeleteOptions{PropagationPolicy: &deletePolicy})
|
||||
if err != nil {
|
||||
glog.Errorf("delete username %s's kubeConfig failed, reason: %v", username, err)
|
||||
klog.Errorf("delete username %s's kubeConfig failed, reason: %v", username, err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
||||
@@ -20,12 +20,12 @@ package kubectl
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"math/rand"
|
||||
"os"
|
||||
|
||||
"github.com/golang/glog"
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
"k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@@ -53,7 +53,7 @@ func GetKubectlPod(username string) (models.PodInfo, error) {
|
||||
deployName := fmt.Sprintf("kubectl-%s", username)
|
||||
deploy, err := k8sClient.AppsV1().Deployments(namespace).Get(deployName, metav1.GetOptions{})
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return models.PodInfo{}, err
|
||||
}
|
||||
|
||||
@@ -61,13 +61,13 @@ func GetKubectlPod(username string) (models.PodInfo, error) {
|
||||
labelSelector := labels.Set(selectors).AsSelector().String()
|
||||
podList, err := k8sClient.CoreV1().Pods(namespace).List(metav1.ListOptions{LabelSelector: labelSelector})
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return models.PodInfo{}, err
|
||||
}
|
||||
|
||||
pod, err := selectCorrectPod(namespace, podList.Items)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return models.PodInfo{}, err
|
||||
}
|
||||
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
package log
|
||||
|
||||
import (
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/utils/stringutils"
|
||||
@@ -35,7 +35,7 @@ func MatchNamespace(nsFilter []string, nsQuery []string, wsFilter []string, wsQu
|
||||
nsLister := informers.SharedInformerFactory().Core().V1().Namespaces().Lister()
|
||||
nsList, err := nsLister.List(labels.Everything())
|
||||
if err != nil {
|
||||
glog.Errorf("failed to list namespace, error: %s", err)
|
||||
klog.Errorf("failed to list namespace, error: %s", err)
|
||||
return true, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ package log
|
||||
|
||||
import (
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
"github.com/golang/glog"
|
||||
"github.com/google/uuid"
|
||||
"github.com/json-iterator/go"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
@@ -26,6 +25,7 @@ import (
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
"k8s.io/client-go/rest"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
es "kubesphere.io/kubesphere/pkg/simple/client/elasticsearch"
|
||||
fb "kubesphere.io/kubesphere/pkg/simple/client/fluentbit"
|
||||
@@ -77,7 +77,7 @@ func FluentbitOutputInsert(output fb.OutputPlugin) *FluentbitOutputsResult {
|
||||
outputs, err := GetFluentbitOutputFromConfigMap()
|
||||
if err != nil {
|
||||
// If the ConfigMap doesn't exist, a new one will be created later
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
}
|
||||
|
||||
// When adding a new output for the first time, one should always set it enabled
|
||||
@@ -120,7 +120,7 @@ func FluentbitOutputUpdate(output fb.OutputPlugin, id string) *FluentbitOutputsR
|
||||
outputs, err := GetFluentbitOutputFromConfigMap()
|
||||
if err != nil {
|
||||
// If the ConfigMap doesn't exist, a new one will be created later
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
}
|
||||
|
||||
index := 0
|
||||
@@ -228,21 +228,21 @@ func updateFluentbitOutputConfigMap(outputs []fb.OutputPlugin) error {
|
||||
var data string
|
||||
data, err := jsonIter.MarshalToString(outputs)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return err
|
||||
}
|
||||
|
||||
// Update the ConfigMap
|
||||
config, err := rest.InClusterConfig()
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return err
|
||||
}
|
||||
|
||||
// Creates the clientset
|
||||
clientset, err := kubernetes.NewForConfig(config)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -261,7 +261,7 @@ func updateFluentbitOutputConfigMap(outputs []fb.OutputPlugin) error {
|
||||
|
||||
_, err = configMapClient.Create(newConfigMap)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
@@ -270,7 +270,7 @@ func updateFluentbitOutputConfigMap(outputs []fb.OutputPlugin) error {
|
||||
configMap.Data = map[string]string{ConfigMapData: data}
|
||||
_, err = configMapClient.Update(configMap)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -309,7 +309,7 @@ func syncFluentbitCRDOutputWithConfigMap(outputs []fb.OutputPlugin) error {
|
||||
|
||||
crdcs, scheme, err := createCRDClientSet()
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -318,14 +318,14 @@ func syncFluentbitCRDOutputWithConfigMap(outputs []fb.OutputPlugin) error {
|
||||
|
||||
fluentbit, err := crdclient.Get("fluent-bit")
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return err
|
||||
}
|
||||
|
||||
fluentbit.Spec.Output = enabledOutputs
|
||||
_, err = crdclient.Update("fluent-bit", fluentbit)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -19,10 +19,8 @@
|
||||
package metrics
|
||||
|
||||
import (
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/kubesphere"
|
||||
"net/url"
|
||||
"regexp"
|
||||
"runtime/debug"
|
||||
@@ -158,7 +156,7 @@ func getPodNameRegexInWorkload(res, filter string) string {
|
||||
var dat CommonMetricsResult
|
||||
jsonErr := jsonIter.Unmarshal(data, &dat)
|
||||
if jsonErr != nil {
|
||||
glog.Errorln("json parse failed", jsonErr.Error(), res)
|
||||
klog.Errorln("json parse failed", jsonErr.Error(), res)
|
||||
}
|
||||
var podNames []string
|
||||
|
||||
@@ -183,7 +181,7 @@ func unifyMetricHistoryTimeRange(fmtMetrics *FormatedMetric) {
|
||||
|
||||
defer func() {
|
||||
if err := recover(); err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
debug.PrintStack()
|
||||
}
|
||||
}()
|
||||
@@ -303,7 +301,7 @@ func GetNodeAddressInfo() *map[string][]v1.NodeAddress {
|
||||
nodes, err := nodeLister.List(labels.Everything())
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln(err.Error())
|
||||
klog.Errorln(err.Error())
|
||||
}
|
||||
|
||||
var nodeAddress = make(map[string][]v1.NodeAddress)
|
||||
@@ -405,7 +403,7 @@ func makeRequestParamString(rule string, paramValues url.Values) string {
|
||||
|
||||
defer func() {
|
||||
if err := recover(); err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
debug.PrintStack()
|
||||
}
|
||||
}()
|
||||
@@ -509,7 +507,7 @@ func collectWorkspaceMetric(monitoringRequest *MonitoringRequestParams, ws strin
|
||||
var ch = make(chan *FormatedMetric, ChannelMaxCapacity)
|
||||
namespaceArray, err := workspaces.WorkspaceNamespaces(ws)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
}
|
||||
|
||||
// add by namespace
|
||||
@@ -652,7 +650,7 @@ func GetWorkspaceLevelMetrics(monitoringRequest *MonitoringRequestParams) *Forma
|
||||
if monitoringRequest.WsName != "" {
|
||||
namespaceArray, err := workspaces.WorkspaceNamespaces(monitoringRequest.WsName)
|
||||
if err != nil {
|
||||
glog.Errorln(err.Error())
|
||||
klog.Errorln(err.Error())
|
||||
}
|
||||
namespaceArray = filterNamespace(monitoringRequest.ResourcesFilter, namespaceArray)
|
||||
|
||||
@@ -1117,7 +1115,7 @@ func GetAllWorkspacesStatistics() *FormatedLevelMetric {
|
||||
go func() {
|
||||
orgNums, errOrg := workspaces.WorkspaceCount()
|
||||
if errOrg != nil {
|
||||
glog.Errorln(errOrg.Error())
|
||||
klog.Errorln(errOrg.Error())
|
||||
}
|
||||
orgResultItem = getSpecificMetricItem(timestamp, MetricNameWorkspaceAllOrganizationCount, WorkspaceResourceKindOrganization, orgNums, errOrg)
|
||||
wg.Done()
|
||||
@@ -1126,7 +1124,7 @@ func GetAllWorkspacesStatistics() *FormatedLevelMetric {
|
||||
go func() {
|
||||
devOpsProjectNums, errDevops := workspaces.GetAllDevOpsProjectsNums()
|
||||
if errDevops != nil {
|
||||
glog.Errorln(errDevops.Error())
|
||||
klog.Errorln(errDevops.Error())
|
||||
}
|
||||
devopsResultItem = getSpecificMetricItem(timestamp, MetricNameWorkspaceAllDevopsCount, WorkspaceResourceKindDevops, devOpsProjectNums, errDevops)
|
||||
wg.Done()
|
||||
@@ -1135,16 +1133,16 @@ func GetAllWorkspacesStatistics() *FormatedLevelMetric {
|
||||
go func() {
|
||||
projNums, errProj := workspaces.GetAllProjectNums()
|
||||
if errProj != nil {
|
||||
glog.Errorln(errProj.Error())
|
||||
klog.Errorln(errProj.Error())
|
||||
}
|
||||
workspaceProjResultItem = getSpecificMetricItem(timestamp, MetricNameWorkspaceAllProjectCount, WorkspaceResourceKindNamespace, projNums, errProj)
|
||||
wg.Done()
|
||||
}()
|
||||
|
||||
go func() {
|
||||
result, errAct := kubesphere.Client().ListUsers()
|
||||
result, errAct := cs.ClientSets().KubeSphere().ListUsers()
|
||||
if errAct != nil {
|
||||
glog.Errorln(errAct.Error())
|
||||
klog.Errorln(errAct.Error())
|
||||
}
|
||||
accountResultItem = getSpecificMetricItem(timestamp, MetricNameWorkspaceAllAccountCount, WorkspaceResourceKindAccount, result.TotalCount, errAct)
|
||||
wg.Done()
|
||||
@@ -1178,7 +1176,7 @@ func MonitorOneWorkspaceStatistics(wsName string) *FormatedLevelMetric {
|
||||
namespaces, errNs := workspaces.WorkspaceNamespaces(wsName)
|
||||
|
||||
if errNs != nil {
|
||||
glog.Errorln(errNs.Error())
|
||||
klog.Errorln(errNs.Error())
|
||||
}
|
||||
nsMetrics = getSpecificMetricItem(timestamp, MetricNameWorkspaceNamespaceCount, WorkspaceResourceKindNamespace, len(namespaces), errNs)
|
||||
wg.Done()
|
||||
@@ -1187,7 +1185,7 @@ func MonitorOneWorkspaceStatistics(wsName string) *FormatedLevelMetric {
|
||||
go func() {
|
||||
devOpsProjects, errDevOps := workspaces.GetDevOpsProjects(wsName)
|
||||
if errDevOps != nil {
|
||||
glog.Errorln(errDevOps.Error())
|
||||
klog.Errorln(errDevOps.Error())
|
||||
}
|
||||
// add devops metric
|
||||
devopsMetrics = getSpecificMetricItem(timestamp, MetricNameWorkspaceDevopsCount, WorkspaceResourceKindDevops, len(devOpsProjects), errDevOps)
|
||||
@@ -1197,7 +1195,7 @@ func MonitorOneWorkspaceStatistics(wsName string) *FormatedLevelMetric {
|
||||
go func() {
|
||||
count, errMemb := workspaces.WorkspaceUserCount(wsName)
|
||||
if errMemb != nil {
|
||||
glog.Errorln(errMemb.Error())
|
||||
klog.Errorln(errMemb.Error())
|
||||
}
|
||||
// add member metric
|
||||
memberMetrics = getSpecificMetricItem(timestamp, MetricNameWorkspaceMemberCount, WorkspaceResourceKindMember, count, errMemb)
|
||||
@@ -1207,7 +1205,7 @@ func MonitorOneWorkspaceStatistics(wsName string) *FormatedLevelMetric {
|
||||
go func() {
|
||||
roles, errRole := workspaces.GetOrgRoles(wsName)
|
||||
if errRole != nil {
|
||||
glog.Errorln(errRole.Error())
|
||||
klog.Errorln(errRole.Error())
|
||||
}
|
||||
// add role metric
|
||||
roleMetrics = getSpecificMetricItem(timestamp, MetricNameWorkspaceRoleCount, WorkspaceResourceKindRole, len(roles), errRole)
|
||||
|
||||
@@ -19,14 +19,13 @@
|
||||
package metrics
|
||||
|
||||
import (
|
||||
"k8s.io/klog"
|
||||
"math"
|
||||
"sort"
|
||||
"strconv"
|
||||
"unicode"
|
||||
|
||||
"runtime/debug"
|
||||
|
||||
"github.com/golang/glog"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -55,7 +54,7 @@ func (wrapper FormatedMetricDataWrapper) Swap(i, j int) {
|
||||
func Sort(sortMetricName string, sortType string, rawMetrics *FormatedLevelMetric) (*FormatedLevelMetric, int) {
|
||||
defer func() {
|
||||
if err := recover(); err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
debug.PrintStack()
|
||||
}
|
||||
}()
|
||||
@@ -191,7 +190,7 @@ func Page(pageNum string, limitNum string, fmtLevelMetric *FormatedLevelMetric,
|
||||
if pageNum != "" {
|
||||
p, err := strconv.Atoi(pageNum)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
} else {
|
||||
if p > 0 {
|
||||
page = p
|
||||
@@ -207,7 +206,7 @@ func Page(pageNum string, limitNum string, fmtLevelMetric *FormatedLevelMetric,
|
||||
if limitNum != "" {
|
||||
l, err := strconv.Atoi(limitNum)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
} else {
|
||||
if l > 0 {
|
||||
limit = l
|
||||
@@ -254,7 +253,7 @@ func ReformatJson(metric string, metricsName string, needAddParams map[string]st
|
||||
err := jsonIter.Unmarshal([]byte(metric), &formatMetric)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("Unmarshal metric json failed", err.Error(), metric)
|
||||
klog.Errorln("Unmarshal metric json failed", err.Error(), metric)
|
||||
}
|
||||
if formatMetric.MetricName == "" {
|
||||
if metricsName != "" {
|
||||
|
||||
@@ -19,12 +19,12 @@ package nodes
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"math"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/golang/glog"
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
"k8s.io/api/core/v1"
|
||||
policy "k8s.io/api/policy/v1beta1"
|
||||
@@ -47,11 +47,10 @@ func DrainNode(nodename string) (err error) {
|
||||
}
|
||||
|
||||
data := []byte(" {\"spec\":{\"unschedulable\":true}}")
|
||||
nodestatus, err := k8sclient.CoreV1().Nodes().Patch(nodename, types.StrategicMergePatchType, data)
|
||||
_, err = k8sclient.CoreV1().Nodes().Patch(nodename, types.StrategicMergePatchType, data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
glog.Info(nodestatus)
|
||||
donech := make(chan bool)
|
||||
errch := make(chan error)
|
||||
go drainEviction(nodename, donech, errch)
|
||||
@@ -74,7 +73,7 @@ func drainEviction(nodename string, donech chan bool, errch chan error) {
|
||||
options.FieldSelector = "spec.nodeName=" + nodename
|
||||
podList, err := k8sclient.CoreV1().Pods("").List(options)
|
||||
if err != nil {
|
||||
glog.Fatal(err)
|
||||
klog.Fatal(err)
|
||||
errch <- err
|
||||
}
|
||||
options.FieldSelector = ""
|
||||
@@ -82,7 +81,7 @@ func drainEviction(nodename string, donech chan bool, errch chan error) {
|
||||
|
||||
if err != nil {
|
||||
|
||||
glog.Fatal(err)
|
||||
klog.Fatal(err)
|
||||
errch <- err
|
||||
|
||||
}
|
||||
@@ -114,7 +113,7 @@ func drainEviction(nodename string, donech chan bool, errch chan error) {
|
||||
if evicerr == nil {
|
||||
donech <- true
|
||||
} else {
|
||||
glog.Fatal(evicerr)
|
||||
klog.Fatal(evicerr)
|
||||
errch <- err
|
||||
}
|
||||
}
|
||||
@@ -197,7 +196,7 @@ func evictPods(pods []v1.Pod, GracePeriodSeconds int, getPodFn func(namespace, n
|
||||
} else if apierrors.IsNotFound(err) {
|
||||
count = 0
|
||||
doneCh <- true
|
||||
glog.Info(fmt.Sprintf("pod %s evict", pod.Name))
|
||||
klog.Info(fmt.Sprintf("pod %s evict", pod.Name))
|
||||
return
|
||||
} else if apierrors.IsTooManyRequests(err) {
|
||||
count = 0
|
||||
@@ -213,7 +212,7 @@ func evictPods(pods []v1.Pod, GracePeriodSeconds int, getPodFn func(namespace, n
|
||||
_, err = waitForDelete(podArray, time.Second, time.Duration(math.MaxInt64), getPodFn)
|
||||
if err == nil {
|
||||
doneCh <- true
|
||||
glog.Info(fmt.Sprintf("pod %s delete", pod.Name))
|
||||
klog.Info(fmt.Sprintf("pod %s delete", pod.Name))
|
||||
} else {
|
||||
errCh <- fmt.Errorf("error when waiting for pod %q terminating: %v", pod.Name, err)
|
||||
}
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
package quotas
|
||||
|
||||
import (
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/models/resources"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -76,7 +76,7 @@ func getUsage(namespace, resource string) (int, error) {
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return 0, err
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ func GetClusterQuotas() (*models.ResourceQuota, error) {
|
||||
func GetNamespaceQuotas(namespace string) (*NamespacedResourceQuota, error) {
|
||||
quota, err := getNamespaceResourceQuota(namespace)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
if quota == nil {
|
||||
@@ -132,7 +132,7 @@ func GetNamespaceQuotas(namespace string) (*NamespacedResourceQuota, error) {
|
||||
if _, ok := quota.Used[v1.ResourceName(key)]; !ok {
|
||||
used, err := getUsage(namespace, val)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ func getNamespaceResourceQuota(namespace string) (*v1.ResourceQuotaStatus, error
|
||||
resourceQuotaLister := informers.SharedInformerFactory().Core().V1().ResourceQuotas().Lister()
|
||||
quotaList, err := resourceQuotaLister.ResourceQuotas(namespace).List(labels.Everything())
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
} else if len(quotaList) == 0 {
|
||||
return nil, nil
|
||||
|
||||
@@ -24,8 +24,8 @@ import (
|
||||
"fmt"
|
||||
"github.com/docker/docker/api/types"
|
||||
"github.com/docker/docker/client"
|
||||
"github.com/golang/glog"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
"k8s.io/klog"
|
||||
log "k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
)
|
||||
@@ -58,7 +58,7 @@ func RegistryVerify(authInfo AuthInfo) error {
|
||||
cli, err := client.NewClientWithOpts(client.WithAPIVersionNegotiation())
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
}
|
||||
|
||||
config := types.AuthConfig{
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/k8sutil"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
package resources
|
||||
|
||||
import (
|
||||
"github.com/golang/glog"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
storagev1 "k8s.io/api/storage/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"strconv"
|
||||
)
|
||||
@@ -46,7 +46,7 @@ func (i extraAnnotationInjector) injectStorageClass(item *storagev1.StorageClass
|
||||
count, err := countPvcByStorageClass(item.Name)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("inject annotation failed %+v", err)
|
||||
klog.Errorf("inject annotation failed %+v", err)
|
||||
return item
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ func (i extraAnnotationInjector) injectPersistentVolumeClaim(item *corev1.Persis
|
||||
podLister := informers.SharedInformerFactory().Core().V1().Pods().Lister()
|
||||
pods, err := podLister.Pods(item.Namespace).List(labels.Everything())
|
||||
if err != nil {
|
||||
glog.Errorf("inject annotation failed %+v", err)
|
||||
klog.Errorf("inject annotation failed %+v", err)
|
||||
return item
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/k8sutil"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
"fmt"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -19,9 +19,9 @@ package resources
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"strings"
|
||||
)
|
||||
@@ -121,7 +121,7 @@ func GetResource(namespace, resource, name string) (interface{}, error) {
|
||||
if searcher, ok := resources[resource]; ok {
|
||||
resource, err := searcher.get(namespace, name)
|
||||
if err != nil {
|
||||
glog.Errorln("get resource", namespace, resource, name, err)
|
||||
klog.Errorln("get resource", namespace, resource, name, err)
|
||||
return nil, err
|
||||
}
|
||||
return resource, nil
|
||||
@@ -136,19 +136,19 @@ func ListResources(namespace, resource string, conditions *params.Conditions, or
|
||||
|
||||
// none namespace resource
|
||||
if namespace != "" && sliceutil.HasString(clusterResources, resource) {
|
||||
glog.Errorln("resources not found", resource)
|
||||
klog.Errorln("resources not found", resource)
|
||||
return nil, fmt.Errorf("not found")
|
||||
}
|
||||
|
||||
if searcher, ok := resources[resource]; ok {
|
||||
result, err = searcher.search(namespace, conditions, orderBy, reverse)
|
||||
} else {
|
||||
glog.Errorln("resources not found", resource)
|
||||
klog.Errorln("resources not found", resource)
|
||||
return nil, fmt.Errorf("not found")
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
glog.Errorln("resources search", err)
|
||||
klog.Errorln("resources search", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -23,7 +23,7 @@ import (
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
"github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -25,7 +25,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -20,7 +20,7 @@ package resources
|
||||
import (
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
tenantv1alpha1 "kubesphere.io/kubesphere/pkg/apis/tenant/v1alpha1"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -20,8 +20,8 @@ package revisions
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"k8s.io/klog"
|
||||
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/api/apps/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
@@ -31,7 +31,7 @@ func GetDeployRevision(namespace, name, revision string) (*v1.ReplicaSet, error)
|
||||
deploymentLister := informers.SharedInformerFactory().Apps().V1().Deployments().Lister()
|
||||
deploy, err := deploymentLister.Deployments(namespace).Get(name)
|
||||
if err != nil {
|
||||
glog.Errorf("get deployment %s failed, reason: %s", name, err)
|
||||
klog.Errorf("get deployment %s failed, reason: %s", name, err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -20,10 +20,10 @@ package routers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/golang/glog"
|
||||
"io/ioutil"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"sort"
|
||||
|
||||
@@ -58,7 +58,7 @@ func init() {
|
||||
routerTemplates = make(map[string]runtime.Object, 2)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ func init() {
|
||||
obj, _, err := decode([]byte(f), nil, nil)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ func getMasterNodeIp() string {
|
||||
return strings.Compare(masters[i].Name, masters[j].Name) > 0
|
||||
})
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return ""
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ func addLoadBalancerIp(service *corev1.Service) {
|
||||
if service.Spec.Type != corev1.ServiceTypeLoadBalancer && len(service.Status.LoadBalancer.Ingress) == 0 {
|
||||
rip := getMasterNodeIp()
|
||||
if len(rip) == 0 {
|
||||
glog.Info("can not get node ip")
|
||||
klog.Info("can not get node ip")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ func GetAllRouters() ([]*corev1.Service, error) {
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ func getRouterService(namespace string) (*corev1.Service, error) {
|
||||
if errors.IsNotFound(err) {
|
||||
return nil, errors.NewNotFound(corev1.Resource("service"), serviceName)
|
||||
}
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
return service, nil
|
||||
@@ -180,7 +180,7 @@ func LoadYamls() ([]string, error) {
|
||||
|
||||
files, err := ioutil.ReadDir(constants.IngressControllerFolder)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -191,7 +191,7 @@ func LoadYamls() ([]string, error) {
|
||||
content, err := ioutil.ReadFile(constants.IngressControllerFolder + "/" + file.Name())
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
} else {
|
||||
yamls = append(yamls, string(content))
|
||||
@@ -213,13 +213,13 @@ func CreateRouter(namespace string, routerType corev1.ServiceType, annotations m
|
||||
|
||||
err := createOrUpdateRouterWorkload(namespace, routerType == corev1.ServiceTypeLoadBalancer, injectSidecar)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
router, err := createRouterService(namespace, routerType, annotations)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
_ = deleteRouterWorkload(namespace)
|
||||
return nil, err
|
||||
}
|
||||
@@ -233,13 +233,13 @@ func CreateRouter(namespace string, routerType corev1.ServiceType, annotations m
|
||||
func DeleteRouter(namespace string) (*corev1.Service, error) {
|
||||
err := deleteRouterWorkload(namespace)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
}
|
||||
|
||||
router, err := deleteRouterService(namespace)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return router, err
|
||||
}
|
||||
return router, nil
|
||||
@@ -249,7 +249,7 @@ func createRouterService(namespace string, routerType corev1.ServiceType, annota
|
||||
|
||||
obj, ok := routerTemplates["SERVICE"]
|
||||
if !ok {
|
||||
glog.Error("service template not loaded")
|
||||
klog.Error("service template not loaded")
|
||||
return nil, fmt.Errorf("service template not loaded")
|
||||
}
|
||||
|
||||
@@ -268,7 +268,7 @@ func createRouterService(namespace string, routerType corev1.ServiceType, annota
|
||||
|
||||
service, err := k8sClient.CoreV1().Services(constants.IngressControllerNamespace).Create(service)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -281,7 +281,7 @@ func updateRouterService(namespace string, routerType corev1.ServiceType, annota
|
||||
|
||||
service, err := getRouterService(namespace)
|
||||
if err != nil {
|
||||
glog.Error(err, "get router failed")
|
||||
klog.Error(err, "get router failed")
|
||||
return service, err
|
||||
}
|
||||
|
||||
@@ -305,7 +305,7 @@ func deleteRouterService(namespace string) (*corev1.Service, error) {
|
||||
service, err := getRouterService(namespace)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return service, err
|
||||
}
|
||||
|
||||
@@ -317,7 +317,7 @@ func deleteRouterService(namespace string) (*corev1.Service, error) {
|
||||
|
||||
err = k8sClient.CoreV1().Services(constants.IngressControllerNamespace).Delete(serviceName, &deleteOptions)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return service, err
|
||||
}
|
||||
|
||||
@@ -327,7 +327,7 @@ func deleteRouterService(namespace string) (*corev1.Service, error) {
|
||||
func createOrUpdateRouterWorkload(namespace string, publishService bool, servicemeshEnabled bool) error {
|
||||
obj, ok := routerTemplates["DEPLOYMENT"]
|
||||
if !ok {
|
||||
glog.Error("Deployment template file not loaded")
|
||||
klog.Error("Deployment template file not loaded")
|
||||
return fmt.Errorf("deployment template file not loaded")
|
||||
}
|
||||
|
||||
@@ -395,7 +395,7 @@ func createOrUpdateRouterWorkload(namespace string, publishService bool, service
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -410,7 +410,7 @@ func deleteRouterWorkload(namespace string) error {
|
||||
deploymentName := constants.IngressControllerPrefix + namespace
|
||||
err := k8sClient.ExtensionsV1beta1().Deployments(constants.IngressControllerNamespace).Delete(deploymentName, &deleteOptions)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
}
|
||||
|
||||
// delete replicaset if there are any
|
||||
@@ -425,13 +425,13 @@ func deleteRouterWorkload(namespace string) error {
|
||||
replicaSets, err := replicaSetLister.ReplicaSets(constants.IngressControllerNamespace).List(selector)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
}
|
||||
|
||||
for i := range replicaSets {
|
||||
err = k8sClient.AppsV1().ReplicaSets(constants.IngressControllerNamespace).Delete(replicaSets[i].Name, &deleteOptions)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -445,7 +445,7 @@ func UpdateRouter(namespace string, routerType corev1.ServiceType, annotations m
|
||||
router, err := getRouterService(namespace)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return router, err
|
||||
}
|
||||
|
||||
@@ -453,14 +453,14 @@ func UpdateRouter(namespace string, routerType corev1.ServiceType, annotations m
|
||||
|
||||
err = createOrUpdateRouterWorkload(namespace, routerType == corev1.ServiceTypeLoadBalancer, enableServicemesh)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return router, err
|
||||
}
|
||||
|
||||
newRouter, err := updateRouterService(namespace, routerType, annotations)
|
||||
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
klog.Error(err)
|
||||
return newRouter, err
|
||||
}
|
||||
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
package status
|
||||
|
||||
import (
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"strings"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/models/resources"
|
||||
@@ -51,7 +51,7 @@ func GetNamespacesResourceStatus(namespace string) (*WorkLoadStatus, error) {
|
||||
notReadyList, err = resources.ListResources(namespace, resource, ¶ms.Conditions{Match: map[string]string{resources.Status: notReadyStatus}}, "", false, -1, 0)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("list resources failed: %+v", err)
|
||||
klog.Errorf("list resources failed: %+v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -22,12 +22,13 @@ import (
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/gocraft/dbr"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/api/devops/v1alpha2"
|
||||
"kubesphere.io/kubesphere/pkg/db"
|
||||
"kubesphere.io/kubesphere/pkg/gojenkins"
|
||||
"kubesphere.io/kubesphere/pkg/gojenkins/utils"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
cs "kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"net/http"
|
||||
"sync"
|
||||
@@ -46,7 +47,7 @@ func ListDevopsProjects(workspace, username string, conditions *params.Condition
|
||||
return nil, err
|
||||
}
|
||||
|
||||
query := dbconn.Select(devops.GetColumnsFromStructWithPrefix(devops.DevOpsProjectTableName, devops.DevOpsProject{})...).
|
||||
query := dbconn.Select(devops.GetColumnsFromStructWithPrefix(devops.DevOpsProjectTableName, v1alpha2.DevOpsProject{})...).
|
||||
From(devops.DevOpsProjectTableName)
|
||||
var sqconditions []dbr.Builder
|
||||
|
||||
@@ -67,7 +68,7 @@ func ListDevopsProjects(workspace, username string, conditions *params.Condition
|
||||
if keyword := conditions.Match["keyword"]; keyword != "" {
|
||||
sqconditions = append(sqconditions, db.Like(devops.DevOpsProjectNameColumn, keyword))
|
||||
}
|
||||
projects := make([]*devops.DevOpsProject, 0)
|
||||
projects := make([]*v1alpha2.DevOpsProject, 0)
|
||||
|
||||
if len(sqconditions) > 0 {
|
||||
query.Where(db.And(sqconditions...))
|
||||
@@ -115,7 +116,7 @@ func GetDevOpsProjectsCount(username string) (uint32, error) {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
query := dbconn.Select(devops.GetColumnsFromStructWithPrefix(devops.DevOpsProjectTableName, devops.DevOpsProject{})...).
|
||||
query := dbconn.Select(devops.GetColumnsFromStructWithPrefix(devops.DevOpsProjectTableName, v1alpha2.DevOpsProject{})...).
|
||||
From(devops.DevOpsProjectTableName)
|
||||
var sqconditions []dbr.Builder
|
||||
|
||||
@@ -190,7 +191,7 @@ func DeleteDevOpsProject(projectId, username string) error {
|
||||
klog.Errorf("%+v", err)
|
||||
return restful.NewError(utils.GetJenkinsStatusCode(err), err.Error())
|
||||
}
|
||||
project := &devops.DevOpsProject{}
|
||||
project := &v1alpha2.DevOpsProject{}
|
||||
err = devopsdb.Select(devops.DevOpsProjectColumns...).
|
||||
From(devops.DevOpsProjectTableName).
|
||||
Where(db.Eq(devops.DevOpsProjectIdColumn, projectId)).
|
||||
@@ -202,7 +203,7 @@ func DeleteDevOpsProject(projectId, username string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func CreateDevopsProject(username string, workspace string, req *devops.DevOpsProject) (*devops.DevOpsProject, error) {
|
||||
func CreateDevopsProject(username string, workspace string, req *v1alpha2.DevOpsProject) (*v1alpha2.DevOpsProject, error) {
|
||||
|
||||
dp, err := cs.ClientSets().Devops()
|
||||
if err != nil {
|
||||
|
||||
@@ -18,15 +18,15 @@
|
||||
package tenant
|
||||
|
||||
import (
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/api/core/v1"
|
||||
rbacv1 "k8s.io/api/rbac/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam"
|
||||
"kubesphere.io/kubesphere/pkg/models/resources"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
@@ -97,7 +97,7 @@ func (*namespaceSearcher) GetNamespaces(username string) ([]*v1.Namespace, error
|
||||
for _, role := range roles {
|
||||
namespace, err := namespaceLister.Get(role.Namespace)
|
||||
if err != nil {
|
||||
glog.Errorf("get namespace failed: %+v", err)
|
||||
klog.Errorf("get namespace failed: %+v", err)
|
||||
return nil, err
|
||||
}
|
||||
if !containsNamespace(namespaces, namespace) {
|
||||
|
||||
@@ -24,7 +24,7 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/models"
|
||||
ws "kubesphere.io/kubesphere/pkg/models/workspaces"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
@@ -25,7 +25,7 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam"
|
||||
"kubesphere.io/kubesphere/pkg/models/resources"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -23,12 +23,12 @@ import (
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/golang/glog"
|
||||
"gopkg.in/igm/sockjs-go.v2/sockjs"
|
||||
"io"
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/client-go/kubernetes/scheme"
|
||||
"k8s.io/client-go/tools/remotecommand"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
)
|
||||
|
||||
@@ -141,7 +141,7 @@ var terminalSessions = make(map[string]TerminalSession)
|
||||
|
||||
// handleTerminalSession is Called by net/http for any new /api/sockjs connections
|
||||
func HandleTerminalSession(session sockjs.Session) {
|
||||
glog.Infof("handleTerminalSession, ID:%s", session.ID())
|
||||
klog.Infof("handleTerminalSession, ID:%s", session.ID())
|
||||
var (
|
||||
buf string
|
||||
err error
|
||||
@@ -151,22 +151,22 @@ func HandleTerminalSession(session sockjs.Session) {
|
||||
)
|
||||
|
||||
if buf, err = session.Recv(); err != nil {
|
||||
glog.Errorf("handleTerminalSession: can't Recv: %v", err)
|
||||
klog.Errorf("handleTerminalSession: can't Recv: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
if err = json.Unmarshal([]byte(buf), &msg); err != nil {
|
||||
glog.Errorf("handleTerminalSession: can't UnMarshal (%v): %s", err, buf)
|
||||
klog.Errorf("handleTerminalSession: can't UnMarshal (%v): %s", err, buf)
|
||||
return
|
||||
}
|
||||
|
||||
if msg.Op != "bind" {
|
||||
glog.Errorf("handleTerminalSession: expected 'bind' message, got: %s", buf)
|
||||
klog.Errorf("handleTerminalSession: expected 'bind' message, got: %s", buf)
|
||||
return
|
||||
}
|
||||
|
||||
if terminalSession, ok = terminalSessions[msg.SessionID]; !ok {
|
||||
glog.Errorf("handleTerminalSession: can't find session '%s'", msg.SessionID)
|
||||
klog.Errorf("handleTerminalSession: can't find session '%s'", msg.SessionID)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -228,7 +228,7 @@ func genTerminalSessionId() (string, error) {
|
||||
}
|
||||
id := make([]byte, hex.EncodedLen(len(bytes)))
|
||||
hex.Encode(id, bytes)
|
||||
glog.Infof("genTerminalSessionId, id:" + string(id))
|
||||
klog.Infof("genTerminalSessionId, id:" + string(id))
|
||||
return string(id), nil
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ func isValidShell(validShells []string, shell string) bool {
|
||||
// WaitingForConnection is called from apihandler.handleAttach as a goroutine
|
||||
// Waits for the SockJS connection to be opened by the client the session to be bound in handleTerminalSession
|
||||
func WaitingForConnection(shell string, namespace, podName, containerName string, sessionId string) {
|
||||
glog.Infof("WaitingForConnection, ID:%s", sessionId)
|
||||
klog.Infof("WaitingForConnection, ID:%s", sessionId)
|
||||
select {
|
||||
case <-terminalSessions[sessionId].bound:
|
||||
close(terminalSessions[sessionId].bound)
|
||||
|
||||
@@ -19,11 +19,11 @@ package workloads
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/api/batch/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
@@ -49,7 +49,7 @@ func JobReRun(namespace, jobName string) error {
|
||||
err = deleteJob(namespace, jobName)
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("failed to rerun job %s, reason: %s", jobName, err)
|
||||
klog.Errorf("failed to rerun job %s, reason: %s", jobName, err)
|
||||
return fmt.Errorf("failed to rerun job %s", jobName)
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ func JobReRun(namespace, jobName string) error {
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
glog.Errorf("failed to rerun job %s, reason: %s", jobName, err)
|
||||
klog.Errorf("failed to rerun job %s, reason: %s", jobName, err)
|
||||
return fmt.Errorf("failed to rerun job %s", jobName)
|
||||
}
|
||||
|
||||
|
||||
@@ -19,9 +19,8 @@ package workspaces
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/golang/glog"
|
||||
"github.com/kiali/kiali/log"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/klog"
|
||||
"kubesphere.io/kubesphere/pkg/constants"
|
||||
"kubesphere.io/kubesphere/pkg/db"
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
@@ -29,7 +28,7 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/models/devops"
|
||||
"kubesphere.io/kubesphere/pkg/models/iam"
|
||||
"kubesphere.io/kubesphere/pkg/models/resources"
|
||||
"kubesphere.io/kubesphere/pkg/params"
|
||||
"kubesphere.io/kubesphere/pkg/server/params"
|
||||
clientset "kubesphere.io/kubesphere/pkg/simple/client"
|
||||
"kubesphere.io/kubesphere/pkg/utils/k8sutil"
|
||||
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
|
||||
@@ -95,7 +94,7 @@ func InviteUser(workspaceName string, user *models.User) error {
|
||||
workspaceRole, err := iam.GetUserWorkspaceRole(workspaceName, user.Username)
|
||||
|
||||
if err != nil && !apierrors.IsNotFound(err) {
|
||||
glog.Errorf("get workspace role failed: %+v", err)
|
||||
klog.Errorf("get workspace role failed: %+v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -108,7 +107,7 @@ func InviteUser(workspaceName string, user *models.User) error {
|
||||
if currentWorkspaceRoleName != workspaceRoleName && currentWorkspaceRoleName != "" {
|
||||
err := DeleteWorkspaceRoleBinding(workspaceName, user.Username, workspaceRole.Annotations[constants.DisplayNameAnnotationKey])
|
||||
if err != nil {
|
||||
glog.Errorf("delete workspace role binding failed: %+v", err)
|
||||
klog.Errorf("delete workspace role binding failed: %+v", err)
|
||||
return err
|
||||
}
|
||||
} else if currentWorkspaceRoleName != "" {
|
||||
@@ -135,7 +134,7 @@ func CreateWorkspaceRoleBinding(workspace, username string, role string) error {
|
||||
workspaceRoleBinding.Subjects = append(workspaceRoleBinding.Subjects, v1.Subject{APIGroup: "rbac.authorization.k8s.io", Kind: "User", Name: username})
|
||||
_, err = clientset.ClientSets().K8s().Kubernetes().RbacV1().ClusterRoleBindings().Update(workspaceRoleBinding)
|
||||
if err != nil {
|
||||
log.Errorf("update workspace role binding failed: %+v", err)
|
||||
klog.Errorf("update workspace role binding failed: %+v", err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/runtime"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/devops"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/k8s"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/kubesphere"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/ldap"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/mysql"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/openpitrix"
|
||||
@@ -56,7 +57,11 @@ func InstallAPI(c *restful.Container) {
|
||||
|
||||
ws.Route(ws.GET("/configz").
|
||||
To(func(request *restful.Request, response *restful.Response) {
|
||||
response.WriteAsJson(sharedConfig)
|
||||
var conf = *sharedConfig
|
||||
|
||||
conf.stripEmptyOptions()
|
||||
|
||||
response.WriteAsJson(conf)
|
||||
}).
|
||||
Doc("Get system components configuration").
|
||||
Produces(restful.MIME_JSON).
|
||||
@@ -84,10 +89,19 @@ func Load() error {
|
||||
}
|
||||
|
||||
conf := &Config{}
|
||||
if err := viper.Unmarshal(&conf); err != nil {
|
||||
if err := viper.Unmarshal(conf); err != nil {
|
||||
klog.Error(fmt.Errorf("error unmarshal configuration %v", err))
|
||||
return err
|
||||
} else {
|
||||
// make sure kubesphere options always exists
|
||||
if conf.KubeSphereOptions == nil {
|
||||
conf.KubeSphereOptions = kubesphere.NewKubeSphereOptions()
|
||||
} else {
|
||||
ksOptions := kubesphere.NewKubeSphereOptions()
|
||||
conf.KubeSphereOptions.ApplyTo(ksOptions)
|
||||
conf.KubeSphereOptions = ksOptions
|
||||
}
|
||||
|
||||
conf.Apply(shadowConfig)
|
||||
sharedConfig = conf
|
||||
}
|
||||
@@ -122,6 +136,7 @@ type Config struct {
|
||||
S3Options *s2is3.S3Options `json:"s3,omitempty" yaml:"s3,omitempty" mapstructure:"s3"`
|
||||
OpenPitrixOptions *openpitrix.OpenPitrixOptions `json:"openpitrix,omitempty" yaml:"openpitrix,omitempty" mapstructure:"openpitrix"`
|
||||
MonitoringOptions *prometheus.PrometheusOptions `json:"monitoring,omitempty" yaml:"monitoring,omitempty" mapstructure:"monitoring"`
|
||||
KubeSphereOptions *kubesphere.KubeSphereOptions `json:"-" yaml:"kubesphere,omitempty" mapstructure:"kubesphere"`
|
||||
}
|
||||
|
||||
func newConfig() *Config {
|
||||
@@ -136,6 +151,7 @@ func newConfig() *Config {
|
||||
S3Options: s2is3.NewS3Options(),
|
||||
OpenPitrixOptions: openpitrix.NewOpenPitrixOptions(),
|
||||
MonitoringOptions: prometheus.NewPrometheusOptions(),
|
||||
KubeSphereOptions: kubesphere.NewKubeSphereOptions(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,6 +162,10 @@ func Get() *Config {
|
||||
func (c *Config) Apply(conf *Config) {
|
||||
shadowConfig = conf
|
||||
|
||||
if conf.KubeSphereOptions != nil {
|
||||
conf.KubeSphereOptions.ApplyTo(c.KubeSphereOptions)
|
||||
}
|
||||
|
||||
if conf.MonitoringOptions != nil {
|
||||
conf.MonitoringOptions.ApplyTo(c.MonitoringOptions)
|
||||
}
|
||||
@@ -185,3 +205,45 @@ func (c *Config) Apply(conf *Config) {
|
||||
conf.MySQLOptions.ApplyTo(c.MySQLOptions)
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Config) stripEmptyOptions() {
|
||||
if c.MySQLOptions != nil && c.MySQLOptions.Host == "" {
|
||||
c.MySQLOptions = nil
|
||||
}
|
||||
|
||||
if c.RedisOptions != nil && c.RedisOptions.Host == "" {
|
||||
c.RedisOptions = nil
|
||||
}
|
||||
|
||||
if c.DevopsOptions != nil && c.DevopsOptions.Host == "" {
|
||||
c.DevopsOptions = nil
|
||||
}
|
||||
|
||||
if c.MonitoringOptions != nil && c.MonitoringOptions.Endpoint == "" &&
|
||||
c.MonitoringOptions.SecondaryEndpoint == "" {
|
||||
c.MonitoringOptions = nil
|
||||
}
|
||||
|
||||
if c.SonarQubeOptions != nil && c.SonarQubeOptions.Host == "" {
|
||||
c.SonarQubeOptions = nil
|
||||
}
|
||||
|
||||
if c.LdapOptions != nil && c.LdapOptions.Host == "" {
|
||||
c.LdapOptions = nil
|
||||
}
|
||||
|
||||
if c.OpenPitrixOptions != nil && c.OpenPitrixOptions.APIServer == "" {
|
||||
c.OpenPitrixOptions = nil
|
||||
}
|
||||
|
||||
if c.ServiceMeshOptions != nil && c.ServiceMeshOptions.IstioPilotHost == "" &&
|
||||
c.ServiceMeshOptions.ServicemeshPrometheusHost == "" &&
|
||||
c.ServiceMeshOptions.JaegerQueryHost == "" {
|
||||
c.ServiceMeshOptions = nil
|
||||
}
|
||||
|
||||
if c.S3Options != nil && c.S3Options.Endpoint == "" {
|
||||
c.S3Options = nil
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"io/ioutil"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/devops"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/k8s"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/kubesphere"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/ldap"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/mysql"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/openpitrix"
|
||||
@@ -14,8 +15,8 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/s2is3"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/servicemesh"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/sonarqube"
|
||||
"kubesphere.io/kubesphere/pkg/utils/reflectutils"
|
||||
"os"
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
@@ -82,6 +83,10 @@ func newTestConfig() *Config {
|
||||
Endpoint: "http://prometheus.kubesphere-monitoring-system.svc",
|
||||
SecondaryEndpoint: "http://prometheus.kubesphere-monitoring-system.svc",
|
||||
},
|
||||
KubeSphereOptions: &kubesphere.KubeSphereOptions{
|
||||
APIServer: "http://ks-apiserver.kubesphere-system.svc",
|
||||
AccountServer: "http://ks-account.kubesphere-system.svc",
|
||||
},
|
||||
}
|
||||
return conf
|
||||
}
|
||||
@@ -115,6 +120,7 @@ func cleanTestConfig(t *testing.T) {
|
||||
func TestGet(t *testing.T) {
|
||||
conf := newTestConfig()
|
||||
saveTestConfig(t, conf)
|
||||
//defer cleanTestConfig(t)
|
||||
|
||||
err := Load()
|
||||
if err != nil {
|
||||
@@ -122,8 +128,49 @@ func TestGet(t *testing.T) {
|
||||
}
|
||||
conf2 := Get()
|
||||
|
||||
if !reflect.DeepEqual(conf2, conf) {
|
||||
t.Fatalf("Get %v\n expected %v\n", conf2, conf)
|
||||
if diff := reflectutils.Equal(conf, conf2); diff != nil {
|
||||
t.Fatal(diff)
|
||||
}
|
||||
cleanTestConfig(t)
|
||||
}
|
||||
|
||||
func TestKubeSphereOptions(t *testing.T) {
|
||||
conf := newTestConfig()
|
||||
|
||||
t.Run("save nil kubesphere options", func(t *testing.T) {
|
||||
savedConf := *conf
|
||||
savedConf.KubeSphereOptions = nil
|
||||
saveTestConfig(t, &savedConf)
|
||||
defer cleanTestConfig(t)
|
||||
|
||||
err := Load()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
loadedConf := Get()
|
||||
|
||||
if diff := reflectutils.Equal(conf, loadedConf); diff != nil {
|
||||
t.Fatal(diff)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("save partially kubesphere options", func(t *testing.T) {
|
||||
savedConf := *conf
|
||||
savedConf.KubeSphereOptions.APIServer = "http://example.com"
|
||||
savedConf.KubeSphereOptions.AccountServer = ""
|
||||
|
||||
saveTestConfig(t, &savedConf)
|
||||
defer cleanTestConfig(t)
|
||||
|
||||
err := Load()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
loadedConf := Get()
|
||||
|
||||
savedConf.KubeSphereOptions.AccountServer = "http://ks-account.kubesphere-system.svc"
|
||||
|
||||
if diff := reflectutils.Equal(&savedConf, loadedConf); diff != nil {
|
||||
t.Fatal(diff)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package server
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
"net/http"
|
||||
"runtime"
|
||||
)
|
||||
@@ -18,7 +18,7 @@ func LogStackOnRecover(panicReason interface{}, httpWriter http.ResponseWriter)
|
||||
}
|
||||
buffer.WriteString(fmt.Sprintf(" %s:%d\r\n", file, line))
|
||||
}
|
||||
glog.Error(buffer.String())
|
||||
klog.Error(buffer.String())
|
||||
httpWriter.WriteHeader(http.StatusInternalServerError)
|
||||
httpWriter.Write([]byte("recover from panic situation"))
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ package esclient
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/klog"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -64,7 +64,7 @@ func (cfg *Config) WriteESConfigs() {
|
||||
|
||||
config = cfg
|
||||
if err := detectVersionMajor(config); err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
client = nil
|
||||
return
|
||||
}
|
||||
@@ -250,7 +250,7 @@ func parseQueryResult(operation int, param QueryParameters, body []byte) *QueryR
|
||||
var response Response
|
||||
err := jsonIter.Unmarshal(body, &response)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
queryResult.Status = http.StatusInternalServerError
|
||||
queryResult.Error = err.Error()
|
||||
return &queryResult
|
||||
@@ -261,13 +261,13 @@ func parseQueryResult(operation int, param QueryParameters, body []byte) *QueryR
|
||||
err := "The query failed with no response"
|
||||
queryResult.Status = response.Status
|
||||
queryResult.Error = err
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
return &queryResult
|
||||
}
|
||||
|
||||
if response.Shards.Successful != response.Shards.Total {
|
||||
//Elastic some shards error
|
||||
glog.Warningf("Not all shards succeed, successful shards: %d, skipped shards: %d, failed shards: %d",
|
||||
klog.Warningf("Not all shards succeed, successful shards: %d, skipped shards: %d, failed shards: %d",
|
||||
response.Shards.Successful, response.Shards.Skipped, response.Shards.Failed)
|
||||
}
|
||||
|
||||
@@ -294,7 +294,7 @@ func parseQueryResult(operation int, param QueryParameters, body []byte) *QueryR
|
||||
var statisticsResponse StatisticsResponseAggregations
|
||||
err := jsonIter.Unmarshal(response.Aggregations, &statisticsResponse)
|
||||
if err != nil && response.Aggregations != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
queryResult.Status = http.StatusInternalServerError
|
||||
queryResult.Error = err.Error()
|
||||
return &queryResult
|
||||
@@ -311,7 +311,7 @@ func parseQueryResult(operation int, param QueryParameters, body []byte) *QueryR
|
||||
var histogramAggregations HistogramAggregations
|
||||
err := jsonIter.Unmarshal(response.Aggregations, &histogramAggregations)
|
||||
if err != nil && response.Aggregations != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
queryResult.Status = http.StatusInternalServerError
|
||||
queryResult.Error = err.Error()
|
||||
return &queryResult
|
||||
@@ -361,7 +361,7 @@ func Query(param QueryParameters) *QueryResult {
|
||||
|
||||
operation, query, err := createQueryRequest(param)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
queryResult.Status = http.StatusInternalServerError
|
||||
queryResult.Error = err.Error()
|
||||
return queryResult
|
||||
@@ -369,7 +369,7 @@ func Query(param QueryParameters) *QueryResult {
|
||||
|
||||
body, err := client.Search(query)
|
||||
if err != nil {
|
||||
glog.Errorln(err)
|
||||
klog.Errorln(err)
|
||||
queryResult = new(QueryResult)
|
||||
queryResult.Status = http.StatusInternalServerError
|
||||
queryResult.Error = err.Error()
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
goredis "github.com/go-redis/redis"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/devops"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/k8s"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/kubesphere"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/ldap"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/mysql"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/openpitrix"
|
||||
@@ -33,6 +34,7 @@ type ClientSetOptions struct {
|
||||
s3Options *s2is3.S3Options
|
||||
openPitrixOptions *openpitrix.OpenPitrixOptions
|
||||
prometheusOptions *prometheus.PrometheusOptions
|
||||
kubesphereOptions *kubesphere.KubeSphereOptions
|
||||
}
|
||||
|
||||
func NewClientSetOptions() *ClientSetOptions {
|
||||
@@ -46,6 +48,7 @@ func NewClientSetOptions() *ClientSetOptions {
|
||||
s3Options: s2is3.NewS3Options(),
|
||||
openPitrixOptions: openpitrix.NewOpenPitrixOptions(),
|
||||
prometheusOptions: prometheus.NewPrometheusOptions(),
|
||||
kubesphereOptions: kubesphere.NewKubeSphereOptions(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,6 +97,11 @@ func (c *ClientSetOptions) SetSonarQubeOptions(options *sonarqube.SonarQubeOptio
|
||||
return c
|
||||
}
|
||||
|
||||
func (c *ClientSetOptions) SetKubeSphereOptions(options *kubesphere.KubeSphereOptions) *ClientSetOptions {
|
||||
c.kubesphereOptions = options
|
||||
return c
|
||||
}
|
||||
|
||||
// ClientSet provide best of effort service to initialize clients,
|
||||
// but there is no guarantee to return a valid client instance,
|
||||
// so do validity check before use
|
||||
@@ -111,6 +119,7 @@ type ClientSet struct {
|
||||
s3Client *s2is3.S3Client
|
||||
prometheusClient *prometheus.PrometheusClient
|
||||
openpitrixClient *openpitrix.OpenPitrixClient
|
||||
kubesphereClient *kubesphere.KubeSphereClient
|
||||
}
|
||||
|
||||
var mutex sync.Mutex
|
||||
@@ -129,6 +138,10 @@ func NewClientSetFactory(c *ClientSetOptions, stopCh <-chan struct{}) *ClientSet
|
||||
sharedClientSet.k8sClient = k8s.NewKubernetesClientOrDie(c.kubernetesOptions)
|
||||
}
|
||||
|
||||
if c.kubesphereOptions != nil {
|
||||
sharedClientSet.kubesphereClient = kubesphere.NewKubeSphereClient(c.kubesphereOptions)
|
||||
}
|
||||
|
||||
return sharedClientSet
|
||||
}
|
||||
|
||||
@@ -318,3 +331,7 @@ func (cs *ClientSet) Prometheus() (*prometheus.PrometheusClient, error) {
|
||||
return cs.prometheusClient, nil
|
||||
}
|
||||
}
|
||||
|
||||
func (cs *ClientSet) KubeSphere() *kubesphere.KubeSphereClient {
|
||||
return cs.kubesphereClient
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user