Documentation
¶
Index ¶
- Variables
- func LoadBytes(data []byte) ([]*resource.Resource, error)
- func LoadPath(fs filesys.FileSystem, path string) ([]*resource.Resource, error)
- type ClientSet
- type Context
- type Manager
- func (m *Manager) AddResources(resources []*controller.Resource)
- func (m *Manager) AllNodes() []*ResourceNode
- func (m *Manager) Initialize(fs filesys.FileSystem, path string, defaultNamespace string) error
- func (m *Manager) ListWithKind(kind, namespace string, allNamespaces bool) []*ResourceNode
- func (m *Manager) Run() error
- type ResourceNode
- func (n *ResourceNode) AddResources(res []*controller.Resource)
- func (n *ResourceNode) Find(kind, namespace, name string) (*ResourceNode, bool)
- func (n *ResourceNode) Flat() ResourceNodes
- func (n *ResourceNode) FlatByStatus(status ResourceStatus) ResourceNodes
- func (n *ResourceNode) GetResources() []*ResourceNode
- func (n *ResourceNode) String() string
- func (n *ResourceNode) Walk(f func(node *ResourceNode) error) error
- type ResourceNodes
- type ResourceStatus
Constants ¶
This section is empty.
Variables ¶
var ( // ErrStop is used during Walk to stop recursing. ErrStop = errors.New("stop") )
Functions ¶
Types ¶
type ClientSet ¶
ClientSet implements client.Client interface, handled Get and GroupVersionKindFor.
func NewClientSet ¶
func NewClientSet(scheme *runtime.Scheme, root *ResourceNode) *ClientSet
NewClientSet form scheme and resource tree.
func (ClientSet) Get ¶
func (c ClientSet) Get(_ context.Context, key client.ObjectKey, obj client.Object, _ ...client.GetOption) error
Get a particular resource from the tree.
func (ClientSet) GroupVersionKindFor ¶
GroupVersionKindFor an object.
type Context ¶
type Context struct {
// contains filtered or unexported fields
}
func (*Context) GetAttachment ¶
func (*Context) GetResource ¶
func (m *Context) GetResource(kind, namespace, name string) (*controller.Resource, bool)
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager runs controllers, builds and queries the resource tree.
func NewManager ¶
func NewManager( logger zerolog.Logger, controllers []controller.Controller, ) *Manager
NewManager from a slice of controllers.
func (*Manager) AddResources ¶
func (m *Manager) AddResources(resources []*controller.Resource)
AddResources seeds the resource tree with additional resources before Run.
func (*Manager) AllNodes ¶
func (m *Manager) AllNodes() []*ResourceNode
AllNodes returns a flat representation of all resource nodes encountered during Run.
func (*Manager) Initialize ¶
Initialize the resource tree by loading some resources.
func (*Manager) ListWithKind ¶
func (m *Manager) ListWithKind(kind, namespace string, allNamespaces bool) []*ResourceNode
ListWithKind retrieves resources that are of a specific kind.
type ResourceNode ¶
type ResourceNode struct {
// Status of this particular node/resource.
Status ResourceStatus
// Attempts taken to reconcile.
Attempts int
// Error that occurred during reconciliation.
Error error
// Time it took to reconcile this resource.
Duration time.Duration
// Resource this node contains, or nil for the root.
Resource *controller.Resource
// Attachment set on this node.
Attachment any
// Children of this resource.
Children []*ResourceNode
}
func (*ResourceNode) AddResources ¶
func (n *ResourceNode) AddResources(res []*controller.Resource)
AddResources to a node. Created resources will have StatusUnknown.
func (*ResourceNode) Find ¶
func (n *ResourceNode) Find(kind, namespace, name string) (*ResourceNode, bool)
Find a specific node in the ResourceNode.
func (*ResourceNode) Flat ¶
func (n *ResourceNode) Flat() ResourceNodes
Flat returns a flat list of all resource nodes, that have a resource attached.
func (*ResourceNode) FlatByStatus ¶
func (n *ResourceNode) FlatByStatus(status ResourceStatus) ResourceNodes
FlatByStatus returns a flat list of all resource nodes, that have a specific status.
func (*ResourceNode) GetResources ¶
func (n *ResourceNode) GetResources() []*ResourceNode
GetResources retrieves all resources that are children of this node, recursively. Recursion is stopped when a `Kustomization` is encountered.
func (*ResourceNode) String ¶
func (n *ResourceNode) String() string
String representation of a resource node.
func (*ResourceNode) Walk ¶
func (n *ResourceNode) Walk(f func(node *ResourceNode) error) error
Walk the resource node recursively.
type ResourceNodes ¶
type ResourceNodes []*ResourceNode
ResourceNodes is a slice of ResourceNodes.
func (ResourceNodes) FilterByKind ¶
func (n ResourceNodes) FilterByKind(kind string) ResourceNodes
FilterByKind returns only nodes that are of a particular kind.
func (ResourceNodes) FilterByNamespace ¶
func (n ResourceNodes) FilterByNamespace(ns string) ResourceNodes
FilterByNamespace returns only nodes in a particular namespace.
type ResourceStatus ¶
type ResourceStatus int
const ( StatusUnknown ResourceStatus = iota StatusCompleted StatusError )