Ctrl K
ComunidadGuías…

api/controller/cleanup_reference_writers.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package controller

import (
	"context"

	guard "github.com/goodrain/rainbond/pkg/cleanup"
	"github.com/goodrain/rainbond/pkg/cleanup/kubeidentity"
)

func inspectSystemReferenceWriters(ctx context.Context) ([]guard.ReferenceWriter, error) {
	client, namespace, _, err := systemRegistryInspectionTarget()
	if err != nil {
		return nil, err
	}
	return kubeidentity.InspectReferenceWriterCoverage(ctx, client, namespace)
}

func (h *CleanupCoordinationHandler) requireReferenceWriterCoverage(ctx context.Context) error {
	if h.inspectReferenceWriters == nil {
		return guard.ErrCoordinationUnavailable
	}
	writers, err := h.inspectReferenceWriters(ctx)
	if err != nil {
		return guard.ErrCoordinationUnavailable
	}
	complete, err := guard.ReferenceWriterCoverageRegistered(h.database(), writers)
	if err != nil || !complete {
		return guard.ErrCoordinationUnavailable
	}
	return nil
}