mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-31 11:52:10 +00:00
Make mirror feature more configurable (#16957)
Rename`[repository]` `DISABLE_MIRRORS` to `[mirror]` `DISABLE_NEW_PULL` and add `ENABLED` and `DISABLE_NEW_PUSH` with the below meanings: - `ENABLED`: **true**: Enables the mirror functionality. Set to **false** to disable all mirrors. - `DISABLE_NEW_PULL`: **false**: Disable the creation of **new** mirrors. Pre-existing mirrors remain valid. - `DISABLE_NEW_PUSH`: **false**: Disable the creation of **new** push mirrors. Pre-existing mirrors remain valid. Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: delvh <dev.lh@web.de>
This commit is contained in:
parent
ded438fb1a
commit
63d7cbcef1
16 changed files with 162 additions and 75 deletions
|
@ -22,6 +22,10 @@ var mirrorQueue = sync.NewUniqueQueue(setting.Repository.MirrorQueueLength)
|
|||
|
||||
// Update checks and updates mirror repositories.
|
||||
func Update(ctx context.Context) error {
|
||||
if !setting.Mirror.Enabled {
|
||||
log.Warn("Mirror feature disabled, but cron job enabled: skip update")
|
||||
return nil
|
||||
}
|
||||
log.Trace("Doing: Update")
|
||||
|
||||
handler := func(idx int, bean interface{}) error {
|
||||
|
@ -89,15 +93,24 @@ func syncMirrors(ctx context.Context) {
|
|||
|
||||
// InitSyncMirrors initializes a go routine to sync the mirrors
|
||||
func InitSyncMirrors() {
|
||||
if !setting.Mirror.Enabled {
|
||||
return
|
||||
}
|
||||
go graceful.GetManager().RunWithShutdownContext(syncMirrors)
|
||||
}
|
||||
|
||||
// StartToMirror adds repoID to mirror queue
|
||||
func StartToMirror(repoID int64) {
|
||||
if !setting.Mirror.Enabled {
|
||||
return
|
||||
}
|
||||
go mirrorQueue.Add(fmt.Sprintf("pull %d", repoID))
|
||||
}
|
||||
|
||||
// AddPushMirrorToQueue adds the push mirror to the queue
|
||||
func AddPushMirrorToQueue(mirrorID int64) {
|
||||
if !setting.Mirror.Enabled {
|
||||
return
|
||||
}
|
||||
go mirrorQueue.Add(fmt.Sprintf("push %d", mirrorID))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue