Add GraphQL query for Virtual Registry cleanup policies
📖 Context
This MR is the part of Add GraphQL query and mutations for Virtual Reg... (#577161) • Sylvia Shen • 18.6.
We separated the issue into 2 MRs:
- Add GraphQL query for Virtual Registry cleanup policies
👈🏻 This MR - Add GraphQL mutation for Virtual Registry cleanup policies
✅ What does this MR do and why?
This MR adds GraphQL query for Virtual Registry cleanup policies to provide a GraphQL equivalent for the REST API GET endpoint.
- Add
virtualRegistriesCleanupPolicyquery typevirtualRegistriesCleanupPolicy { groupId cadence createdAt updatedAt enabled keepNDaysAfterDownload lastRunAt lastRunDeletedSize lastRunDetailedMetrics { maven { deletedSize deletedEntriesCount } } lastRunDeletedEntriesCount nextRunAt status } - Add
Resolvers::VirtualRegistries::Cleanup::PolicyResolver - Add
VirtualRegistries::Cleanup::PolicyPolicy
References
N/A
Screenshots or screen recordings
N/A
How to set up and validate locally
- Switch to this branch
577161-add-graphql-for-vg-cleanup-policies-query - Enable feature flag and setup Virtual registry settings
# Enable maven virtual registry ::Feature.enabled(:maven_virtual_registry) # Create virtual registry setting group = Group.find_by(path: 'gitlab-org') user = User.find(1) VirtualRegistries::Settings::CreateOrUpdateService.new( group: group, current_user: user, params: { enabled: true } ).execute - Create cleanup policy
VirtualRegistries::Cleanup::Policy.create!( group: group, keep_n_days_after_download: 30, cadence: 7, enabled: true, notify_on_success: true, notify_on_failure: true, status: :scheduled, last_run_deleted_entries_count: 250, last_run_deleted_size: 5120, last_run_detailed_metrics: { 'maven' => { 'deleted_entries_count' => 150, 'deleted_size' => 3072 }, 'container' => { 'deleted_entries_count' => 100, 'deleted_size' => 2048 } } ) - Go to Graphql explorer (http://gdk.test:3000/-/graphql-explorer) and test the new query type
query { group(fullPath: "gitlab-org") { virtualRegistriesCleanupPolicy { groupId lastRunAt lastRunDeletedSize lastRunDetailedMetrics { maven { deletedSize deletedEntriesCount } } lastRunDeletedEntriesCount } } }
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #577161
Edited by Sylvia Shen