個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗MirrorManager2 is a rewrite of mirrormanager <https://pagure.io/mirrormanager/>_
using flask and SQLAlchemy.
MirrorManager is the application that keeps track of the nearly 400 public mirrors, and over 300 private mirrors, that carry Fedora, EPEL, and RHEL content, and is used by rpmfusion.org, a third party repository. It automatically selects the "best" mirror for a given user based on a set of fallback heuristics.
The complete MirrorManager functionality requires generate-mirrorlist-cache
and mirrorlist-server which can be found at
https://github.com/adrianreber/mirrorlist-server.
Mailing list for announcements and discussions: https://lists.fedoraproject.org/archives/list/[email protected]/
The full documentation is hosted on ReadTheDocs: http://mirrormanager.readthedocs.io/
Using Tinystage
MirrorManager2 authenticates using OpenID Connect. For this, it requires an
OIDC provider, and the tiny-stage environment provides that.
Download tiny-stage from Github with::
$ git clone https://github.com/fedora-infra/tiny-stage
$ cd tiny-stage
Now install Ansible, Vagrant and the vagrant-libvirt plugin from the official
Fedora repos, and startup tiny-stage::
$ sudo dnf install ansible vagrant vagrant-libvirt vagrant-sshfs
$ vagrant up ipa auth
It takes a bit of time, but tiny-stage will now be installed, with dummy users
and groups.
Hacking with Vagrant
Quickly start hacking on mirrormanager2 using the vagrant setup that is included in the repo is super simple.
From within main directory (the one with the Vagrantfile in it) of your git
checkout of mirrormanager2, run the vagrant up command to provision your dev
environment::
$ vagrant up
When this command is completed (it may take a while) you will be able to the command to start the mirrormanager server::
$ vagrant ssh -c "sudo systemctl restart mirrormanager2"
Once that is running, simply go to https://mirrormanager2.tinystage.test/ in your browser on your host to see your running mirrormanager test instance.
Manual Setup
Here are some preliminary instructions about how to stand up your own instance
of mirrormanager2. All required packages for MirrorManager2 are part of Fedora
or RHEL/CentOS/EPEL. In the following example we will, however use a virtualenv
and a sqlite database and we will install our dependencies from the Python
Package Index (PyPI).
Note: this setup still needs tiny-stage running.
First, install development dependencies::
$ sudo dnf install poetry tox
Next, install MirrorManager's dependencies::
$ poetry install
Tinystage has a self-signed certificate, it needs to be added to the known
certificates::
$ curl -k https://ipsilon.tinystage.test/ca.crt >> $(poetry run python -m certifi)
$ poetry run oidc-register https://ipsilon.tinystage.test/idp/openidc/ http://localhost:5000/authorize
You should then create your own sqlite database for your development instance of
mirrormanager2::
$ poetry run flask -A mirrormanager2.app db sync
If all goes well, you can start a development instance of the server by
running::
$ poetry run ./runserver.py
Open your browser and visit http://localhost:5000 to check it out.
Once you made your changes please run the test suite to verify that nothing
covered by tests has been broken::
$ tox