summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Rokosov <rockosov@rulkc.org>2026-05-21 23:43:11 +0300
committerDmitry Rokosov <rockosov@rulkc.org>2026-05-21 23:43:11 +0300
commite7a40242b62735f808d77742a42c8999683334bb (patch)
treeaafdc9590af2857958be0302785d27fe24ab199a
parentd2ec51ef5fbcfd5fd2af5a548f46d3626542e7aa (diff)
downloadconfig-master.tar.gz
config-master.zip
Add grokmirror config and cron jobsHEADmaster
Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
-rw-r--r--git.rulkc.org/grokmirror/git.cron25
-rw-r--r--git.rulkc.org/grokmirror/grokmirror.conf63
2 files changed, 88 insertions, 0 deletions
diff --git a/git.rulkc.org/grokmirror/git.cron b/git.rulkc.org/grokmirror/git.cron
new file mode 100644
index 0000000..c16209e
--- /dev/null
+++ b/git.rulkc.org/grokmirror/git.cron
@@ -0,0 +1,25 @@
+# Edit this file to introduce tasks to be run by cron.
+#
+# Each task to run has to be defined through a single line
+# indicating with different fields when the task will be run
+# and what command to run for the task
+#
+# To define the time you can provide concrete values for
+# minute (m), hour (h), day of month (dom), month (mon),
+# and day of week (dow) or use '*' in these fields (for 'any').
+#
+# Notice that tasks will be started based on the cron's system
+# daemon's notion of time and timezones.
+#
+# Output of the crontab jobs (including errors) is sent through
+# email to the user the crontab file belongs to (unless redirected).
+#
+# For example, you can run a backup of all your user accounts
+# at 5 a.m every week with:
+# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
+#
+# For more information see the manual pages of crontab(5) and cron(8)
+#
+# m h dom mon dow command
+* */1 * * * /usr/bin/grok-pull -v -p -c /etc/grokmirror/grokmirror.conf
+* */1 * * * /usr/bin/grok-dumb-pull -v /home/git/repositories/dumb
diff --git a/git.rulkc.org/grokmirror/grokmirror.conf b/git.rulkc.org/grokmirror/grokmirror.conf
new file mode 100644
index 0000000..d7f662d
--- /dev/null
+++ b/git.rulkc.org/grokmirror/grokmirror.conf
@@ -0,0 +1,63 @@
+[core]
+# Where are we going to put the mirror on our disk?
+toplevel = /var/lib/git
+
+# Where do we store our own manifest? Usually in the toplevel.
+manifest = ${toplevel}/manifest.js.gz
+
+# Where do we put the logs?
+log = /var/log/mirror/kernelorg.log
+
+# Log level can be "info" or "debug"
+loglevel = debug
+
+# To prevent multiple grok-pull instances from running at the same
+# time, we first obtain an exclusive lock.
+lock = /var/lock/mirror/kernelorg.lock
+
+# Object storage for forks (saves disk space)
+objstore = /var/lib/_objstore
+
+[remote]
+# The source mirror
+site = https://git.kernel.org
+
+# Manifest location on the remote site
+manifest = ${site}/manifest.js.gz
+
+[pull]
+# Default owner for repositories
+default_owner = Grokmirror User
+
+# Generate a project list for external tools (like cgit)
+projectslist = ${core:toplevel}/pub/scm/projects.list
+
+# Trim this prefix from paths in projectslist
+projectslist_trimtop = /pub/scm/
+
+# Use shell-globbing to list the repositories you would like to mirror.
+# If you want to mirror everything, just say "*". Separate multiple entries
+# with newline.
+#
+# mirror just the main kernel sources:
+include = /pub/scm/linux/kernel/git/torvalds/linux.git
+ /pub/scm/linux/kernel/git/stable/linux.git
+ /pub/scm/linux/kernel/git/next/linux-next.git
+
+# Exclude patterns (none for now)
+exclude =
+
+# Remove repositories not in remote manifest
+# purge =
+
+# Protect against accidental mass purge (5% threshold)
+# purgeprotect =
+
+# Number of parallel threads for fetching
+pull_threads = 10
+
+# Retry failed fetches up to 3 times
+retries = 3
+
+# Timeout for git operations (seconds)
+timeout = 100