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
}