Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CircularDependencyError ¶
type CircularDependencyError [][]string
CircularDependencyError contains the circular dependency chains that were detected while sorting the Dependent dependencies.
func (CircularDependencyError) Error ¶
func (e CircularDependencyError) Error() string
type CrossNamespaceDependencyReference ¶
type CrossNamespaceDependencyReference struct {
// Namespace holds the namespace reference of a dependency.
// +optional
Namespace string `json:"namespace,omitempty"`
// Name holds the name reference of a dependency.
// +required
Name string `json:"name"`
}
CrossNamespaceDependencyReference holds the reference to a dependency.
func Sort ¶
func Sort(d []Dependent) ([]CrossNamespaceDependencyReference, error)
Sort sorts the Dependent slice based on their listed dependencies using Tarjan's strongly connected components algorithm.
func (CrossNamespaceDependencyReference) String ¶
func (r CrossNamespaceDependencyReference) String() string
type Dependent ¶
type Dependent interface {
// GetDependsOn returns the Dependent's types.NamespacedName,
// and the CrossNamespaceDependencyReference slice it depends on.
GetDependsOn() (types.NamespacedName, []CrossNamespaceDependencyReference)
}
Dependent provides an interface for resources that maintain CrossNamespaceDependencyReference list.
Click to show internal directories.
Click to hide internal directories.