Commit Graph

194 Commits

Author SHA1 Message Date
Gabriel Mazetto 2c489f8289 Refactor on namespace and repository checks and added specs 2017-09-12 06:57:22 +02:00
Gabriel Mazetto cc28abeafd Detect orphaned repositories and namespaces in any storage 2017-09-12 04:06:00 +02:00
Sean McGivern 446c7fc6f1 Merge branch 'system-checks-incoming-email' into 'master'
Move Incoming Email checks to System Checks

See merge request !14028
2017-09-06 09:02:47 +00:00
Nick Thomas 48115be509 Add a system check for the git user's custom SSH configuration 2017-09-04 18:16:31 +01:00
Gabriel Mazetto 71000b394b Refactored Incoming Email checks to use SystemCheck library 2017-09-04 04:25:58 +02:00
Lin Jen-Shin e26acdb11b Just extend main, rather than include to Kernel
Unfortunately rake doesn't have nested context,
everything just runs on a main rake object.
This is probably due to compatibility issue,
but anyway, we could just extend the object.
2017-08-08 22:20:16 +08:00
Gabriel Mazetto fb06a4d8fe Rename more path_with_namespace -> full_path or disk_path 2017-08-01 07:28:13 +02:00
Douwe Maan f1e4376fb9 Don't check if MailRoom is running on Omnibus 2017-06-09 10:58:11 -05:00
Gabriel Mazetto 3f187751d4 Fixed and improved some existing checks and SystemCheck library 2017-05-31 14:33:03 +02:00
Gabriel Mazetto 27e632758f Add ActiveUsers Check 2017-05-31 14:33:03 +02:00
Gabriel Mazetto 13e88c9395 Refactor gitlab:app:checks to use SystemCheck 2017-05-31 14:33:03 +02:00
Gabriel Mazetto 500e5227a0 WIP SystemCheck library for executing checks from a rake task 2017-05-31 14:33:03 +02:00
Rémy Coutable 755325c827 Fix the `gitlab:gitlab_shell:check` task
Make the `gitlab:gitlab_shell:check` task check that the repositories storage
path are owned by the `root` group

Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-04-12 17:40:19 +02:00
Sebastian Reitenbach d8569440b5 There might be ps utilities out there, that assume 80chars instead
of unlimited width if they cannot detect terminal size, therefore
force unlimited terminal size when checking processes via ps.
2017-03-28 23:15:17 +02:00
Alejandro Rodríguez 0b9d56f960 Update storage settings to allow extra values per shard
This will be necessary when adding gitaly settings. This version
doesn't make any functional changes, but allows us to include this
breaking change in 9.0 and add the needed extra settings in the future
with backwards compatibility
2017-03-03 12:13:30 -03:00
Douwe Maan 87c9df29ce Don’t exclude some file in lib from rubocop 2017-02-23 09:32:42 -06:00
Gabriel Mazetto 649a1fcf15 Fix incomming email check task to use same patch we did in mail_room 2017-02-21 18:50:28 +01:00
Drew Blessing dc30783057 Introduce better credential and error checking to `rake gitlab:ldap:check`
It was previously possible for invalid credential errors to go unnoticed
in this task. Users would believe everything was configured correctly and
then sign in would fail with 'invalid credentials'. This adds a specific
bind check, plus catches errors connecting to the server. Also, specs :)
2016-11-08 15:46:10 -06:00
Achilleas Pipinellis dffd33252f Move reply by email docs to a new location
[ci skip]
2016-09-25 11:55:14 +02:00
bogdanvlviv 96ebc8c4f7 Use `File::exist?` instead of `File::exists?`
Since version ruby-2.2.0, method `File::exists?` is deprecated.
2016-08-11 13:54:45 +03:00
Robert Speicher 12e93d6f4b Rename `run` task helper method to prevent conflict with StateMachine
This prevents the following message from appearing whenever running a
Rake task:

    Instance method "run" is already defined in Object, use generic
    helper instead or set StateMachines::Machine.ignore_method_conflicts
    = true.
2016-08-09 18:31:51 -05:00
M. Ricketts 6d324f082e Use limit parameter rather than hardcoded value 2016-07-20 16:37:40 +02:00
Alejandro Rodríguez 86359ec854 Refactor repository paths handling to allow multiple git mount points 2016-06-29 22:30:31 -04:00
Connor Shea 903946c78a
Replace colorize gem with rainbow.
Colorize is a gem licensed under the GPLv2, so we can’t use it in GitLab without relicensing GitLab under the terms of the GPL. Rainbow is licensed under the MIT license and does the exact same thing as Colorize, so Rainbow was added in place of Colorize.

The syntax is slightly different for Rainbow vs. Colorize, and was updated in accordance.

The gem is still a dependency of Spinach, so it’s included in the development/test environments, but won’t be packaged with the actual product, and therefore doesn’t require we relicense the product.

An attempt at relicensing Colorize was made, but didn’t succeed as the library owner never responded.

Rainbow library: https://github.com/sickill/rainbow
Relevant issue regarding licensing in GitLab's gems: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3775
2016-06-03 10:37:09 -06:00
Jazz 8eb1748ab2 Fixed advice on invalid permissions on upload path 2016-05-19 16:53:47 +02:00
Rémy Coutable 9f218fc184 Improve and finish the fallback to the In-Reply-To and References header for the reply-by-email feature
A few things to note:
- The IncomingEmail feature is now enabled even without a
  correctly-formatted sub-address
