mirror of
https://github.com/weaveworks/scope.git
synced 2026-02-14 18:09:59 +00:00
This commit will add a new control i.e. Describe which will describe a k8s resource similar to kubectl describe. Signed-off-by: Akash Srivastava <akashsrivastava4927@gmail.com>
34 lines
923 B
Go
34 lines
923 B
Go
package kubernetes
|
|
|
|
import (
|
|
"github.com/weaveworks/scope/report"
|
|
storagev1 "k8s.io/api/storage/v1"
|
|
)
|
|
|
|
// StorageClass represent kubernetes StorageClass interface
|
|
type StorageClass interface {
|
|
Meta
|
|
GetNode(probeID string) report.Node
|
|
}
|
|
|
|
// storageClass represents kubernetes storage classes
|
|
type storageClass struct {
|
|
*storagev1.StorageClass
|
|
Meta
|
|
}
|
|
|
|
// NewStorageClass returns new Storage Class type
|
|
func NewStorageClass(p *storagev1.StorageClass) StorageClass {
|
|
return &storageClass{StorageClass: p, Meta: meta{p.ObjectMeta}}
|
|
}
|
|
|
|
// GetNode returns StorageClass as Node
|
|
func (p *storageClass) GetNode(probeID string) report.Node {
|
|
return p.MetaNode(report.MakeStorageClassNodeID(p.UID())).WithLatests(map[string]string{
|
|
NodeType: "Storage Class",
|
|
Name: p.GetName(),
|
|
Provisioner: p.Provisioner,
|
|
report.ControlProbeID: probeID,
|
|
}).WithLatestActiveControls(Describe)
|
|
}
|