Skip to content

Commit 0b0863e

Browse files
authored
Switch the remaining kapp-controller errors to connect. (#6332)
### Description of the change Finishes the switch of the kapp-controller plugin over to use the connect errors. Next up, flux. ### Applicable issues - ref #6269 Signed-off-by: Michael Nelson <[email protected]>
1 parent 3b99fad commit 0b0863e

File tree

6 files changed

+98
-130
lines changed

6 files changed

+98
-130
lines changed

cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server.go

+8-9
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"net/http"
1010
"os"
1111

12+
"github.com/bufbuild/connect-go"
1213
"github.com/cppforlife/go-cli-ui/ui"
1314
ctlapp "github.com/vmware-tanzu/carvel-kapp/pkg/kapp/app"
1415
kappcmdapp "github.com/vmware-tanzu/carvel-kapp/pkg/kapp/cmd/app"
@@ -21,8 +22,6 @@ import (
2122
"github.com/vmware-tanzu/kubeapps/cmd/kubeapps-apis/gen/plugins/kapp_controller/packages/v1alpha1"
2223
"github.com/vmware-tanzu/kubeapps/cmd/kubeapps-apis/plugins/pkg/clientgetter"
2324
"github.com/vmware-tanzu/kubeapps/cmd/kubeapps-apis/plugins/pkg/pkgutils"
24-
"google.golang.org/grpc/codes"
25-
"google.golang.org/grpc/status"
2625
log "k8s.io/klog/v2"
2726
)
2827

@@ -123,12 +122,12 @@ func NewServer(configGetter core.KubernetesConfigGetter, clientQPS float32, clie
123122
pluginConfig: pluginConfig,
124123
kappClientsGetter: func(headers http.Header, cluster, namespace string) (ctlapp.Apps, ctlres.IdentifiedResources, *kappcmdapp.FailingAPIServicesPolicy, ctlres.ResourceFilter, error) {
125124
if configGetter == nil {
126-
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, status.Errorf(codes.Internal, "configGetter arg required")
125+
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, connect.NewError(connect.CodeInternal, fmt.Errorf("configGetter arg required"))
127126
}
128127
// Retrieve the k8s REST client from the configGetter
129128
config, err := configGetter(headers, cluster)
130129
if err != nil {
131-
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, status.Errorf(codes.FailedPrecondition, "unable to get config due to: %v", err)
130+
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, connect.NewError(connect.CodeFailedPrecondition, fmt.Errorf("unable to get config due to: %w", err))
132131
}
133132
// Pass the REST client to the (custom) kapp factory
134133
configFactory := NewConfigurableConfigFactoryImpl()
@@ -139,7 +138,7 @@ func NewServer(configGetter core.KubernetesConfigGetter, clientQPS float32, clie
139138
resourceFilterFlags := kappcmdtools.ResourceFilterFlags{}
140139
resourceFilter, err := resourceFilterFlags.ResourceFilter()
141140
if err != nil {
142-
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, status.Errorf(codes.FailedPrecondition, "unable to get config due to: %v", err)
141+
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, connect.NewError(connect.CodeFailedPrecondition, fmt.Errorf("unable to get config due to: %w", err))
143142
}
144143

145144
// Create the preconfigured resource types flags and a failing policy
@@ -154,13 +153,13 @@ func NewServer(configGetter core.KubernetesConfigGetter, clientQPS float32, clie
154153
// Getting namespaced clients (e.g., for fetching an App)
155154
supportingNsObjs, err := kappcmdapp.FactoryClients(depsFactory, kappcmdcore.NamespaceFlags{Name: namespace}, resourceTypesFlags, logger.NewNoopLogger())
156155
if err != nil {
157-
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, status.Errorf(codes.FailedPrecondition, "unable to get config due to: %v", err)
156+
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, connect.NewError(connect.CodeFailedPrecondition, fmt.Errorf("unable to get config due to: %w", err))
158157
}
159158

160159
// Getting non-namespaced clients (e.g., for fetching every k8s object in the cluster)
161160
supportingObjs, err := kappcmdapp.FactoryClients(depsFactory, kappcmdcore.NamespaceFlags{Name: ""}, resourceTypesFlags, logger.NewNoopLogger())
162161
if err != nil {
163-
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, status.Errorf(codes.FailedPrecondition, "unable to get config due to: %v", err)
162+
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, connect.NewError(connect.CodeFailedPrecondition, fmt.Errorf("unable to get config due to: %w", err))
164163
}
165164

166165
return supportingNsObjs.Apps, supportingObjs.IdentifiedResources, failingAPIServicesPolicy, resourceFilter, nil
@@ -175,11 +174,11 @@ func (s *Server) MaxWorkers() int {
175174
// GetKappClients ensures a client getter is available and uses it to return a Kapp Factory.
176175
func (s *Server) GetKappClients(headers http.Header, cluster, namespace string) (ctlapp.Apps, ctlres.IdentifiedResources, *kappcmdapp.FailingAPIServicesPolicy, ctlres.ResourceFilter, error) {
177176
if s.clientGetter == nil {
178-
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, status.Errorf(codes.Internal, "server not configured with configGetter")
177+
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, connect.NewError(connect.CodeInternal, fmt.Errorf("server not configured with configGetter"))
179178
}
180179
appsClient, resourcesClient, failingAPIServicesPolicy, resourceFilter, err := s.kappClientsGetter(headers, cluster, namespace)
181180
if err != nil {
182-
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, status.Errorf(codes.FailedPrecondition, fmt.Sprintf("unable to get Kapp Factory : %v", err))
181+
return ctlapp.Apps{}, ctlres.IdentifiedResources{}, nil, ctlres.ResourceFilter{}, connect.NewError(connect.CodeFailedPrecondition, fmt.Errorf("unable to get Kapp Factory : %w", err))
183182
}
184183
return appsClient, resourcesClient, failingAPIServicesPolicy, resourceFilter, nil
185184
}

0 commit comments

Comments
 (0)