Commit Graph
450 Commits
Author SHA1 Message Date
Kamil Trzcinski 447f1e30db Limit guest access builds
This solves https://dev.gitlab.org/gitlab/gitlabhq/issues/2646

1. This MR simplifies CI permission model:
    - read_build: allows to read a list of builds, artifacts and trace
    - update_build: allows to cancel and retry builds
    - admin_build: allows to manage triggers, runners and variables
    - read_commit_status: allows to read a list of commit statuses (including the status of a build, but doesn't allow to see a build details)
    - create_commit_status: allows to create a new commit status using API

2. I do make sure that the proper permissions are used in all places where the CI can be shown.

3. Add the `read_build` ability if user is anonymous or guest and allow_guest_to_access_builds is enabled.

4. Add CI setting: public_builds.

5. The artifacts specific permission are removed, since they are covered by `*_build`.
2016-02-08 20:27:24 +01:00
Drew BlessingandRobert Speicher 106722fa39 Merge branch 'increase_lfs_size_column' into 'master'
Increase LFS objects size column

Fixes #12745

Increases the `size` column integer limit to an 8-byte integer. This allows for a max value of `9223372036854775807` which is 9,223,372,036 GB. That should do it 😃

I tested this by first reproducing the error (push a file larger than 2.1 GB). The error was:

```
RangeError (3145728000 is out of range for ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Integer with limit 4):
  lib/gitlab/lfs/response.rb:232:in `store_file'
  lib/gitlab/lfs/response.rb:170:in `render_lfs_upload_ok'
  lib/gitlab/lfs/response.rb:51:in `block in render_storage_upload_store_response'
  lib/gitlab/lfs/response.rb:204:in `render_response_to_push'
  lib/gitlab/lfs/response.rb:50:in `render_storage_upload_store_response'
  lib/gitlab/lfs/router.rb:76:in `put_response'
  lib/gitlab/lfs/router.rb:20:in `try_call'
  lib/gitlab/backend/grack_auth.rb:41:in `call'
  lib/gitlab/backend/grack_auth.rb:18:in `call_with_kerberos_support'
  lib/gitlab/backend/grack_auth.rb:8:in `call'
```

Then I ran this migration and pushed the file again. It uploaded successfully.

See merge request !2644
2016-01-31 19:26:59 -05:00
Robert SpeicherandRobert Speicher eebb691cb6 Merge branch 'issue_3945' into 'master'
Add syntax highlighting to diff view

Closes #3945

See merge request !2109
2016-01-20 16:56:13 -05:00
Robert Speicher 6a5cd3ca41 Merge branch 'feature/check-against-rbl-only' into 'master'
Split from !2455

References #9092

See merge request !2515
2016-01-20 14:25:40 -05:00
Robert SpeicherandRobert Speicher 645f775081 Merge branch 'sentry-integration' into 'master'
Add sentry integration

Sentry is an event logging platform primarily focused on capturing and
aggregating exceptions. With this MR it will be possible to log and
track exceptions from GitLab to Sentry.

https://gitlab.com/gitlab-com/operations/issues/39

See merge request !2485
2016-01-20 14:01:23 -05:00
Robert SpeicherandRobert Speicher a3a008f6b2 Merge branch 'user-ldap-email' into 'master'
Allow LDAP users to change their email if it was not set by the LDAP
server

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/3054

See merge request !2502
2016-01-19 14:15:52 -05:00
Douwe MaanandRobert Speicher da61b8b3b0 Merge branch 'improve-project-external-issue-trackers' into 'master'
Greatly improve external_issue_tracker performance

See 3d41133d48f6522b8755bb91b804864e8e520871 for all the details. As an aside, this commit contains a set of migrations that will introduce downtime as they add a column with a default value which in turn locks the entire table (at least on PostgreSQL).

See merge request !2498
2016-01-19 12:06:58 -05:00
Robert SpeicherandRobert Speicher fe16f7b439 Merge branch 'fix/events-data-limit-for-mysql' into 'master'
Fix limit for `data` column in `events` table when using MySQL

Closes #9084 

See merge request !2486
2016-01-18 16:56:58 -05:00
Grzegorz Bizon 662f4b9e1d Add artifacts metadata uploader filed
Artifacts metadata field will be used to store a filename of gzipped
file containing metadata definition for given artifacts archive.
2016-01-14 12:48:14 +01:00
Grzegorz Bizon ebd69c5fc1 Remove artifacts metadata column from database 2016-01-14 12:48:13 +01:00
Grzegorz Bizon d032c5b90e Add artifacts metadata field to ci_builds 2016-01-14 12:48:12 +01:00
Robert Speicher 6ae39c2cd1 Remove alert_type attribute from BroadcastMessage 2016-01-13 11:34:57 -05:00
Yorick Peterse 2367160015 Make the metrics sampler interval configurable 2016-01-13 12:29:48 +01:00
Yorick Peterse 7a240397af Added an index on milestones.title
Certain pages (e.g. the group wide issues page) filter miletones by
their title. Without an index this will result in a sequence scan on a
large dataset increasing the total loading time of a page.
2016-01-07 14:53:02 +01:00
Yorick Peterse 8fdc00bd4c Remove InfluxDB username/password
InfluxDB over UDP doesn't use authentication, thus there's no need for
these settings.
2016-01-06 17:49:56 +01:00
Valery Sizov 8b18449125 remove public field from namespace and refactoring 2016-01-04 16:00:29 +02:00
Yorick Peterse 620e7bb3d6 Write to InfluxDB directly via UDP
This removes the need for Sidekiq and any overhead/problems introduced
by TCP. There are a few things to take into account:

1. When writing data to InfluxDB you may still get an error if the
   server becomes unavailable during the write. Because of this we're
   catching all exceptions and just ignore them (for now).
2. Writing via UDP apparently requires the timestamp to be in
   nanoseconds. Without this data either isn't written properly.
3. Due to the restrictions on UDP buffer sizes we're writing metrics one
   by one, instead of writing all of them at once.
2015-12-29 14:53:45 +01:00
Gabriel Mazetto a3469d914a reCAPTCHA is configurable through Admin Settings, no reload needed. 2015-12-28 18:50:29 -02:00
Yorick Peterse 4d925f2147 Move InfluxDB settings to ApplicationSetting 2015-12-28 18:00:32 +01:00
Gabriel Mazetto 31fb2b7702 Grace period support for TFA 2015-12-24 19:01:30 -02:00
Gabriel Mazetto 33964469b3 WIP require two factor authentication 2015-12-24 19:00:18 -02:00
Valery Sizov e622259d5b Merge branch 'emoji-picker-fix' into 'master'
Emoji picker: better alias handling

related to https://gitlab.com/gitlab-org/gitlab-ce/issues/3576

See merge request !2198
2015-12-24 11:24:03 +00:00
Valery Sizov b6de0d2830 Emoji picker: better alias handling 2015-12-24 11:28:55 +02:00
Kamil Trzcinski 89aed37eef Make migrations reversible 2015-12-23 19:39:59 +01:00
Robert Speicher 9570495e75 Merge branch 'add_email_unlock' into 'master'
Allow account unlock via email

We see a lot of users get confused about what it means when your account gets
locked. Many try to reset their password and are still faced with a lockout.
With this change, users receive an email that allows them to unlock their
account immediately. The previous behavior where the account is auto-unlocked
after a time also still works.

See merge request !2049
2015-12-21 17:53:20 +00:00
Drew Blessing f177aaa5fa Backport JIRA service 2015-12-18 14:19:48 -06:00
Kamil Trzcinski e136a976b6 Fix ci_projects migration by using the value only from latest row [ci skip]
This is needed, because for some projects we have duplicate ci_projects.
This was introduced by lack of DB uniqueness on ci_projects.gitlab_id.
2015-12-17 11:09:59 +01:00
Drew Blessing be41d84fb0 Allow account unlock via email 2015-12-14 15:35:02 -06:00
Grzegorz Bizon 76a17d4f54 Merge branch 'master' into ci/persist-registration-token
* master:
  Move CI admin builds and runners specs to correct directory
  Fix 500 when viewing specific runners on runners page
  Fix Ci::Project migration not migrating columns that cannot be NULL
  Fix MySQL migration of CI emails
  Minor fix in flow 'Merge when build succeeds'
2015-12-14 13:00:25 +00:00
Kamil Trzcinski 927c40ca49 Fix Ci::Project migration not migrating columns that cannot be NULL [ci skip] 2015-12-14 12:31:35 +01:00
Grzegorz Bizon 2ec93abed7 Merge branch 'master' into ci/persist-registration-token
* master: (66 commits)
  Fix runners admin view
  Fix migrations
  Rename mention of gitlab-git-http-server to gitlab-workhorse
  Bump Redis requirement to 2.8 for Sidekiq 4 requirements
  Fix wording on runner setup page
  add details on how to change saml button label
  Fix tests
  Move awards back to gray panel and few improvements to sidebar
  Few UI improvements to new sidebar implementation
  Fix tests for new issuable sidebar
  Update changelog
  Implement new sidebar for merge request page
  Make edit link on issuable sidebar works
  Redesign issue page for new sidebar
  Move awards css to separate file
  Implement issuable sidebar partial
  Update CHANGELOG
  Clarify cache behavior
  Run builds from projects with enabled CI
  Use Gitlab::Git instead of Ci::Git
  ...

Conflicts:
	db/schema.rb
2015-12-14 12:26:40 +01:00
Kamil Trzcinski 208f99ff6c Fix MySQL migration of CI emails [ci skip] 2015-12-14 12:04:26 +01:00
Kamil Trzciński c810234357 Merge branch 'ci-project-migrate' into 'master'
Ci Project migrate

- This doesn't migrate: allow_git_fetch, coverage_regex, timeout. Since this are project configuration settings I would propose to migrate them to `.gitlab-ci.yml`.
- This requires offline migrations.
- It simplifies database models making all CI objects to be attached to: Project.
- It removes Ci::Project, but makes /ci/projects working by adding method: Project.find_by_ci_id for backward compatibility (badges, triggers).
- We should add default `timeout` to Application Settings.
- It misses specs.
- It is based on ci-services-migrate for now.
- It removes CI events.
- It removes administrator CI projects overview.
- It removes CI application settings.

In 8.4 or 8.5 we can remove redundant tables and columns.


See merge request !1987
2015-12-14 10:35:40 +00:00
Kamil Trzcinski a0c2a7b0cb Fix migrations [ci skip] 2015-12-14 11:30:32 +01:00
Kamil Trzcinski 91cdb08d5f Rename columns and rename migrations 2015-12-11 18:02:09 +01:00
Kamil Trzcinski 8cdd54cc06 Add runners token 2015-12-11 18:02:09 +01:00
Kamil Trzcinski e80e3f5372 Migrate CI::Project to Project 2015-12-11 18:02:09 +01:00
Kamil Trzcinski e365750199 Enhance migrate CI emails 2015-12-11 13:25:50 +01:00
Grzegorz Bizon 4a32b07d9e Add runners_registration_token to ApplicationSettings 2015-12-11 10:39:39 +01:00
Kamil Trzcinski 80f8074d01 Migrate SlackService and HipChat service 2015-12-10 16:04:08 +01:00
Kamil Trzcinski d5c91bb9a6 Migrate CI WebHooks and Emails to new tables 2015-12-10 16:04:08 +01:00
Kamil Trzcinski 2988e1fbf5 Migrate CI::Services and CI::WebHooks to Services and WebHooks 2015-12-10 16:04:08 +01:00
Dmitriy Zaporozhets 9b3277873c Merge branch 'fix-migrations' into 'master'
Fix migrations for postgres on test environment

Make `be rake db:migrate:reset RAILS_ENV=test` work


Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

See merge request !2002
2015-12-09 20:09:03 +00:00
Douwe Maan dd980b46f1 Use up and down 2015-12-09 09:08:53 +01:00
Dmitriy Zaporozhets 5cc2315ee8 Fix migrations for postgres on test environment
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-12-07 19:06:28 +01:00
Zeger-Jan van de Weg 0e96d6eb10 Merge branch 'master' into merge-if-green 2015-12-07 10:06:07 +01:00
Andrew Tomaka 1c53dc28b5 Notify user if they cannot create projects 2015-12-05 11:32:08 -05:00
Dmitriy Zaporozhets 68d4ab2381 Merge branch 'emoji_votes' into 'master'
Award Emoji

This it first iteration of award emoji feature.
We have plan to extend emoji picker by the next release.

For now, you can add award by clicking to the emoji picker or posting a regular comment with emoji like "👍" and any other. You can post not only emoji that listed in the emoji picker.

See merge request !1825
2015-11-19 21:34:38 +00:00
Yorick Peterse d63da89094 Added index on projects.visibility_level 2015-11-19 11:46:38 +01:00
Yorick Peterse 50f6541610 Added index on issues.state
This field is queried when filtering issues and due to the lack of an
index would end up triggering a sequence scan.
2015-11-19 11:46:38 +01:00