提交 17073738 编写于 作者: E Elijah Oyekunle 提交者: Kubernetes Prow Robot

Improve Namespace-awareness for CRDs (#4189)

* add new page for cluster-scoped crds

* add routeparamscount for cluster-scoped object route

* use namespaceifscoped
上级 6ffa91d9
......@@ -21,6 +21,7 @@ import (
"github.com/kubernetes/dashboard/src/app/backend/errors"
"github.com/kubernetes/dashboard/src/app/backend/resource/common"
"github.com/kubernetes/dashboard/src/app/backend/resource/dataselect"
apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/rest"
......@@ -103,7 +104,7 @@ func GetCustomResourceObjectList(client apiextensionsclientset.Interface, config
}
raw, err := restClient.Get().
Namespace(namespace.ToRequestParam()).
NamespaceIfScoped(namespace.ToRequestParam(), customResourceDefinition.Spec.Scope == apiextensions.NamespaceScoped).
Resource(customResourceDefinition.Spec.Names.Plural).
Do().Raw()
nonCriticalErrors, criticalError = errors.AppendError(err, nonCriticalErrors)
......@@ -149,8 +150,8 @@ func GetCustomResourceObjectDetail(client apiextensionsclientset.Interface, name
}
raw, err := restClient.Get().
Namespace(namespace.ToRequestParam()).
Resource(customResourceDefinition.Status.AcceptedNames.Plural).
NamespaceIfScoped(namespace.ToRequestParam(), customResourceDefinition.Spec.Scope == apiextensions.NamespaceScoped).
Resource(customResourceDefinition.Spec.Names.Plural).
Name(name).Do().Raw()
nonCriticalErrors, criticalError = errors.AppendError(err, nonCriticalErrors)
if criticalError != nil {
......
......@@ -32,18 +32,25 @@ const CRD_DETAIL_ROUTE: Route = {
data: {breadcrumb: '{{ crdName }}', parent: CRD_LIST_ROUTE},
};
const CRD_OBJECT_DETAIL_ROUTE: Route = {
const CRD_NAMESPACED_OBJECT_DETAIL_ROUTE: Route = {
path: ':crdName/:namespace/:objectName',
component: CRDObjectDetailComponent,
data: {breadcrumb: '{{ objectName }}', routeParamsCount: 2, parent: CRD_DETAIL_ROUTE},
};
const CRD_CLUSTER_OBJECT_DETAIL_ROUTE: Route = {
path: ':crdName/:objectName',
component: CRDObjectDetailComponent,
data: {breadcrumb: '{{ objectName }}', routeParamsCount: 1, parent: CRD_DETAIL_ROUTE},
};
@NgModule({
imports: [
RouterModule.forChild([
CRD_LIST_ROUTE,
CRD_DETAIL_ROUTE,
CRD_OBJECT_DETAIL_ROUTE,
CRD_NAMESPACED_OBJECT_DETAIL_ROUTE,
CRD_CLUSTER_OBJECT_DETAIL_ROUTE,
DEFAULT_ACTIONBAR,
]),
],
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册