Uploaded image for project: 'RH Developer Hub Planning'
  1. RH Developer Hub Planning
  2. RHDHPLAN-836

Jfrog artifactory: Add support for repository-level filtering to get all tags

Create Doc EPIC from R...Prepare for Z ReleasePrepare Test Plan (Y R...XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • 1.8.0
    • Catalog
    • False
    • Hide

      None

      Show
      None
    • False

      Requested Feature Overview (aka. Goal Summary)

      An elevator pitch (value statement) that describes the desired Feature in a clear,
      concise way.

      • To add the support for repository-level filtering to get all tags in Jfrog artifactory.

      Goals (aka. expected user outcomes)

      The observable functionality that the user would have as a result of receiving
      this feature. Include the anticipated primary user type/persona.

      Currently, the JFrog Artifactory plugin only supports specifying the image name via the jfrog-artifactory/image-name annotation. When using this annotation, the plugin retrieves all images with that name across the entire organization, regardless of their repository path.

      This behavior is inefficient and incorrect for organizations that have:

      • Multiple repositories with images sharing the same name
      • Strict repository-based access controls
      • Large-scale Artifactory deployments with many repositories
      metadata:
        annotations:
          'jfrog-artifactory/image-name': 'myapp'
      

      Result: Returns all images named myapp from every repository in the organization (e.g., docker-local/myapp, docker-dev/myapp, docker-prod/myapp, etc.) When attempting to specify a full path:

       

      metadata:
        annotations:
          'jfrog-artifactory/image-name': 'docker-local/myapp' 

      Result: No results are displayed - the plugin cannot handle full repository paths.

       

      Use Cases

      • Multi-environment repositories: Organizations with separate repositories for dev/staging/prod environments need to display only relevant images for each entity

      Context

      This is a critical requirement for production deployments in enterprise environments where repository organization is a key part of the artifact management strategy.

      Requirements (aka. Acceptance Criteria):

      A list of specific needs, objectives, or user stories that must be delivered in order
      to be considered complete. 

      Proposed Solution

      Add a new annotation jfrog-artifactory/repository-name that allows users to specify the target repository, enabling precise filtering:

      metadata:
        annotations:
          'jfrog-artifactory/image-name': 'myapp'
          'jfrog-artifactory/repository-name': 'docker-local' 

      Expected Result: Returns only images from the docker-local repository with name myapp. **

      Technical Considerations

      • The current implementation uses the JFrog Metadata GraphQL API with docker://${imageName} package ID format, which is package-centric
      • An alternative approach using JFrog's AQL (Artifactory Query Language) API could support repository-level filtering:

       

      "repo": {"$eq": "docker-local"},
          "path": {"$match": "myapp/*"},
          "name": {"$match": "manifest.json"} 

       

       

      Out of Scope (Optional)

      High-level list of items that are out of scope.

      <your text here>

      Customer Considerations (Optional)

      Provide any additional customer-specific considerations that must be made
      when designing and delivering the Feature. 

      <your text here>

              Unassigned Unassigned
              rhn-support-nbhumkar Nikhil Bhumkar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: