Enable GraphQL and vue apollo in the cleanup policy for tags form
Problem to solve
The Cleanup policy for tags gives you a way to programmatically remove any unused image/tags from your GitLab Container Registry. However, the form is not yet leveraging the Graphql API created for this purpose.
Using the GraphQL API will allow us to:
- Dynamic set of fields selected only if the client needs them.
- Living API - we could deprecate & remove these fields if we absolutely had to
- Instrumentation can give us metrics on use to inform deprecation decisions
- Lazy evaluation built-in from the start
Intended users
User experience goal
- Improved performance and reliability of the Cleanup policy feature
Proposal
As a follow-up to #196784 (closed), we will enable GraphQL and vue apollo in the cleanup policy for tags form.
As a part of this work we will:
- remove (or heavily slim down) vuex from
app/assets/javascripts/registry/settings/
- Add vue-apollo to call graphql
- write down the necessary queries and mutations
- Adjust the tests
Permissions and Security
- There are no expected permissions changes
Documentation
- There are no expected documentation changes
Links / references
- Graphql: https://docs.gitlab.com/ee/development/api_graphql_styleguide.html
- Project Graphql API: https://docs.gitlab.com/ee/api/graphql/reference/index.html#project
- Project Rest API: #37474 (closed)
- Originating comment: #37474 (comment 270996435)
Edited by Tim Rizzi