- Message-ID for new thread mail are kept the same so that subsequent
  notifications to this thread are grouped in the thread by the email
  service that receives the notification
  (i.e. In-Reply-To of the answer == Message-ID of the first thread message)
- To maximize our chance to be able to retrieve the reply key, we look
  for it in the In-Reply-To header and the References header
- The pattern for the fallback reply message id is "reply-[key]@[gitlab_host]"
- Improve docs thanks to Axil
2016-03-25 13:05:15 +01:00
Douwe Maan 7ae573c75a Bump Git version requirement to 2.7.3 2016-03-15 23:22:05 +01:00
Douwe Maan e1baa48584 Fix `gitlab:incoming_email:check` task. 2016-02-29 11:04:40 +01:00
Marin Jankovski f317d5fcb9 Merge branch 'uploads-700' into 'master'
Restrict permissions on public/uploads

Based on https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/631

See merge request !2764
2016-02-23 15:12:20 +00:00
Achilleas Pipinellis e5f9c4460f Remove remaining sqlite method call 2016-02-17 20:34:54 +02:00
Achilleas Pipinellis f8036ec910 Remove sqlite check in raketask 2016-02-10 16:54:15 +02:00
Achilleas Pipinellis a1a6f3cc73 Simplify permissions creation
[ci skip]
2016-02-10 16:52:02 +02:00
Achilleas Pipinellis 751ae14081 Restrict permissions on public/uploads 2016-02-09 11:35:19 +02:00
Stan Hu e57b506222 Suggest prefacing find command with sudo when base permissions are wrong
Closes #5872
2016-01-05 05:30:01 -08:00
Robert Speicher 28a8d0b5db Merge branch 'add_user_repo_integrity_rake_task' into 'master'
Add user repository integrity check rake task

Corrupt repositories and stuck lock files can cause weird issues in
GitLab. Often we know which user is having these problems and then we
have to go hunt down which repository is causing it. Several times
recently that involved me running queries in the rails console to get
an array of projects and then writing a quick Ruby script to loop
through and run `git fsck`. This last time I also had to check for the
existence of `config.lock` and ref lock files. 

This rake task will eliminate all of those steps and allow an admin to
simply specify a username.

I also added the lock file checks to the existing `gitlab:repo:check`
task which goes through all projects. 

See merge request !2080
2015-12-15 18:36:28 +00:00
Drew Blessing f8bf6c4b2c [ci skip] Add user repository integrity check rake task 2015-12-14 15:27:14 -06:00
Stan Hu 9c5d8079a3 Bump Redis requirement to 2.8 for Sidekiq 4 requirements
Closes #3649

[ci skip]
2015-12-12 07:51:50 -08:00
Robert Speicher d09d62b6b8 Replace all usages of `git` command with configurable binary path
Closes #3311
2015-11-03 17:11:09 -05:00
Benny Schimmer d02a467d64 Fix regex in redis version check 2015-10-19 22:14:22 +02:00
Douwe Maan 712d17684b Make Reply by email easier to configure 2015-10-13 13:10:49 +02:00
Achilleas Pipinellis 110e90c855 Skip check_initd_configured_correctly on omnibus installs
This was causing the task `gitlab-rake gitlab:incoming_email:check`
to fail.
2015-09-22 22:56:49 +03:00
Douwe Maan ee028d9d60 Rename reply_by_email to incoming_email to prepare for the future. 2015-09-21 10:35:37 +02:00
Marin Jankovski 8bd419d9c8 Merge branch 'upgrade-redis-required-check' into 'master'
Upgrade Redis requirement check to 2.4.0 per https://github.com/mperham/sidekiq/pull/957

Closes #2222

Closes #2445

See merge request !1251
2015-09-07 07:39:58 +00:00
Stan Hu fd6eba34eb Use File.join to prevent extra slash in help message from appearing. Before:
```
Try fixing it:
sudo -u git -H /opt/gitlab/embedded/service/gitlab-shell//bin/create-hooks
```
2015-09-06 07:41:23 -07:00
Stan Hu 30039dae63 Upgrade Redis requirement check to 2.4.0 per https://github.com/mperham/sidekiq/pull/957
Closes #2222

Closes #2445
2015-09-06 00:35:16 -07:00
Robert Speicher f0bdf7f810 Merge branch 'reply-by-email' into 'master'
Reply by email

Fixes #1360.

It's far from done, but _it works_.

See merge request !1173
2015-08-22 00:00:08 +00:00
Douwe Maan 0366655311 Fix check task for development. 2015-08-21 15:06:04 -07:00
Douwe Maan 50baa1fdd1 Add development section to doc. 2015-08-21 15:03:16 -07:00
Jacob Vosmaer bd78e1a2e9 Merge pull request #9535 from bbodenmiller/patch-3
check upload dir permissions
2015-08-21 14:30:58 +02:00
Douwe Maan 41ed60c21a Fix MailRoom running check. 2015-08-20 14:09:37 -07:00