func()

in grpc-xds/control-plane-go/pkg/xds/snapshot_cache.go [131:149]


func (c *SnapshotCache) UpdateResources(_ context.Context, logger logr.Logger, kubecontextName string, namespace string, updatedApps []applications.Application) error {
	var errs []error
	changed := c.appsCache.Put(kubecontextName, namespace, updatedApps)
	if !changed {
		logger.V(2).Info("No application updates, so not generating new xDS resource snapshots")
		return nil
	}
	apps := c.appsCache.GetAll()
	logger.V(2).Info("Application updates, generating new xDS resource snapshots", "apps", apps)
	for _, nodeHash := range c.delegate.GetStatusKeys() {
		if err := c.createNewSnapshot(nodeHash, apps); err != nil {
			errs = append(errs, err)
		}
	}
	if len(errs) > 0 {
		return errors.Join(errs...)
	}
	return nil
}