Draft: Technical Demo Entire changes MR
🔭 Context
This adds all the necessary layers for the technical demo described in #433514:
- A client class to interact with an API.
- Additionally, this client has specific needs in authentication. We have to use JWTs with specific claims. A class is dedicated to that.
- A service class to leverage the function exposed by the client.
- A pair of rails controllers and haml pages to use setup and use that service.
(1.) and (2.) will be re-used outside of the technical demo. (3.) will be only for the technical demo.
The technical demo is gated behind the following guards:
- Only executable on gitlab.com.
- Users are required to have
read_container_image
on the target project. - The project has to be private.
- The related feature flag must be enabled.
🔍 What does this MR do and why?
Add the GCP technical demo
Add GCP Artifact Registry client. Single function: list docker images. Add JWT class to generate the tokens with the proper claims. Add GCP Artifact Registry list docker images service.
For demo purposes, add 2 pages that show how these objects work to pull docker images out of a Artifact Registry repository.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before | After |
---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #433514