Skip to content

GAR integration: services layer

🔥 Problem

The client class should not be exposed directly but accessed by services.

🚒 Solution

Implement or evolve the following services:

  • get details of a single repository.
  • get list of docker images.
    • Additional validations
      • The page_size parameter should be a number.
      • The order_by parameter has a finite set of possible values.
  • get details of a single docker image.
    • Additional validation: the name parameter is mandatory.

Those services should have a common validations:

  • check for the GAR feature flag.
  • check for the google cloud support saas only feature.
  • user permissions should be checked.
  • client class errors should be properly handled (with a ServiceResponse.error).