Documentation
¶
Index ¶
- type Dependency
- func ResolveConfigMaps(ctx context.Context, c client.Reader, namespace string, sources ...any) ([]Dependency, error)
- func ResolvePVCs(ctx context.Context, c client.Reader, namespace string, sources ...any) ([]Dependency, error)
- func ResolveSecrets(ctx context.Context, c client.Reader, namespace string, sources ...any) ([]Dependency, error)
- type Registry
- type Resolver
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 (*Registry) GetResolver ¶
func (r *Registry) GetResolver(gvr schema.GroupVersionResource) (Resolver, error)
GetResolver finds the appropriate resolver for the given GVR.
func (*Registry) MustRegister ¶
MustRegister registers a resolver and panics if the resolver is nil. Use this for explicit registration in command construction.
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.