Documentation
¶
Index ¶
- Variables
- func GetChildren(ctx context.Context, s store.ObjectStore[*unstructured.Unstructured], ...) error
- func GetOwner(ctx context.Context, store store.ObjectStore[*unstructured.Unstructured], ...) error
- type GVK
- type MatchType
- type OwnerReference
- type ResourceHierarchy
- type ResourceNode
- type ResourceTree
- func (t *ResourceTree) AddNewNode(obj store.Object) *ResourceNode
- func (t *ResourceTree) AddNode(node *ResourceNode)
- func (t *ResourceTree) GetCurrent() *ResourceNode
- func (t *ResourceTree) ReplaceRoot(obj store.Object) *ResourceNode
- func (t *ResourceTree) SetCurrent(node *ResourceNode)
- func (t *ResourceTree) SetRoot(obj store.Object)
- type ResourceTreeController
- type Set
- type Stores
- type TreeResourceInfo
Constants ¶
This section is empty.
Variables ¶
View Source
var LookupResourceHierarchy = &ResourceHierarchy{ Owned: map[string]Set{}, Referenced: map[string]Set{}, }
View Source
var LookupStores = &Stores{ stores: make(map[string]store.ObjectStore[*unstructured.Unstructured]), }
Functions ¶
func GetChildren ¶
func GetChildren(ctx context.Context, s store.ObjectStore[*unstructured.Unstructured], tree *ResourceTree, namespace, name string, maxDepth, curDepth int) error
func GetOwner ¶
func GetOwner(ctx context.Context, store store.ObjectStore[*unstructured.Unstructured], tree *ResourceTree, namespace, name string, maxDepth, curDepth int) error
Types ¶
type MatchType ¶
type MatchType string
const (
MatchTypeOwnerReference MatchType = "ownerReference"
)
type OwnerReference ¶
type OwnerReference struct {
ApiVersion string `json:"apiVersion"`
Kind string `json:"kind"`
Name string `json:"name"`
Namespace string `json:"namespace"`
Uid string `json:"uid"`
}
func GetControllerOf ¶
func GetControllerOf(obj *unstructured.Unstructured) (ref OwnerReference, ok bool)
func (OwnerReference) GetAPIVersion ¶
func (o OwnerReference) GetAPIVersion() string
func (OwnerReference) GetKind ¶
func (o OwnerReference) GetKind() string
type ResourceHierarchy ¶
type ResourceHierarchy struct {
Owned map[string]Set
Referenced map[string]Set
// contains filtered or unexported fields
}
func (*ResourceHierarchy) AddChild ¶
func (h *ResourceHierarchy) AddChild(parent GVK, child TreeResourceInfo)
func (*ResourceHierarchy) GetChildren ¶
func (h *ResourceHierarchy) GetChildren(parent GVK) []TreeResourceInfo
type ResourceNode ¶
type ResourceNode struct {
Value store.Object `json:"value,omitempty"`
Children []*ResourceNode `json:"owns,omitempty"`
References []*ResourceNode `json:"references,omitempty"`
}
func (*ResourceNode) AddChild ¶
func (n *ResourceNode) AddChild(child *ResourceNode)
func (*ResourceNode) AddNewChild ¶
func (n *ResourceNode) AddNewChild(obj store.Object) *ResourceNode
func (*ResourceNode) AddNewReference ¶
func (n *ResourceNode) AddNewReference(obj *unstructured.Unstructured) *ResourceNode
func (*ResourceNode) AddReference ¶
func (n *ResourceNode) AddReference(ref *ResourceNode)
type ResourceTree ¶
type ResourceTree struct {
Root *ResourceNode `json:"root,omitempty"`
// contains filtered or unexported fields
}
func GetTree ¶
func GetTree(ctx context.Context, startStore store.ObjectStore[*unstructured.Unstructured], namespace, name string, maxDepth int) (*ResourceTree, error)
func NewResourceTree ¶
func NewResourceTree() *ResourceTree
func (*ResourceTree) AddNewNode ¶
func (t *ResourceTree) AddNewNode(obj store.Object) *ResourceNode
func (*ResourceTree) AddNode ¶
func (t *ResourceTree) AddNode(node *ResourceNode)
func (*ResourceTree) GetCurrent ¶
func (t *ResourceTree) GetCurrent() *ResourceNode
func (*ResourceTree) ReplaceRoot ¶
func (t *ResourceTree) ReplaceRoot(obj store.Object) *ResourceNode
func (*ResourceTree) SetCurrent ¶
func (t *ResourceTree) SetCurrent(node *ResourceNode)
func (*ResourceTree) SetRoot ¶
func (t *ResourceTree) SetRoot(obj store.Object)
type ResourceTreeController ¶
type ResourceTreeController struct {
Store store.ObjectStore[*unstructured.Unstructured]
// contains filtered or unexported fields
}
func NewResourceTreeController ¶
func NewResourceTreeController(store store.ObjectStore[*unstructured.Unstructured], log logr.Logger) *ResourceTreeController
func (*ResourceTreeController) GetTree ¶
func (r *ResourceTreeController) GetTree(c *fiber.Ctx) error
func (*ResourceTreeController) Register ¶
func (r *ResourceTreeController) Register(router fiber.Router, opts server.ControllerOpts)
type Set ¶
type Set map[TreeResourceInfo]bool
type Stores ¶
type Stores struct {
// contains filtered or unexported fields
}
func (*Stores) AddStore ¶
func (s *Stores) AddStore(store store.ObjectStore[*unstructured.Unstructured])
func (*Stores) GetStore ¶
func (s *Stores) GetStore(groupVersion, kind string) (store.ObjectStore[*unstructured.Unstructured], bool)
type TreeResourceInfo ¶
func (TreeResourceInfo) GetAPIVersion ¶
func (t TreeResourceInfo) GetAPIVersion() string
func (TreeResourceInfo) GetFiltersFor ¶
func (t TreeResourceInfo) GetFiltersFor(obj *unstructured.Unstructured) []store.Filter
func (TreeResourceInfo) GetKind ¶
func (t TreeResourceInfo) GetKind() string
Click to show internal directories.
Click to hide internal directories.