Initial rendering for ECS

(not working yet)
This commit is contained in:
Alfonso Acosta
2016-11-23 16:08:46 +00:00
committed by Mike Lang
parent a2d329dee7
commit 78775bbdb8
7 changed files with 114 additions and 48 deletions

View File

@@ -4,6 +4,7 @@ import (
"fmt"
"strings"
"github.com/weaveworks/scope/probe/awsecs"
"github.com/weaveworks/scope/probe/docker"
"github.com/weaveworks/scope/probe/endpoint"
"github.com/weaveworks/scope/probe/host"
@@ -68,6 +69,8 @@ var renderers = map[string]func(NodeSummary, report.Node) (NodeSummary, bool){
report.Service: podGroupNodeSummary,
report.Deployment: podGroupNodeSummary,
report.ReplicaSet: podGroupNodeSummary,
report.ECSTask: ecsTaskNodeSummary,
report.ECSService: ecsServiceNodeSummary,
report.Host: hostNodeSummary,
report.Overlay: weaveNodeSummary,
}
@@ -240,6 +243,17 @@ func podGroupNodeSummary(base NodeSummary, n report.Node) (NodeSummary, bool) {
return base, true
}
func ecsTaskNodeSummary(base NodeSummary, n report.Node) (NodeSummary, bool) {
base.Label, _ = n.Latest.Lookup(awsecs.TaskFamily)
return base, true
}
func ecsServiceNodeSummary(base NodeSummary, n report.Node) (NodeSummary, bool) {
base.Label, _ = report.ParseECSServiceNodeID(n.ID)
base.Stack = true
return base, true
}
func hostNodeSummary(base NodeSummary, n report.Node) (NodeSummary, bool) {
var (
hostname, _ = n.Latest.Lookup(host.HostName)

19
render/ecs.go Normal file
View File

@@ -0,0 +1,19 @@
package render
import (
"github.com/weaveworks/scope/report"
)
// ECSTaskRenderer is a Renderer for Amazon ECS tasks.
var ECSTaskRenderer = MakeFilter(
// TODO
func(n report.Node) bool { return true },
SelectECSTask,
)
// ECSServiceRenderer is a Renderer for Amazon ECS services.
var ECSServiceRenderer = MakeFilter(
// TODO
func(n report.Node) bool { return true },
SelectECSService,
)

View File

@@ -31,5 +31,7 @@ var (
SelectService = TopologySelector(report.Service)
SelectDeployment = TopologySelector(report.Deployment)
SelectReplicaSet = TopologySelector(report.ReplicaSet)
SelectECSTask = TopologySelector(report.ECSTask)
SelectECSService = TopologySelector(report.ECSService)
SelectOverlay = TopologySelector(report.Overlay)
)