code: async function getDigest({ registryUrls, lookupName }, newValue) {
    const { registry, repository } = getRegistryRepository(
      lookupName,
      registryUrls
    );
    logger.debug(`getDigest(${registry}, ${repository}, ${newValue})`);
    const newTag = newValue || 'latest';
    try {
      const cacheNamespace = 'datasource-docker-digest';
      const cacheKey = `${registry}:${repository}:${newTag}`;
      const cachedResult = await renovateCache.get(cacheNamespace, cacheKey);
      // istanbul ignore if
      if (cachedResult) {
        return cachedResult;
      }
      const manifestResponse = await getManifestResponse(
        registry,
        repository,
        newTag
      );
      if (!manifestResponse) {
        return null;
      }
      const digest = extractDigestFromResponse(manifestResponse);
      logger.debug({ digest }, 'Got docker digest');
      const cacheMinutes = 30;
      await renovateCache.set(cacheNamespace, cacheKey, digest, cacheMinutes);
      return digest;
    } catch (err) /* istanbul ignore next */ {
      if (err.message === 'registry-failure') {
        throw err;
      }
      logger.info(
        {
          err,
          lookupName,
          newTag,
        },
        'Unknown Error looking up docker image digest'
      );
      return null;
    }
  }
docs: /*
  docker.getDigest
  
  The `newValue` supplied here should be a valid tag for the docker image.
  
  This function will:
  - Look up a sha256 digest for a tag on its registry
  - Return the digest as a string