checkpoint
parent
ef0aab3f4c
commit
85970d8525
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"GOLANG": {
|
||||
"TOO_MANY_IVARS": [
|
||||
8,
|
||||
10,
|
||||
14,
|
||||
20
|
||||
],
|
||||
"LOC": [
|
||||
50,
|
||||
60,
|
||||
80,
|
||||
100
|
||||
],
|
||||
"TOTAL_LOC": [
|
||||
300,
|
||||
400,
|
||||
600,
|
||||
1000
|
||||
],
|
||||
"TOO_MANY_FUNCTIONS": [
|
||||
30,
|
||||
40,
|
||||
50,
|
||||
60
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -17,11 +17,7 @@ type (
|
|||
enterFn func(app *App, ns, resource, selection string)
|
||||
decorateFn func(resource.TableData) resource.TableData
|
||||
|
||||
viewer struct {
|
||||
gvr string
|
||||
kind string
|
||||
namespaced bool
|
||||
verbs metav1.Verbs
|
||||
viewerCapability struct {
|
||||
viewFn viewFn
|
||||
listFn listFn
|
||||
enterFn enterFn
|
||||
|
|
@ -29,6 +25,15 @@ type (
|
|||
decorateFn decorateFn
|
||||
}
|
||||
|
||||
viewer struct {
|
||||
viewerCapability
|
||||
|
||||
gvr string
|
||||
kind string
|
||||
namespaced bool
|
||||
verbs metav1.Verbs
|
||||
}
|
||||
|
||||
viewers map[string]viewer
|
||||
)
|
||||
|
||||
|
|
@ -69,10 +74,12 @@ func allCRDs(c k8s.Connection, vv viewers) {
|
|||
}
|
||||
|
||||
vv[gvrs] = viewer{
|
||||
gvr: gvrs,
|
||||
kind: meta.Kind,
|
||||
viewFn: listFunc(resource.NewCustomList(c, meta.Namespaced, "", gvrs)),
|
||||
colorerFn: ui.DefaultColorer,
|
||||
gvr: gvrs,
|
||||
kind: meta.Kind,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: listFunc(resource.NewCustomList(c, meta.Namespaced, "", gvrs)),
|
||||
colorerFn: ui.DefaultColorer,
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -170,172 +177,242 @@ func resourceViews(c k8s.Connection, m viewers) {
|
|||
|
||||
func coreRes(vv viewers) {
|
||||
vv["v1/nodes"] = viewer{
|
||||
viewFn: NewNode,
|
||||
listFn: resource.NewNodeList,
|
||||
colorerFn: nsColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewNode,
|
||||
listFn: resource.NewNodeList,
|
||||
colorerFn: nsColorer,
|
||||
},
|
||||
}
|
||||
vv["v1/namespaces"] = viewer{
|
||||
viewFn: NewNamespace,
|
||||
listFn: resource.NewNamespaceList,
|
||||
colorerFn: nsColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewNamespace,
|
||||
listFn: resource.NewNamespaceList,
|
||||
colorerFn: nsColorer,
|
||||
},
|
||||
}
|
||||
vv["v1/pods"] = viewer{
|
||||
viewFn: NewPod,
|
||||
listFn: resource.NewPodList,
|
||||
colorerFn: podColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewPod,
|
||||
listFn: resource.NewPodList,
|
||||
colorerFn: podColorer,
|
||||
},
|
||||
}
|
||||
vv["v1/serviceaccounts"] = viewer{
|
||||
listFn: resource.NewServiceAccountList,
|
||||
enterFn: showSAPolicy,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewServiceAccountList,
|
||||
enterFn: showSAPolicy,
|
||||
},
|
||||
}
|
||||
vv["v1/services"] = viewer{
|
||||
viewFn: NewService,
|
||||
listFn: resource.NewServiceList,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewService,
|
||||
listFn: resource.NewServiceList,
|
||||
},
|
||||
}
|
||||
vv["v1/configmaps"] = viewer{
|
||||
listFn: resource.NewConfigMapList,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewConfigMapList,
|
||||
},
|
||||
}
|
||||
vv["v1/persistentvolumes"] = viewer{
|
||||
listFn: resource.NewPersistentVolumeList,
|
||||
colorerFn: pvColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewPersistentVolumeList,
|
||||
colorerFn: pvColorer,
|
||||
},
|
||||
}
|
||||
vv["v1/persistentvolumeclaims"] = viewer{
|
||||
listFn: resource.NewPersistentVolumeClaimList,
|
||||
colorerFn: pvcColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewPersistentVolumeClaimList,
|
||||
colorerFn: pvcColorer,
|
||||
},
|
||||
}
|
||||
vv["v1/secrets"] = viewer{
|
||||
viewFn: NewSecret,
|
||||
listFn: resource.NewSecretList,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewSecret,
|
||||
listFn: resource.NewSecretList,
|
||||
},
|
||||
}
|
||||
vv["v1/endpoints"] = viewer{
|
||||
listFn: resource.NewEndpointsList,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewEndpointsList,
|
||||
},
|
||||
}
|
||||
vv["v1/events"] = viewer{
|
||||
listFn: resource.NewEventList,
|
||||
colorerFn: evColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewEventList,
|
||||
colorerFn: evColorer,
|
||||
},
|
||||
}
|
||||
vv["v1/replicationcontrollers"] = viewer{
|
||||
viewFn: NewScalableResource,
|
||||
listFn: resource.NewReplicationControllerList,
|
||||
colorerFn: rsColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewScalableResource,
|
||||
listFn: resource.NewReplicationControllerList,
|
||||
colorerFn: rsColorer,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func miscRes(vv viewers) {
|
||||
vv["storage.k8s.io/v1/storageclasses"] = viewer{
|
||||
listFn: resource.NewStorageClassList,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewStorageClassList,
|
||||
},
|
||||
}
|
||||
vv["contexts"] = viewer{
|
||||
gvr: "contexts",
|
||||
kind: "Contexts",
|
||||
viewFn: NewContext,
|
||||
listFn: resource.NewContextList,
|
||||
colorerFn: ctxColorer,
|
||||
gvr: "contexts",
|
||||
kind: "Contexts",
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewContext,
|
||||
listFn: resource.NewContextList,
|
||||
colorerFn: ctxColorer,
|
||||
},
|
||||
}
|
||||
vv["users"] = viewer{
|
||||
gvr: "users",
|
||||
viewFn: NewSubject,
|
||||
gvr: "users",
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewSubject,
|
||||
},
|
||||
}
|
||||
vv["groups"] = viewer{
|
||||
gvr: "groups",
|
||||
viewFn: NewSubject,
|
||||
gvr: "groups",
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewSubject,
|
||||
},
|
||||
}
|
||||
vv["portforwards"] = viewer{
|
||||
gvr: "portforwards",
|
||||
viewFn: NewPortForward,
|
||||
gvr: "portforwards",
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewPortForward,
|
||||
},
|
||||
}
|
||||
vv["benchmarks"] = viewer{
|
||||
gvr: "benchmarks",
|
||||
viewFn: NewBench,
|
||||
gvr: "benchmarks",
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewBench,
|
||||
},
|
||||
}
|
||||
vv["screendumps"] = viewer{
|
||||
gvr: "screendumps",
|
||||
viewFn: NewScreenDump,
|
||||
gvr: "screendumps",
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewScreenDump,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func appsRes(vv viewers) {
|
||||
vv["apps/v1/deployments"] = viewer{
|
||||
viewFn: NewDeploy,
|
||||
listFn: resource.NewDeploymentList,
|
||||
colorerFn: dpColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewDeploy,
|
||||
listFn: resource.NewDeploymentList,
|
||||
colorerFn: dpColorer,
|
||||
},
|
||||
}
|
||||
vv["apps/v1/replicasets"] = viewer{
|
||||
viewFn: NewReplicaSet,
|
||||
listFn: resource.NewReplicaSetList,
|
||||
colorerFn: rsColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewReplicaSet,
|
||||
listFn: resource.NewReplicaSetList,
|
||||
colorerFn: rsColorer,
|
||||
},
|
||||
}
|
||||
vv["apps/v1/statefulsets"] = viewer{
|
||||
viewFn: NewStatefulSet,
|
||||
listFn: resource.NewStatefulSetList,
|
||||
colorerFn: stsColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewStatefulSet,
|
||||
listFn: resource.NewStatefulSetList,
|
||||
colorerFn: stsColorer,
|
||||
},
|
||||
}
|
||||
vv["apps/v1/daemonsets"] = viewer{
|
||||
viewFn: NewDaemonSet,
|
||||
listFn: resource.NewDaemonSetList,
|
||||
colorerFn: dpColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewDaemonSet,
|
||||
listFn: resource.NewDaemonSetList,
|
||||
colorerFn: dpColorer,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func authRes(vv viewers) {
|
||||
vv["rbac.authorization.k8s.io/v1/clusterroles"] = viewer{
|
||||
listFn: resource.NewClusterRoleList,
|
||||
enterFn: showRBAC,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewClusterRoleList,
|
||||
enterFn: showRBAC,
|
||||
},
|
||||
}
|
||||
vv["rbac.authorization.k8s.io/v1/clusterrolebindings"] = viewer{
|
||||
listFn: resource.NewClusterRoleBindingList,
|
||||
enterFn: showClusterRole,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewClusterRoleBindingList,
|
||||
enterFn: showClusterRole,
|
||||
},
|
||||
}
|
||||
vv["rbac.authorization.k8s.io/v1/rolebindings"] = viewer{
|
||||
listFn: resource.NewRoleBindingList,
|
||||
enterFn: showRole,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewRoleBindingList,
|
||||
enterFn: showRole,
|
||||
},
|
||||
}
|
||||
vv["rbac.authorization.k8s.io/v1/roles"] = viewer{
|
||||
listFn: resource.NewRoleList,
|
||||
enterFn: showRBAC,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewRoleList,
|
||||
enterFn: showRBAC,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func extRes(vv viewers) {
|
||||
vv["apiextensions.k8s.io/v1/customresourcedefinitions"] = viewer{
|
||||
listFn: resource.NewCustomResourceDefinitionList,
|
||||
enterFn: showCRD,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewCustomResourceDefinitionList,
|
||||
enterFn: showCRD,
|
||||
},
|
||||
}
|
||||
vv["apiextensions.k8s.io/v1beta1/customresourcedefinitions"] = viewer{
|
||||
listFn: resource.NewCustomResourceDefinitionList,
|
||||
enterFn: showCRD,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewCustomResourceDefinitionList,
|
||||
enterFn: showCRD,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func netRes(vv viewers) {
|
||||
vv["networking.k8s.io/v1/networkpolicies"] = viewer{
|
||||
listFn: resource.NewNetworkPolicyList,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewNetworkPolicyList,
|
||||
},
|
||||
}
|
||||
vv["extensions/v1beta1/ingresses"] = viewer{
|
||||
listFn: resource.NewIngressList,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewIngressList,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func batchRes(vv viewers) {
|
||||
vv["batch/v1beta1/cronjobs"] = viewer{
|
||||
viewFn: NewCronJob,
|
||||
listFn: resource.NewCronJobList,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewCronJob,
|
||||
listFn: resource.NewCronJobList,
|
||||
},
|
||||
}
|
||||
vv["batch/v1/jobs"] = viewer{
|
||||
viewFn: NewJob,
|
||||
listFn: resource.NewJobList,
|
||||
viewerCapability: viewerCapability{
|
||||
viewFn: NewJob,
|
||||
listFn: resource.NewJobList,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func policyRes(vv viewers) {
|
||||
vv["policy/v1beta1/poddisruptionbudgets"] = viewer{
|
||||
listFn: resource.NewPDBList,
|
||||
colorerFn: pdbColorer,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewPDBList,
|
||||
colorerFn: pdbColorer,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func hpaRes(vv viewers) {
|
||||
vv["autoscaling/v1/horizontalpodautoscalers"] = viewer{
|
||||
listFn: resource.NewHorizontalPodAutoscalerV1List,
|
||||
viewerCapability: viewerCapability{
|
||||
listFn: resource.NewHorizontalPodAutoscalerV1List,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue