func()

in internal/handler/cache.go [65:83]


func (c *CacheHandler) CheckCacheExpiry(ctx context.Context) (reconciler.OperationResult, error) {
	if c.cache.Spec.ExpireTime == "" {
		return reconciler.ContinueProcessing()
	}
	ce, err := time.Parse(time.RFC3339, c.cache.Spec.ExpireTime)
	if err != nil {
		c.logger.Error(err, "failed to parse expire time")
		// TODO: set cache expiry condition if needed
		return reconciler.ContinueProcessing()
	}
	if time.Now().After(ce) {
		c.logger.Info("cache is expired, deleting cache cr")
		if err := c.client.Delete(ctx, c.cache); err != nil {
			return reconciler.RequeueWithError(err)
		}
		return reconciler.StopProcessing()
	}
	return reconciler.ContinueProcessing()
}