Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
凌波微步_大先生
dashboard
提交
878eab84
D
dashboard
项目概览
凌波微步_大先生
/
dashboard
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dashboard
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
878eab84
编写于
6月 02, 2021
作者:
M
Marcos Diez
提交者:
GitHub
6月 02, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rebase (#6124)
上级
ceba447f
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
44 addition
and
49 deletion
+44
-49
src/app/backend/api/types.go
src/app/backend/api/types.go
+12
-13
src/app/backend/auth/manager_test.go
src/app/backend/auth/manager_test.go
+1
-1
src/app/backend/client/manager.go
src/app/backend/client/manager.go
+0
-1
src/app/backend/client/verber.go
src/app/backend/client/verber.go
+14
-17
src/app/backend/resource/ingress/common.go
src/app/backend/resource/ingress/common.go
+6
-6
src/app/backend/resource/ingress/detail.go
src/app/backend/resource/ingress/detail.go
+5
-5
src/app/backend/resource/ingress/list.go
src/app/backend/resource/ingress/list.go
+6
-6
未找到文件。
src/app/backend/api/types.go
浏览文件 @
878eab84
...
...
@@ -171,18 +171,17 @@ type ClientType string
// List of client types supported by the UI.
const
(
ClientTypeDefault
=
"restclient"
ClientTypeExtensionClient
=
"extensionclient"
ClientTypeAppsClient
=
"appsclient"
ClientTypeBatchClient
=
"batchclient"
ClientTypeBetaBatchClient
=
"betabatchclient"
ClientTypeAutoscalingClient
=
"autoscalingclient"
ClientTypeStorageClient
=
"storageclient"
ClientTypeRbacClient
=
"rbacclient"
ClientTypeAPIExtensionsClient
=
"apiextensionsclient"
ClientTypeNetworkingClient
=
"networkingclient"
ClientTypeBetaNetworkingClient
=
"betanetworkingclient"
ClientTypePluginsClient
=
"plugin"
ClientTypeDefault
=
"restclient"
ClientTypeExtensionClient
=
"extensionclient"
ClientTypeAppsClient
=
"appsclient"
ClientTypeBatchClient
=
"batchclient"
ClientTypeBetaBatchClient
=
"betabatchclient"
ClientTypeAutoscalingClient
=
"autoscalingclient"
ClientTypeStorageClient
=
"storageclient"
ClientTypeRbacClient
=
"rbacclient"
ClientTypeAPIExtensionsClient
=
"apiextensionsclient"
ClientTypeNetworkingClient
=
"networkingclient"
ClientTypePluginsClient
=
"plugin"
)
// APIMapping is the mapping from resource kind to ClientType and Namespaced.
...
...
@@ -205,7 +204,7 @@ var KindToAPIMapping = map[string]APIMapping{
ResourceKindDeployment
:
{
"deployments"
,
ClientTypeAppsClient
,
true
},
ResourceKindEvent
:
{
"events"
,
ClientTypeDefault
,
true
},
ResourceKindHorizontalPodAutoscaler
:
{
"horizontalpodautoscalers"
,
ClientTypeAutoscalingClient
,
true
},
ResourceKindIngress
:
{
"ingresses"
,
ClientType
Beta
NetworkingClient
,
true
},
ResourceKindIngress
:
{
"ingresses"
,
ClientTypeNetworkingClient
,
true
},
ResourceKindJob
:
{
"jobs"
,
ClientTypeBatchClient
,
true
},
ResourceKindCronJob
:
{
"cronjobs"
,
ClientTypeBetaBatchClient
,
true
},
ResourceKindLimitRange
:
{
"limitrange"
,
ClientTypeDefault
,
true
},
...
...
src/app/backend/auth/manager_test.go
浏览文件 @
878eab84
...
...
@@ -87,7 +87,7 @@ func (self *fakeClientManager) HasAccess(authInfo api.AuthInfo) error {
}
func
(
self
*
fakeClientManager
)
VerberClient
(
req
*
restful
.
Request
,
config
*
rest
.
Config
)
(
clientapi
.
ResourceVerber
,
error
)
{
return
client
.
NewResourceVerber
(
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
),
nil
return
client
.
NewResourceVerber
(
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
),
nil
}
func
(
self
*
fakeClientManager
)
CanI
(
req
*
restful
.
Request
,
ssar
*
v1
.
SelfSubjectAccessReview
)
bool
{
...
...
src/app/backend/client/manager.go
浏览文件 @
878eab84
...
...
@@ -276,7 +276,6 @@ func (self *clientManager) VerberClient(req *restful.Request, config *rest.Confi
k8sClient
.
StorageV1
()
.
RESTClient
(),
k8sClient
.
RbacV1
()
.
RESTClient
(),
k8sClient
.
NetworkingV1
()
.
RESTClient
(),
k8sClient
.
NetworkingV1beta1
()
.
RESTClient
(),
apiextensionsRestClient
,
pluginsclient
.
DashboardV1alpha1
()
.
RESTClient
(),
config
),
nil
...
...
src/app/backend/client/verber.go
浏览文件 @
878eab84
...
...
@@ -33,19 +33,18 @@ import (
// resourceVerber is a struct responsible for doing common verb operations on resources, like
// DELETE, PUT, UPDATE.
type
resourceVerber
struct
{
client
RESTClient
extensionsClient
RESTClient
appsClient
RESTClient
batchClient
RESTClient
betaBatchClient
RESTClient
autoscalingClient
RESTClient
storageClient
RESTClient
rbacClient
RESTClient
networkingClient
RESTClient
betaNetworkingClient
RESTClient
apiExtensionsClient
RESTClient
pluginsClient
RESTClient
config
*
restclient
.
Config
client
RESTClient
extensionsClient
RESTClient
appsClient
RESTClient
batchClient
RESTClient
betaBatchClient
RESTClient
autoscalingClient
RESTClient
storageClient
RESTClient
rbacClient
RESTClient
networkingClient
RESTClient
apiExtensionsClient
RESTClient
pluginsClient
RESTClient
config
*
restclient
.
Config
}
type
crdInfo
struct
{
...
...
@@ -73,8 +72,6 @@ func (verber *resourceVerber) getRESTClientByType(clientType api.ClientType) RES
return
verber
.
rbacClient
case
api
.
ClientTypeNetworkingClient
:
return
verber
.
networkingClient
case
api
.
ClientTypeBetaNetworkingClient
:
return
verber
.
betaNetworkingClient
case
api
.
ClientTypeAPIExtensionsClient
:
return
verber
.
apiExtensionsClient
case
api
.
ClientTypePluginsClient
:
...
...
@@ -170,9 +167,9 @@ type RESTClient interface {
}
// NewResourceVerber creates a new resource verber that uses the given client for performing operations.
func
NewResourceVerber
(
client
,
extensionsClient
,
appsClient
,
batchClient
,
betaBatchClient
,
autoscalingClient
,
storageClient
,
rbacClient
,
networkingClient
,
betaNetworkingClient
,
apiExtensionsClient
,
pluginsClient
RESTClient
,
config
*
restclient
.
Config
)
clientapi
.
ResourceVerber
{
func
NewResourceVerber
(
client
,
extensionsClient
,
appsClient
,
batchClient
,
betaBatchClient
,
autoscalingClient
,
storageClient
,
rbacClient
,
networkingClient
,
apiExtensionsClient
,
pluginsClient
RESTClient
,
config
*
restclient
.
Config
)
clientapi
.
ResourceVerber
{
return
&
resourceVerber
{
client
,
extensionsClient
,
appsClient
,
batchClient
,
betaBatchClient
,
autoscalingClient
,
storageClient
,
rbacClient
,
networkingClient
,
betaNetworkingClient
,
apiExtensionsClient
,
pluginsClient
,
config
}
batchClient
,
betaBatchClient
,
autoscalingClient
,
storageClient
,
rbacClient
,
networkingClient
,
apiExtensionsClient
,
pluginsClient
,
config
}
}
// Delete deletes the resource of the given kind in the given namespace with the given name.
...
...
src/app/backend/resource/ingress/common.go
浏览文件 @
878eab84
...
...
@@ -16,12 +16,12 @@ package ingress
import
(
"github.com/kubernetes/dashboard/src/app/backend/resource/dataselect"
v1
beta1
"k8s.io/api/networking/v1beta
1"
v1
"k8s.io/api/networking/v
1"
)
// The code below allows to perform complex data section on []extensions.Ingress
type
IngressCell
v1
beta1
.
Ingress
type
IngressCell
v1
.
Ingress
func
(
self
IngressCell
)
GetProperty
(
name
dataselect
.
PropertyName
)
dataselect
.
ComparableValue
{
switch
name
{
...
...
@@ -37,7 +37,7 @@ func (self IngressCell) GetProperty(name dataselect.PropertyName) dataselect.Com
}
}
func
toCells
(
std
[]
v1
beta1
.
Ingress
)
[]
dataselect
.
DataCell
{
func
toCells
(
std
[]
v1
.
Ingress
)
[]
dataselect
.
DataCell
{
cells
:=
make
([]
dataselect
.
DataCell
,
len
(
std
))
for
i
:=
range
std
{
cells
[
i
]
=
IngressCell
(
std
[
i
])
...
...
@@ -45,10 +45,10 @@ func toCells(std []v1beta1.Ingress) []dataselect.DataCell {
return
cells
}
func
fromCells
(
cells
[]
dataselect
.
DataCell
)
[]
v1
beta1
.
Ingress
{
std
:=
make
([]
v1
beta1
.
Ingress
,
len
(
cells
))
func
fromCells
(
cells
[]
dataselect
.
DataCell
)
[]
v1
.
Ingress
{
std
:=
make
([]
v1
.
Ingress
,
len
(
cells
))
for
i
:=
range
std
{
std
[
i
]
=
v1
beta1
.
Ingress
(
cells
[
i
]
.
(
IngressCell
))
std
[
i
]
=
v1
.
Ingress
(
cells
[
i
]
.
(
IngressCell
))
}
return
std
}
src/app/backend/resource/ingress/detail.go
浏览文件 @
878eab84
...
...
@@ -18,7 +18,7 @@ import (
"context"
"log"
v1
beta1
"k8s.io/api/networking/v1beta
1"
v1
"k8s.io/api/networking/v
1"
metaV1
"k8s.io/apimachinery/pkg/apis/meta/v1"
client
"k8s.io/client-go/kubernetes"
)
...
...
@@ -30,10 +30,10 @@ type IngressDetail struct {
Ingress
`json:",inline"`
// Spec is the desired state of the Ingress.
Spec
v1
beta1
.
IngressSpec
`json:"spec"`
Spec
v1
.
IngressSpec
`json:"spec"`
// Status is the current state of the Ingress.
Status
v1
beta1
.
IngressStatus
`json:"status"`
Status
v1
.
IngressStatus
`json:"status"`
// List of non-critical errors, that occurred during resource retrieval.
Errors
[]
error
`json:"errors"`
...
...
@@ -43,7 +43,7 @@ type IngressDetail struct {
func
GetIngressDetail
(
client
client
.
Interface
,
namespace
,
name
string
)
(
*
IngressDetail
,
error
)
{
log
.
Printf
(
"Getting details of %s ingress in %s namespace"
,
name
,
namespace
)
rawIngress
,
err
:=
client
.
NetworkingV1
beta1
()
.
Ingresses
(
namespace
)
.
Get
(
context
.
TODO
(),
name
,
metaV1
.
GetOptions
{})
rawIngress
,
err
:=
client
.
NetworkingV1
()
.
Ingresses
(
namespace
)
.
Get
(
context
.
TODO
(),
name
,
metaV1
.
GetOptions
{})
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -52,7 +52,7 @@ func GetIngressDetail(client client.Interface, namespace, name string) (*Ingress
return
getIngressDetail
(
rawIngress
),
nil
}
func
getIngressDetail
(
i
*
v1
beta1
.
Ingress
)
*
IngressDetail
{
func
getIngressDetail
(
i
*
v1
.
Ingress
)
*
IngressDetail
{
return
&
IngressDetail
{
Ingress
:
toIngress
(
i
),
Spec
:
i
.
Spec
,
...
...
src/app/backend/resource/ingress/list.go
浏览文件 @
878eab84
...
...
@@ -21,7 +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"
v1
beta1
"k8s.io/api/networking/v1beta
1"
v1
"k8s.io/api/networking/v
1"
client
"k8s.io/client-go/kubernetes"
)
...
...
@@ -49,7 +49,7 @@ type IngressList struct {
// GetIngressList returns all ingresses in the given namespace.
func
GetIngressList
(
client
client
.
Interface
,
namespace
*
common
.
NamespaceQuery
,
dsQuery
*
dataselect
.
DataSelectQuery
)
(
*
IngressList
,
error
)
{
ingressList
,
err
:=
client
.
NetworkingV1
beta1
()
.
Ingresses
(
namespace
.
ToRequestParam
())
.
List
(
context
.
TODO
(),
api
.
ListEverything
)
ingressList
,
err
:=
client
.
NetworkingV1
()
.
Ingresses
(
namespace
.
ToRequestParam
())
.
List
(
context
.
TODO
(),
api
.
ListEverything
)
nonCriticalErrors
,
criticalError
:=
errors
.
HandleError
(
err
)
if
criticalError
!=
nil
{
...
...
@@ -59,7 +59,7 @@ func GetIngressList(client client.Interface, namespace *common.NamespaceQuery,
return
toIngressList
(
ingressList
.
Items
,
nonCriticalErrors
,
dsQuery
),
nil
}
func
getEndpoints
(
ingress
*
v1
beta1
.
Ingress
)
[]
common
.
Endpoint
{
func
getEndpoints
(
ingress
*
v1
.
Ingress
)
[]
common
.
Endpoint
{
endpoints
:=
make
([]
common
.
Endpoint
,
0
)
if
len
(
ingress
.
Status
.
LoadBalancer
.
Ingress
)
>
0
{
for
_
,
status
:=
range
ingress
.
Status
.
LoadBalancer
.
Ingress
{
...
...
@@ -75,7 +75,7 @@ func getEndpoints(ingress *v1beta1.Ingress) []common.Endpoint {
return
endpoints
}
func
getHosts
(
ingress
*
v1
beta1
.
Ingress
)
[]
string
{
func
getHosts
(
ingress
*
v1
.
Ingress
)
[]
string
{
hosts
:=
make
([]
string
,
0
)
set
:=
make
(
map
[
string
]
struct
{})
...
...
@@ -90,7 +90,7 @@ func getHosts(ingress *v1beta1.Ingress) []string {
return
hosts
}
func
toIngress
(
ingress
*
v1
beta1
.
Ingress
)
Ingress
{
func
toIngress
(
ingress
*
v1
.
Ingress
)
Ingress
{
return
Ingress
{
ObjectMeta
:
api
.
NewObjectMeta
(
ingress
.
ObjectMeta
),
TypeMeta
:
api
.
NewTypeMeta
(
api
.
ResourceKindIngress
),
...
...
@@ -99,7 +99,7 @@ func toIngress(ingress *v1beta1.Ingress) Ingress {
}
}
func
toIngressList
(
ingresses
[]
v1
beta1
.
Ingress
,
nonCriticalErrors
[]
error
,
dsQuery
*
dataselect
.
DataSelectQuery
)
*
IngressList
{
func
toIngressList
(
ingresses
[]
v1
.
Ingress
,
nonCriticalErrors
[]
error
,
dsQuery
*
dataselect
.
DataSelectQuery
)
*
IngressList
{
newIngressList
:=
&
IngressList
{
ListMeta
:
api
.
ListMeta
{
TotalItems
:
len
(
ingresses
)},
Items
:
make
([]
Ingress
,
0
),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录