#1987 RFE: Inbound (pull) mirroring of repositories
Closed: Fixed 5 years ago Opened 7 years ago by ngompa.

Jumping off of #537, I'd like to be able to automatically synchronize repositories from an external location to Pagure, or at least have a mechanism for something else to push to Pagure.

Two approaches for this:

  • Polling/pull service for pulling from remote locations and mirroring locally.

  • Some kind of repository access token that can be used for HTTPS authentication for things like GitLab to push to Pagure. GitLab (and some similar systems) can do push mirroring to other locations if it can get access via git:// or https:// protocols. I usually implement this with an access token when mirroring to GitHub, but no equivalent exists in Pagure.


Metadata Update from @pingou:
- Issue tagged with: RFE, wishful

7 years ago

Hm, we have "Deploy keys" in place which allow third party system to push to a repository on pagure. Does that correspond to what you have in mind here?

You can create the keys in the settings of the project (You may want to check on #3106 for some of the current limitations)

The problem with deploy keys is the limitation of Gitolite hits us hard then. Multiple projects can't register the deploy key, which breaks things.

That's why I request that HTTP/HTTPS push support with access tokens be supported, because otherwise this is going to not work.

In addition, most systems I want to use this for can't push via SSH, only via git:// or http(s)://. For example, if I want GitLab to push mirror to Pagure, I need a way to do it without SSH keys, since I can't make it do it that way: https://docs.gitlab.com/ee/workflow/repository_mirroring.html#pushing-to-a-remote-repository

The ability for other systems to push to Pagure isn't terribly useful if you don't have control/access to the remote system. Which pretty much leaves adding a celery worker service to do pull mirroring on a schedule.

Ideally, this would be available as a setting at project creation time or post-creation via project settings.

Here's examples of this from GitLab.com:

Screenshot_2018-08-02_New_Mirror_Project_on_GitLab.pngScreenshot_2018-08-02_Repository_Neal_Gompa__fedora-pagure.png

Metadata Update from @pingou:
- Issue assigned to pingou

5 years ago

Metadata Update from @pingou:
- Issue set to the milestone: 5.2

5 years ago

Login to comment on this ticket.

Metadata
Related Pull Requests
  • #4137 Merged 5 years ago