From eca3cd3a9e7d9ea680086cad8150050ec8cdef3f Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 15 Nov 2019 18:06:24 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../pages/projects/blob/show/index.js | 1 + .../pages/projects/commit/show/index.js | 1 + .../merge_requests/init_merge_request_show.js | 2 + .../pages/projects/pages_domains/form.js | 20 +-- .../test_reports/test_summary_table.vue | 4 +- .../javascripts/releases/detail/index.js | 2 +- .../repository/components/last_commit.vue | 4 +- app/assets/javascripts/repository/log_tree.js | 14 +-- .../queries/commit.fragment.graphql | 8 ++ .../queries/getCommit.query.graphql | 10 +- .../queries/getCommits.query.graphql | 10 +- .../queries/pathLastCommit.query.graphql | 2 +- .../javascripts/repository/utils/commit.js | 13 ++ app/assets/javascripts/sourcegraph/index.js | 28 +++++ app/assets/javascripts/sourcegraph/load.js | 6 + .../vue_shared/components/markdown/header.vue | 2 +- app/assets/stylesheets/framework/common.scss | 7 ++ .../framework/responsive_tables.scss | 11 ++ app/assets/stylesheets/pages/pipelines.scss | 12 -- app/controllers/concerns/sourcegraph_gon.rb | 30 +++++ .../profiles/preferences_controller.rb | 3 +- app/controllers/projects/blob_controller.rb | 2 + app/controllers/projects/commit_controller.rb | 1 + .../projects/merge_requests_controller.rb | 1 + .../projects/pages_domains_controller.rb | 7 +- app/helpers/application_settings_helper.rb | 3 + app/helpers/sourcegraph_helper.rb | 27 ++++ app/models/application_setting.rb | 8 ++ .../application_setting_implementation.rb | 3 + app/models/user.rb | 1 + app/services/concerns/git/logger.rb | 10 ++ app/services/merge_requests/base_service.rb | 13 ++ app/services/merge_requests/rebase_service.rb | 6 +- app/services/merge_requests/squash_service.rb | 4 +- .../working_copy_base_service.rb | 26 ---- .../_sourcegraph.html.haml | 38 ++++++ .../integrations.html.haml | 1 + .../preferences/_sourcegraph.html.haml | 26 ++++ app/views/profiles/preferences/show.html.haml | 3 + .../projects/blob/_markdown_buttons.html.haml | 2 +- app/views/projects/pages/_list.html.haml | 4 +- .../pages_domains/_certificate.html.haml | 79 +++++++++--- .../projects/pages_domains/_dns.html.haml | 33 +++++ .../projects/pages_domains/_form.html.haml | 73 +++-------- .../_lets_encrypt_callout.html.haml | 13 ++ .../projects/pages_domains/edit.html.haml | 15 ++- .../projects/pages_domains/new.html.haml | 1 - .../projects/pages_domains/show.html.haml | 2 +- app/views/shared/issuable/_form.html.haml | 1 - .../issuable/form/_branch_chooser.html.haml | 1 + ...e-auto-ssl-letsencrypt-support-via-api.yml | 5 + ...-use-new-list-task-icon-in-text-editor.yml | 6 + ...tation-for-sign-in-application-setting.yml | 5 + .../unreleased/remove-domain-details.yml | 5 + config/application.rb | 4 +- config/webpack.config.js | 5 + danger/commit_messages/Dangerfile | 8 +- ...h_configuration_to_application_settings.rb | 21 ++++ ..._sourcegraph_admin_and_user_preferences.rb | 17 +++ db/schema.rb | 4 + doc/administration/pages/index.md | 117 +++++++++++++---- doc/api/pages_domains.md | 71 ++++++++--- doc/api/settings.md | 3 + doc/development/feature_flags/development.md | 2 +- doc/integration/README.md | 1 + .../img/sourcegraph_admin_v12_5.png | Bin 0 -> 61520 bytes .../img/sourcegraph_demo_v12_5.png | Bin 0 -> 97025 bytes .../img/sourcegraph_popover_v12_5.png | Bin 0 -> 27925 bytes .../sourcegraph_user_preferences_v12_5.png | Bin 0 -> 37710 bytes doc/integration/sourcegraph.md | 119 ++++++++++++++++++ .../settings/img/two_factor_grace_period.png | Bin 0 -> 17591 bytes doc/user/admin_area/settings/index.md | 1 + .../settings/sign_in_restrictions.md | 56 +++++++++ doc/user/profile/preferences.md | 13 ++ lib/api/entities.rb | 2 + lib/api/pages_domains.rb | 14 ++- lib/api/settings.rb | 5 + lib/gitlab/redis/wrapper.rb | 2 + lib/gitlab/sourcegraph.rb | 26 ++++ locale/gitlab.pot | 61 ++++++++- package.json | 1 + scripts/review_apps/review-apps.sh | 30 +++-- .../concerns/sourcegraph_gon_spec.rb | 118 +++++++++++++++++ .../projects/pages_domains_controller_spec.rb | 12 +- .../projects/pages_lets_encrypt_spec.rb | 31 +++-- spec/features/projects/pages_spec.rb | 62 +++++++-- .../public_api/v4/pages_domain/basic.json | 3 +- .../public_api/v4/pages_domain/detail.json | 3 +- spec/frontend/repository/log_tree_spec.js | 18 +-- spec/frontend/repository/utils/commit_spec.js | 30 +++++ spec/helpers/sourcegraph_helper_spec.rb | 64 ++++++++++ spec/lib/gitlab/sourcegraph_spec.rb | 66 ++++++++++ spec/models/application_setting_spec.rb | 30 +++++ spec/requests/api/pages_domains_spec.rb | 94 ++++++++++++-- spec/requests/api/settings_spec.rb | 19 +++ .../integrations.html.haml_spec.rb | 34 +++++ .../preferences/show.html.haml_spec.rb | 72 +++++++++++ .../pages_domains/show.html.haml_spec.rb | 34 ----- yarn.lock | 5 + 99 files changed, 1575 insertions(+), 318 deletions(-) create mode 100644 app/assets/javascripts/repository/queries/commit.fragment.graphql create mode 100644 app/assets/javascripts/repository/utils/commit.js create mode 100644 app/assets/javascripts/sourcegraph/index.js create mode 100644 app/assets/javascripts/sourcegraph/load.js create mode 100644 app/controllers/concerns/sourcegraph_gon.rb create mode 100644 app/helpers/sourcegraph_helper.rb create mode 100644 app/services/concerns/git/logger.rb delete mode 100644 app/services/merge_requests/working_copy_base_service.rb create mode 100644 app/views/admin/application_settings/_sourcegraph.html.haml create mode 100644 app/views/profiles/preferences/_sourcegraph.html.haml create mode 100644 app/views/projects/pages_domains/_dns.html.haml create mode 100644 app/views/projects/pages_domains/_lets_encrypt_callout.html.haml create mode 100644 changelogs/unreleased/30660-allow-to-enable-disable-auto-ssl-letsencrypt-support-via-api.yml create mode 100644 changelogs/unreleased/34426-use-new-list-task-icon-in-text-editor.yml create mode 100644 changelogs/unreleased/35547-add-documentation-for-sign-in-application-setting.yml create mode 100644 changelogs/unreleased/remove-domain-details.yml create mode 100644 db/migrate/20190827222124_add_sourcegraph_configuration_to_application_settings.rb create mode 100644 db/migrate/20191107173446_add_sourcegraph_admin_and_user_preferences.rb create mode 100644 doc/integration/img/sourcegraph_admin_v12_5.png create mode 100644 doc/integration/img/sourcegraph_demo_v12_5.png create mode 100644 doc/integration/img/sourcegraph_popover_v12_5.png create mode 100644 doc/integration/img/sourcegraph_user_preferences_v12_5.png create mode 100644 doc/integration/sourcegraph.md create mode 100644 doc/user/admin_area/settings/img/two_factor_grace_period.png create mode 100644 doc/user/admin_area/settings/sign_in_restrictions.md create mode 100644 lib/gitlab/sourcegraph.rb create mode 100644 spec/controllers/concerns/sourcegraph_gon_spec.rb create mode 100644 spec/frontend/repository/utils/commit_spec.js create mode 100644 spec/helpers/sourcegraph_helper_spec.rb create mode 100644 spec/lib/gitlab/sourcegraph_spec.rb create mode 100644 spec/views/admin/application_settings/integrations.html.haml_spec.rb create mode 100644 spec/views/profiles/preferences/show.html.haml_spec.rb diff --git a/app/assets/javascripts/pages/projects/blob/show/index.js b/app/assets/javascripts/pages/projects/blob/show/index.js index 84e5bb3c46e..aee67899ca2 100644 --- a/app/assets/javascripts/pages/projects/blob/show/index.js +++ b/app/assets/javascripts/pages/projects/blob/show/index.js @@ -3,6 +3,7 @@ import commitPipelineStatus from '~/projects/tree/components/commit_pipeline_sta import BlobViewer from '~/blob/viewer/index'; import initBlob from '~/pages/projects/init_blob'; import GpgBadges from '~/gpg_badges'; +import '~/sourcegraph/load'; document.addEventListener('DOMContentLoaded', () => { new BlobViewer(); // eslint-disable-line no-new diff --git a/app/assets/javascripts/pages/projects/commit/show/index.js b/app/assets/javascripts/pages/projects/commit/show/index.js index 5aa4734244e..0eb6f231839 100644 --- a/app/assets/javascripts/pages/projects/commit/show/index.js +++ b/app/assets/javascripts/pages/projects/commit/show/index.js @@ -9,6 +9,7 @@ import initNotes from '~/init_notes'; import initChangesDropdown from '~/init_changes_dropdown'; import initDiffNotes from '~/diff_notes/diff_notes_bundle'; import { fetchCommitMergeRequests } from '~/commit_merge_requests'; +import '~/sourcegraph/load'; document.addEventListener('DOMContentLoaded', () => { const hasPerfBar = document.querySelector('.with-performance-bar'); diff --git a/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js b/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js index fa1de1f13cb..16034313af2 100644 --- a/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js +++ b/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js @@ -5,6 +5,7 @@ import { handleLocationHash } from '~/lib/utils/common_utils'; import howToMerge from '~/how_to_merge'; import initPipelines from '~/commit/pipelines/pipelines_bundle'; import initVueIssuableSidebarApp from '~/issuable_sidebar/sidebar_bundle'; +import initSourcegraph from '~/sourcegraph'; import initWidget from '../../../vue_merge_request_widget'; export default function() { @@ -19,4 +20,5 @@ export default function() { handleLocationHash(); howToMerge(); initWidget(); + initSourcegraph(); } diff --git a/app/assets/javascripts/pages/projects/pages_domains/form.js b/app/assets/javascripts/pages/projects/pages_domains/form.js index cef8e92610c..ae5368179b1 100644 --- a/app/assets/javascripts/pages/projects/pages_domains/form.js +++ b/app/assets/javascripts/pages/projects/pages_domains/form.js @@ -1,17 +1,23 @@ import setupToggleButtons from '~/toggle_buttons'; +function updateVisibility(selector, isVisible) { + Array.from(document.querySelectorAll(selector)).forEach(el => { + if (isVisible) { + el.classList.remove('d-none'); + } else { + el.classList.add('d-none'); + } + }); +} + export default () => { const toggleContainer = document.querySelector('.js-auto-ssl-toggle-container'); if (toggleContainer) { const onToggleButtonClicked = isAutoSslEnabled => { - Array.from(document.querySelectorAll('.js-shown-unless-auto-ssl')).forEach(el => { - if (isAutoSslEnabled) { - el.classList.add('d-none'); - } else { - el.classList.remove('d-none'); - } - }); + updateVisibility('.js-shown-unless-auto-ssl', !isAutoSslEnabled); + + updateVisibility('.js-shown-if-auto-ssl', isAutoSslEnabled); Array.from(document.querySelectorAll('.js-enabled-unless-auto-ssl')).forEach(el => { if (isAutoSslEnabled) { diff --git a/app/assets/javascripts/pipelines/components/test_reports/test_summary_table.vue b/app/assets/javascripts/pipelines/components/test_reports/test_summary_table.vue index 688baa93b6d..96177512e35 100644 --- a/app/assets/javascripts/pipelines/components/test_reports/test_summary_table.vue +++ b/app/assets/javascripts/pipelines/components/test_reports/test_summary_table.vue @@ -64,14 +64,14 @@ export default { v-for="(testSuite, index) in getTestSuites" :key="index" role="row" - class="gl-responsive-table-row test-reports-summary-row rounded cursor-pointer js-suite-row" + class="gl-responsive-table-row gl-responsive-table-row-clickable test-reports-summary-row rounded cursor-pointer js-suite-row" @click="tableRowClick(testSuite)" >
{{ __('Suite') }}
-
+
{{ testSuite.name }}
diff --git a/app/assets/javascripts/releases/detail/index.js b/app/assets/javascripts/releases/detail/index.js index 3da971e6d90..0dab90a1ede 100644 --- a/app/assets/javascripts/releases/detail/index.js +++ b/app/assets/javascripts/releases/detail/index.js @@ -5,7 +5,7 @@ import createStore from './store'; export default () => { const el = document.getElementById('js-edit-release-page'); - const store = createStore(el.dataset); + const store = createStore(); store.dispatch('setInitialState', el.dataset); return new Vue({ diff --git a/app/assets/javascripts/repository/components/last_commit.vue b/app/assets/javascripts/repository/components/last_commit.vue index 5a89efa4538..26c1f5813f5 100644 --- a/app/assets/javascripts/repository/components/last_commit.vue +++ b/app/assets/javascripts/repository/components/last_commit.vue @@ -109,7 +109,7 @@ export default { class="text-expander" @click="toggleShowDescription" > - +
             {{ commit.description }}
diff --git a/app/assets/javascripts/repository/log_tree.js b/app/assets/javascripts/repository/log_tree.js
index 112f7d1a30e..87310278b9e 100644
--- a/app/assets/javascripts/repository/log_tree.js
+++ b/app/assets/javascripts/repository/log_tree.js
@@ -1,4 +1,5 @@
 import axios from '~/lib/utils/axios_utils';
+import { normalizeData } from 'ee_else_ce/repository/utils/commit';
 import getCommits from './queries/getCommits.query.graphql';
 import getProjectPath from './queries/getProjectPath.query.graphql';
 import getRef from './queries/getRef.query.graphql';
@@ -6,19 +7,6 @@ import getRef from './queries/getRef.query.graphql';
 let fetchpromise;
 let resolvers = [];
 
-export function normalizeData(data) {
-  return data.map(d => ({
-    sha: d.commit.id,
-    message: d.commit.message,
-    committedDate: d.commit.committed_date,
-    commitPath: d.commit_path,
-    fileName: d.file_name,
-    type: d.type,
-    lockLabel: d.lock_label,
-    __typename: 'LogTreeCommit',
-  }));
-}
-
 export function resolveCommit(commits, { resolve, entry }) {
   const commit = commits.find(c => c.fileName === entry.name && c.type === entry.type);
 
diff --git a/app/assets/javascripts/repository/queries/commit.fragment.graphql b/app/assets/javascripts/repository/queries/commit.fragment.graphql
new file mode 100644
index 00000000000..9bb13c475c7
--- /dev/null
+++ b/app/assets/javascripts/repository/queries/commit.fragment.graphql
@@ -0,0 +1,8 @@
+fragment TreeEntryCommit on LogTreeCommit {
+  sha
+  message
+  committedDate
+  commitPath
+  fileName
+  type
+}
diff --git a/app/assets/javascripts/repository/queries/getCommit.query.graphql b/app/assets/javascripts/repository/queries/getCommit.query.graphql
index 65d750884a8..e4aeaaff8fe 100644
--- a/app/assets/javascripts/repository/queries/getCommit.query.graphql
+++ b/app/assets/javascripts/repository/queries/getCommit.query.graphql
@@ -1,11 +1,7 @@
+#import "ee_else_ce/repository/queries/commit.fragment.graphql"
+
 query getCommit($fileName: String!, $type: String!, $path: String!) {
   commit(path: $path, fileName: $fileName, type: $type) @client {
-    sha
-    message
-    committedDate
-    commitPath
-    fileName
-    type
-    lockLabel
+    ...TreeEntryCommit
   }
 }
diff --git a/app/assets/javascripts/repository/queries/getCommits.query.graphql b/app/assets/javascripts/repository/queries/getCommits.query.graphql
index 780a24d2663..0976b8f32d7 100644
--- a/app/assets/javascripts/repository/queries/getCommits.query.graphql
+++ b/app/assets/javascripts/repository/queries/getCommits.query.graphql
@@ -1,11 +1,7 @@
+#import "ee_else_ce/repository/queries/commit.fragment.graphql"
+
 query getCommits {
   commits @client {
-    sha
-    message
-    committedDate
-    commitPath
-    fileName
-    type
-    lockLabel
+    ...TreeEntryCommit
   }
 }
diff --git a/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql b/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql
index 74ccdd79dd0..4bb959a8001 100644
--- a/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql
+++ b/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql
@@ -5,7 +5,7 @@ query pathLastCommit($projectPath: ID!, $path: String, $ref: String!) {
         lastCommit {
           sha
           title
-          message
+          description
           webUrl
           authoredDate
           author {
diff --git a/app/assets/javascripts/repository/utils/commit.js b/app/assets/javascripts/repository/utils/commit.js
new file mode 100644
index 00000000000..6c204b57b37
--- /dev/null
+++ b/app/assets/javascripts/repository/utils/commit.js
@@ -0,0 +1,13 @@
+// eslint-disable-next-line import/prefer-default-export
+export function normalizeData(data, extra = () => {}) {
+  return data.map(d => ({
+    sha: d.commit.id,
+    message: d.commit.message,
+    committedDate: d.commit.committed_date,
+    commitPath: d.commit_path,
+    fileName: d.file_name,
+    type: d.type,
+    __typename: 'LogTreeCommit',
+    ...extra(d),
+  }));
+}
diff --git a/app/assets/javascripts/sourcegraph/index.js b/app/assets/javascripts/sourcegraph/index.js
new file mode 100644
index 00000000000..796e90bf08e
--- /dev/null
+++ b/app/assets/javascripts/sourcegraph/index.js
@@ -0,0 +1,28 @@
+function loadScript(path) {
+  const script = document.createElement('script');
+  script.type = 'application/javascript';
+  script.src = path;
+  script.defer = true;
+  document.head.appendChild(script);
+}
+
+/**
+ * Loads the Sourcegraph integration for support for Sourcegraph extensions and
+ * code intelligence.
+ */
+export default function initSourcegraph() {
+  const { url } = gon.sourcegraph || {};
+
+  if (!url) {
+    return;
+  }
+
+  const assetsUrl = new URL('/assets/webpack/sourcegraph/', window.location.href);
+  const scriptPath = new URL('scripts/integration.bundle.js', assetsUrl).href;
+
+  window.SOURCEGRAPH_ASSETS_URL = assetsUrl.href;
+  window.SOURCEGRAPH_URL = url;
+  window.SOURCEGRAPH_INTEGRATION = 'gitlab-integration';
+
+  loadScript(scriptPath);
+}
diff --git a/app/assets/javascripts/sourcegraph/load.js b/app/assets/javascripts/sourcegraph/load.js
new file mode 100644
index 00000000000..f9491505d42
--- /dev/null
+++ b/app/assets/javascripts/sourcegraph/load.js
@@ -0,0 +1,6 @@
+import initSourcegraph from './index';
+
+/**
+ * Load sourcegraph in it's own listener so that it's isolated from failures.
+ */
+document.addEventListener('DOMContentLoaded', initSourcegraph);
diff --git a/app/assets/javascripts/vue_shared/components/markdown/header.vue b/app/assets/javascripts/vue_shared/components/markdown/header.vue
index 7596dbf1229..af4ac024e4f 100644
--- a/app/assets/javascripts/vue_shared/components/markdown/header.vue
+++ b/app/assets/javascripts/vue_shared/components/markdown/header.vue
@@ -168,7 +168,7 @@ export default {
             :prepend="true"
             tag="* [ ] "
             :button-title="__('Add a task list')"
-            icon="task-done"
+            icon="list-task"
           />
            { previous_changes.key?('performance_bar_allowed_group_id') }
 
+  def sourcegraph_url_is_com?
+    !!(sourcegraph_url =~ /\Ahttps:\/\/(www\.)?sourcegraph\.com/)
+  end
+
   def self.create_from_defaults
     transaction(requires_new: true) do
       super
diff --git a/app/models/application_setting_implementation.rb b/app/models/application_setting_implementation.rb
index 80715fae68d..7bb89f0d1e2 100644
--- a/app/models/application_setting_implementation.rb
+++ b/app/models/application_setting_implementation.rb
@@ -102,6 +102,9 @@ module ApplicationSettingImplementation
         shared_runners_text: nil,
         sign_in_text: nil,
         signup_enabled: Settings.gitlab['signup_enabled'],
+        sourcegraph_enabled: false,
+        sourcegraph_url: nil,
+        sourcegraph_public_only: true,
         terminal_max_session_time: 0,
         throttle_authenticated_api_enabled: false,
         throttle_authenticated_api_period_in_seconds: 3600,
diff --git a/app/models/user.rb b/app/models/user.rb
index f704589ad80..d0e758b0055 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -240,6 +240,7 @@ class User < ApplicationRecord
   delegate :time_display_relative, :time_display_relative=, to: :user_preference
   delegate :time_format_in_24h, :time_format_in_24h=, to: :user_preference
   delegate :show_whitespace_in_diffs, :show_whitespace_in_diffs=, to: :user_preference
+  delegate :sourcegraph_enabled, :sourcegraph_enabled=, to: :user_preference
   delegate :setup_for_company, :setup_for_company=, to: :user_preference
 
   accepts_nested_attributes_for :user_preference, update_only: true
diff --git a/app/services/concerns/git/logger.rb b/app/services/concerns/git/logger.rb
new file mode 100644
index 00000000000..7c036212e66
--- /dev/null
+++ b/app/services/concerns/git/logger.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+module Git
+  module Logger
+    def log_error(message, save_message_on_model: false)
+      Gitlab::GitLogger.error("#{self.class.name} error (#{merge_request.to_reference(full: true)}): #{message}")
+      merge_request.update(merge_error: message) if save_message_on_model
+    end
+  end
+end
diff --git a/app/services/merge_requests/base_service.rb b/app/services/merge_requests/base_service.rb
index aacc3d6831e..00bf69739ad 100644
--- a/app/services/merge_requests/base_service.rb
+++ b/app/services/merge_requests/base_service.rb
@@ -29,6 +29,19 @@ module MergeRequests
                                  .execute_for_merge_request(merge_request)
     end
 
+    def source_project
+      @source_project ||= merge_request.source_project
+    end
+
+    def target_project
+      @target_project ||= merge_request.target_project
+    end
+
+    # Don't try to print expensive instance variables.
+    def inspect
+      "#<#{self.class} #{merge_request.to_reference(full: true)}>"
+    end
+
     private
 
     def create(merge_request)
diff --git a/app/services/merge_requests/rebase_service.rb b/app/services/merge_requests/rebase_service.rb
index 4d36dd4feae..7e9442c0c7c 100644
--- a/app/services/merge_requests/rebase_service.rb
+++ b/app/services/merge_requests/rebase_service.rb
@@ -1,9 +1,13 @@
 # frozen_string_literal: true
 
 module MergeRequests
-  class RebaseService < MergeRequests::WorkingCopyBaseService
+  class RebaseService < MergeRequests::BaseService
+    include Git::Logger
+
     REBASE_ERROR = 'Rebase failed. Please rebase locally'
 
+    attr_reader :merge_request
+
     def execute(merge_request)
       @merge_request = merge_request
 
diff --git a/app/services/merge_requests/squash_service.rb b/app/services/merge_requests/squash_service.rb
index 88ca3b4f5a8..d25997c925e 100644
--- a/app/services/merge_requests/squash_service.rb
+++ b/app/services/merge_requests/squash_service.rb
@@ -1,7 +1,9 @@
 # frozen_string_literal: true
 
 module MergeRequests
-  class SquashService < MergeRequests::WorkingCopyBaseService
+  class SquashService < MergeRequests::BaseService
+    include Git::Logger
+
     def execute
       # If performing a squash would result in no change, then
       # immediately return a success message without performing a squash
diff --git a/app/services/merge_requests/working_copy_base_service.rb b/app/services/merge_requests/working_copy_base_service.rb
deleted file mode 100644
index 2d2be1f4c25..00000000000
--- a/app/services/merge_requests/working_copy_base_service.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-# frozen_string_literal: true
-
-module MergeRequests
-  class WorkingCopyBaseService < MergeRequests::BaseService
-    attr_reader :merge_request
-
-    def source_project
-      @source_project ||= merge_request.source_project
-    end
-
-    def target_project
-      @target_project ||= merge_request.target_project
-    end
-
-    def log_error(message, save_message_on_model: false)
-      Gitlab::GitLogger.error("#{self.class.name} error (#{merge_request.to_reference(full: true)}): #{message}")
-
-      merge_request.update(merge_error: message) if save_message_on_model
-    end
-
-    # Don't try to print expensive instance variables.
-    def inspect
-      "#<#{self.class} #{merge_request.to_reference(full: true)}>"
-    end
-  end
-end
diff --git a/app/views/admin/application_settings/_sourcegraph.html.haml b/app/views/admin/application_settings/_sourcegraph.html.haml
new file mode 100644
index 00000000000..23cda0334a2
--- /dev/null
+++ b/app/views/admin/application_settings/_sourcegraph.html.haml
@@ -0,0 +1,38 @@
+- return unless Gitlab::Sourcegraph.feature_available?
+- expanded = integration_expanded?('sourcegraph_')
+
+%section.settings.as-sourcegraph.no-animate#js-sourcegraph-settings{ class: ('expanded' if expanded) }
+  .settings-header
+    %h4
+      = _('Sourcegraph')
+    %button.btn.btn-default.js-settings-toggle{ type: 'button' }
+      = expanded ? _('Collapse') : _('Expand')
+    %p
+      - link_start = ''.html_safe % { url: 'https://sourcegraph.com/' }
+      - link_end = "#{sprite_icon('external-link', size: 12, css_class: 'ml-1 vertical-align-center')}".html_safe
+      = s_('SourcegraphAdmin|Enable code intelligence powered by %{link_start}Sourcegraph%{link_end} on your GitLab instance\'s code views and merge requests.').html_safe % { link_start: link_start, link_end: link_end }
+      %span
+        = link_to s_('SourcegraphAdmin|More information'), help_page_path('integration/sourcegraph.md'), target: '_blank'
+
+
+  .settings-content
+    = form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-sourcegraph-settings'), html: { class: 'fieldset-form' } do |f|
+      = form_errors(@application_setting)
+
+      %fieldset
+        .form-group
+          .form-check
+            = f.check_box :sourcegraph_enabled, class: 'form-check-input'
+            = f.label :sourcegraph_enabled, s_('SourcegraphAdmin|Enable Sourcegraph'), class: 'form-check-label'
+        .form-group
+          .form-check
+            = f.check_box :sourcegraph_public_only, class: 'form-check-input'
+            = f.label :sourcegraph_public_only, s_('SourcegraphAdmin|Block on private and internal projects'), class: 'form-check-label'
+            .form-text.text-muted
+              = s_('SourcegraphAdmin|If checked, only public projects will have code intelligence and communicate with Sourcegraph.')
+        .form-group
+          = f.label :sourcegraph_url, s_('SourcegraphAdmin|Sourcegraph URL'), class: 'label-bold'
+          = f.text_field :sourcegraph_url, class: 'form-control', placeholder: s_('SourcegraphAdmin|e.g. https://sourcegraph.example.com')
+          .form-text.text-muted
+            = s_('SourcegraphAdmin|Configure the URL to a Sourcegraph instance which can read your GitLab projects.')
+      = f.submit s_('SourcegraphAdmin|Save changes'), class: 'btn btn-success'
diff --git a/app/views/admin/application_settings/integrations.html.haml b/app/views/admin/application_settings/integrations.html.haml
index 3f459e0f491..0aa833e49a8 100644
--- a/app/views/admin/application_settings/integrations.html.haml
+++ b/app/views/admin/application_settings/integrations.html.haml
@@ -4,6 +4,7 @@
 
 = render_if_exists 'admin/application_settings/elasticsearch_form'
 = render 'admin/application_settings/plantuml'
+= render 'admin/application_settings/sourcegraph'
 = render_if_exists 'admin/application_settings/slack'
 = render 'admin/application_settings/third_party_offers'
 = render 'admin/application_settings/snowplow'
diff --git a/app/views/profiles/preferences/_sourcegraph.html.haml b/app/views/profiles/preferences/_sourcegraph.html.haml
new file mode 100644
index 00000000000..20a904694ca
--- /dev/null
+++ b/app/views/profiles/preferences/_sourcegraph.html.haml
@@ -0,0 +1,26 @@
+- return unless Gitlab::Sourcegraph::feature_available? && Gitlab::CurrentSettings.sourcegraph_enabled
+- sourcegraph_url = Gitlab::CurrentSettings.sourcegraph_url
+
+.col-sm-12
+  %hr
+
+.col-lg-4.profile-settings-sidebar
+  %h4.prepend-top-0
+    = s_('Preferences|Integrations')
+  %p
+    = s_('Preferences|Customize integrations with third party services.')
+    = succeed '.' do
+      = link_to _('Learn more'), help_page_path('user/profile/preferences.md', anchor: 'integrations'), target: '_blank'
+.col-lg-8
+  %label.label-bold
+    = s_('Preferences|Sourcegraph')
+  = link_to icon('question-circle'), help_page_path('user/profile/preferences.md', anchor: 'sourcegraph'), target: '_blank', class: 'has-tooltip', title: _('More information')
+  .form-group.form-check
+    = f.check_box :sourcegraph_enabled, class: 'form-check-input'
+    = f.label :sourcegraph_enabled, class: 'form-check-label' do
+      - link_start = ''.html_safe % { url: sourcegraph_url }
+      - link_end = ''.html_safe
+      = s_('Preferences|Enable integrated code intelligence on code views').html_safe % { link_start: link_start, link_end: link_end }
+    .form-text.text-muted
+      = sourcegraph_url_message
+      = sourcegraph_experimental_message
diff --git a/app/views/profiles/preferences/show.html.haml b/app/views/profiles/preferences/show.html.haml
index 84657592cd8..bf76b7379dd 100644
--- a/app/views/profiles/preferences/show.html.haml
+++ b/app/views/profiles/preferences/show.html.haml
@@ -111,6 +111,9 @@
             = time_display_label
           .form-text.text-muted
             = s_('Preferences|For example: 30 mins ago.')
+
+  = render 'sourcegraph', f: f
+
   .col-lg-4.profile-settings-sidebar
   .col-lg-8
     .form-group
diff --git a/app/views/projects/blob/_markdown_buttons.html.haml b/app/views/projects/blob/_markdown_buttons.html.haml
index 28d1ff97825..44ec2fa69cb 100644
--- a/app/views/projects/blob/_markdown_buttons.html.haml
+++ b/app/views/projects/blob/_markdown_buttons.html.haml
@@ -6,7 +6,7 @@
   = markdown_toolbar_button({ icon: "link", data: { "md-tag" => "[{text}](url)", "md-select" => "url" }, title: _("Add a link") })
   = markdown_toolbar_button({ icon: "list-bulleted", data: { "md-tag" => "* ", "md-prepend" => true }, title: _("Add a bullet list") })
   = markdown_toolbar_button({ icon: "list-numbered", data: { "md-tag" => "1. ", "md-prepend" => true }, title: _("Add a numbered list") })
-  = markdown_toolbar_button({ icon: "task-done", data: { "md-tag" => "* [ ] ", "md-prepend" => true }, title: _("Add a task list") })
+  = markdown_toolbar_button({ icon: "list-task", data: { "md-tag" => "* [ ] ", "md-prepend" => true }, title: _("Add a task list") })
   = markdown_toolbar_button({ icon: "table", data: { "md-tag" => "| header | header |\n| ------ | ------ |\n| cell | cell |\n| cell | cell |", "md-prepend" => true }, title: _("Add a table") })
   - if show_fullscreen_button
     %button.toolbar-btn.toolbar-fullscreen-btn.js-zen-enter.has-tooltip{ type: "button", tabindex: -1, "aria-label": "Go full screen", title: _("Go full screen"), data: { container: "body" } }
diff --git a/app/views/projects/pages/_list.html.haml b/app/views/projects/pages/_list.html.haml
index b05491f2c6e..4676c7399f1 100644
--- a/app/views/projects/pages/_list.html.haml
+++ b/app/views/projects/pages/_list.html.haml
@@ -21,11 +21,11 @@
                   %span.badge.badge-danger
                     = s_('GitLabPages|Expired')
           %div
-            = link_to s_('GitLabPages|Details'), project_pages_domain_path(@project, domain), class: "btn btn-sm btn-grouped"
+            = link_to s_('GitLabPages|Edit'), edit_project_pages_domain_path(@project, domain), class: "btn btn-sm btn-grouped btn-success btn-inverted"
             = link_to s_('GitLabPages|Remove'), project_pages_domain_path(@project, domain), data: { confirm: s_('GitLabPages|Are you sure?')}, method: :delete, class: "btn btn-remove btn-sm btn-grouped"
         - if verification_enabled && domain.unverified?
           %li.list-group-item.bs-callout-warning
-            - details_link_start = "".html_safe
+            - details_link_start = "".html_safe
             - details_link_end = ''.html_safe
             = s_('GitLabPages|%{domain} is not verified. To learn how to verify ownership, visit your %{link_start}domain details%{link_end}.').html_safe % { domain: domain.domain,
                 link_start: details_link_start,
diff --git a/app/views/projects/pages_domains/_certificate.html.haml b/app/views/projects/pages_domains/_certificate.html.haml
index 42631fca5e8..92d30e0b056 100644
--- a/app/views/projects/pages_domains/_certificate.html.haml
+++ b/app/views/projects/pages_domains/_certificate.html.haml
@@ -1,18 +1,63 @@
-- if @domain.auto_ssl_enabled?
-  - if @domain.enabled?
-    - if @domain.certificate_text
-      %pre
-        = @domain.certificate_text
-    - else
-      .bs-callout.bs-callout-info
-        = _("GitLab is obtaining a Let's Encrypt SSL certificate for this domain. This process can take some time. Please try again later.")
+- auto_ssl_available = ::Gitlab::LetsEncrypt.enabled?
+- auto_ssl_enabled = @domain.auto_ssl_enabled?
+- auto_ssl_available_and_enabled = auto_ssl_available && auto_ssl_enabled
+- has_user_defined_certificate = @domain.certificate && @domain.certificate_user_provided?
+
+- if auto_ssl_available
+  .form-group.border-section
+    .row
+      .col-sm-2
+        = _('Certificate')
+      .col-sm-10.js-auto-ssl-toggle-container
+        %label{ for: "pages_domain_auto_ssl_enabled_button" }
+          - lets_encrypt_link_url = "https://letsencrypt.org/"
+          - lets_encrypt_link_start = "".html_safe % { lets_encrypt_link_url: lets_encrypt_link_url }
+          - lets_encrypt_link_end = "".html_safe
+          = _("Automatic certificate management using %{lets_encrypt_link_start}Let's Encrypt%{lets_encrypt_link_end}").html_safe % { lets_encrypt_link_start: lets_encrypt_link_start, lets_encrypt_link_end: lets_encrypt_link_end }
+        %button{ type: "button", id: "pages_domain_auto_ssl_enabled_button",
+          class: "js-project-feature-toggle project-feature-toggle mt-2 #{"is-checked" if auto_ssl_available_and_enabled}",
+          "aria-label": _("Automatic certificate management using Let's Encrypt") }
+          = f.hidden_field :auto_ssl_enabled?, class: "js-project-feature-toggle-input"
+          %span.toggle-icon
+            = sprite_icon("status_success_borderless", size: 16, css_class: "toggle-icon-svg toggle-status-checked")
+            = sprite_icon("status_failed_borderless", size: 16, css_class: "toggle-icon-svg toggle-status-unchecked")
+        %p.text-secondary.mt-3
+          - docs_link_url = help_page_path("user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md")
+          - docs_link_start = "".html_safe % { docs_link_url: docs_link_url }
+          - docs_link_end = "".html_safe
+          = _("Let's Encrypt is a free, automated, and open certificate authority (CA) that gives digital certificates in order to enable HTTPS (SSL/TLS) for websites. Learn more about Let's Encrypt configuration by following the %{docs_link_start}documentation on GitLab Pages%{docs_link_end}.").html_safe % { docs_link_url: docs_link_url, docs_link_start: docs_link_start, docs_link_end: docs_link_end }
+
+.form-group.border-section.js-shown-unless-auto-ssl{ class: ("d-none" if auto_ssl_available_and_enabled) }
+  - if has_user_defined_certificate
+    .row
+      .col-sm-10.offset-sm-2
+        .card
+          .card-header
+            = _('Certificate')
+          .d-flex.justify-content-between.align-items-center.p-3
+            %span
+              = @domain.subject || _('missing')
+            = link_to _('Remove'),
+              clean_certificate_project_pages_domain_path(@project, @domain),
+              data: { confirm: _('Are you sure?') },
+              class: 'btn btn-remove btn-sm',
+              method: :delete
   - else
-    .bs-callout.bs-callout-warning
-      = _("A Let's Encrypt SSL certificate can not be obtained until your domain is verified.")
-- else
-  - if @domain.certificate_text
-    %pre
-      = @domain.certificate_text
-  - else
-    .light
-      = _("missing")
+    .row
+      .col-sm-10.offset-sm-2
+        = f.label :user_provided_certificate, _("Certificate (PEM)")
+        = f.text_area :user_provided_certificate,
+          rows: 5,
+          class: "form-control js-enabled-unless-auto-ssl",
+          disabled: auto_ssl_available_and_enabled
+        %span.help-inline.text-muted= _("Upload a certificate for your domain with all intermediates")
+    .row
+      .col-sm-10.offset-sm-2
+        = f.label :user_provided_key, _("Key (PEM)")
+        = f.text_area :user_provided_key,
+          rows: 5,
+          class: "form-control js-enabled-unless-auto-ssl",
+          disabled: auto_ssl_available_and_enabled
+        %span.help-inline.text-muted= _("Upload a private key for your certificate")
+
+= render 'lets_encrypt_callout', auto_ssl_available_and_enabled: auto_ssl_available_and_enabled
diff --git a/app/views/projects/pages_domains/_dns.html.haml b/app/views/projects/pages_domains/_dns.html.haml
new file mode 100644
index 00000000000..e4e590f0a98
--- /dev/null
+++ b/app/views/projects/pages_domains/_dns.html.haml
@@ -0,0 +1,33 @@
+- verification_enabled = Gitlab::CurrentSettings.pages_domain_verification_enabled?
+- dns_record = "#{@domain.domain} CNAME #{@domain.project.pages_subdomain}.#{Settings.pages.host}."
+
+.form-group.border-section
+  .row
+    .col-sm-2
+      = _("DNS")
+    .col-sm-10
+      .input-group
+        = text_field_tag :domain_dns, dns_record , class: "monospace js-select-on-focus form-control", readonly: true
+        .input-group-append
+          = clipboard_button(target: '#domain_dns', class: 'btn-default input-group-text d-none d-sm-block')
+      %p.form-text.text-muted
+        = _("To access this domain create a new DNS record")
+- if verification_enabled
+  - verification_record = "#{@domain.verification_domain} TXT #{@domain.keyed_verification_code}"
+  .form-group.border-section
+    .row
+      .col-sm-2
+        = _("Verification status")
+      .col-sm-10
+        .status-badge
+          - text, status = @domain.unverified? ? [_('Unverified'), 'badge-danger'] : [_('Verified'), 'badge-success']
+          .badge{ class: status }
+            = text
+          = link_to sprite_icon("redo"), verify_project_pages_domain_path(@project, @domain), method: :post, class: "btn has-tooltip", title: _("Retry verification")
+        .input-group
+          = text_field_tag :domain_verification, verification_record, class: "monospace js-select-on-focus form-control", readonly: true
+          .input-group-append
+            = clipboard_button(target: '#domain_verification', class: 'btn-default d-none d-sm-block')
+        %p.form-text.text-muted
+          - link_to_help = link_to(_('verify ownership'), help_page_path('user/project/pages/custom_domains_ssl_tls_certification/index.md', anchor: '4-verify-the-domains-ownership'))
+          = _("To %{link_to_help} of your domain, add the above key to a TXT record within to your DNS configuration.").html_safe % { link_to_help: link_to_help }
diff --git a/app/views/projects/pages_domains/_form.html.haml b/app/views/projects/pages_domains/_form.html.haml
index 4aa1e574d93..e06dab9be06 100644
--- a/app/views/projects/pages_domains/_form.html.haml
+++ b/app/views/projects/pages_domains/_form.html.haml
@@ -3,62 +3,25 @@
     - @domain.errors.full_messages.each do |msg|
       = msg
 
-.form-group.row
-  .col-sm-2.col-form-label
-    = f.label :domain, _("Domain")
-  .col-sm-10
-    = f.text_field :domain, required: true, autocomplete: "off", class: "form-control", disabled: @domain.persisted?
+.form-group.border-section
+  .row
+    - if @domain.persisted?
+      .col-sm-2
+        = _("Domain")
+      .col-sm-10
+        = external_link(@domain.url, @domain.url)
+    - else
+      .col-sm-2
+        = f.label :domain, _("Domain")
+      .col-sm-10
+        .input-group
+          = f.text_field :domain, required: true, autocomplete: "off", class: "form-control"
+
+- if @domain.persisted?
+  = render 'dns'
 
 - if Gitlab.config.pages.external_https
-
-  - auto_ssl_available = ::Gitlab::LetsEncrypt.enabled?
-  - auto_ssl_enabled = @domain.auto_ssl_enabled?
-  - auto_ssl_available_and_enabled = auto_ssl_available && auto_ssl_enabled
-
-  - if auto_ssl_available
-    .form-group.row
-      .col-sm-2.col-form-label
-        %label{ for: "pages_domain_auto_ssl_enabled_button" }
-          - lets_encrypt_link_url = "https://letsencrypt.org/"
-          - lets_encrypt_link_start = "".html_safe % { lets_encrypt_link_url: lets_encrypt_link_url }
-          - lets_encrypt_link_end = "".html_safe
-          = _("Automatic certificate management using %{lets_encrypt_link_start}Let's Encrypt%{lets_encrypt_link_end}").html_safe % { lets_encrypt_link_start: lets_encrypt_link_start, lets_encrypt_link_end: lets_encrypt_link_end }
-
-      .col-sm-10.js-auto-ssl-toggle-container
-        %button{ type: "button", id: "pages_domain_auto_ssl_enabled_button",
-          class: "js-project-feature-toggle project-feature-toggle mt-2 #{"is-checked" if auto_ssl_available_and_enabled}",
-          "aria-label": _("Automatic certificate management using Let's Encrypt") }
-          = f.hidden_field :auto_ssl_enabled?, class: "js-project-feature-toggle-input"
-          %span.toggle-icon
-            = sprite_icon("status_success_borderless", size: 16, css_class: "toggle-icon-svg toggle-status-checked")
-            = sprite_icon("status_failed_borderless", size: 16, css_class: "toggle-icon-svg toggle-status-unchecked")
-        %p.text-secondary.mt-3
-          - docs_link_url = help_page_path("user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md")
-          - docs_link_start = "".html_safe % { docs_link_url: docs_link_url }
-          - docs_link_end = "".html_safe
-          = _("Let's Encrypt is a free, automated, and open certificate authority (CA) that gives digital certificates in order to enable HTTPS (SSL/TLS) for websites. Learn more about Let's Encrypt configuration by following the %{docs_link_start}documentation on GitLab Pages%{docs_link_end}.").html_safe % { docs_link_url: docs_link_url, docs_link_start: docs_link_start, docs_link_end: docs_link_end }
-
-  .js-shown-unless-auto-ssl{ class: ("d-none" if auto_ssl_available_and_enabled) }
-    .form-group.row
-      .col-sm-2.col-form-label
-        = f.label :user_provided_certificate, _("Certificate (PEM)")
-      .col-sm-10
-        = f.text_area :user_provided_certificate,
-          rows: 5,
-          class: "form-control js-enabled-unless-auto-ssl",
-          disabled: auto_ssl_available_and_enabled
-        %span.help-inline.text-muted= _("Upload a certificate for your domain with all intermediates")
-
-    .form-group.row
-      .col-sm-2.col-form-label
-        = f.label :user_provided_key, _("Key (PEM)")
-      .col-sm-10
-        = f.text_area :user_provided_key,
-          rows: 5,
-          class: "form-control js-enabled-unless-auto-ssl",
-          disabled: auto_ssl_available_and_enabled
-        %span.help-inline.text-muted= _("Upload a private key for your certificate")
-
+  = render 'certificate', f: f
 - else
-  .nothing-here-block
+  .border-section.nothing-here-block
     = _("Support for custom certificates is disabled. Ask your system's administrator to enable it.")
diff --git a/app/views/projects/pages_domains/_lets_encrypt_callout.html.haml b/app/views/projects/pages_domains/_lets_encrypt_callout.html.haml
new file mode 100644
index 00000000000..d6406a78fca
--- /dev/null
+++ b/app/views/projects/pages_domains/_lets_encrypt_callout.html.haml
@@ -0,0 +1,13 @@
+- if @domain.enabled?
+  - if @domain.auto_ssl_enabled && !@domain.certificate
+    .form-group.border-section.js-shown-if-auto-ssl{ class: ("d-none" unless auto_ssl_available_and_enabled) }
+      .row
+        .col-sm-10.offset-sm-2
+          .bs-callout.bs-callout-info.mt-0
+            = _("GitLab is obtaining a Let's Encrypt SSL certificate for this domain. This process can take some time. Please try again later.")
+- else
+  .form-group.border-section.js-shown-if-auto-ssl{ class: ("d-none" unless auto_ssl_available_and_enabled) }
+    .row
+      .col-sm-10.offset-sm-2
+        .bs-callout.bs-callout-warning.mt-0
+          = _("A Let's Encrypt SSL certificate can not be obtained until your domain is verified.")
diff --git a/app/views/projects/pages_domains/edit.html.haml b/app/views/projects/pages_domains/edit.html.haml
index 7c0777e5496..a08be65d7e4 100644
--- a/app/views/projects/pages_domains/edit.html.haml
+++ b/app/views/projects/pages_domains/edit.html.haml
@@ -1,12 +1,21 @@
 - add_to_breadcrumbs _("Pages"), project_pages_path(@project)
 - breadcrumb_title @domain.domain
 - page_title @domain.domain
+
+- verification_enabled = Gitlab::CurrentSettings.pages_domain_verification_enabled?
+
+- if verification_enabled && @domain.unverified?
+  = content_for :flash_message do
+    .alert.alert-warning
+      .container-fluid.container-limited
+        = _("This domain is not verified. You will need to verify ownership before access is enabled.")
+
 %h3.page-title
-  = @domain.domain
+  = _('Pages Domain')
 = render 'projects/pages_domains/helper_text'
-%hr.clearfix
 %div
   = form_for [@project.namespace.becomes(Namespace), @project, @domain], html: { class: 'fieldset-form' } do |f|
     = render 'form', { f: f }
-    .form-actions
+    .form-actions.d-flex.justify-content-between
       = f.submit _('Save Changes'), class: "btn btn-success"
+      = link_to _('Cancel'), project_pages_path(@project), class: 'btn btn-default btn-inverse'
diff --git a/app/views/projects/pages_domains/new.html.haml b/app/views/projects/pages_domains/new.html.haml
index e23ccb5d4c6..3210bfe9231 100644
--- a/app/views/projects/pages_domains/new.html.haml
+++ b/app/views/projects/pages_domains/new.html.haml
@@ -3,7 +3,6 @@
 %h3.page-title
   = _("New Pages Domain")
 = render 'projects/pages_domains/helper_text'
-%hr.clearfix
 %div
   = form_for [@project.namespace.becomes(Namespace), @project, @domain], html: { class: 'fieldset-form' } do |f|
     = render 'form', { f: f }
diff --git a/app/views/projects/pages_domains/show.html.haml b/app/views/projects/pages_domains/show.html.haml
index 33837e21c8d..8eec3d51835 100644
--- a/app/views/projects/pages_domains/show.html.haml
+++ b/app/views/projects/pages_domains/show.html.haml
@@ -58,4 +58,4 @@
       %td
         = _("Certificate")
       %td
-        = render 'certificate'
+        = render 'lets_encrypt_callout', auto_ssl_available_and_enabled: false
diff --git a/app/views/shared/issuable/_form.html.haml b/app/views/shared/issuable/_form.html.haml
index a8aae03aad7..0fb23adc31f 100644
--- a/app/views/shared/issuable/_form.html.haml
+++ b/app/views/shared/issuable/_form.html.haml
@@ -14,7 +14,6 @@
 
 = render 'shared/issuable/form/branch_chooser', issuable: issuable, form: form
 
-%hr
 .form-group.row
   = form.label :title, class: 'col-form-label col-sm-2'
 
diff --git a/app/views/shared/issuable/form/_branch_chooser.html.haml b/app/views/shared/issuable/form/_branch_chooser.html.haml
index 03eebe7c987..29ac17c43b9 100644
--- a/app/views/shared/issuable/form/_branch_chooser.html.haml
+++ b/app/views/shared/issuable/form/_branch_chooser.html.haml
@@ -20,3 +20,4 @@
       = form.hidden_field(:target_branch,
         { class: 'target_branch js-target-branch-select ref-name mw-xl',
           data: { placeholder: _('Select branch'), endpoint: refs_project_path(@project, sort: 'updated_desc', find: 'branches') }})
+%hr
diff --git a/changelogs/unreleased/30660-allow-to-enable-disable-auto-ssl-letsencrypt-support-via-api.yml b/changelogs/unreleased/30660-allow-to-enable-disable-auto-ssl-letsencrypt-support-via-api.yml
new file mode 100644
index 00000000000..7ec23301eeb
--- /dev/null
+++ b/changelogs/unreleased/30660-allow-to-enable-disable-auto-ssl-letsencrypt-support-via-api.yml
@@ -0,0 +1,5 @@
+---
+title: Require explicit null parameters to remove pages domain certificate and allow to use Let's Encrypt certificates through API
+merge_request:
+author:
+type: changed
diff --git a/changelogs/unreleased/34426-use-new-list-task-icon-in-text-editor.yml b/changelogs/unreleased/34426-use-new-list-task-icon-in-text-editor.yml
new file mode 100644
index 00000000000..2b66bd02e93
--- /dev/null
+++ b/changelogs/unreleased/34426-use-new-list-task-icon-in-text-editor.yml
@@ -0,0 +1,6 @@
+---
+title: Replace task-done icon with list-task icon to better align with other toolbar
+  list icons
+merge_request:
+author:
+type: other
diff --git a/changelogs/unreleased/35547-add-documentation-for-sign-in-application-setting.yml b/changelogs/unreleased/35547-add-documentation-for-sign-in-application-setting.yml
new file mode 100644
index 00000000000..d13fa1d8fc5
--- /dev/null
+++ b/changelogs/unreleased/35547-add-documentation-for-sign-in-application-setting.yml
@@ -0,0 +1,5 @@
+---
+title: Add documentation for sign-in application setting
+merge_request: 19561
+author: Horatiu Eugen Vlad
+type: added
diff --git a/changelogs/unreleased/remove-domain-details.yml b/changelogs/unreleased/remove-domain-details.yml
new file mode 100644
index 00000000000..a9eedd580f6
--- /dev/null
+++ b/changelogs/unreleased/remove-domain-details.yml
@@ -0,0 +1,5 @@
+---
+title: Merge Details Page and Edit Page for Page Domains
+merge_request: 16687
+author:
+type: added
diff --git a/config/application.rb b/config/application.rb
index 1d32ebcaa54..cad5c8bbe76 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -255,8 +255,8 @@ module Gitlab
     caching_config_hash[:compress] = false
     caching_config_hash[:namespace] = Gitlab::Redis::Cache::CACHE_NAMESPACE
     caching_config_hash[:expires_in] = 2.weeks # Cache should not grow forever
-    if Sidekiq.server? # threaded context
-      caching_config_hash[:pool_size] = Sidekiq.options[:concurrency] + 5
+    if Sidekiq.server? || defined?(::Puma) # threaded context
+      caching_config_hash[:pool_size] = Gitlab::Redis::Cache.pool_size
       caching_config_hash[:pool_timeout] = 1
     end
 
diff --git a/config/webpack.config.js b/config/webpack.config.js
index 1bcd8b68ac9..9c7a3f42c97 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -299,6 +299,11 @@ module.exports = {
         from: path.join(ROOT_PATH, 'node_modules/pdfjs-dist/cmaps/'),
         to: path.join(ROOT_PATH, 'public/assets/webpack/cmaps/'),
       },
+      {
+        from: path.join(ROOT_PATH, 'node_modules/@sourcegraph/code-host-integration/'),
+        to: path.join(ROOT_PATH, 'public/assets/webpack/sourcegraph/'),
+        ignore: ['package.json'],
+      },
       {
         from: path.join(
           ROOT_PATH,
diff --git a/danger/commit_messages/Dangerfile b/danger/commit_messages/Dangerfile
index 064b8c94805..da5a63633c3 100644
--- a/danger/commit_messages/Dangerfile
+++ b/danger/commit_messages/Dangerfile
@@ -86,6 +86,12 @@ def unicode_emoji_regex
   ))x
 end
 
+def count_filtered_commits(commits)
+  commits.count do |commit|
+    !commit.message.start_with?('fixup!', 'squash!')
+  end
+end
+
 def lint_commit(commit) # rubocop:disable Metrics/AbcSize
   # For now we'll ignore merge commits, as getting rid of those is a problem
   # separate from enforcing good commit messages.
@@ -285,7 +291,7 @@ def lint_commits(commits)
   end
 end
 
-if git.commits.length > 10 && !ce_upstream?
+if count_filtered_commits(git.commits) > 10 && !ce_upstream?
   warn(
     'This merge request includes more than 10 commits. ' \
       'Please rebase these commits into a smaller number of commits.'
diff --git a/db/migrate/20190827222124_add_sourcegraph_configuration_to_application_settings.rb b/db/migrate/20190827222124_add_sourcegraph_configuration_to_application_settings.rb
new file mode 100644
index 00000000000..e624642c2fc
--- /dev/null
+++ b/db/migrate/20190827222124_add_sourcegraph_configuration_to_application_settings.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+# See http://doc.gitlab.com/ce/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class AddSourcegraphConfigurationToApplicationSettings < ActiveRecord::Migration[5.2]
+  include Gitlab::Database::MigrationHelpers
+
+  # Set this constant to true if this migration requires downtime.
+  DOWNTIME = false
+
+  def up
+    add_column(:application_settings, :sourcegraph_enabled, :boolean, default: false, null: false)
+    add_column(:application_settings, :sourcegraph_url, :string, null: true, limit: 255)
+  end
+
+  def down
+    remove_column(:application_settings, :sourcegraph_enabled)
+    remove_column(:application_settings, :sourcegraph_url)
+  end
+end
diff --git a/db/migrate/20191107173446_add_sourcegraph_admin_and_user_preferences.rb b/db/migrate/20191107173446_add_sourcegraph_admin_and_user_preferences.rb
new file mode 100644
index 00000000000..731ed82c999
--- /dev/null
+++ b/db/migrate/20191107173446_add_sourcegraph_admin_and_user_preferences.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class AddSourcegraphAdminAndUserPreferences < ActiveRecord::Migration[5.2]
+  include Gitlab::Database::MigrationHelpers
+
+  DOWNTIME = false
+
+  def up
+    add_column(:application_settings, :sourcegraph_public_only, :boolean, default: true, null: false)
+    add_column(:user_preferences, :sourcegraph_enabled, :boolean)
+  end
+
+  def down
+    remove_column(:application_settings, :sourcegraph_public_only)
+    remove_column(:user_preferences, :sourcegraph_enabled)
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index ebf1eb41499..f217253db5e 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -352,6 +352,9 @@ ActiveRecord::Schema.define(version: 2019_11_14_173624) do
     t.string "snowplow_app_id"
     t.datetime_with_timezone "productivity_analytics_start_date"
     t.string "default_ci_config_path", limit: 255
+    t.boolean "sourcegraph_enabled", default: false, null: false
+    t.string "sourcegraph_url", limit: 255
+    t.boolean "sourcegraph_public_only", default: true, null: false
     t.index ["custom_project_templates_group_id"], name: "index_application_settings_on_custom_project_templates_group_id"
     t.index ["file_template_project_id"], name: "index_application_settings_on_file_template_project_id"
     t.index ["instance_administration_project_id"], name: "index_applicationsettings_on_instance_administration_project_id"
@@ -3771,6 +3774,7 @@ ActiveRecord::Schema.define(version: 2019_11_14_173624) do
     t.boolean "time_format_in_24h"
     t.string "projects_sort", limit: 64
     t.boolean "show_whitespace_in_diffs", default: true, null: false
+    t.boolean "sourcegraph_enabled"
     t.boolean "setup_for_company"
     t.index ["user_id"], name: "index_user_preferences_on_user_id", unique: true
   end
diff --git a/doc/administration/pages/index.md b/doc/administration/pages/index.md
index 8980cd2d5bf..f51c375860b 100644
--- a/doc/administration/pages/index.md
+++ b/doc/administration/pages/index.md
@@ -120,7 +120,7 @@ The Pages daemon doesn't listen to the outside world.
 
 1. Set the external URL for GitLab Pages in `/etc/gitlab/gitlab.rb`:
 
-   ```shell
+   ```ruby
    pages_external_url 'http://example.io'
    ```
 
@@ -145,7 +145,7 @@ outside world.
 1. Place the certificate and key inside `/etc/gitlab/ssl`
 1. In `/etc/gitlab/gitlab.rb` specify the following configuration:
 
-   ```shell
+   ```ruby
    pages_external_url 'https://example.io'
 
    pages_nginx['redirect_http_to_https'] = true
@@ -167,7 +167,7 @@ behavior:
 1. Edit `/etc/gitlab/gitlab.rb`.
 1. Set the `inplace_chroot` to `true` for GitLab Pages:
 
-   ```shell
+   ```ruby
    gitlab_pages['inplace_chroot'] = true
    ```
 
@@ -202,7 +202,7 @@ world. Custom domains are supported, but no TLS.
 
 1. Edit `/etc/gitlab/gitlab.rb`:
 
-   ```shell
+   ```ruby
    pages_external_url "http://example.io"
    nginx['listen_addresses'] = ['192.0.2.1']
    pages_nginx['enable'] = false
@@ -233,7 +233,7 @@ world. Custom domains and TLS are supported.
 
 1. Edit `/etc/gitlab/gitlab.rb`:
 
-   ```shell
+   ```ruby
    pages_external_url "https://example.io"
    nginx['listen_addresses'] = ['192.0.2.1']
    pages_nginx['enable'] = false
@@ -332,7 +332,7 @@ Follow the steps below to configure verbose logging of GitLab Pages daemon.
    If you wish to make it log events with level `DEBUG` you must configure this in
    `/etc/gitlab/gitlab.rb`:
 
-   ```shell
+   ```ruby
    gitlab_pages['log_verbose'] = true
    ```
 
@@ -347,7 +347,7 @@ are stored.
    If you wish to store them in another location you must set it up in
    `/etc/gitlab/gitlab.rb`:
 
-   ```shell
+   ```ruby
    gitlab_rails['pages_path'] = "/mnt/storage/pages"
    ```
 
@@ -363,14 +363,14 @@ Omnibus GitLab 11.1.
    If you wish to disable it you must configure this in
    `/etc/gitlab/gitlab.rb`:
 
-   ```shell
+   ```ruby
    gitlab_pages['listen_proxy'] = nil
    ```
 
    If you wish to make it listen on a different port you must configure this also in
    `/etc/gitlab/gitlab.rb`:
 
-   ```shell
+   ```ruby
    gitlab_pages['listen_proxy'] = "localhost:10080"
    ```
 
@@ -382,21 +382,26 @@ The maximum size of the unpacked archive per project can be configured in the
 Admin area under the Application settings in the **Maximum size of pages (MB)**.
 The default is 100MB.
 
-## Running GitLab Pages in a separate server
+## Running GitLab Pages on a separate server
 
-You may want to run GitLab Pages daemon on a separate server in order to decrease the load on your main application server.
-Follow the steps below to configure GitLab Pages in a separate server.
+You can run the GitLab Pages daemon on a separate server in order to decrease the load on your main application server.
 
-1. Suppose you have the main GitLab application server named `app1`. Prepare
-   new Linux server (let's call it `app2`), create NFS share there and configure access to
-   this share from `app1`. Let's use the default GitLab Pages folder `/var/opt/gitlab/gitlab-rails/shared/pages`
-   as the shared folder on `app2` and mount it to `/mnt/pages` on `app1`.
+To configure GitLab Pages on a separate server:
 
-1. On `app2` install GitLab omnibus and modify `/etc/gitlab/gitlab.rb` this way:
+1. Set up a new server. This will become the **Pages server**.
 
-   ```shell
+1. Create an NFS share on the new server and configure this share to
+   allow access from your main **GitLab server**. For this example, we use the
+   default GitLab Pages folder `/var/opt/gitlab/gitlab-rails/shared/pages`
+   as the shared folder on the new server and we will mount it to `/mnt/pages`
+   on the **GitLab server**.
+
+1. On the **Pages server**, install Omnibus GitLab and modify `/etc/gitlab/gitlab.rb`
+   to include:
+
+   ```ruby
    external_url 'http://'
-   pages_external_url "http://"
+   pages_external_url "http://"
    postgresql['enable'] = false
    redis['enable'] = false
    prometheus['enable'] = false
@@ -409,20 +414,82 @@ Follow the steps below to configure GitLab Pages in a separate server.
    gitlab_rails['auto_migrate'] = false
    ```
 
-1. Run `sudo gitlab-ctl reconfigure`.
-1. On `app1` apply the following changes to `/etc/gitlab/gitlab.rb`:
+1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
 
-   ```shell
+1. On the **GitLab server**, make the following changes to `/etc/gitlab/gitlab.rb`:
+
+   ```ruby
    gitlab_pages['enable'] = false
-   pages_external_url "http://"
+   pages_external_url "http://"
    gitlab_rails['pages_path'] = "/mnt/pages"
    ```
 
-1. Run `sudo gitlab-ctl reconfigure`.
+1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
+
+It is possible to run GitLab Pages on multiple servers if you wish to distribute
+the load. You can do this through standard load balancing practices such as
+configuring your DNS server to return multiple IPs for your Pages server,
+configuring a load balancer to work at the IP level, and so on. If you wish to
+set up GitLab Pages on multiple servers, perform the above procedure for each
+Pages server.
+
+### Access control when running GitLab Pages on a separate server
+
+If you are [running GitLab Pages on a separate server](#running-gitlab-pages-on-a-separate-server),
+then you must use the following procedure to configure [access control](#access-control):
+
+1. On the **GitLab server**, add the following to `/etc/gitlab/gitlab.rb`:
+
+   ```ruby
+   gitlab_pages['enable'] = true
+   gitlab_pages['access_control'] = true
+   ```
+
+1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the
+   changes to take effect. The `gitlab-secrets.json` file is now updated with the
+   new configuration.
+
+   DANGER: **Danger:**
+   The `gitlab-secrets.json` file contains secrets that control database encryption.
+   Do not edit or replace this file on the **GitLab server** or you might
+   experience permanent data loss. Make a backup copy of this file before proceeding,
+   as explained in the following steps.
+
+1. Create a backup of the secrets file on the **GitLab server**:
+
+   ```shell
+   cp /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json.bak
+   ```
+
+1. Create a backup of the secrets file on the **Pages server**:
+
+   ```shell
+   cp /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json.bak
+   ```
+
+1. Disable Pages on the **GitLab server** by setting the following in
+   `/etc/gitlab/gitlab.rb`:
+
+   ```ruby
+   gitlab_pages['enable'] = false
+   ```
+
+1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
+
+1. Copy the `/etc/gitlab/gitlab-secrets.json` file from the **GitLab server**
+   to the **Pages server**.
+
+1. On your **Pages server**, add the following to `/etc/gitlab/gitlab.rb`:
+
+   ```ruby
+   gitlab_pages['gitlab_server'] = "https://"
+   ```
+
+1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
 
 ## Backup
 
-Pages are part of the [regular backup][backup] so there is nothing to configure.
+GitLab Pages are part of the [regular backup][backup], so there is no separate backup to configure.
 
 ## Security
 
diff --git a/doc/api/pages_domains.md b/doc/api/pages_domains.md
index 9678203eb40..9d482781cde 100644
--- a/doc/api/pages_domains.md
+++ b/doc/api/pages_domains.md
@@ -22,6 +22,7 @@ curl --header "PRIVATE-TOKEN: " https://gitlab.example.com/ap
     "domain": "ssl.domain.example",
     "url": "https://ssl.domain.example",
     "project_id": 1337,
+    "auto_ssl_enabled": false,
     "certificate": {
       "expired": false,
       "expiration": "2020-04-12T14:32:00.000Z"
@@ -55,6 +56,7 @@ curl --header "PRIVATE-TOKEN: " https://gitlab.example.com/ap
   {
     "domain": "ssl.domain.example",
     "url": "https://ssl.domain.example",
+    "auto_ssl_enabled": false,
     "certificate": {
       "subject": "/O=Example, Inc./OU=Example Origin CA/CN=Example Origin Certificate",
       "expired": false,
@@ -76,7 +78,7 @@ GET /projects/:id/pages/domains/:domain
 | Attribute | Type           | Required | Description                              |
 | --------- | -------------- | -------- | ---------------------------------------- |
 | `id`      | integer/string | yes      | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `domain`  | string         | yes      | The domain                               |
+| `domain`  | string         | yes      | The custom domain indicated by the user  |
 
 ```bash
 curl --header "PRIVATE-TOKEN: " https://gitlab.example.com/api/v4/projects/5/pages/domains/www.domain.example
@@ -97,6 +99,7 @@ curl --header "PRIVATE-TOKEN: " https://gitlab.example.com/ap
 {
   "domain": "ssl.domain.example",
   "url": "https://ssl.domain.example",
+  "auto_ssl_enabled": false,
   "certificate": {
     "subject": "/O=Example, Inc./OU=Example Origin CA/CN=Example Origin Certificate",
     "expired": false,
@@ -114,12 +117,13 @@ Creates a new pages domain. The user must have permissions to create new pages d
 POST /projects/:id/pages/domains
 ```
 
-| Attribute     | Type           | Required | Description                              |
-| ------------- | -------------- | -------- | ---------------------------------------- |
-| `id`          | integer/string | yes      | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `domain`      | string         | yes      | The domain                               |
-| `certificate` | file/string    | no       | The certificate in PEM format with intermediates following in most specific to least specific order.|
-| `key`         | file/string    | no       | The certificate key in PEM format.       |
+| Attribute          | Type           | Required | Description                              |
+| -------------------| -------------- | -------- | ---------------------------------------- |
+| `id`               | integer/string | yes      | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
+| `domain`           | string         | yes      | The custom domain indicated by the user  |
+| `auto_ssl_enabled` | boolean        | no       | Enables [automatic generation](../user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md) of SSL certificates issued by Let's Encrypt for custom domains. |
+| `certificate`      | file/string    | no       | The certificate in PEM format with intermediates following in most specific to least specific order.|
+| `key`              | file/string    | no       | The certificate key in PEM format.       |
 
 ```bash
 curl --request POST --header "PRIVATE-TOKEN: " --form "domain=ssl.domain.example" --form "certificate=@/path/to/cert.pem" --form "key=@/path/to/key.pem" https://gitlab.example.com/api/v4/projects/5/pages/domains
@@ -129,10 +133,15 @@ curl --request POST --header "PRIVATE-TOKEN: " --form "domain
 curl --request POST --header "PRIVATE-TOKEN: " --form "domain=ssl.domain.example" --form "certificate=$CERT_PEM" --form "key=$KEY_PEM" https://gitlab.example.com/api/v4/projects/5/pages/domains
 ```
 
+```bash
+curl --request POST --header "PRIVATE-TOKEN: " --form "domain=ssl.domain.example" --form "auto_ssl_enabled=true" https://gitlab.example.com/api/v4/projects/5/pages/domains
+```
+
 ```json
 {
   "domain": "ssl.domain.example",
   "url": "https://ssl.domain.example",
+  "auto_ssl_enabled": true,
   "certificate": {
     "subject": "/O=Example, Inc./OU=Example Origin CA/CN=Example Origin Certificate",
     "expired": false,
@@ -150,12 +159,15 @@ Updates an existing project pages domain. The user must have permissions to chan
 PUT /projects/:id/pages/domains/:domain
 ```
 
-| Attribute     | Type           | Required | Description                              |
-| ------------- | -------------- | -------- | ---------------------------------------- |
-| `id`          | integer/string | yes      | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `domain`      | string         | yes      | The domain                               |
-| `certificate` | file/string    | no       | The certificate in PEM format with intermediates following in most specific to least specific order.|
-| `key`         | file/string    | no       | The certificate key in PEM format.       |
+| Attribute          | Type           | Required | Description                              |
+| ------------------ | -------------- | -------- | ---------------------------------------- |
+| `id`               | integer/string | yes      | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
+| `domain`           | string         | yes      | The custom domain indicated by the user  |
+| `auto_ssl_enabled` | boolean        | no       | Enables [automatic generation](../user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md) of SSL certificates issued by Let's Encrypt for custom domains. |
+| `certificate`      | file/string    | no       | The certificate in PEM format with intermediates following in most specific to least specific order.|
+| `key`              | file/string    | no       | The certificate key in PEM format.       |
+
+### Adding certificate
 
 ```bash
 curl --request PUT --header "PRIVATE-TOKEN: " --form "certificate=@/path/to/cert.pem" --form "key=@/path/to/key.pem" https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example
@@ -169,6 +181,7 @@ curl --request PUT --header "PRIVATE-TOKEN: " --form "certifi
 {
   "domain": "ssl.domain.example",
   "url": "https://ssl.domain.example",
+  "auto_ssl_enabled": false,
   "certificate": {
     "subject": "/O=Example, Inc./OU=Example Origin CA/CN=Example Origin Certificate",
     "expired": false,
@@ -178,6 +191,36 @@ curl --request PUT --header "PRIVATE-TOKEN: " --form "certifi
 }
 ```
 
+### Enabling Let's Encrypt integration for Pages custom domains
+
+```bash
+curl --request PUT --header "PRIVATE-TOKEN: " --form "auto_ssl_enabled=true" https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example
+```
+
+```json
+{
+  "domain": "ssl.domain.example",
+  "url": "https://ssl.domain.example",
+  "auto_ssl_enabled": true
+}
+```
+
+### Removing certificate
+
+To remove the SSL certificate attached to the Pages domain, run:
+
+```bash
+curl --request PUT --header "PRIVATE-TOKEN: " --form "certificate=" --form "key=" https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example
+```
+
+```json
+{
+  "domain": "ssl.domain.example",
+  "url": "https://ssl.domain.example",
+  "auto_ssl_enabled": false
+}
+```
+
 ## Delete pages domain
 
 Deletes an existing project pages domain.
@@ -189,7 +232,7 @@ DELETE /projects/:id/pages/domains/:domain
 | Attribute | Type           | Required | Description                              |
 | --------- | -------------- | -------- | ---------------------------------------- |
 | `id`      | integer/string | yes      | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `domain`  | string         | yes      | The domain                               |
+| `domain`  | string         | yes      | The custom domain indicated by the user  |
 
 ```bash
 curl --request DELETE --header "PRIVATE-TOKEN: " https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example
diff --git a/doc/api/settings.md b/doc/api/settings.md
index f63466298e3..51d5e5f35d7 100644
--- a/doc/api/settings.md
+++ b/doc/api/settings.md
@@ -324,6 +324,9 @@ are listed in the descriptions of the relevant settings.
 | `snowplow_enabled`                       | boolean          | no                                   | Enable snowplow tracking. |
 | `snowplow_app_id`                        | string           | no                                   | The Snowplow site name / application id. (e.g. `gitlab`) |
 | `snowplow_iglu_registry_url`             | string           | no                                   | The Snowplow base Iglu Schema Registry URL to use for custom context and self describing events'|
+| `sourcegraph_enabled`                    | boolean          | no                                    | Enables Sourcegraph integration. Default is `false`. **If enabled, requires** `sourcegraph_url`. |
+| `sourcegraph_url`                        | string           | required by: `sourcegraph_enabled`    | The Sourcegraph instance URL for integration. |
+| `sourcegraph_public_only`                | boolean          | no                                   | Blocks Sourcegraph from being loaded on private and internal projects. Defaul is `true`. |
 | `terminal_max_session_time`              | integer          | no                                   | Maximum time for web terminal websocket connection (in seconds). Set to `0` for unlimited time. |
 | `terms`                                  | text             | required by: `enforce_terms`         | (**Required by:** `enforce_terms`) Markdown content for the ToS. |
 | `throttle_authenticated_api_enabled`     | boolean          | no                                   | (**If enabled, requires:** `throttle_authenticated_api_period_in_seconds` and `throttle_authenticated_api_requests_per_period`) Enable authenticated API request rate limit. Helps reduce request volume (e.g. from crawlers or abusive bots). |
diff --git a/doc/development/feature_flags/development.md b/doc/development/feature_flags/development.md
index 1ce9525d74e..c410c7eae41 100644
--- a/doc/development/feature_flags/development.md
+++ b/doc/development/feature_flags/development.md
@@ -61,7 +61,7 @@ you'd want to explicitly disable that flag until the frontend half is also ready
 to be shipped. To make sure this feature is disabled for both GitLab.com and
 self-managed instances you'd need to explicitly call `Feature.enabled?` method
 before the `feature_available` method. This ensures the feature_flag is defaulting
-to `true`.
+to `false`.
 
 ## Feature groups
 
diff --git a/doc/integration/README.md b/doc/integration/README.md
index 7a2c9b9bc54..3f33aa94cb9 100644
--- a/doc/integration/README.md
+++ b/doc/integration/README.md
@@ -54,6 +54,7 @@ GitLab can be integrated with the following enhancements:
 - Add GitLab actions to [Gmail actions buttons](gmail_action_buttons_for_gitlab.md).
 - Configure [PlantUML](../administration/integration/plantuml.md) to use diagrams in AsciiDoc documents.
 - Attach merge requests to [Trello](trello_power_up.md) cards.
+- Enable integrated code intelligence powered by [Sourcegraph](sourcegraph.md).
 
 ## Project services
 
diff --git a/doc/integration/img/sourcegraph_admin_v12_5.png b/doc/integration/img/sourcegraph_admin_v12_5.png
new file mode 100644
index 0000000000000000000000000000000000000000..23e38f566193f206c2d547521bdeb7f10295a7e5
GIT binary patch
literal 61520
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

literal 0
HcmV?d00001

diff --git a/doc/integration/img/sourcegraph_demo_v12_5.png b/doc/integration/img/sourcegraph_demo_v12_5.png
new file mode 100644
index 0000000000000000000000000000000000000000..c70448c0a8a479f7be409f2f9886be5bad04115e
GIT binary patch
literal 97025
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
  • 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 LELALF^yYs6YN-mp literal 0 HcmV?d00001 diff --git a/doc/integration/img/sourcegraph_popover_v12_5.png b/doc/integration/img/sourcegraph_popover_v12_5.png new file mode 100644 index 0000000000000000000000000000000000000000..878d61436464e87c2584933d440be6070ebef698 GIT binary patch literal 27925 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 H$p8NV)9MRw literal 0 HcmV?d00001 diff --git a/doc/integration/img/sourcegraph_user_preferences_v12_5.png b/doc/integration/img/sourcegraph_user_preferences_v12_5.png new file mode 100644 index 0000000000000000000000000000000000000000..2c0e138e296c17c248f163bb6c45e8cbedd8e3ee GIT binary patch literal 37710 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

    -)hk_=#oq+0?a#AM$hw^%^1TsVN18n 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≪Hjns}vY-{}=U5G!A3zonHiW(mK$ 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 SQ_tPZ00f?{elF{r5}E*A!no7` literal 0 HcmV?d00001 diff --git a/doc/integration/sourcegraph.md b/doc/integration/sourcegraph.md new file mode 100644 index 00000000000..fc45b270d80 --- /dev/null +++ b/doc/integration/sourcegraph.md @@ -0,0 +1,119 @@ +--- +type: reference, how-to +--- + +# Sourcegraph integration + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/merge_requests/16556) in GitLab 12.5. Please note that this integration is [behind a feature flag](#enable-the-sourcegraph-feature-flag). + +[Sourcegraph](https://sourcegraph.com) provides code intelligence features, natively integrated into the GitLab UI. + +For GitLab.com users, see [Sourcegraph for GitLab.com](#sourcegraph-for-gitlabcom). + +![Sourcegraph demo](img/sourcegraph_demo_v12_5.png) + +NOTE: **Note:** +This feature requires user opt-in. After Sourcegraph has been enabled for your GitLab instance, +you can choose to enable Sourcegraph [through your user preferences](#enable-sourcegraph-in-user-preferences). + +## Set up for self-managed GitLab instances **(CORE ONLY)** + +Before you can enable Sourcegraph code intelligence in GitLab you will need to: + +- Enable the `sourcegraph` feature flag for your GitLab instance. +- Configure a Sourcegraph instance with your GitLab instance as an external service. + +### Enable the Sourcegraph feature flag + +NOTE: **Note:** +If you are running a self-managed instance, the Sourcegraph integration will not be available +unless the feature flag `sourcegraph` is enabled. This can be done from the Rails console +by instance administrators. + +Use these commands to start the Rails console: + +```sh +# Omnibus GitLab +gitlab-rails console + +# Installation from source +cd /home/git/gitlab +sudo -u git -H bin/rails console RAILS_ENV=production +``` + +Then run the following command to enable the feature flag: + +``` +Feature.enable(:sourcegraph) +``` + +You can also enable the feature flag only for specific projects with: + +``` +Feature.enable(:sourcegraph, Project.find_by_full_path('my_group/my_project')) +``` + +### Set up a self-managed Sourcegraph instance + +If you are new to Sourcegraph, head over to the [Sourcegraph installation documentation](https://docs.sourcegraph.com/admin) and get your instance up and running. + +### Connect your Sourcegraph instance to your GitLab instance + +1. Navigate to the site admin area in Sourcegraph. +1. [Configure your GitLab external service](https://docs.sourcegraph.com/admin/external_service/gitlab). +You can skip this step if you already have your GitLab repositories searchable in Sourcegraph. +1. Validate that you can search your repositories from GitLab in your Sourcegraph instance by running a test query. +1. Add your GitLab instance URL to the [`corsOrigin` setting](https://docs.sourcegraph.com/admin/config/site_config#corsOrigin) in your site configuration. + +### Configure your GitLab instance with Sourcegraph + +1. In GitLab, go to **Admin Area > Settings > Integrations**. +1. Expand the **Sourcegraph** configuration section. +1. Check **Enable Sourcegraph**. +1. Set the Sourcegraph URL to your Sourcegraph instance, e.g., `https://sourcegraph.example.com`. + +![Sourcegraph admin settings](img/sourcegraph_admin_v12_5.png) + +## Enable Sourcegraph in user preferences + +If a GitLab administrator has enabled Sourcegraph, you can enable this feature in your user preferences. + +1. In GitLab, click your avatar in the top-right corner, then click **Settings**. On the left-hand nav, click **Preferences**. +1. Under **Integrations**, find the **Sourcegraph** section. +1. Check **Enable Sourcegraph**. + +![Sourcegraph user preferences](img/sourcegraph_user_preferences_v12_5.png) + +## Using Sourcegraph code intelligence + +Once enabled, participating projects will have a code intelligence popover available in +the following code views: + +- Merge request diffs +- Commit view +- File view + +When visiting one of these views, you can now hover over a code reference to see a popover with: + +- Details on how this reference was defined. +- **Go to definition**, which navigates to the line of code where this reference was defined. +- **Find references**, which navigates to the configured Sourcegraph instance, showing a list of references to the hilighted code. + +![Sourcegraph demo](img/sourcegraph_popover_v12_5.png) + +## Sourcegraph for GitLab.com + +Sourcegraph powered code intelligence will be incrementally rolled out on GitLab.com. It will eventually be +available for all public projects, but for now, it is only available for some specific [`gitlab-org` projects](https://gitlab.com/gitlab-org/). + +If you have a private or internal project and would like integrated code intelligence, please consider +setting up a self-managed GitLab instance. + +## Sourcegraph and Privacy + +From Sourcegraph's [extension documentation](https://docs.sourcegraph.com/integration/browser_extension#privacy) which is the +engine behind the native GitLab integration: + +> Sourcegraph integrations never send any logs, pings, usage statistics, or telemetry to Sourcegraph.com. +> They will only connect to Sourcegraph.com as required to provide code intelligence or other functionality on public code. +> As a result, no private code, private repository names, usernames, or any other specific data is sent to Sourcegraph.com. diff --git a/doc/user/admin_area/settings/img/two_factor_grace_period.png b/doc/user/admin_area/settings/img/two_factor_grace_period.png new file mode 100644 index 0000000000000000000000000000000000000000..e7fb52969aa1a3abcd445c4a9b43451105582027 GIT binary patch literal 17591 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%0Ak@=K0lq^nNnmhlg{`T26v7j8Sn~ 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 nzx~e68vnn|&Hrbu(%a;mI General** in the Admin area. +1. Expand the **Sign-in restrictions** section. + + diff --git a/doc/user/profile/preferences.md b/doc/user/profile/preferences.md index 9b43f6317d0..b299c74c8f4 100644 --- a/doc/user/profile/preferences.md +++ b/doc/user/profile/preferences.md @@ -128,6 +128,19 @@ You can choose one of the following options as the first day of the week: If you select **System Default**, the system-wide default setting will be used. +## Integrations + +Configure your preferences with third-party services which provide enhancements to your GitLab experience. + +### Sourcegraph + +NOTE: **Note:** +This setting is only visible if Sourcegraph has been enabled by a GitLab administrator. + +Manage the availability of integrated code intelligence features powered by +Sourcegraph. View [the Sourcegraph feature documentation](../../integration/sourcegraph.md#enable-sourcegraph-in-user-preferences) +for more information. +