Add GPG key information to the credential inventory
<!-- The first four sections: "Problem to solve", "Intended users", "User experience goal", and "Proposal", are strongly recommended, while the rest of the sections can be filled out during the problem validation or breakdown phase. However, keep in mind that providing complete and relevant information early helps our product team validate the problem and start working on a solution. --> ### Problem to solve <!-- What problem do we solve? Try to define the who/what/why of the opportunity as a user story. For example, "As a (who), I want (what), so I can (why/value)." --> In `12.6` we introduced the [Credentials Inventory](https://docs.gitlab.com/ee/user/admin_area/credentials_inventory.html) to help compliance-minded organizations manage their user's access credentials. Currently, this inventory contains information on PATs and SSH keys. The inventory does not include information about GPG keys that are in use, which can be an additional element of managing credentials in a complex context for customers. ### Intended users * [Cameron (Compliance Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#cameron-compliance-manager) ### User experience goal <!-- What is the single user experience workflow this problem addresses? For example, "The user should be able to use the UI/API/.gitlab-ci.yml with GitLab to <perform a specific task>" https://about.gitlab.com/handbook/engineering/ux/ux-research-training/user-story-mapping/ --> Cameron should be able to view GPG key information in the credentials inventory. ### Proposal <!-- How are we going to solve the problem? Try to include the user journey! https://about.gitlab.com/handbook/journeys/#user-journey --> Add GPG key information to the credential inventory. ### Implementation plan Split into three implementation issues: 1. Add the GPG keys list view: https://gitlab.com/gitlab-org/gitlab/-/issues/282429 2. Add the GPG keys revoke button: https://gitlab.com/gitlab-org/gitlab/-/issues/282431 3. Add the GPG keys delete button: https://gitlab.com/gitlab-org/gitlab/-/issues/282432 gitlab~2492649 - Add GPG keys to `app/finders/keys_finder.rb` - Add GPG keys path to `CredentialsInventoryActions` - Add GPG keys to `CredentialsInventoryActions#filter_credentials` - Create a revoke service for GPG keys in `app/services/gpg_keys/...` - Update revoke method in `app/finders/keys_finder.rb` to include GPG keys and use the new revoke service - Update the destroy service for GPG keys in `app/services/gpg_keys/destroy_service` to follow similar conventions to the revoke service - Update the existing use of the destroy service for GPG keys in `lib/api/users.rb:408` and `lib/api/users.rb:870` - Update destroy method in `app/finders/keys_finder.rb` to include GPG keys and use the destroy service - Add tests gitlab~3412464 - Add GPG keys tab to `ee/app/views/shared/credentials_inventory/index.html.haml` - Create GPG keys HAML view in `ee/app/views/shared/credentials_inventory/gpg_keys/...` - Add GPG keys delete and GPG keys revoke modals - Add tests - Add QA tests
epic