Skip to content

Commit

Permalink
adding changes to align with plugin-aws
Browse files Browse the repository at this point in the history
  • Loading branch information
ADorigi committed Jun 13, 2024
1 parent 548d07e commit 13221fb
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 74 deletions.
10 changes: 5 additions & 5 deletions plugin/processor/compute_instance/compute_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@ type ComputeInstanceProcessor struct {
provider *gcp.Compute
// identification map[string]string
items util.ConcurrentMap[string, ComputeInstanceItem]
publishOptimizationItem func(item *golang.OptimizationItem)
publishChartItem func(item *golang.ChartOptimizationItem)
publishOptimizationItem func(item *golang.ChartOptimizationItem)
publishResultSummary func(summary *golang.ResultSummary)
kaytuAcccessToken string
jobQueue *sdk.JobQueue
}

func NewComputeInstanceProcessor(
prv *gcp.Compute,
publishOptimizationItem func(item *golang.OptimizationItem),
publishChartItem func(item *golang.ChartOptimizationItem),
publishOptimizationItem func(item *golang.ChartOptimizationItem),
publishResultSummary func(summary *golang.ResultSummary),
kaytuAcccessToken string,
jobQueue *sdk.JobQueue,
) *ComputeInstanceProcessor {
Expand All @@ -31,7 +31,7 @@ func NewComputeInstanceProcessor(
// identification: identification,
items: util.NewMap[string, ComputeInstanceItem](),
publishOptimizationItem: publishOptimizationItem,
publishChartItem: publishChartItem,
publishResultSummary: publishResultSummary,
kaytuAcccessToken: kaytuAcccessToken,
jobQueue: jobQueue,
// configuration: configurations,
Expand Down
46 changes: 23 additions & 23 deletions plugin/processor/compute_instance/compute_instance_item.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,32 +19,32 @@ type ComputeInstanceItem struct {
// Wastage kaytu.EC2InstanceWastageResponse
}

func (i ComputeInstanceItem) ToOptimizationItem() *golang.OptimizationItem {
oi := &golang.OptimizationItem{
Id: i.Id,
Name: i.Name,
ResourceType: i.MachineType,
Region: i.Region,
Devices: nil,
Preferences: i.Preferences,
Description: "description placeholder",
Loading: i.OptimizationLoading,
Skipped: i.Skipped,
SkipReason: i.SkipReason,
LazyLoadingEnabled: i.LazyLoadingEnabled,
}
// func (i ComputeInstanceItem) ToOptimizationItem() *golang.OptimizationItem {
// oi := &golang.OptimizationItem{
// Id: i.Id,
// Name: i.Name,
// ResourceType: i.MachineType,
// Region: i.Region,
// Devices: nil,
// Preferences: i.Preferences,
// Description: "description placeholder",
// Loading: i.OptimizationLoading,
// Skipped: i.Skipped,
// SkipReason: i.SkipReason,
// LazyLoadingEnabled: i.LazyLoadingEnabled,
// }

// if i.Instance.PlatformDetails != nil {
// oi.Platform = *i.Instance.PlatformDetails
// }
if oi.Name == "" {
oi.Name = string(i.Name)
}
// // if i.Instance.PlatformDetails != nil {
// // oi.Platform = *i.Instance.PlatformDetails
// // }
// if oi.Name == "" {
// oi.Name = string(i.Name)
// }

return oi
}
// return oi
// }

func (i ComputeInstanceItem) ToChartOptimizationItem() *golang.ChartOptimizationItem {
func (i ComputeInstanceItem) ToOptimizationItem() *golang.ChartOptimizationItem {

chartrow := &golang.ChartRow{
RowId: uuid.New().String(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ func (job *ListComputeInstancesJob) Run() error {
log.Printf("OI instance: %s", oi.Name)

job.processor.items.Set(oi.Id, oi)
job.processor.publishChartItem(oi.ToChartOptimizationItem())
// job.processor.publishOptimizationItem(oi.ToOptimizationItem())
job.processor.publishOptimizationItem(oi.ToOptimizationItem())
}

if err = job.processor.provider.CloseClient(); err != nil {
Expand Down
82 changes: 38 additions & 44 deletions plugin/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package plugin

import (
"fmt"
"log"

"github.com/kaytu-io/kaytu/pkg/plugin/proto/src/golang"
"github.com/kaytu-io/kaytu/pkg/plugin/sdk"
Expand All @@ -23,37 +22,6 @@ func NewPlugin() *GCPPlugin {
}

func (p *GCPPlugin) GetConfig() golang.RegisterConfig {
log.Println("Get config")

overviewChart := &golang.ChartDefinition{

Columns: []*golang.ChartColumnItem{
{
Id: "instance_name",
Name: "Instance Name",
Width: uint32(10),
Sortable: true,
},
},
}

devicesChart := &golang.ChartDefinition{
Columns: []*golang.ChartColumnItem{
{
Id: "instance_name",
Name: "Instance Name",
Width: uint32(10),
Sortable: true,
},
{
Id: "project_id",
Name: "Project ID",
Width: uint32(10),
Sortable: true,
},
},
}

return golang.RegisterConfig{
Name: "kaytu-io/plugin-gcp",
Version: version.VERSION,
Expand All @@ -74,8 +42,33 @@ func (p *GCPPlugin) GetConfig() golang.RegisterConfig {
LoginRequired: true,
},
},
OverviewChart: overviewChart,
DevicesChart: devicesChart,
OverviewChart: &golang.ChartDefinition{

Columns: []*golang.ChartColumnItem{
{
Id: "instance_name",
Name: "Instance Name",
Width: uint32(10),
Sortable: true,
},
},
},
DevicesChart: &golang.ChartDefinition{
Columns: []*golang.ChartColumnItem{
{
Id: "instance_name",
Name: "Instance Name",
Width: uint32(10),
Sortable: true,
},
{
Id: "project_id",
Name: "Project ID",
Width: uint32(10),
Sortable: true,
},
},
},
}
}

Expand All @@ -93,22 +86,14 @@ func (p *GCPPlugin) StartProcess(cmd string, flags map[string]string, kaytuAcces
},
)

publishChartItem := func(item *golang.ChartOptimizationItem) {
publishOptimizationItem := func(item *golang.ChartOptimizationItem) {
p.stream.Send(&golang.PluginMessage{
PluginMessage: &golang.PluginMessage_Coi{
Coi: item,
},
})
}

publishOptimizationItem := func(item *golang.OptimizationItem) {
p.stream.Send(&golang.PluginMessage{
PluginMessage: &golang.PluginMessage_Oi{
Oi: item,
},
})
}

publishResultsReady := func(b bool) {
p.stream.Send(&golang.PluginMessage{
PluginMessage: &golang.PluginMessage_Ready{
Expand All @@ -118,13 +103,22 @@ func (p *GCPPlugin) StartProcess(cmd string, flags map[string]string, kaytuAcces
},
})
}

publishResultSummary := func(summary *golang.ResultSummary) {
p.stream.Send(&golang.PluginMessage{
PluginMessage: &golang.PluginMessage_Summary{
Summary: summary,
},
})
}

publishResultsReady(false)

if cmd == "compute-instance" {
p.processor = compute_instance.NewComputeInstanceProcessor(
gcpProvider,
publishOptimizationItem,
publishChartItem,
publishResultSummary,
kaytuAccessToken,
jobQueue,
)
Expand Down

0 comments on commit 13221fb

Please sign in to comment.