203 lines
4.2 KiB
Go
203 lines
4.2 KiB
Go
// SPDX-License-Identifier: Apache-2.0
|
|
// Copyright Authors of K9s
|
|
|
|
package model
|
|
|
|
import (
|
|
"github.com/derailed/k9s/internal/client"
|
|
"github.com/derailed/k9s/internal/dao"
|
|
"github.com/derailed/k9s/internal/render"
|
|
"github.com/derailed/k9s/internal/render/helm"
|
|
"github.com/derailed/k9s/internal/xray"
|
|
)
|
|
|
|
// Registry tracks resources metadata.
|
|
// BOZO!! Break up deps and merge into single registrar.
|
|
var Registry = map[*client.GVR]ResourceMeta{
|
|
// Custom...
|
|
client.WkGVR: {
|
|
DAO: new(dao.Workload),
|
|
Renderer: new(render.Workload),
|
|
},
|
|
client.RefGVR: {
|
|
DAO: new(dao.Reference),
|
|
Renderer: new(render.Reference),
|
|
},
|
|
client.DirGVR: {
|
|
DAO: new(dao.Dir),
|
|
Renderer: new(render.Dir),
|
|
},
|
|
client.PuGVR: {
|
|
DAO: new(dao.Pulse),
|
|
},
|
|
client.HmGVR: {
|
|
DAO: new(dao.HelmChart),
|
|
Renderer: new(helm.Chart),
|
|
},
|
|
client.HmhGVR: {
|
|
DAO: new(dao.HelmHistory),
|
|
Renderer: new(helm.History),
|
|
},
|
|
client.CoGVR: {
|
|
DAO: new(dao.Container),
|
|
Renderer: new(render.Container),
|
|
TreeRenderer: new(xray.Container),
|
|
},
|
|
client.ScnGVR: {
|
|
DAO: new(dao.ImageScan),
|
|
Renderer: new(render.ImageScan),
|
|
},
|
|
client.CtGVR: {
|
|
DAO: new(dao.Context),
|
|
Renderer: new(render.Context),
|
|
},
|
|
client.SdGVR: {
|
|
DAO: new(dao.ScreenDump),
|
|
Renderer: new(render.ScreenDump),
|
|
},
|
|
client.RbacGVR: {
|
|
DAO: new(dao.Rbac),
|
|
Renderer: new(render.Rbac),
|
|
},
|
|
client.PolGVR: {
|
|
DAO: new(dao.Policy),
|
|
Renderer: new(render.Policy),
|
|
},
|
|
client.UsrGVR: {
|
|
DAO: new(dao.Subject),
|
|
Renderer: new(render.Subject),
|
|
},
|
|
client.GrpGVR: {
|
|
DAO: new(dao.Subject),
|
|
Renderer: new(render.Subject),
|
|
},
|
|
client.PfGVR: {
|
|
DAO: new(dao.PortForward),
|
|
Renderer: new(render.PortForward),
|
|
},
|
|
client.BeGVR: {
|
|
DAO: new(dao.Benchmark),
|
|
Renderer: new(render.Benchmark),
|
|
},
|
|
client.AliGVR: {
|
|
DAO: new(dao.Alias),
|
|
Renderer: new(render.Alias),
|
|
},
|
|
|
|
// Discovery...
|
|
client.EpsGVR: {
|
|
Renderer: new(render.EndpointSlice),
|
|
},
|
|
|
|
// Core...
|
|
client.EpGVR: {
|
|
Renderer: new(render.Endpoints),
|
|
},
|
|
client.PodGVR: {
|
|
DAO: new(dao.Pod),
|
|
Renderer: render.NewPod(),
|
|
TreeRenderer: new(xray.Pod),
|
|
},
|
|
client.NsGVR: {
|
|
DAO: new(dao.Namespace),
|
|
Renderer: new(render.Namespace),
|
|
},
|
|
client.SecGVR: {
|
|
DAO: new(dao.Secret),
|
|
Renderer: new(render.Secret),
|
|
},
|
|
client.CmGVR: {
|
|
DAO: new(dao.ConfigMap),
|
|
Renderer: new(render.ConfigMap),
|
|
},
|
|
client.NodeGVR: {
|
|
DAO: new(dao.Node),
|
|
Renderer: new(render.Node),
|
|
},
|
|
client.SvcGVR: {
|
|
DAO: new(dao.Service),
|
|
Renderer: new(render.Service),
|
|
TreeRenderer: new(xray.Service),
|
|
},
|
|
client.SaGVR: {
|
|
Renderer: new(render.ServiceAccount),
|
|
},
|
|
client.PvGVR: {
|
|
Renderer: new(render.PersistentVolume),
|
|
},
|
|
client.PvcGVR: {
|
|
Renderer: new(render.PersistentVolumeClaim),
|
|
},
|
|
client.EvGVR: {
|
|
DAO: new(dao.Table),
|
|
Renderer: new(render.Event),
|
|
},
|
|
|
|
// Apps...
|
|
client.DpGVR: {
|
|
DAO: new(dao.Deployment),
|
|
Renderer: new(render.Deployment),
|
|
TreeRenderer: new(xray.Deployment),
|
|
},
|
|
client.RsGVR: {
|
|
Renderer: new(render.ReplicaSet),
|
|
TreeRenderer: new(xray.ReplicaSet),
|
|
},
|
|
client.StsGVR: {
|
|
DAO: new(dao.StatefulSet),
|
|
Renderer: new(render.StatefulSet),
|
|
TreeRenderer: new(xray.StatefulSet),
|
|
},
|
|
client.DsGVR: {
|
|
DAO: new(dao.DaemonSet),
|
|
Renderer: new(render.DaemonSet),
|
|
TreeRenderer: new(xray.DaemonSet),
|
|
},
|
|
|
|
// Extensions...
|
|
client.NpGVR: {
|
|
Renderer: &render.NetworkPolicy{},
|
|
},
|
|
|
|
// Batch...
|
|
client.CjGVR: {
|
|
DAO: new(dao.CronJob),
|
|
Renderer: new(render.CronJob),
|
|
},
|
|
client.JobGVR: {
|
|
DAO: new(dao.Job),
|
|
Renderer: new(render.Job),
|
|
},
|
|
|
|
// CRDs...
|
|
client.CrdGVR: {
|
|
DAO: new(dao.CustomResourceDefinition),
|
|
Renderer: new(render.CustomResourceDefinition),
|
|
},
|
|
|
|
// Storage...
|
|
client.ScGVR: {
|
|
Renderer: &render.StorageClass{},
|
|
},
|
|
|
|
// Policy...
|
|
client.PdbGVR: {
|
|
Renderer: &render.PodDisruptionBudget{},
|
|
},
|
|
|
|
// RBAC...
|
|
client.CrGVR: {
|
|
DAO: new(dao.Rbac),
|
|
Renderer: new(render.ClusterRole),
|
|
},
|
|
client.CrbGVR: {
|
|
Renderer: new(render.ClusterRoleBinding),
|
|
},
|
|
client.RoGVR: {
|
|
Renderer: new(render.Role),
|
|
},
|
|
client.RobGVR: {
|
|
Renderer: new(render.RoleBinding),
|
|
},
|
|
}
|