refactor application controller
Signed-off-by: zackzhang <zackzhang@yunify.com>
This commit is contained in:
@@ -48,6 +48,7 @@ func (h *Handler) handleGetResources(request *restful.Request, response *restful
|
||||
resourceType := request.PathParameter("resources")
|
||||
name := request.PathParameter("name")
|
||||
|
||||
// use informers to retrieve resources
|
||||
result, err := h.resourceGetterV1alpha3.Get(resourceType, namespace, name)
|
||||
if err == nil {
|
||||
response.WriteEntity(result)
|
||||
@@ -100,7 +101,6 @@ func (h *Handler) handleListResources(request *restful.Request, response *restfu
|
||||
api.HandleInternalError(response, nil, err)
|
||||
return
|
||||
}
|
||||
|
||||
response.WriteEntity(result)
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ import (
|
||||
resourcev1alpha2 "kubesphere.io/kubesphere/pkg/models/resources/v1alpha2/resource"
|
||||
"kubesphere.io/kubesphere/pkg/models/resources/v1alpha3/resource"
|
||||
resourcev1alpha3 "kubesphere.io/kubesphere/pkg/models/resources/v1alpha3/resource"
|
||||
fakeapp "kubesphere.io/kubesphere/pkg/simple/client/app/clientset/versioned/fake"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -91,9 +90,7 @@ func TestResourceV1alpha2Fallback(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
handler := New(resourcev1alpha3.NewResourceGetter(factory),
|
||||
resourcev1alpha2.NewResourceGetter(factory),
|
||||
components.NewComponentsGetter(factory.KubernetesSharedInformerFactory()))
|
||||
handler := New(resourcev1alpha3.NewResourceGetter(factory, nil), resourcev1alpha2.NewResourceGetter(factory), components.NewComponentsGetter(factory.KubernetesSharedInformerFactory()))
|
||||
|
||||
for _, test := range tests {
|
||||
got, err := listResources(test.namespace, test.resource, test.query, handler)
|
||||
@@ -186,11 +183,10 @@ func prepare() (informers.InformerFactory, error) {
|
||||
ksClient := fakeks.NewSimpleClientset()
|
||||
k8sClient := fakek8s.NewSimpleClientset()
|
||||
istioClient := fakeistio.NewSimpleClientset()
|
||||
appClient := fakeapp.NewSimpleClientset()
|
||||
snapshotClient := fakesnapshot.NewSimpleClientset()
|
||||
apiextensionsClient := fakeapiextensions.NewSimpleClientset()
|
||||
|
||||
fakeInformerFactory := informers.NewInformerFactories(k8sClient, ksClient, istioClient, appClient, snapshotClient, apiextensionsClient)
|
||||
fakeInformerFactory := informers.NewInformerFactories(k8sClient, ksClient, istioClient, snapshotClient, apiextensionsClient)
|
||||
|
||||
k8sInformerFactory := fakeInformerFactory.KubernetesSharedInformerFactory()
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/models/components"
|
||||
resourcev1alpha2 "kubesphere.io/kubesphere/pkg/models/resources/v1alpha2/resource"
|
||||
resourcev1alpha3 "kubesphere.io/kubesphere/pkg/models/resources/v1alpha3/resource"
|
||||
"sigs.k8s.io/controller-runtime/pkg/cache"
|
||||
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -47,12 +49,10 @@ func Resource(resource string) schema.GroupResource {
|
||||
return GroupVersion.WithResource(resource).GroupResource()
|
||||
}
|
||||
|
||||
func AddToContainer(c *restful.Container, informerFactory informers.InformerFactory) error {
|
||||
func AddToContainer(c *restful.Container, informerFactory informers.InformerFactory, cache cache.Cache) error {
|
||||
|
||||
webservice := runtime.NewWebService(GroupVersion)
|
||||
handler := New(resourcev1alpha3.NewResourceGetter(informerFactory),
|
||||
resourcev1alpha2.NewResourceGetter(informerFactory),
|
||||
components.NewComponentsGetter(informerFactory.KubernetesSharedInformerFactory()))
|
||||
handler := New(resourcev1alpha3.NewResourceGetter(informerFactory, cache), resourcev1alpha2.NewResourceGetter(informerFactory), components.NewComponentsGetter(informerFactory.KubernetesSharedInformerFactory()))
|
||||
|
||||
webservice.Route(webservice.GET("/{resources}").
|
||||
To(handler.handleListResources).
|
||||
|
||||
Reference in New Issue
Block a user