Versions in this module Expand all Collapse all v5 v5.7.1 Nov 11, 2026 Changes in this version + func InDependencyOrder(ctx context.Context, project *types.Project, ...) error + func InReverseDependencyOrder(ctx context.Context, project *types.Project, ...) error + type Graph struct + Vertices map[string]*Vertex + func NewGraph(project *types.Project, initialStatus ServiceStatus) (*Graph, error) + func (g *Graph) AddEdge(source string, destination string) error + func (g *Graph) AddVertex(key string, serviceName string, initialStatus ServiceStatus) + func (g *Graph) FilterChildren(key string, status ServiceStatus) []*Vertex + func (g *Graph) FilterParents(key string, status ServiceStatus) []*Vertex + func (g *Graph) HasCycles() (bool, error) + func (g *Graph) Leaves() []*Vertex + func (g *Graph) Roots() []*Vertex + func (g *Graph) UpdateStatus(key string, status ServiceStatus) + type Option func(*graphTraversal) + func WithMaxConcurrency(maxConcurrency int) Option + func WithRootNodesAndDown(nodes []string) Option + type ServiceStatus int + const ServiceStarted + const ServiceStopped + type Vertex struct + Children map[string]*Vertex + Key string + Parents map[string]*Vertex + Service string + Status ServiceStatus + func NewVertex(key string, serviceName string, initialStatus ServiceStatus) *Vertex + func (v *Vertex) GetChildren() []*Vertex + func (v *Vertex) GetParents() []*Vertex