Skip to content

Conversation

@MattWellie
Copy link
Contributor

Adds a public method to sit on top of the existing artifactory parsing code, allowing a user to view the available tags for a project-location-repository-image combination. The _repo_image_tags remains a private variable, but we now have a 'public' method to expose all tags for a known image.

Additional: alteration to types in DockerImage

  • image size should be an int
  • build_time is natively a DateTimeWithNanoseconds, but I've swapped it to a standard Python datetime object with an attached timezone

Copy link
Contributor

@EddieLF EddieLF left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jmarshall jmarshall requested a review from a team December 22, 2025 01:25
@jmarshall
Copy link
Contributor

(We don't have a CODEOWNERS file in this repository yet, but to be clear: @populationgenomics/software-team will also review this before it should be merged.)

@jmarshall
Copy link
Contributor

BTW do you have a draft PR somewhere showing how you want to use this API?

@MattWellie
Copy link
Contributor Author

MattWellie commented Dec 22, 2025

BTW do you have a draft PR somewhere showing how you want to use this API?

Not exactly, we have a quirky situation where mitoreport is installed in an image, but also requires an internal database update to remain up to date. We are planning for a fun situation where:

  • image is periodically rebuilt, e.g. monthly
  • the software version is not updated, but the tag is
  • workflows using mitoreport would want to search for the latest available increment of a known version of the mitoreport image with each run

So assuming we're using version 1.2.3, the workflow would use this endpoint to search for all tags with a version starting 1.2.3-*, then choose either the highest increment or the latest datetime for the workflow.


Outside of that specific workflow context it feels like a good move to enable access to the currently private objects that have done all the heavy lifting of contacting the images API. The dictionary is populated but contains no public access points, so we can't even check if a given tag exists using this interface, it all requires foreknowledge of tags.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants