Skip to content

Expose parsed docker images#188

Open
MattWellie wants to merge 6 commits into
mainfrom
image_fixes_and_new_public_method
Open

Expose parsed docker images#188
MattWellie wants to merge 6 commits into
mainfrom
image_fixes_and_new_public_method

Conversation

@MattWellie

Copy link
Copy Markdown
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

@EddieLF EddieLF left a comment

Copy link
Copy Markdown
Contributor

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
Copy Markdown
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
Copy Markdown
Contributor

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

@MattWellie

MattWellie commented Dec 22, 2025

Copy link
Copy Markdown
Contributor Author

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