dependencies

package
v0.0.24 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Dependency

type Dependency struct {
	GVR      schema.GroupVersionResource
	Resource *unstructured.Unstructured
	Name     string // Resource name (populated even if Resource is nil)
	Error    error  // Non-nil if resource couldn't be fetched
}

Dependency represents a discovered dependency resource.

func ResolveConfigMaps

func ResolveConfigMaps(
	ctx context.Context,
	c client.Reader,
	namespace string,
	sources ...any,
) ([]Dependency, error)

ResolveConfigMaps collects ConfigMap references from various sources, fetches them from the cluster, and returns them as dependencies.

Supported source types:

  • corev1.Volume: Extracts ConfigMap references from volume definitions
  • corev1.Container: Extracts ConfigMap references from envFrom and env.valueFrom fields

Use spread operator to pass slices: ResolveConfigMaps(ctx, c, ns, volumes...)

Returns an error if an unsupported source type is provided.

func ResolvePVCs

func ResolvePVCs(
	ctx context.Context,
	c client.Reader,
	namespace string,
	sources ...any,
) ([]Dependency, error)

ResolvePVCs collects PVC references from various sources, fetches them from the cluster, and returns them as dependencies.

Supported source types:

  • corev1.Volume: Extracts PVC references from volume definitions

Use spread operator to pass slices: ResolvePVCs(ctx, c, ns, volumes...)

Returns an error if an unsupported source type is provided.

func ResolveSecrets

func ResolveSecrets(
	ctx context.Context,
	c client.Reader,
	namespace string,
	sources ...any,
) ([]Dependency, error)

ResolveSecrets collects Secret references from various sources, fetches them from the cluster, and returns them as dependencies.

Supported source types:

  • corev1.Volume: Extracts Secret references from volume definitions
  • corev1.Container: Extracts Secret references from envFrom and env.valueFrom fields

Use spread operator to pass slices: ResolveSecrets(ctx, c, ns, volumes...)

Returns an error if an unsupported source type is provided.

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

Registry holds all registered dependency resolvers.

func NewRegistry

func NewRegistry() *Registry

NewRegistry creates a new resolver registry.

func (*Registry) GetResolver

func (r *Registry) GetResolver(gvr schema.GroupVersionResource) (Resolver, error)

GetResolver finds the appropriate resolver for the given GVR.

func (*Registry) MustRegister

func (r *Registry) MustRegister(resolver Resolver)

MustRegister registers a resolver and panics if the resolver is nil. Use this for explicit registration in command construction.

func (*Registry) Register

func (r *Registry) Register(resolver Resolver)

Register adds a resolver to the registry.

type Resolver

type Resolver interface {
	// Resolve finds all dependencies for the given workload
	Resolve(
		ctx context.Context,
		c client.Reader,
		obj *unstructured.Unstructured,
	) ([]Dependency, error)

	// CanHandle returns true if this resolver can handle the given GVR
	CanHandle(gvr schema.GroupVersionResource) bool
}

Resolver finds dependencies for a specific workload type.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL