Custom SSH key support for git pulls from private repositories

Previously all customers shared a single SSH key usable for git pulls of private repositories. This wasn’t sufficient as for example GitHub limits keys so they can only be specified for a single repository. As such it was not possible to use private repositories on GitHub together with info-beamer. This is now solved.

The SSH key feature is now available. There’s a new tab on the permissions page. SSH keys can be created and managed there. The created key can then be used when creating a package from a git pull source. Right now this isn’t exposed in the UI, but you can use the API. For example like this:

curl -u:<apikey> \
   -d 'source=ssh://<ssh_key_id>'

If a key is assigned that way, it will be used for all git pulls done for the repository. The ssh key assigned to a package can also be changed using the API. The documentation for that is still missing, but you can do:

curl -u:<apikey><package_id> \
   -d 'ssh_key_id=<ssh_key_id>'

Information about the key is included in package related calls like package list and package details.

Feedback welcome.

1 Like