Skip to content

Implement API endpoint to get the SSH public key from pull mirror configurations

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Proposal

Expose an endpoint for Public Keys in Mirror configuration.

Original blurb written to support with motivation:

Hi!
Working on automating the setup of import+pull mirroring of over 200+ repos from Bitbucket to GitLab.
I would prefer to use SSH auth and not password based authentication, setting up the mirrors seems easy enough, but I can’t find any endpoint where I can access the public key that has been generated during the setup? Going to need all the different keys made so that I can authorize them in Bitbucket.
When checking the settings, there is no API call there either, the ssh public key is already preloaded into the page DOM.

https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/app/views/projects/mirrors/_table_pull_row.html.haml#L20

Workaround:
Can be extracted via the rails console

project_ids = [ 1, 2, 3 ]
project_ids.each do |pid|
  proj = Project.find_by(id:pid)
  puts "#{proj.name}: #{proj.import_data.ssh_public_key}"
end
Edited by 🤖 GitLab Bot 🤖