aboutsummaryrefslogtreecommitdiffstats
path: root/services/mirror
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2021-09-07 17:49:36 +0200
committerGitHub <noreply@github.com>2021-09-07 17:49:36 +0200
commit63d7cbcef13b4eb719a5749a1a79361461c77135 (patch)
tree55f50695a9cdd31b33eccb5fac766dbaa78cd6ab /services/mirror
parentded438fb1a320b2f4741e5efbd9a5b3d5e3ad0c7 (diff)
downloadgitea-63d7cbcef13b4eb719a5749a1a79361461c77135.tar.gz
gitea-63d7cbcef13b4eb719a5749a1a79361461c77135.zip
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>
Diffstat (limited to 'services/mirror')
-rw-r--r--services/mirror/mirror.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/services/mirror/mirror.go b/services/mirror/mirror.go
index 1e30c919e6..7a3e37d993 100644
--- a/services/mirror/mirror.go
+++ b/services/mirror/mirror.go
@@ -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))
}