k9s/internal/model/registry.go

194 lines
4.4 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[string]ResourceMeta{
// Custom...
client.WkGVR.String(): {
DAO: new(dao.Workload),
Renderer: new(render.Workload),
},
client.RefGVR.String(): {
DAO: new(dao.Reference),
Renderer: new(render.Reference),
},
client.DirGVR.String(): {
DAO: new(dao.Dir),
Renderer: new(render.Dir),
},
client.PuGVR.String(): {
DAO: new(dao.Pulse),
},
client.HmGVR.String(): {
DAO: new(dao.HelmChart),
Renderer: new(helm.Chart),
},
client.HmhGVR.String(): {
DAO: new(dao.HelmHistory),
Renderer: new(helm.History),
},
client.CoGVR.String(): {
DAO: new(dao.Container),
Renderer: new(render.Container),
TreeRenderer: new(xray.Container),
},
client.ScnGVR.String(): {
DAO: new(dao.ImageScan),
Renderer: new(render.ImageScan),
},
client.CtGVR.String(): {
DAO: new(dao.Context),
Renderer: new(render.Context),
},
client.SdGVR.String(): {
DAO: new(dao.ScreenDump),
Renderer: new(render.ScreenDump),
},
client.RbacGVR.String(): {
DAO: new(dao.Rbac),
Renderer: new(render.Rbac),
},
client.PolGVR.String(): {
DAO: new(dao.Policy),
Renderer: new(render.Policy),
},
client.UsrGVR.String(): {
DAO: new(dao.Subject),
Renderer: new(render.Subject),
},
client.GrpGVR.String(): {
DAO: new(dao.Subject),
Renderer: new(render.Subject),
},
client.PfGVR.String(): {
DAO: new(dao.PortForward),
Renderer: new(render.PortForward),
},
client.BeGVR.String(): {
DAO: new(dao.Benchmark),
Renderer: new(render.Benchmark),
},
client.AliGVR.String(): {
DAO: new(dao.Alias),
Renderer: new(render.Alias),
},
// Core...
client.EpGVR.String(): {
Renderer: new(render.Endpoints),
},
client.PodGVR.String(): {
DAO: new(dao.Pod),
Renderer: render.NewPod(),
TreeRenderer: new(xray.Pod),
},
client.NsGVR.String(): {
DAO: new(dao.Namespace),
Renderer: new(render.Namespace),
},
client.SecGVR.String(): {
DAO: new(dao.Secret),
Renderer: new(render.Secret),
},
client.CmGVR.String(): {
DAO: new(dao.ConfigMap),
Renderer: new(render.ConfigMap),
},
client.NodeGVR.String(): {
DAO: new(dao.Node),
Renderer: new(render.Node),
},
client.SvcGVR.String(): {
DAO: new(dao.Service),
Renderer: new(render.Service),
TreeRenderer: new(xray.Service),
},
client.SaGVR.String(): {
Renderer: new(render.ServiceAccount),
},
client.PvGVR.String(): {
Renderer: new(render.PersistentVolume),
},
client.PvcGVR.String(): {
Renderer: new(render.PersistentVolumeClaim),
},
// Apps...
client.DpGVR.String(): {
DAO: new(dao.Deployment),
Renderer: new(render.Deployment),
TreeRenderer: new(xray.Deployment),
},
client.RsGVR.String(): {
Renderer: new(render.ReplicaSet),
TreeRenderer: new(xray.ReplicaSet),
},
client.StsGVR.String(): {
DAO: new(dao.StatefulSet),
Renderer: new(render.StatefulSet),
TreeRenderer: new(xray.StatefulSet),
},
client.DsGVR.String(): {
DAO: new(dao.DaemonSet),
Renderer: new(render.DaemonSet),
TreeRenderer: new(xray.DaemonSet),
},
// Extensions...
client.NpGVR.String(): {
Renderer: &render.NetworkPolicy{},
},
// Batch...
client.CjGVR.String(): {
DAO: new(dao.CronJob),
Renderer: new(render.CronJob),
},
client.JobGVR.String(): {
DAO: new(dao.Job),
Renderer: new(render.Job),
},
// CRDs...
client.CrdGVR.String(): {
DAO: new(dao.CustomResourceDefinition),
Renderer: new(render.CustomResourceDefinition),
},
// Storage...
client.ScGVR.String(): {
Renderer: &render.StorageClass{},
},
// Policy...
client.PdbGVR.String(): {
Renderer: &render.PodDisruptionBudget{},
},
// RBAC...
client.CrGVR.String(): {
DAO: new(dao.Rbac),
Renderer: new(render.ClusterRole),
},
client.CrbGVR.String(): {
Renderer: new(render.ClusterRoleBinding),
},
client.RoGVR.String(): {
Renderer: new(render.Role),
},
client.RobGVR.String(): {
Renderer: new(render.RoleBinding),
},
}