diff --git a/docs/add_resource.md b/docs/add_resource.md new file mode 100644 index 0000000..774489c --- /dev/null +++ b/docs/add_resource.md @@ -0,0 +1,2 @@ +# Add a resource + diff --git a/resource/kubernetes.go b/resource/kubernetes.go new file mode 100644 index 0000000..826f118 --- /dev/null +++ b/resource/kubernetes.go @@ -0,0 +1,43 @@ +package resource + +import "github.com/SimonBaeumer/goss/system" + +type Kubernetes struct { + Title string `json:"title,omitempty" yaml:"title,omitempty"` + Meta meta `json:"meta,omitempty" yaml:"meta,omitempty"` + Name string `json:"-" yaml:"-"` + ResourceType string `json:"resource-type" yaml:"resource-type"` +} + +func (k *Kubernetes) ID() string { + return k.Name +} + +func (k *Kubernetes) SetID(id string) { + k.Name = id +} + +func (k *Kubernetes) GetTitle() string { + return k.Title +} + +func (k *Kubernetes) GetMeta() meta { + return k.Meta +} + +func (k *Kubernetes) Validate(sys *system.System) []TestResult { + var results []TestResult + + result := TestResult{ + Successful: true, + Result: SUCCESS, + } + + results = append(results, result) + return results +} + +// TODO: add feature +func NewKubernetes() { + +} diff --git a/resource/resource_list_genny.go b/resource/resource_list_genny.go index ec2208c..c04dc1e 100644 --- a/resource/resource_list_genny.go +++ b/resource/resource_list_genny.go @@ -13,7 +13,7 @@ import ( "github.com/cheekybits/genny/generic" ) -//go:generate genny -in=$GOFILE -out=resource_list.go gen "ResourceType=Addr,Command,DNS,File,Gossfile,Group,Package,Port,Process,Service,User,KernelParam,Mount,Interface,HTTP" +//go:generate genny -in=$GOFILE -out=resource_list.go gen "ResourceType=Addr,Command,DNS,File,Gossfile,Group,Package,Port,Process,Service,User,KernelParam,Mount,Interface,HTTP,Kubernetes" //go:generate sed -i -e "/^\\/\\/ +build genny/d" resource_list.go //go:generate goimports -w resource_list.go resource_list.go diff --git a/system/kubernetes.go b/system/kubernetes.go new file mode 100644 index 0000000..774f32f --- /dev/null +++ b/system/kubernetes.go @@ -0,0 +1,22 @@ +package system + +type Kubernetes interface { + Status() string + ResourceType() string +} + +type DefKubernetes struct { + pod string +} + +func (k *DefKubernetes) setup() error { + return nil +} + +func Status() string { + return "pending" +} + +func ResourceType() string { + return "pod" +} diff --git a/system/system.go b/system/system.go index 517e2ce..1758820 100644 --- a/system/system.go +++ b/system/system.go @@ -34,6 +34,7 @@ type System struct { NewMount func(string, *System, util2.Config) Mount NewInterface func(string, *System, util2.Config) Interface NewHTTP func(string, *System, util2.Config) HTTP + NewKubernetes func(string, *System, util2.Config) Kubernetes ports map[string][]GOnetstat.Process portsOnce sync.Once procMap map[string][]ps.Process