func()

in pkg/k8scontext/secrets_handlers.go [81:116]


func (h handlers) secretDelete(obj interface{}) {
	sec, ok := obj.(*v1.Secret)
	if !ok {
		klog.Error("error decoding object, invalid type")
		return
	}

	if _, exists := namespacesToIgnore[sec.Namespace]; exists {
		return
	}
	if _, exists := h.context.namespaces[sec.Namespace]; len(h.context.namespaces) > 0 && !exists {
		return
	}

	if !ok {
		tombstone, ok := obj.(cache.DeletedFinalStateUnknown)
		if !ok {
			// unable to get from tombstone
			return
		}
		sec, _ = tombstone.Obj.(*v1.Secret)
	}
	if sec == nil {
		return
	}

	secKey := utils.GetResourceKey(sec.Namespace, sec.Name)
	h.context.CertificateSecretStore.delete(secKey)
	if h.context.ingressSecretsMap.ContainsValue(secKey) {
		h.context.Work <- events.Event{
			Type:  events.Delete,
			Value: obj,
		}
		h.context.MetricStore.IncK8sAPIEventCounter()
	}
}