Skip to content

Commit

Permalink
Fix: the developer user can't load the definition (#5319)
Browse files Browse the repository at this point in the history
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
(cherry picked from commit 78c9a1a)

Co-authored-by: barnettZQG <barnett.zqg@gmail.com>
  • Loading branch information
github-actions[bot] and barnettZQG committed Jan 11, 2023
1 parent 3f6b38c commit 1ee5915
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 14 deletions.
6 changes: 4 additions & 2 deletions pkg/apiserver/domain/service/application.go
Original file line number Diff line number Diff line change
Expand Up @@ -607,7 +607,8 @@ func (c *applicationServiceImpl) DetailComponent(ctx context.Context, app *model
return nil, err
}
var cd v1beta1.ComponentDefinition
if err := c.KubeClient.Get(ctx, types.NamespacedName{Name: component.Type, Namespace: velatypes.DefaultKubeVelaNS}, &cd); err != nil {
loadCtx := utils.WithProject(ctx, "")
if err := c.KubeClient.Get(loadCtx, types.NamespacedName{Name: component.Type, Namespace: velatypes.DefaultKubeVelaNS}, &cd); err != nil {
klog.Warningf("component definition %s get failure. %s", pkgUtils.Sanitize(component.Type), err.Error())
}

Expand Down Expand Up @@ -1072,7 +1073,8 @@ func (c *applicationServiceImpl) UpdateComponent(ctx context.Context, app *model

func (c *applicationServiceImpl) createComponent(ctx context.Context, app *model.Application, com apisv1.CreateComponentRequest, main bool) (*apisv1.ComponentBase, error) {
var cd v1beta1.ComponentDefinition
if err := c.KubeClient.Get(ctx, types.NamespacedName{Name: com.ComponentType, Namespace: velatypes.DefaultKubeVelaNS}, &cd); err != nil {
loadCtx := utils.WithProject(ctx, "")
if err := c.KubeClient.Get(loadCtx, types.NamespacedName{Name: com.ComponentType, Namespace: velatypes.DefaultKubeVelaNS}, &cd); err != nil {
klog.Warningf("component definition %s get failure. %s", pkgUtils.Sanitize(com.ComponentType), err.Error())
return nil, bcode.ErrComponentTypeNotSupport
}
Expand Down
10 changes: 5 additions & 5 deletions pkg/apiserver/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ func (s *restServer) buildIoCContainer() error {
if err != nil {
return err
}
kubeClient = utils.NewAuthClient(kubeClient)
authClient := utils.NewAuthClient(kubeClient)

var ds datastore.DataStore
switch s.cfg.Datastore.Type {
Expand All @@ -109,22 +109,22 @@ func (s *restServer) buildIoCContainer() error {
return fmt.Errorf("fail to provides the datastore bean to the container: %w", err)
}

if err := s.beanContainer.ProvideWithName("kubeClient", kubeClient); err != nil {
if err := s.beanContainer.ProvideWithName("kubeClient", authClient); err != nil {
return fmt.Errorf("fail to provides the kubeClient bean to the container: %w", err)
}
if err := s.beanContainer.ProvideWithName("kubeConfig", kubeConfig); err != nil {
return fmt.Errorf("fail to provides the kubeConfig bean to the container: %w", err)
}
if err := s.beanContainer.ProvideWithName("apply", apply.NewAPIApplicator(kubeClient)); err != nil {
if err := s.beanContainer.ProvideWithName("apply", apply.NewAPIApplicator(authClient)); err != nil {
return fmt.Errorf("fail to provides the apply bean to the container: %w", err)
}

factory := pkgconfig.NewConfigFactory(kubeClient)
factory := pkgconfig.NewConfigFactory(authClient)
if err := s.beanContainer.ProvideWithName("configFactory", factory); err != nil {
return fmt.Errorf("fail to provides the config factory bean to the container: %w", err)
}

addonStore := pkgaddon.NewRegistryDataStore(kubeClient)
addonStore := pkgaddon.NewRegistryDataStore(authClient)
if err := s.beanContainer.ProvideWithName("registryDatastore", addonStore); err != nil {
return fmt.Errorf("fail to provides the registry datastore bean to the container: %w", err)
}
Expand Down
13 changes: 7 additions & 6 deletions pkg/appfile/dryrun/dryrun.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,6 @@ import (
"os"
"path/filepath"

"github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha1"
"github.com/oam-dev/kubevela/pkg/policy/envbinding"
"github.com/oam-dev/kubevela/pkg/utils"
"github.com/oam-dev/kubevela/pkg/workflow/step"

"github.com/pkg/errors"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
Expand All @@ -42,14 +37,19 @@ import (

"github.com/kubevela/workflow/pkg/cue/packages"

"github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha1"
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
"github.com/oam-dev/kubevela/apis/types"
apiutils "github.com/oam-dev/kubevela/pkg/apiserver/utils"
"github.com/oam-dev/kubevela/pkg/appfile"
"github.com/oam-dev/kubevela/pkg/cue/definition"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
oamutil "github.com/oam-dev/kubevela/pkg/oam/util"
"github.com/oam-dev/kubevela/pkg/policy/envbinding"
"github.com/oam-dev/kubevela/pkg/utils"
"github.com/oam-dev/kubevela/pkg/utils/apply"
"github.com/oam-dev/kubevela/pkg/workflow/step"
)

// DryRun executes dry-run on an application
Expand Down Expand Up @@ -141,7 +141,8 @@ func (d *Option) ExecuteDryRun(ctx context.Context, application *v1beta1.Applica
if app.Namespace != "" {
ctx = oamutil.SetNamespaceInCtx(ctx, app.Namespace)
}
appFile, err := parser.GenerateAppFileFromApp(ctx, app)
generateCtx := apiutils.WithProject(ctx, "")
appFile, err := parser.GenerateAppFileFromApp(generateCtx, app)
if err != nil {
return nil, nil, errors.WithMessage(err, "cannot generate appFile from application")
}
Expand Down
3 changes: 2 additions & 1 deletion pkg/velaql/providers/query/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ import (
"github.com/kubevela/workflow/pkg/types"

"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
"github.com/oam-dev/kubevela/pkg/apiserver/utils"
"github.com/oam-dev/kubevela/pkg/multicluster"
querytypes "github.com/oam-dev/kubevela/pkg/velaql/providers/query/types"
)
Expand Down Expand Up @@ -229,7 +230,7 @@ func (h *provider) CollectLogsInPod(ctx monitorContext.Context, wfCtx wfContext.
if err = val.UnmarshalTo(opts); err != nil {
return errors.Wrapf(err, "invalid log options content")
}
cliCtx := multicluster.ContextWithClusterName(ctx, cluster)
cliCtx := utils.ContextWithUserInfo(multicluster.ContextWithClusterName(ctx, cluster))
h.cfg.Wrap(pkgmulticluster.NewTransportWrapper())
clientSet, err := kubernetes.NewForConfig(h.cfg)
if err != nil {
Expand Down

0 comments on commit 1ee5915

Please sign in to comment.