Container Image Tag Monitor avatar

Container Image Tag Monitor

Pricing

from $6.50 / 1,000 target checkeds

Go to Apify Store
Container Image Tag Monitor

Container Image Tag Monitor

Monitor container image tags/digests for changes, additions, removals, and version shifts.

Pricing

from $6.50 / 1,000 target checkeds

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Compare public container registry tag inventories and produce structured rows for tag additions, removals, mutable-tag digest changes, status changes, architecture changes, and semantic-version movement.

What It Monitors

  • Added and removed tags.
  • Digest changes for mutable tags such as latest.
  • Tag availability or status changes.
  • Published time, architecture, and image size changes.
  • Major, minor, patch, and prerelease semantic-version movement.

The parser accepts Docker Hub tag responses, OCI tag-list responses, generic JSON tag collections, and structured registry records. Digests are reported only when the source supplies them; the actor never derives a digest from page text.

Input

Use targets for multiple images, or provide direct single-image fields at the top level.

FieldPurpose
targetsCapped previous/current image tag comparisons.
registryRegistry type or host label.
imageNameRepository or image name.
sourceUrl / urlsPublic registry API URLs. Retrieval occurs only when fetchUrls is true and current data is absent.
previousSnapshot / currentSnapshotDocker Hub, OCI, or supported generic JSON.
previousTags / currentTagsStructured tag records.
recordsPre-paired records containing old and new tag values.
includeUnchangedInclude tags whose supported fields did not change.
includeReportWrite results, summary, and Markdown report records.
maxTargetsImage cap, from 1 through 50.
maxTagsPerTargetTag cap per side, from 1 through 5,000.
maxItemsDataset row cap.
maxTextBytesSnapshot size cap, up to 2,000,000 bytes.
{
"registry": "docker-hub",
"imageName": "acme/api",
"previousTags": [
{
"name": "latest",
"digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"status": "active",
"architectures": ["linux/amd64"]
}
],
"currentTags": [
{
"name": "latest",
"digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"status": "active",
"architectures": ["linux/amd64", "linux/arm64"]
},
{
"name": "2.0.0",
"digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"status": "active"
}
],
"maxItems": 25,
"includeReport": true
}

Dataset Rows

Each row identifies one tag change or source diagnostic. Important fields include:

  • registry, imageName, and tag.
  • changeType, oldDigest, newDigest, oldStatus, and newStatus.
  • oldArchitectures, newArchitectures, oldSizeBytes, and newSizeBytes.
  • oldPublishedAt, newPublishedAt, versionDirection, and semverJump.
  • Source identifiers, severity, score, checked time, and recommendation.
  • diagnosticCode and sourceError for blocked retrieval or an empty tag parse.

Change types are tag-added, tag-removed, digest-changed, tag-status-changed, metadata-changed, and unchanged.

Stored Artifacts

  • Dataset: one row per tag change, unchanged tag, or diagnostic that passes configured filters and caps.
  • CONTAINER_IMAGE_TAG_MONITOR_RESULTS.json: emitted rows.
  • CONTAINER_IMAGE_TAG_MONITOR_SUMMARY.json: tag, digest, status, architecture, version, diagnostic, and charge-limit counts.
  • CONTAINER_IMAGE_TAG_MONITOR_REPORT.md: readable image tag change digest.

Usage Charges

The actor uses pay per event. Platform usage is included in these event prices.

EventPriceWhen charged
actor-start$0.02000Once before paid work starts.
target-checked$0.00650Before each image target is processed.
snapshot-compared$0.00650Before a successfully prepared tag pair is compared.
change-detected$0.01300Before each changed tag row is emitted.
digest-generated$0.05000Before JSON result and summary records are written.
executive-report-generated$0.10000Before the Markdown report is written.

If Apify reports that a charge was limited or only partly accepted, the actor stops before the corresponding paid output. Set includeReport to false when KVS report artifacts are not needed.

Public Tasks

Five capped task inputs cover mutable tags, new version tags, removed tags, architecture changes, and a registry digest. Each task uses concrete registry data and bounded output.

Retrieval Safety

  • Only public http and https URLs are accepted.
  • Credentials in URLs and redirects are rejected.
  • Loopback, link-local, and private network destinations are blocked unless allowPrivateUrls is explicitly enabled for controlled testing.
  • Response length, retained snapshot bytes, target count, tag count, and request duration are bounded.
  • Fetch failures and empty parses produce explicit diagnostic rows. Missing tags or digests are not synthesized.

Limitations

  • Private registries and credentialed endpoints are not supported.
  • OCI tag-list endpoints usually omit digests and image metadata; those fields remain null unless supplied by the source.
  • Registry pagination is controlled by the provided URL and the actor's caps. The actor does not crawl unbounded page sequences.
  • Scheduling and baseline retention are managed by the caller. Pass prior tag data into each comparison.