summaryrefslogtreecommitdiff
path: root/doc/administration/repository_checks.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/administration/repository_checks.md')
-rw-r--r--doc/administration/repository_checks.md55
1 files changed, 55 insertions, 0 deletions
diff --git a/doc/administration/repository_checks.md b/doc/administration/repository_checks.md
new file mode 100644
index 00000000000..77f28209f2f
--- /dev/null
+++ b/doc/administration/repository_checks.md
@@ -0,0 +1,55 @@
+# Repository checks
+
+_**Note:** This feature was [introduced][ce-3232] in GitLab 8.7_
+
+---
+
+Git has a built-in mechanism [git fsck][git-fsck] to verify the
+integrity of all data commited to a repository. GitLab administrators can
+trigger such a check for a project via the admin panel. The checks run
+asynchronously so it may take a few minutes before the check result is
+visible on the project admin page. If the checks failed you can see their
+output on the admin log page under 'repocheck.log'.
+
+## Periodical checks
+
+GitLab periodically runs a repository check on all project repositories and
+wiki repositories in order to detect data corruption problems. A
+project will be checked no more than once per week. If any projects
+fail their repository checks all GitLab administrators will receive an email
+notification of the situation. This notification is sent out no more
+than once a day.
+
+## Disabling periodic checks
+
+You can disable the periodic checks by giving them an empty cron
+schedule in gitlab.yml.
+
+```
+# For omnibus installations, in /etc/gitlab/gitlab.rb:
+gitlab_rails['cron_jobs_repository_check_worker_cron'] = ''
+```
+
+```
+# For installations from source, in config/gitlab.yml:
+ cron_jobs:
+ repository_check_worker:
+ cron: ""
+```
+
+## What to do if a check failed
+
+If the repository check fails for some repository you should look up the error
+in repocheck.log (in the admin panel or on disk; see
+`/var/log/gitlab/gitlab-rails` for Omnibus installations or
+`/home/git/gitlab/log` for installations from source). Once you have
+resolved the issue use the admin panel to trigger a new repository check on
+the project. This will clear the 'check failed' state.
+
+If for some reason the periodical repository check caused a lot of false
+alarms you can choose to clear ALL repository check states from the admin
+project index page.
+
+---
+[ce-3232]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3232 "Auto git fsck"
+[git-fsck]: https://www.kernel.org/pub/software/scm/git/docs/git-fsck.html "git fsck documentation" \ No newline at end of file