Move all EE view differences out of the CE code

All EE specific code that resides in app/views should be moved to the ee/ directory, and somehow included into the CE views. Most likely we will need to use a combination of render_ce and render_if_exists (https://docs.gitlab.com/ee/development/ee_features.html#using-render_if_exists) to achieve this.

Differences

app/views/groups/group_members/index.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/groups/group_members/index.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/groups/group_members/index.html.haml
index 2af3e861587..f8f6556f946 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/groups/group_members/index.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/groups/group_members/index.html.haml
@@ -14,6 +14,8 @@
 
     = render 'shared/members/requests', membership_source: @group, requesters: @requesters
 
+  = render 'ldap_sync'
+
   .clearfix
     %h5.member.existing-title
       Existing members
app/views/groups/group_members/_new_group_member.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/groups/group_members/_new_group_member.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/groups/group_members/_new_group_member.html.haml
index c8cdc2cc3e4..db6920b166a 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/groups/group_members/_new_group_member.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/groups/group_members/_new_group_member.html.haml
@@ -1,7 +1,7 @@
 = form_for @group_member, url: group_group_members_path(@group), html: { class: 'users-project-form users-group-form' } do |f|
   .row
     .col-md-4.col-lg-6
-      = users_select_tag(:user_ids, multiple: true, class: 'input-clamp', scope: :all, email_user: true)
+      = users_select_tag(:user_ids, multiple: true, class: 'input-clamp', scope: :all, email_user: true, skip_ldap: @group.ldap_synced?)
       .form-text.text-muted.append-bottom-10
         Search for members by name, username, or email, or invite new ones using their email address.
app/views/groups/_group_admin_settings.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/groups/_group_admin_settings.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/groups/_group_admin_settings.html.haml
index ff59013ed67..cc04b832545 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/groups/_group_admin_settings.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/groups/_group_admin_settings.html.haml
@@ -10,6 +10,8 @@
         %br/
         %span.descr This setting can be overridden in each project.
 
+= render partial: 'groups/ee/old_project_creation_level', locals: { form: f, group: @group }
+
 .form-group.row
   = f.label :require_two_factor_authentication, 'Two-factor authentication', class: 'col-form-label col-sm-2 pt-0'
   .col-sm-10
@@ -21,6 +23,5 @@
           = link_to icon('question-circle'), help_page_path('security/two_factor_authentication', anchor: 'enforcing-2fa-for-all-users-in-a-group')
 .form-group.row
   .offset-sm-2.col-sm-10
-    .form-check
-      = f.text_field :two_factor_grace_period, class: 'form-control'
-      .form-text.text-muted Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication
+    = f.text_field :two_factor_grace_period, class: 'form-control'
+    .form-text.text-muted Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication
app/views/groups/settings/_general.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/groups/settings/_general.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/groups/settings/_general.html.haml
index 0424ece037d..00ed510c55d 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/groups/settings/_general.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/groups/settings/_general.html.haml
@@ -13,21 +13,21 @@
         = f.text_field :id, class: 'form-control w-auto', readonly: true
 
     .row.prepend-top-8
-      .form-group.col-md-9.append-bottom-0
+      .form-group.col-md-9
         = f.label :description, _('Group description (optional)'), class: 'label-bold'
         = f.text_area :description, class: 'form-control', rows: 3, maxlength: 250
 
-    = render_if_exists 'shared/repository_size_limit_setting', form: f, type: :group
+  .row= render_if_exists 'shared/repository_size_limit_setting', form: f, type: :group
 
-    .form-group.prepend-top-default.append-bottom-20
-      .avatar-container.s90
-        = group_icon(@group, alt: '', class: 'avatar group-avatar s90')
-      = f.label :avatar, _('Group avatar'), class: 'label-bold d-block'
-      = render 'shared/choose_group_avatar_button', f: f
-      - if @group.avatar?
-        %hr
-        = link_to _('Remove avatar'), group_avatar_path(@group.to_param), data: { confirm: _('Avatar will be removed. Are you sure?')}, method: :delete, class: 'btn btn-danger btn-inverted'
+  .form-group.prepend-top-default.append-bottom-20
+    .avatar-container.s90
+      = group_icon(@group, alt: '', class: 'avatar group-avatar s90')
+    = f.label :avatar, _('Group avatar'), class: 'label-bold d-block'
+    = render 'shared/choose_group_avatar_button', f: f
+    - if @group.avatar?
+      %hr
+      = link_to _('Remove avatar'), group_avatar_path(@group.to_param), data: { confirm: _('Avatar will be removed. Are you sure?')}, method: :delete, class: 'btn btn-danger btn-inverted'
 
-    = render 'shared/visibility_level', f: f, visibility_level: @group.visibility_level, can_change_visibility_level: can_change_group_visibility_level?(@group), form_model: @group
+  = render 'shared/visibility_level', f: f, visibility_level: @group.visibility_level, can_change_visibility_level: can_change_group_visibility_level?(@group), form_model: @group
 
   = f.submit _('Save changes'), class: 'btn btn-success mt-4 js-dirty-submit'
app/views/groups/settings/_permissions.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/groups/settings/_permissions.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/groups/settings/_permissions.html.haml
index 6b0a6e7ed99..53e476b2363 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/groups/settings/_permissions.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/groups/settings/_permissions.html.haml
@@ -18,6 +18,7 @@
           %span.descr.text-muted= share_with_group_lock_help_text(@group)
 
     = render 'groups/settings/lfs', f: f
+    = render partial: 'groups/ee/project_creation_level', locals: { form: f, group: @group }
     = render 'groups/settings/two_factor_auth', f: f
     = render_if_exists 'groups/member_lock_setting', f: f, group: @group
app/views/projects/_home_panel.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/_home_panel.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/_home_panel.html.haml
index 7694217eb28..218a308c2f5 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/_home_panel.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/_home_panel.html.haml
@@ -65,6 +65,13 @@
           - deleted_message = s_('ForkedFromProjectPath|Forked from %{project_name} (deleted)')
           = deleted_message % { project_name: fork_source_name(@project) }
 
+    - if @project.mirror?
+      - import_url = @project.safe_import_url
+      %p
+        Mirrored from #{link_to import_url, import_url}.
+        %br
+        = render "shared/mirror_status"
+
   - if @project.badges.present?
     .project-badges.mb-2
       - @project.badges.each do |badge|
app/views/projects/_new_project_fields.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/_new_project_fields.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/_new_project_fields.html.haml
index 276363df7da..aa278932fb2 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/_new_project_fields.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/_new_project_fields.html.haml
@@ -19,9 +19,9 @@
             = root_url
         - namespace_id = namespace_id_from(params)
         = f.select(:namespace_id,
-                   namespaces_options(namespace_id || :current_user,
-                                      display_path: true,
-                                      extra_group: namespace_id),
+                   namespaces_options_with_developer_maintainer_access(selected: namespace_id,
+                                                                      display_path: true,
+                                                                      extra_group: namespace_id),
                    {},
                    { class: 'select2 js-select-namespace qa-project-namespace-select', tabindex: 1, data: { track_label: "#{track_label}", track_event: "activate_form_input", track_property: "project_path", track_value: "" }})
app/views/projects/tree/_tree_header.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/tree/_tree_header.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/tree/_tree_header.html.haml
index ec8e5234bd4..cce323fd94e 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/tree/_tree_header.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/tree/_tree_header.html.haml
@@ -73,6 +73,8 @@
                     #{ _('New tag') }
 
 .tree-controls
+
+  = lock_file_link(html_options: { class: 'btn path-lock' })
   = link_to s_('Commits|History'), project_commits_path(@project, @id), class: 'btn'
 
   = render 'projects/find_file_link'
app/views/projects/new.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/new.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/new.html.haml
index 8275996b522..7834a977ea5 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/new.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/new.html.haml
@@ -16,6 +16,11 @@
         = _('A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}.').html_safe % { among_other_things_link: among_other_things_link }
       %p
         = _('All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings.')
+      -# EE-specific start
+      - if ci_cd_projects_available?
+        %p
+          = _('To only use CI/CD features for an external repository, choose <strong>CI/CD for external repo</strong>.').html_safe
+      -# EE-specific end
       .md
         = brand_new_project_guidelines
       %p
@@ -39,6 +44,9 @@
           %a.nav-link{ href: '#import-project-pane', id: 'import-project-tab', data: { toggle: 'tab', track_label: 'import_project', track_event: "click_tab" }, role: 'tab' }
             %span.d-none.d-sm-block Import project
             %span.d-block.d-sm-none Import
+        -# EE-specific start
+        = render 'new_ci_cd_only_project_tab', active_tab: active_tab
+        -# EE-specific end
 
       .tab-content.gitlab-tab-content
         .tab-pane{ id: 'blank-project-pane', class: active_when(active_tab == 'blank'), role: 'tabpanel' }
@@ -60,6 +68,10 @@
               %h4 No import options available
               %p Contact an administrator to enable options for importing your project.
 
+        -# EE-specific start
+        = render 'new_ci_cd_only_project_pane', active_tab: active_tab
+        -# EE-specific end
+
 .save-project-loader.d-none
   .center
     %h2
app/views/projects/commits/show.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/commits/show.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/commits/show.html.haml
index 9d254463fb6..1aef69435bf 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/commits/show.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/commits/show.html.haml
@@ -30,6 +30,8 @@
             = link_to project_commits_path(@project, @ref, rss_url_options), title: _("Commits feed"), class: 'btn' do
               = icon("rss")
 
+    = render 'projects/commits/mirror_status'
+
     %div{ id: dom_id(@project) }
       %ol#commits-list.list-unstyled.content_list
         = render 'commits', project: @project, ref: @ref
app/views/projects/commits/_commit.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/commits/_commit.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/commits/_commit.html.haml
index 1a74b120c26..48898da266f 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/commits/_commit.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/commits/_commit.html.haml
@@ -8,6 +8,10 @@
 - ref           = local_assigns.fetch(:ref) { merge_request&.source_branch }
 
 - link = commit_path(project, commit, merge_request: merge_request)
+
+-# EE-only
+- show_project_name = local_assigns.fetch(:show_project_name, false)
+
 %li.commit.flex-row.js-toggle-container{ id: "commit-#{commit.short_id}" }
 
   .avatar-cell.d-none.d-sm-block
@@ -34,6 +38,9 @@
         - commit_timeago = time_ago_with_tooltip(commit.authored_date, placement: 'bottom')
         - commit_text =  _('%{commit_author_link} authored %{commit_timeago}') % { commit_author_link: commit_author_link, commit_timeago: commit_timeago }
         #{ commit_text.html_safe }
+      - if show_project_name
+        %span.project_namespace
+          = project.full_name
 
       - if commit.description?
         %pre.commit-row-description.js-toggle-content.append-bottom-8
app/views/projects/project_members/_new_project_member.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/project_members/_new_project_member.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/project_members/_new_project_member.html.haml
index 0590578c3fe..b2e84d36d7c 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/project_members/_new_project_member.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/project_members/_new_project_member.html.haml
@@ -19,4 +19,5 @@
           = text_field_tag :expires_at, nil, class: 'form-control js-access-expiration-date', placeholder: 'Expiration date'
           %i.clear-icon.js-clear-input
       = f.submit _("Add to project"), class: "btn btn-success qa-add-member-button"
-      = link_to _("Import"), import_project_project_members_path(@project), class: "btn btn-default", title: _("Import members from another project")
+      - if can?(current_user, :admin_project_member, @project) && !membership_locked?
+        = link_to _("Import"), import_project_project_members_path(@project), class: "btn btn-default", title: _("Import members from another project")
app/views/projects/project_members/index.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/project_members/index.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/project_members/index.html.haml
index 242ff91f539..76fd9ab1b42 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/project_members/index.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/project_members/index.html.haml
@@ -1,29 +1,35 @@
 - page_title _("Members")
+- can_admin_project_members = can?(current_user, :admin_project_member, @project)
 
 .row.prepend-top-default
   .col-lg-12
-    %h4
-      = _("Project members")
-    - if can?(current_user, :admin_project_member, @project)
-      %p
-        = _("You can invite a new member to <strong>%{project_name}</strong> or invite another group.").html_safe % { project_name: sanitize_project_name(@project.name) }
-    - else
-      %p
-        = _("Members can be added by project <i>Maintainers</i> or <i>Owners</i>").html_safe
+    - if project_can_be_shared?
+      %h4
+        = _("Project members")
+      - if can_admin_project_members
+        %p= share_project_description
+      - else
+        %p
+          = _("Members can be added by project <i>Maintainers</i> or <i>Owners</i>").html_safe
+
     .light
-      - if can?(current_user, :admin_project_member, @project)
-        %ul.nav-links.nav.nav-tabs.gitlab-tabs{ role: 'tablist' }
-          %li.nav-tab{ role: 'presentation' }
-            %a.nav-link.active{ href: '#invite-member-pane', id: 'invite-member-tab', data: { toggle: 'tab' }, role: 'tab' }= _("Invite member")
-          - if @project.allowed_to_share_with_group?
+      - if can_admin_project_members && project_can_be_shared?
+        - if !membership_locked? && @project.allowed_to_share_with_group?
+          %ul.nav-links.nav.nav-tabs.gitlab-tabs{ role: 'tablist' }
             %li.nav-tab{ role: 'presentation' }
+              %a.nav-link.active{ href: '#invite-member-pane', id: 'invite-member-tab', data: { toggle: 'tab' }, role: 'tab' }= _("Invite member")
+            %li.nav-tab{ role: 'presentation', class: ('active' if membership_locked?) }
               %a.nav-link{ href: '#invite-group-pane', id: 'invite-group-tab', data: { toggle: 'tab' }, role: 'tab' }= _("Invite group")
 
-        .tab-content.gitlab-tab-content
-          .tab-pane.active{ id: 'invite-member-pane', role: 'tabpanel' }
-            = render 'projects/project_members/new_project_member', tab_title: _('Invite member')
-          .tab-pane{ id: 'invite-group-pane', role: 'tabpanel' }
-            = render 'projects/project_members/new_project_group', tab_title: _('Invite group')
+          .tab-content.gitlab-tab-content
+            .tab-pane.active{ id: 'invite-member-pane', role: 'tabpanel' }
+              = render 'projects/project_members/new_project_member', tab_title: _('Invite member')
+            .tab-pane{ id: 'invite-group-pane', role: 'tabpanel', class: ('active' if membership_locked?) }
+              = render 'projects/project_members/new_project_group', tab_title: _('Invite group')
+        - elsif !membership_locked?
+          .invite-member= render 'projects/project_members/new_project_member', tab_title: _('Invite member')
+        - elsif @project.allowed_to_share_with_group?
+          .invite-group= render 'projects/project_members/new_project_group', tab_title: _('Invite group')
 
         = render 'shared/members/requests', membership_source: @project, requesters: @requesters
         .clearfix
app/views/projects/services/_form.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/services/_form.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/services/_form.html.haml
index aa30ebdc3b8..de1b95692d6 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/services/_form.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/services/_form.html.haml
@@ -4,7 +4,7 @@
       = @service.title
       = boolean_to_icon @service.activated?
 
-    %p= @service.description
+    %p= #{@service.description}.
 
     - if @service.respond_to?(:detailed_description)
       %p= @service.detailed_description
app/views/projects/issues/show.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/issues/show.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/issues/show.html.haml
index 653b7d4c6f3..f5dd9cf70fc 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/issues/show.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/issues/show.html.haml
@@ -74,6 +74,16 @@
 
       = edited_time_ago_with_tooltip(@issue, placement: 'bottom', html_class: 'issue-edited-ago js-issue-edited-ago')
 
+    - if can?(current_user, :read_issue_link, @project)
+      .js-related-issues-root{ data: { endpoint: project_issue_links_path(@project, @issue),
+        can_add_related_issues: "#{can?(current_user, :admin_issue_link, @issue)}",
+        help_path: help_page_path('user/project/issues/related_issues') } }
+        .related-issues-block
+          .card-slim
+            .card-header.panel-empty-heading.border-bottom-0
+              %h3.card-title.mt-0.mb-0.h5
+                Related issues
+
     #merge-requests{ data: { url: referenced_merge_requests_project_issue_path(@project, @issue) } }
       // This element is filled in using JavaScript.
app/views/projects/issues/_issue.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/issues/_issue.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/issues/_issue.html.haml
index 31c72f2f759..06bde51683e 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/issues/_issue.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/issues/_issue.html.haml
@@ -39,6 +39,12 @@
             - issue.labels.each do |label|
               = link_to_label(label, subject: issue.project, css_class: 'label-link')
 
+          - if issue.weight
+            %span.issuable-weight.d-none.d-sm-inline-block.has-tooltip{ data: { container: 'body' }, title: _('Weight') }
+              &nbsp;
+              = sprite_icon('weight', size: 16, css_class: 'issue-weight-icon')
+              = issue.weight
+
       .issuable-meta
         %ul.controls
           - if issue.closed?
app/views/projects/protected_branches/show.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/protected_branches/show.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/protected_branches/show.html.haml
index 1012ceefe93..7ccbcfded20 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/protected_branches/show.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/protected_branches/show.html.haml
@@ -5,7 +5,7 @@
     %h4.prepend-top-0.ref-name
       = @protected_ref.name
 
-  .col-lg-9
+  .col-lg-9.edit_protected_branch
     %h5 Matching Branches
     - if @matching_refs.present?
       .table-responsive
app/views/projects/protected_branches/_protected_branch.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/protected_branches/_protected_branch.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/protected_branches/_protected_branch.html.haml
index b12ae995ece..9946e1ae64c 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/protected_branches/_protected_branch.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/protected_branches/_protected_branch.html.haml
@@ -1,2 +1,2 @@
 = render layout: 'projects/protected_branches/shared/protected_branch', locals: { protected_branch: protected_branch } do
-  = render partial: 'projects/protected_branches/update_protected_branch', locals: { protected_branch: protected_branch }
+  = render partial: 'projects/protected_branches/ee/fallback_update_protected_branch', locals: { protected_branch: protected_branch }
app/views/projects/settings/ci_cd/_autodevops_form.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/settings/ci_cd/_autodevops_form.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/settings/ci_cd/_autodevops_form.html.haml
index 5ec5a06396e..713d57c78ee 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/settings/ci_cd/_autodevops_form.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/settings/ci_cd/_autodevops_form.html.haml
@@ -30,6 +30,12 @@
                     = s_('%{nip_domain} can be used as an alternative to a custom domain.').html_safe % { nip_domain: "<code>#{cluster_ingress_ip}.nip.io</code>".html_safe }
                   = link_to icon('question-circle'), help_page_path('topics/autodevops/index.md', anchor: 'auto-devops-base-domain'), target: '_blank'
 
+                -# EE-specific start
+                .form-text.text-muted
+                  = s_('CICD|Do not set up a domain here if you are setting up multiple Kubernetes clusters with Auto DevOps.')
+                  = link_to icon('question-circle'), help_page_path('topics/autodevops/index.md', anchor: 'using-multiple-kubernetes-clusters-premium'), target: '_blank'
+                -# EE-specific end
+
                 %label.prepend-top-10
                   %strong= s_('CICD|Deployment strategy')
                 %p.settings-message.text-center
app/views/projects/settings/repository/show.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/settings/repository/show.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/settings/repository/show.html.haml
index cb3a035c49e..9bfc19573e5 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/settings/repository/show.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/settings/repository/show.html.haml
@@ -3,14 +3,23 @@
 - @content_class = "limit-container-width" unless fluid_layout
 
 = render "projects/default_branch/show"
+= render "projects/push_rules/index"
 = render "projects/mirrors/mirror_repos"
 
 -# Protected branches & tags use a lot of nested partials.
 -# The shared parts of the views can be found in the `shared` directory.
 -# Those are used throughout the actual views. These `shared` views are then
 -# reused in EE.
-= render "projects/protected_branches/index"
-= render "projects/protected_tags/index"
+- if @project.feature_available?(:protected_refs_for_users, current_user)
+  .js-protected-refs-for-users
+    = render "projects/protected_branches/ee/index"
+    = render "projects/protected_tags/ee/index"
+- else
+  = render "projects/protected_branches/index"
+  = render "projects/protected_tags/index"
+
 = render @deploy_keys
 = render "projects/deploy_tokens/index"
 = render "projects/cleanup/show"
+
+= render 'shared/promotions/promote_repository_features'
app/views/projects/mirrors/_mirror_repos.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/mirrors/_mirror_repos.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/mirrors/_mirror_repos.html.haml
index 21b105e6f80..d197db52324 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/mirrors/_mirror_repos.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/mirrors/_mirror_repos.html.haml
@@ -29,7 +29,7 @@
           .form-check.append-bottom-10
             = check_box_tag :only_protected_branches, '1', false, class: 'js-mirror-protected form-check-input'
             = label_tag :only_protected_branches, _('Only mirror protected branches'), class: 'form-check-label'
-            = link_to icon('question-circle'), help_page_path('user/project/protected_branches')
+            = link_to icon('question-circle'), help_page_path('user/project/protected_branches'), target: '_blank'
 
         .panel-footer
           = f.submit _('Mirror repository'), class: 'btn btn-success js-mirror-submit qa-mirror-repository-button', name: :update_remote_mirror
app/views/projects/pipelines/index.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/pipelines/index.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/pipelines/index.html.haml
index c0ee81fe28d..cfb7a88f3d9 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/pipelines/index.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/pipelines/index.html.haml
@@ -1,6 +1,9 @@
 - @no_container = true
 - page_title "Pipelines"
 
+= content_for :flash_message do
+  = render 'shared/shared_runners_minutes_limit', project: @project
+
 %div{ 'class' => container_class }
   #pipelines-list-vue{ data: { endpoint: project_pipelines_path(@project, format: :json),
     "help-page-path" => help_page_path('ci/quick_start/README'),
app/views/projects/_flash_messages.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/_flash_messages.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/_flash_messages.html.haml
index 7a5fff96676..2705870df20 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/_flash_messages.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/_flash_messages.html.haml
@@ -5,4 +5,7 @@
   - if current_user && can?(current_user, :download_code, project)
     = render 'shared/no_ssh'
     = render 'shared/no_password'
+    = render 'shared/shared_runners_minutes_limit', project: project
     = render 'shared/auto_devops_implicitly_enabled_banner', project: project
+    - if project.above_size_limit?
+      = render 'above_size_limit_warning'
app/views/projects/_import_project_pane.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/_import_project_pane.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/_import_project_pane.html.haml
index 2b425f18389..11e6a0c4ff1 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/_import_project_pane.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/_import_project_pane.html.haml
@@ -25,8 +25,7 @@
             = render 'bitbucket_import_modal'
       - if bitbucket_server_import_enabled?
         %div
-          = link_to status_import_bitbucket_server_path, class: "btn import_bitbucket",
-          data: { track_label: "#{track_label}", track_event: "click_button", track_property: "bitbucket_server" } do
+          = link_to status_import_bitbucket_server_path, class: "btn import_bitbucket", data: { track_label: "#{track_label}", track_event: "click_button", track_property: "bitbucket_server" } do
             = icon('bitbucket-square', text: 'Bitbucket Server')
         %div
       - if gitlab_import_enabled?
@@ -55,7 +54,7 @@
 
       - if git_import_enabled?
         %div
-          %button.btn.js-toggle-button.js-import-git-toggle-button{ type: "button", data: { toggle_open_class: 'active', data: { toggle_open_class: 'active', track_label: "#{track_label}" , track_event: "click_button", track_property: "repo_url" } } }
+          %button.btn.js-toggle-button.js-import-git-toggle-button{ type: "button", data: { toggle_open_class: 'active', track_label: "#{track_label}" , track_event: "click_button", track_property: "repo_url" } }
             = icon('git', text: 'Repo by URL')
 
       - if manifest_import_enabled?
app/views/projects/branches/index.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/branches/index.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/branches/index.html.haml
index 43f1cd01b67..8e9450e94c5 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/branches/index.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/branches/index.html.haml
@@ -1,5 +1,6 @@
 - @no_container = true
 - page_title _('Branches')
+- add_to_breadcrumbs(_('Repository'), project_tree_path(@project))
 
 %div{ class: container_class }
   .top-area.adjust
@@ -44,6 +45,8 @@
         = link_to new_project_branch_path(@project), class: 'btn btn-success' do
           = s_('Branches|New branch')
 
+  = render 'projects/commits/mirror_status'
+
   - if can?(current_user, :admin_project, @project)
     - project_settings_link = link_to s_('Branches|project settings'), project_protected_branches_path(@project)
     .row-content-block
app/views/projects/branches/_branch.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/branches/_branch.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/branches/_branch.html.haml
index 4b0ea15335e..136c2b1a231 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/projects/branches/_branch.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/projects/branches/_branch.html.haml
@@ -21,6 +21,11 @@
         %span.badge.badge-success.prepend-left-5
           = s_('Branches|protected')
 
+      - if @project.mirror_ever_updated_successfully? && @repository.diverged_from_upstream?(branch.name)
+        %span.badge.badge-danger.prepend-left-5.has-tooltip{ data: { html: "true", title: branch_diverged_tooltip_message } }
+          = icon('exclamation-triangle')
+          = s_('Branches|diverged from upstream')
+
     .block-truncated
       - if commit
         = render 'projects/branches/commit', commit: commit, project: @project
app/views/search/_category.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/search/_category.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/search/_category.html.haml
index aaf9b973cda..d11258e6c32 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/search/_category.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/search/_category.html.haml
@@ -78,3 +78,19 @@
           = _("Milestones")
           %span.badge.badge-pill
             = limited_count(@search_results.limited_milestones_count)
+      - if Gitlab::CurrentSettings.elasticsearch_search?
+        %li{ class: active_when(@scope == 'blobs') }
+          = link_to search_filter_path(scope: 'blobs') do
+            = _("Code")
+            %span.badge.badge-pill
+              = limited_count(@search_results.blobs_count)
+        %li{ class: active_when(@scope == 'commits') }
+          = link_to search_filter_path(scope: 'commits') do
+            = _("Commits")
+            %span.badge.badge-pill
+              = limited_count(@search_results.commits_count)
+        %li{ class: active_when(@scope == 'wiki_blobs') }
+          = link_to search_filter_path(scope: 'wiki_blobs') do
+            = _("Wiki")
+            %span.badge.badge-pill
+              = limited_count(@search_results.wiki_blobs_count)
app/views/search/_form.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/search/_form.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/search/_form.html.haml
index 4af0c6bf84a..e6162d56bbe 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/search/_form.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/search/_form.html.haml
@@ -13,3 +13,7 @@
     - unless params[:snippets].eql? 'true'
       = render 'filter'
     = button_tag _("Search"), class: "btn btn-success btn-search"
+  - if Gitlab::CurrentSettings.elasticsearch_search?
+    .form-text.text-muted
+      = link_to 'Advanced search functionality', help_page_path('user/search/advanced_search_syntax.md'), target: '_blank'
+      is enabled.
app/views/search/_results.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/search/_results.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/search/_results.html.haml
index be7a2436d16..aed6daa8c34 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/search/_results.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/search/_results.html.haml
@@ -1,5 +1,6 @@
 - if @search_objects.to_a.empty?
   = render partial: "search/results/empty"
+  = render 'shared/promotions/promote_advanced_search'
 - else
   .row-content-block
     - unless @search_objects.is_a?(Kaminari::PaginatableWithoutCount)
@@ -11,7 +12,7 @@
       - elsif @group
         - link_to_group = link_to(@group.name, @group)
         = _("in group %{link_to_group}").html_safe % { link_to_group: link_to_group }
-
+  = render 'shared/promotions/promote_advanced_search'
   .results.prepend-top-10
     - if @scope == 'commits'
       %ul.content-list.commit-list
app/views/admin/groups/_form.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/groups/_form.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/groups/_form.html.haml
index 5e05568e384..4390d62564e 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/groups/_form.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/groups/_form.html.haml
@@ -2,7 +2,7 @@
   = form_errors(@group)
   = render 'shared/group_form', f: f
 
-  = render_if_exists 'shared/repository_size_limit_setting', form: f, type: :group
+  = render_if_exists 'shared/old_repository_size_limit_setting', form: f, type: :group
   = render_if_exists 'admin/namespace_plan', f: f
 
   .form-group.row.group-description-holder
app/views/admin/users/show.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/show.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/show.html.haml
index a74e052707f..227f02d4388 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/show.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/show.html.haml
@@ -53,6 +53,8 @@
             - else
               Disabled
 
+        = render 'admin/namespace_plan_info', namespace: @user.namespace
+
         %li
           %span.light External User:
           %strong
@@ -129,6 +131,8 @@
             %strong
               = link_to @user.created_by.name, [:admin, @user.created_by]
 
+        = render partial: "namespaces/shared_runner_status", locals: { namespace: @user.namespace }
+
   .col-md-6
     - unless @user == current_user
       - unless @user.confirmed?
@@ -141,6 +145,13 @@
             %p This user has an unconfirmed email address#{email}. You may force a confirmation.
             %br
             = link_to 'Confirm user', confirm_admin_user_path(@user), method: :put, class: "btn btn-info", data: { confirm: 'Are you sure?' }
+      - if @user.note.present?
+        - text = @user.note
+        .card.border-info
+          .card-header.bg-info.text-white
+            Admin Note
+          .card-body
+            %p= text
       - if @user.blocked?
         .card.border-info
           .card-header.bg-info.text-white
app/views/admin/users/index.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/index.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/index.html.haml
index 600120c4f05..72a79e89a7c 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/index.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/index.html.haml
@@ -23,6 +23,7 @@
               - users_sort_options_hash.each do |value, title|
                 = link_to admin_users_path(sort: value, filter: params[:filter], search_query: params[:search_query]) do
                   = title
+        = link_to 'Send email to users', admin_email_path, class: 'btn'
         = link_to 'New user', new_admin_user_path, class: 'btn btn-success btn-search'
 
     .top-area.scrolling-tabs-container.inner-page-scroll-tabs
app/views/admin/users/_head.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/_head.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/_head.html.haml
index a733f420d11..3e312ea4d28 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/_head.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/_head.html.haml
@@ -6,6 +6,8 @@
     %span.cred (Internal)
   - if @user.admin
     %span.cred (Admin)
+  - if @user.auditor
+    %span.cred (Auditor)
 
   .float-right
     - if impersonation_enabled? && @user != current_user && @user.can?(:log_in)
app/views/admin/users/_access_levels.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/_access_levels.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/_access_levels.html.haml
index 12e24ddef02..6f81d2b40dd 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/_access_levels.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/_access_levels.html.haml
@@ -22,6 +22,13 @@
       %p.light
         Regular users have access to their groups and projects
 
+      - if license_allows_auditor_user?
+        = f.radio_button :access_level, :auditor, disabled: editing_current_user
+        = label_tag :auditor, class: 'font-weight-bold' do
+          Auditor
+        %p.light
+          Auditors have read-only access to all groups, projects and users
+
       = f.radio_button :access_level, :admin, disabled: editing_current_user
       = label_tag :admin, class: 'font-weight-bold' do
         Admin
app/views/admin/users/_user.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/_user.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/_user.html.haml
index a4e2c3252af..5026ebdae7a 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/_user.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/_user.html.haml
@@ -6,6 +6,9 @@
       = link_to user.name, [:admin, user], class: "js-user-link", data: { user_id: user.id }
     - if user.blocked?
       %span.badge.badge-danger blocked
+    - if user.note.present?
+      = link_to "#", { "data-toggle" => "tooltip", title: user.note, class: "user-note"} do
+        = icon("sticky-note-o cgrey")
     - if user.admin?
       %span.badge.badge-success Admin
     - if user.external?
@@ -15,6 +18,9 @@
     .row-second-line.str-truncated-100
       = mail_to user.email, user.email
   .controls
+
+    = render 'admin/namespace_plan_badge', namespace: user.namespace
+
     = link_to 'Edit', edit_admin_user_path(user), id: "edit_#{dom_id(user)}", class: 'btn'
     - unless user == current_user
       .dropdown.inline
app/views/admin/users/_form.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/_form.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/_form.html.haml
index 296ef073144..26a7325b609 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/users/_form.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/users/_form.html.haml
@@ -48,6 +48,14 @@
 
     = render partial: 'access_levels', locals: { f: f }
 
+    - if Gitlab::CurrentSettings.should_check_namespace_plan?
+      = f.fields_for :namespace do |namespace_form|
+        %fieldset
+          %legend Licensed Features
+          = render 'admin/namespace_plan', f: namespace_form
+
+    = render partial: 'limits', locals: { f: f }
+
     %fieldset
       %legend Profile
       .form-group.row
@@ -73,6 +81,12 @@
           = f.label :website_url, 'Website', class: 'col-form-label'
         .col-sm-10= f.text_field :website_url, class: 'form-control'
 
+    %fieldset
+      %legend Admin notes
+      .form-group.row
+        = f.label :note, 'Note', class: 'col-form-label'
+        .col-sm-10= f.text_area :note, class: 'form-control'
+
     .form-actions
       - if @user.new_record?
         = f.submit 'Create user', class: "btn btn-success"
app/views/admin/projects/show.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/projects/show.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/projects/show.html.haml
index 03cce4745aa..6ff45e57d99 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/projects/show.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/projects/show.html.haml
@@ -105,6 +105,8 @@
             %span.light archived:
             %strong project is read-only
 
+        = render "shared_runner_status", project: @project
+
         %li
           %span.light access:
           %strong
app/views/admin/health_check/show.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/health_check/show.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/health_check/show.html.haml
index 0f5e97e288a..15b3b506a22 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/health_check/show.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/health_check/show.html.haml
@@ -23,7 +23,9 @@
         %code= liveness_url(token: Gitlab::CurrentSettings.health_check_access_token)
       %li
         %code= metrics_url(token: Gitlab::CurrentSettings.health_check_access_token)
-
+      - if Gitlab::Geo.secondary?
+        %li
+          %code= health_check_url(token: Gitlab::CurrentSettings.health_check_access_token, checks: :geo)
   %hr
   .card
     .card-header
app/views/admin/application_settings/_repository_mirrors_form.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_repository_mirrors_form.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_repository_mirrors_form.html.haml
index 615aa6317b0..a04b886f0ee 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_repository_mirrors_form.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_repository_mirrors_form.html.haml
@@ -12,4 +12,7 @@
         If disabled, only admins will be able to set up mirrors in projects.
         = link_to icon('question-circle'), help_page_path('workflow/repository_mirroring')
 
+  - if Gitlab.com? && License.feature_available?(:repository_mirrors)
+    = render 'mirror_settings', f: f
+
   = f.submit 'Save changes', class: "btn btn-success"
app/views/admin/application_settings/_help_page.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_help_page.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_help_page.html.haml
index 70c8c74cc5d..ec91cb5c093 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_help_page.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_help_page.html.haml
@@ -2,6 +2,10 @@
   = form_errors(@application_setting)
 
   %fieldset
+    .form-group
+      = f.label :help_text, class: 'label-bold'
+      = f.text_area :help_text, class: 'form-control', rows: 4
+      .form-text.text-muted Markdown enabled
     .form-group
       = f.label :help_page_text, class: 'label-bold'
       = f.text_area :help_page_text, class: 'form-control', rows: 4
app/views/admin/application_settings/_visibility_and_access.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_visibility_and_access.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_visibility_and_access.html.haml
index 0725ffb7f6c..2f70351939c 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_visibility_and_access.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_visibility_and_access.html.haml
@@ -5,6 +5,7 @@
     .form-group
       = f.label :default_branch_protection, class: 'label-bold'
       = f.select :default_branch_protection, options_for_select(Gitlab::Access.protection_options, @application_setting.default_branch_protection), {}, class: 'form-control'
+    = render partial: 'admin/application_settings/ee/project_creation_level', locals: { form: f, application_setting: @application_setting }
     .form-group.visibility-level-setting
       = f.label :default_project_visibility, class: 'label-bold'
       = render('shared/visibility_radios', model_method: :default_project_visibility, form: f, selected_level: @application_setting.default_project_visibility, form_model: Project.new)
@@ -37,6 +38,18 @@
         and GitLab.com
         = link_to "(?)", help_page_path("integration/gitlab")
 
+    -# EE-only
+    - if ldap_enabled?
+      .form-group
+        = f.label :allow_group_owners_to_manage_ldap, 'LDAP settings', class: 'label-bold'
+        .form-check
+          = f.check_box :allow_group_owners_to_manage_ldap, class: 'form-check-input'
+          = f.label :allow_group_owners_to_manage_ldap, class: 'form-check-label' do
+            Allow group owners to manage LDAP-related settings
+        %span.form-text.text-muted
+          If checked, group owners can manage LDAP group links and LDAP member overrides
+          = link_to icon('question-circle'), help_page_path('administration/auth/ldap-ee')
+
     .form-group
       .form-check
         = f.check_box :project_export_enabled, class: 'form-check-input'
app/views/admin/application_settings/_ci_cd.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_ci_cd.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_ci_cd.html.haml
index c99d7e9b8e9..ff44744212f 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_ci_cd.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_ci_cd.html.haml
@@ -22,6 +22,9 @@
         = f.check_box :shared_runners_enabled, class: 'form-check-input'
         = f.label :shared_runners_enabled, class: 'form-check-label' do
           Enable shared runners for new projects
+
+    = render 'shared_runners_minutes_setting', form: f
+
     .form-group
       = f.label :shared_runners_text, class: 'label-bold'
       = f.text_area :shared_runners_text, class: 'form-control', rows: 4
app/views/admin/application_settings/_email.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_email.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_email.html.haml
index 60a6be731ea..8f7598ce0db 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_email.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_email.html.haml
@@ -26,5 +26,13 @@
       .form-text.text-muted
         - commit_email_hostname_docs_link = link_to _('Learn more'), help_page_path('user/admin_area/settings/email', anchor: 'custom-private-commit-email-hostname'), target: '_blank'
         = _("This setting will update the hostname that is used to generate private commit emails. %{learn_more}").html_safe % { learn_more: commit_email_hostname_docs_link }
+    -# EE-specific start
+    - if License.feature_available?(:email_additional_text)
+      .form-group
+        = f.label :email_additional_text, _('Additional text'), class: 'label-bold'
+        = f.text_area :email_additional_text, class: 'form-control', maxlength: Gitlab::CurrentSettings.email_additional_text_character_limit, rows: 4
+        .form-text.text-muted
+          = _('Add additional text to appear in all email communications. %{character_limit} character limit') % { character_limit: number_with_delimiter(Gitlab::CurrentSettings.email_additional_text_character_limit) }
+    -# EE-specific end
 
   = f.submit 'Save changes', class: "btn btn-success"
app/views/admin/application_settings/_account_and_limit.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_account_and_limit.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_account_and_limit.html.haml
index 10bc3452d8b..7d5fc453368 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/application_settings/_account_and_limit.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/application_settings/_account_and_limit.html.haml
@@ -13,6 +13,9 @@
     .form-group
       = f.label :max_attachment_size, 'Maximum attachment size (MB)', class: 'label-bold'
       = f.number_field :max_attachment_size, class: 'form-control'
+
+    = render 'repository_size_limit_setting', form: f
+
     .form-group
       = f.label :receive_max_input_size, 'Maximum push size (MB)', class: 'label-light'
       = f.number_field :receive_max_input_size, class: 'form-control'
@@ -46,4 +49,13 @@
         = f.label :user_show_add_ssh_key_message, class: 'form-check-label' do
           Inform users without uploaded SSH keys that they can't push over SSH until one is added
 
+    - if ::Gitlab.dev_env_or_com?
+      .form-group
+        = f.label :check_namespace_plan, 'Check feature availability on namespace plan', class: 'label-bold'
+        .form-check
+          = f.check_box :check_namespace_plan, class: 'form-check-input'
+          = f.label :check_namespace_plan, class: 'form-check-label' do
+            Enabling this will only make licensed EE features available to projects if the project namespace's plan
+            includes the feature or if the project is public.
+
   = f.submit 'Save changes', class: 'btn btn-success'
app/views/admin/appearances/_form.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/appearances/_form.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/appearances/_form.html.haml
index 544f09048f5..c8517c2babe 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/admin/appearances/_form.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/admin/appearances/_form.html.haml
@@ -37,6 +37,8 @@
         %br
         Images with incorrect dimensions are not resized automatically, and may result in unexpected behavior.
 
+  = render partial: 'admin/appearances/system_header_footer_form', locals: { form: f }
+
   %fieldset.sign-in
     %legend
       Sign in/Sign up pages:
app/views/import/github/new.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/import/github/new.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/import/github/new.html.haml
index 6ff25f2c842..436de60e51c 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/import/github/new.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/import/github/new.html.haml
@@ -22,6 +22,10 @@
     = text_field_tag :personal_access_token, '', class: 'form-control append-right-8', placeholder: _('Personal Access Token'), size: 40
     = submit_tag _('List your GitHub repositories'), class: 'btn btn-success'
 
+  -# EE-specific start
+  = hidden_field_tag :ci_cd_only, params[:ci_cd_only]
+  -# EE-specific end
+
 - unless github_import_configured?
   %hr
   %p
app/views/profiles/accounts/show.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/profiles/accounts/show.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/profiles/accounts/show.html.haml
index ee2c5a13b8a..41cb62e1d0f 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/profiles/accounts/show.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/profiles/accounts/show.html.haml
@@ -8,17 +8,17 @@
 .row.prepend-top-default
   .col-lg-4.profile-settings-sidebar
     %h4.prepend-top-0
-      = s_('Profiles|Two-Factor Authentication')
+      = s_("Profiles|Two-Factor Authentication")
     %p
       = s_("Profiles|Increase your account's security by enabling Two-Factor Authentication (2FA)")
   .col-lg-8
     %p
       #{_('Status')}: #{current_user.two_factor_enabled? ? _('Enabled') : _('Disabled')}
     - if current_user.two_factor_enabled?
-      = link_to _('Manage two-factor authentication'), profile_two_factor_auth_path, class: 'btn btn-info'
+      = link_to _("Manage two-factor authentication"), profile_two_factor_auth_path, class: 'btn btn-info'
     - else
       .append-bottom-10
-        = link_to _('Enable two-factor authentication'), profile_two_factor_auth_path, class: 'btn btn-success'
+        = link_to _("Enable two-factor authentication"), profile_two_factor_auth_path, class: 'btn btn-success'
 
 %hr
 - if display_providers_on_profile?
app/views/profiles/keys/_key.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/profiles/keys/_key.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/profiles/keys/_key.html.haml
index ce20994b0f4..6941aca7243 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/profiles/keys/_key.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/profiles/keys/_key.html.haml
@@ -18,6 +18,7 @@
   .float-right
     %span.key-created-at
       created #{time_ago_with_tooltip(key.created_at)}
-    = link_to path_to_key(key, is_admin), data: { confirm: 'Are you sure?'}, method: :delete, class: "btn btn-transparent prepend-left-10" do
-      %span.sr-only Remove
-      = icon('trash')
+    - unless key.is_a? LDAPKey
+      = link_to path_to_key(key, is_admin), data: { confirm: 'Are you sure?'}, method: :delete, class: "btn btn-transparent prepend-left-10" do
+        %span.sr-only Remove
+        = icon('trash')
app/views/profiles/keys/_key_details.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/profiles/keys/_key_details.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/profiles/keys/_key_details.html.haml
index 88473c7f72d..d637cdf5d0c 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/profiles/keys/_key_details.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/profiles/keys/_key_details.html.haml
@@ -24,4 +24,5 @@
       = @key.key
   .col-md-12
     .float-right
-      = link_to 'Remove', path_to_key(@key, is_admin), data: {confirm: 'Are you sure?'}, method: :delete, class: "btn btn-remove delete-key qa-delete-key-button"
+      - unless @key.is_a? LDAPKey
+        = link_to 'Remove', path_to_key(@key, is_admin), data: {confirm: 'Are you sure?'}, method: :delete, class: "btn btn-remove delete-key qa-delete-key-button"
app/views/devise/shared/_tabs_ldap.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/devise/shared/_tabs_ldap.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/devise/shared/_tabs_ldap.html.haml
index aee05b6c81c..9f7d726f0af 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/devise/shared/_tabs_ldap.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/devise/shared/_tabs_ldap.html.haml
@@ -2,6 +2,9 @@
   - if crowd_enabled?
     %li.nav-item
       = link_to "Crowd", "#crowd", class: "nav-link #{active_when(form_based_auth_provider_has_active_class?(:crowd))}", 'data-toggle' => 'tab'
+  - if kerberos_enabled?
+    %li.nav-item
+      = link_to "Kerberos", "#kerberos", class: "nav-link #{active_when(form_based_auth_provider_has_active_class?(:kerberos))}", 'data-toggle' => 'tab'
   - @ldap_servers.each_with_index do |server, i|
     %li.nav-item
       = link_to server['label'], "##{server['provider_name']}", class: "nav-link #{active_when(i.zero? && form_based_auth_provider_has_active_class?(:ldapmain))} qa-ldap-tab", 'data-toggle' => 'tab'
app/views/devise/shared/_signup_box.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/devise/shared/_signup_box.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/devise/shared/_signup_box.html.haml
index 004a3528d4b..570427d0227 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/devise/shared/_signup_box.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/devise/shared/_signup_box.html.haml
@@ -29,6 +29,7 @@
             - terms_link = link_to s_("I accept the|Terms of Service and Privacy Policy"), terms_path, target: "_blank"
             - accept_terms_label = _("I accept the %{terms_link}") % { terms_link: terms_link }
             = accept_terms_label.html_safe
+      = render 'devise/shared/ee/email_opted_in', f: f
       %div
       - if Gitlab::Recaptcha.enabled?
         = recaptcha_tags
app/views/devise/shared/_signin_box.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/devise/shared/_signin_box.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/devise/shared/_signin_box.html.haml
index ec968e435cd..ca72498cb61 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/devise/shared/_signin_box.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/devise/shared/_signin_box.html.haml
@@ -3,17 +3,24 @@
     .login-box.tab-pane{ id: "crowd", role: 'tabpanel', class: active_when(form_based_auth_provider_has_active_class?(:crowd)) }
       .login-body
         = render 'devise/sessions/new_crowd'
+
+  - if kerberos_enabled?
+    .login-box.tab-pane{ id: "kerberos", role: 'tabpanel', class: active_when(form_based_auth_provider_has_active_class?(:kerberos)) }
+      .login-body
+        = render 'devise/sessions/new_kerberos'
+
   - @ldap_servers.each_with_index do |server, i|
     .login-box.tab-pane{ id: "#{server['provider_name']}", role: 'tabpanel', class: active_when(i.zero? && form_based_auth_provider_has_active_class?(:ldapmain)) }
       .login-body
         = render 'devise/sessions/new_ldap', server: server
+
+  = render_if_exists 'devise/sessions/new_smartcard'
+
   - if password_authentication_enabled_for_web?
     .login-box.tab-pane{ id: 'login-pane', role: 'tabpanel' }
       .login-body
         = render 'devise/sessions/new_base'
 
-  = render_if_exists 'devise/sessions/new_smartcard'
-
 - elsif password_authentication_enabled_for_web?
   .login-box.tab-pane.active{ id: 'login-pane', role: 'tabpanel' }
     .login-body
app/views/shared/_confirm_modal.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/shared/_confirm_modal.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/shared/_confirm_modal.html.haml
index 1dcf4369253..73e0555f3b5 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/shared/_confirm_modal.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/shared/_confirm_modal.html.haml
@@ -11,8 +11,9 @@
         %p.text-danger.js-confirm-text
 
         %p
-          This action can lead to data loss.
-          To prevent accidental actions we ask you to confirm your intention.
+          %span.js-warning-text
+            This action can lead to data loss.
+            To prevent accidental actions we ask you to confirm your intention.
           %br
           Please type
           %code.js-confirm-danger-match= phrase
app/views/shared/members/_member.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/shared/members/_member.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/shared/members/_member.html.haml
index 2db1f67a793..bb8904e967b 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/shared/members/_member.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/shared/members/_member.html.haml
@@ -5,7 +5,7 @@
 - user = local_assigns.fetch(:user, member.user)
 - source = member.source
 
-%li.member{ class: dom_class(member), id: dom_id(member) }
+%li.member{ class: [dom_class(member), ("is-overriden" if member.override)], id: dom_id(member) }
   %span.list-item-name
     - if user
       = image_tag avatar_icon_for_user(user, 40), class: "avatar s40", alt: ''
@@ -54,6 +54,7 @@
   - if show_roles
     - current_resource = @project || @group
     .controls.member-controls
+      = render 'shared/members/ee/ldap_tag', can_override: member.can_override?, visible: false
       - if show_controls && member.source == current_resource
 
         - if member.can_resend_invite?
@@ -67,6 +68,7 @@
             = f.hidden_field :access_level
             .member-form-control.dropdown.append-right-5
               %button.dropdown-menu-toggle.js-member-permissions-dropdown{ type: "button",
+                disabled: member.can_override? && !member.override?,
                 data: { toggle: "dropdown", field_name: "#{f.object_name}[access_level]" } }
                 %span.dropdown-toggle-text
                   = member.human_access
@@ -80,8 +82,13 @@
                         = link_to role, "javascript:void(0)",
                           class: ("is-active" if member.access_level == role_id),
                           data: { id: role_id, el_id: dom_id(member) }
+                    = render 'shared/members/ee/revert_ldap_group_sync_option',
+                      group: @group,
+                      member: member,
+                      can_override: member.can_override?
             .prepend-left-5.clearable-input.member-form-control
               = f.text_field :expires_at,
+                disabled: member.can_override? && !member.override?,
                 class: 'form-control js-access-expiration-date js-member-update-control',
                 placeholder: _('Expiration date'),
                 id: "member_expires_at_#{member.id}",
@@ -116,5 +123,8 @@
                 = _("Delete")
               - unless force_mobile_view
                 = icon('trash', class: 'd-none d-sm-block')
+        = render 'shared/members/ee/override_member_buttons', group: @group, member: member, user: user, action: :edit, can_override: member.can_override?
       - else
         %span.member-access-text= member.human_access
+
+= render 'shared/members/ee/override_member_buttons', group: @group, member: member, user: user, action: :confirm, can_override: member.can_override?
app/views/shared/_import_form.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/shared/_import_form.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/shared/_import_form.html.haml
index 7b593ca4f76..a599e374261 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/shared/_import_form.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/shared/_import_form.html.haml
@@ -18,3 +18,11 @@
           = import_will_timeout_message(ci_cd_only)
         %li
           = import_svn_message(ci_cd_only)
+        - unless ci_cd_only
+          %li
+            - ssh_link = link_to _('here'), help_page_path('/workflow/repository_mirroring.md', anchor: 'ssh-authentication')
+            = _('Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}').html_safe % { ssh_link: ssh_link }
+
+-# EE-specific start
+= render 'shared/ee/import_form', f: f unless ci_cd_only
+-# EE-specific end
app/views/shared/_clone_panel.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/shared/_clone_panel.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/shared/_clone_panel.html.haml
index a2df0347fd6..16ad8ebc656 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/shared/_clone_panel.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/shared/_clone_panel.html.haml
@@ -16,7 +16,14 @@
           = ssh_clone_button(project)
         %li
           = http_clone_button(project)
+        - if alternative_kerberos_url?
+          %li
+            = kerberos_clone_button(project)
 
   = text_field_tag :project_clone, default_url_to_repo(project), class: "js-select-on-focus form-control", readonly: true, aria: { label: 'Project clone URL' }
   .input-group-append
     = clipboard_button(target: '#project_clone', title: _("Copy URL to clipboard"), class: "input-group-text btn-default btn-clipboard")
+
+    = geo_button(modal_target: '#modal-geo-info')
+
+= render 'shared/geo_info_modal', project: project if Gitlab::Geo.secondary?
app/views/shared/_label_row.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/shared/_label_row.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/shared/_label_row.html.haml
index c5ea15a7f63..16c8fef86ae 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/shared/_label_row.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/shared/_label_row.html.haml
@@ -1,5 +1,6 @@
 - subject = local_assigns[:subject]
 - force_priority = local_assigns.fetch(:force_priority, false)
+- show_label_epics_link = defined?(@group) && @group&.feature_available?(:epics)
 - show_label_issues_link = defined?(@project) && show_label_issuables_link?(label, :issues, project: @project)
 - show_label_merge_requests_link = defined?(@project) && show_label_issuables_link?(label, :merge_requests, project: @project)
 
@@ -14,13 +15,18 @@
       .description-text
         = markdown_field(label, :description)
     %ul.label-links
+      - if show_label_epics_link
+        %li.label-link-item.inline
+          = link_to 'Epics', group_epics_path(@group, label_name:[label.name])
+          &middot;
       - if show_label_issues_link
         %li.label-link-item.inline
           = link_to_label(label, subject: subject) { 'Issues' }
+          &middot;
       - if show_label_merge_requests_link
-        &middot;
         %li.label-link-item.inline
           = link_to_label(label, subject: subject, type: :merge_request) { _('Merge requests') }
+          &middot;
       - if force_priority
         %li.label-link-item.priority-badge.js-priority-badge.inline.prepend-left-10
           .label-badge.label-badge-blue= _('Prioritized label')
app/views/dashboard/projects/_zero_authorized_projects.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/dashboard/projects/_zero_authorized_projects.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/dashboard/projects/_zero_authorized_projects.html.haml
index 18a82feb189..8ea0262d700 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/dashboard/projects/_zero_authorized_projects.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/dashboard/projects/_zero_authorized_projects.html.haml
@@ -1,5 +1,7 @@
-.blank-state-parent-container
-  .section-container.section-welcome{ class: "#{ 'section-admin-welcome' if current_user.admin? }" }
+- admin_without_ee_license = !current_license && current_user.admin?
+
+.blank-state-parent-container{ class: ('has-start-trial-container' if admin_without_ee_license) }
+  .section-container.section-welcome
     .container.section-body
       .row
         .blank-state-welcome
@@ -7,7 +9,12 @@
             Welcome to GitLab
           %p.blank-state-text
             Code, test, and deploy together
-        - if current_user.admin?
-          = render "blank_state_admin_welcome"
-        - else
-          = render "blank_state_welcome"
+        .blank-state-row
+          %div{ class: ('column-large' if admin_without_ee_license) }
+            - if current_user.admin?
+              = render "blank_state_admin_welcome"
+            - else
+              = render "blank_state_welcome"
+          - if admin_without_ee_license
+            .column-small
+              = render "blank_state_ee_trial"
app/views/layouts/devise.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/devise.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/devise.html.haml
index 6003d973c88..7d8b611fc45 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/devise.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/devise.html.haml
@@ -2,6 +2,7 @@
 %html.devise-layout-html{ class: system_message_class }
   = render "layouts/head"
   %body.ui-indigo.login-page.application.navless.qa-login-page{ data: { page: body_data_page } }
+    = header_message
     .page-wrap
       = render "layouts/header/empty"
       .login-page-broadcast
@@ -25,6 +26,12 @@
 
               - if Gitlab::CurrentSettings.sign_in_text.present?
                 = markdown_field(Gitlab::CurrentSettings.current_application_settings, :sign_in_text)
+
+              - if Gitlab::CurrentSettings.help_text.present?
+                %h3= _("Need help?")
+                %hr
+                %p.slead
+                  = markdown(Gitlab::CurrentSettings.help_text)
             .col-sm-5.new-session-forms-container
               = yield
 
@@ -34,3 +41,4 @@
           = link_to _("Explore"), explore_root_path
           = link_to _("Help"), help_path
           = link_to _("About GitLab"), "https://about.gitlab.com/"
+      = footer_message
app/views/layouts/application.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/application.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/application.html.haml
index 4373240001e..043cca6ad38 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/application.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/application.html.haml
@@ -5,7 +5,9 @@
     = render "layouts/init_auto_complete" if @gfm_form
     = render "layouts/init_client_detection_flags"
     = render 'peek/bar'
-    = render  partial: "layouts/header/default", locals: { project: @project, group: @group }
+    = header_message
+    = render partial: "layouts/header/default", locals: { project: @project, group: @group }
     = render 'layouts/page', sidebar: sidebar, nav: nav
+    = footer_message
 
     = yield :scripts_body
app/views/layouts/_mailer.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/_mailer.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/_mailer.html.haml
index ddc1cdb24b5..18b40ff778e 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/_mailer.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/_mailer.html.haml
@@ -63,6 +63,10 @@
                       %tbody
                         = yield
 
+        -# EE-specific start
+        = render 'layouts/mailer/additional_text'
+        -# EE-specific end
+
         %tr.footer
           %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
             %img{ alt: "GitLab", height: "33", src: image_url('mailers/gitlab_footer_logo.gif'), style: "display:block;margin:0 auto 1em;", width: "90" }/
app/views/layouts/nav/sidebar/_project.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/nav/sidebar/_project.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/nav/sidebar/_project.html.haml
index 207c08ee5bb..9af39562379 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/nav/sidebar/_project.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/nav/sidebar/_project.html.haml
@@ -268,6 +268,12 @@
                         %span= _("Got it!")
                         = sprite_icon('thumb-up')
 
+            - if project_nav_tab? :feature_flags
+              = nav_link(controller: :feature_flags) do
+                = link_to project_feature_flags_path(@project), title: _('Feature Flags'), class: 'shortcuts-feature-flags' do
+                  %span
+                    = _('Feature Flags')
+
       - if project_nav_tab? :container_registry
         = nav_link(controller: %w[projects/registry/repositories]) do
           = link_to project_container_registry_index_path(@project), class: 'shortcuts-container-registry' do
@@ -281,6 +287,19 @@
                 %strong.fly-out-top-item-name
                   = _('Registry')
 
+      - if project_nav_tab? :packages
+        = nav_link(controller: %w[projects/packages/packages]) do
+          = link_to project_packages_path(@project) do
+            .nav-icon-container
+              = sprite_icon('package')
+            %span.nav-item-name
+              = _('Packages')
+          %ul.sidebar-sub-level-items.is-fly-out-only
+            = nav_link(controller: %w[projects/packages/packages], html_options: { class: "fly-out-top-item" } ) do
+              = link_to project_packages_path(@project) do
+                %strong.fly-out-top-item-name
+                  = _('Packages')
+
       - if project_nav_tab? :wiki
         = nav_link(controller: :wikis) do
           = link_to get_project_wiki_path(@project), class: 'shortcuts-wiki qa-wiki-link' do
app/views/layouts/nav/sidebar/_admin.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/nav/sidebar/_admin.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/nav/sidebar/_admin.html.haml
index 5f15ba87729..8f4e9c86527 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/nav/sidebar/_admin.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/nav/sidebar/_admin.html.haml
@@ -48,7 +48,7 @@
               %span
                 = _('Gitaly Servers')
 
-      = nav_link(controller: %w(system_info background_jobs logs health_check requests_profiles)) do
+      = nav_link(controller: %w(system_info background_jobs logs health_check requests_profiles audit_logs)) do
         = link_to admin_system_info_path do
           .nav-icon-container
             = sprite_icon('monitor')
@@ -81,6 +81,7 @@
             = link_to admin_requests_profiles_path, title: _('Requests Profiles') do
               %span
                 = _('Requests Profiles')
+          = render 'layouts/nav/ee/new_admin_monitoring_sidebar'
 
       = nav_link(controller: :broadcast_messages) do
         = link_to admin_broadcast_messages_path do
@@ -132,6 +133,18 @@
                 = _('Abuse Reports')
               %span.badge.badge-pill.count.merge_counter.js-merge-counter.fly-out-badge= number_with_delimiter(AbuseReport.count(:all))
 
+      = nav_link(controller: :licenses) do
+        = link_to admin_license_path, class: "qa-link-license-menu" do
+          .nav-icon-container
+            = sprite_icon('license')
+          %span.nav-item-name
+            = _('License')
+        %ul.sidebar-sub-level-items.is-fly-out-only
+          = nav_link(controller: :licenses, html_options: { class: "fly-out-top-item" } ) do
+            = link_to admin_license_path do
+              %strong.fly-out-top-item-name
+                = _('License')
+
       - if akismet_enabled?
         = nav_link(controller: :spam_logs) do
           = link_to admin_spam_logs_path do
@@ -145,6 +158,40 @@
                 %strong.fly-out-top-item-name
                   = _('Spam Logs')
 
+      = nav_link(controller: :push_rules) do
+        = link_to admin_push_rule_path do
+          .nav-icon-container
+            = sprite_icon('push-rules')
+          %span.nav-item-name
+            = _('Push Rules')
+        %ul.sidebar-sub-level-items.is-fly-out-only
+          = nav_link(controller: :push_rules, html_options: { class: "fly-out-top-item" } ) do
+            = link_to admin_push_rule_path do
+              %strong.fly-out-top-item-name
+                = _('Push Rules')
+
+      = nav_link(controller: %w(admin/geo/nodes admin/geo/projects)) do
+        = link_to admin_geo_nodes_path, class: "qa-link-geo-menu" do
+          .nav-icon-container
+            = sprite_icon('location-dot')
+          %span.nav-item-name
+            #{ _('Geo') }
+        - if Gitlab::Geo.secondary?
+          %ul.sidebar-sub-level-items
+            = nav_link(controller: 'admin/geo/nodes', html_options: { class: "fly-out-top-item" } ) do
+              = link_to admin_geo_nodes_path do
+                %strong.fly-out-top-item-name
+                  #{ _('Geo') }
+            %li.divider.fly-out-top-item
+            = nav_link(path: 'admin/geo/nodes#index') do
+              = link_to admin_geo_nodes_path, title: 'Nodes' do
+                %span
+                  #{ _('Nodes') }
+            = nav_link(path: 'admin/geo/projects#index') do
+              = link_to admin_geo_projects_path, title: 'Projects' do
+                %span
+                  = _('Projects')
+
       = nav_link(controller: :deploy_keys) do
         = link_to admin_deploy_keys_path do
           .nav-icon-container
app/views/layouts/nav/sidebar/_profile.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/nav/sidebar/_profile.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/nav/sidebar/_profile.html.haml
index 1e3bb8f1224..0020c731579 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/nav/sidebar/_profile.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/nav/sidebar/_profile.html.haml
@@ -28,6 +28,18 @@
             = link_to profile_account_path do
               %strong.fly-out-top-item-name
                 = _('Account')
+      - if Gitlab::CurrentSettings.should_check_namespace_plan?
+        = nav_link(controller: :billings) do
+          = link_to profile_billings_path do
+            .nav-icon-container
+              = custom_icon('credit_card')
+            %span.nav-item-name
+              = _("Billing")
+          %ul.sidebar-sub-level-items.is-fly-out-only
+            = nav_link(controller: :billings, html_options: { class: "fly-out-top-item" } ) do
+              = link_to profile_billings_path do
+                %strong.fly-out-top-item-name
+                  #{ _('Billing') }
       = nav_link(controller: 'oauth/applications') do
         = link_to applications_profile_path do
           .nav-icon-container
@@ -150,5 +162,16 @@
             = link_to audit_log_profile_path do
               %strong.fly-out-top-item-name
                 = _('Authentication Log')
+      = nav_link(path: 'profiles#pipeline_quota') do
+        = link_to profile_pipeline_quota_path do
+          .nav-icon-container
+            = custom_icon('pipeline')
+          %span.nav-item-name
+            = _('Pipeline quota')
+        %ul.sidebar-sub-level-items.is-fly-out-only
+          = nav_link(path: 'profiles#pipeline_quota', html_options: { class: "fly-out-top-item" } ) do
+            = link_to profile_pipeline_quota_path do
+              %strong.fly-out-top-item-name
+                = _('Pipeline quota')
 
     = render 'shared/sidebar_toggle_button'
app/views/layouts/nav/_dashboard.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/nav/_dashboard.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/nav/_dashboard.html.haml
index f659c89dd30..b94008a8d34 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/nav/_dashboard.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/nav/_dashboard.html.haml
@@ -95,3 +95,7 @@
       = link_to sherlock_transactions_path, class: 'admin-icon d-none d-lg-block d-xl-block', title: _('Sherlock Transactions'),
         data: {toggle: 'tooltip', placement: 'bottom', container: 'body'} do
         = icon('tachometer fw')
+  - if Gitlab::Geo.secondary? && Gitlab::Geo.primary_node_configured?
+    %li
+      = link_to Gitlab::Geo.primary_node.url, title: 'Go to primary node', data: {toggle: 'tooltip', placement: 'bottom', container: 'body'} do
+        = sprite_icon('location-dot', size: 18)
app/views/layouts/_head.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/_head.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/_head.html.haml
index 0bb2363f65a..e713c496dab 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/_head.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/_head.html.haml
@@ -75,3 +75,4 @@
 
   = render 'layouts/google_analytics' if extra_config.has_key?('google_analytics_id')
   = render 'layouts/piwik' if extra_config.has_key?('piwik_url') && extra_config.has_key?('piwik_site_id')
+  = render 'layouts/snowplow' if Gitlab::CurrentSettings.snowplow_enabled?
app/views/layouts/fullscreen.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/fullscreen.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/fullscreen.html.haml
index e29f646ed4f..d847261cdf2 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/fullscreen.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/fullscreen.html.haml
@@ -3,6 +3,7 @@
   = render "layouts/head"
   %body{ class: "#{user_application_theme} #{@body_class} fullscreen-layout", data: { page: body_data_page } }
     = render 'peek/bar'
+    = header_message
     = render partial: "layouts/header/default", locals: { project: @project, group: @group }
     = render 'shared/outdated_browser'
     .mobile-overlay
@@ -12,3 +13,4 @@
       = render "layouts/flash"
     .content-wrapper{ id: "content-body", class: "d-flex flex-column align-items-stretch" }
       = yield
+    = footer_message
app/views/layouts/devise_empty.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/devise_empty.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/devise_empty.html.haml
index 663e5b24368..6c9c8aa4431 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/devise_empty.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/devise_empty.html.haml
@@ -2,6 +2,7 @@
 %html{ lang: "en", class: system_message_class }
   = render "layouts/head"
   %body.ui-indigo.login-page.application.navless
+    = header_message
     = render "layouts/header/empty"
     = render "layouts/broadcast"
     .container.navless-container
@@ -15,3 +16,4 @@
         = link_to _("Explore"), explore_root_path
         = link_to _("Help"), help_path
         = link_to _("About GitLab"), "https://about.gitlab.com/"
+    = footer_message
app/views/layouts/_page.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/_page.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/_page.html.haml
index 1b2a4cd6780..6121b24e891 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/_page.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/_page.html.haml
@@ -5,8 +5,10 @@
     = render 'shared/outdated_browser'
     .mobile-overlay
     .alert-wrapper
+      = render "layouts/header/ee_license_banner"
       = render "layouts/broadcast"
       = render "layouts/header/read_only_banner"
+      = render "layouts/nav/ee/classification_level_banner"
       = yield :flash_message
       = render "shared/ping_consent"
       - unless @hide_breadcrumbs
app/views/layouts/notify.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/notify.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/notify.html.haml
index 1c3e05e07f4..9dfa4220e55 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/notify.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/notify.html.haml
@@ -30,3 +30,10 @@
             adjust your notification settings.
 
           = email_action @target_url
+
+        -# EE-specific start
+        - if Gitlab::CurrentSettings.email_additional_text.present?
+          %br
+          %br
+            = Gitlab::Utils.nlbr(Gitlab::CurrentSettings.email_additional_text)
+        -# EE-specific end
app/views/layouts/header/_help_dropdown.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/header/_help_dropdown.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/header/_help_dropdown.html.haml
index cd9128c452b..6c4e988ef81 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/layouts/header/_help_dropdown.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/layouts/header/_help_dropdown.html.haml
@@ -7,3 +7,5 @@
     = link_to _("Submit feedback"), "https://about.gitlab.com/submit-feedback"
   - if current_user_menu?(:help) || current_user_menu?(:settings) || current_user_menu?(:profile)
     = render 'shared/user_dropdown_contributing_link'
+  - if instance_review_permitted?
+    = render 'shared/user_dropdown_instance_review'
app/views/repository_check_mailer/notify.text.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/repository_check_mailer/notify.text.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/repository_check_mailer/notify.text.haml
index 6b64b337b0e..a160bfbef74 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/repository_check_mailer/notify.text.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/repository_check_mailer/notify.text.haml
@@ -3,3 +3,10 @@
 = _("View details: %{details_url}") % { details_url: admin_projects_url(last_repository_check_failed: 1) }
 
 = _("You are receiving this message because you are a GitLab administrator for %{url}.") % { url: Gitlab.config.gitlab.url }
+
+-# EE-specific start
+- if Gitlab::CurrentSettings.email_additional_text.present?
+  \
+  = '---'
+  = Gitlab::Utils.nlbr(Gitlab::CurrentSettings.email_additional_text)
+-# EE-specific end
app/views/repository_check_mailer/notify.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/repository_check_mailer/notify.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/repository_check_mailer/notify.html.haml
index d5327a2b4cc..2493d00983c 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/repository_check_mailer/notify.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/repository_check_mailer/notify.html.haml
@@ -6,3 +6,12 @@
 
 %p
   = _("You are receiving this message because you are a GitLab administrator for %{url}.") % { url: Gitlab.config.gitlab.url }
+
+-# EE-specific start
+- if Gitlab::CurrentSettings.email_additional_text.present?
+  %p
+    &mdash;
+    %br
+    %br
+      = Gitlab::Utils.nlbr(Gitlab::CurrentSettings.email_additional_text)
+-# EE-specific end
app/views/clusters/clusters/show.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/clusters/clusters/show.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/clusters/clusters/show.html.haml
index 1ef76ef801e..e234d84d28b 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/clusters/clusters/show.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/clusters/clusters/show.html.haml
@@ -33,6 +33,10 @@
     = render 'banner'
     = render 'form'
 
+  -# EE-specific
+  - if @cluster.project_type? && @cluster.project.feature_available?(:cluster_health)
+    = render 'health'
+
   .cluster-applications-table#js-cluster-applications
 
   %section.settings#js-cluster-details{ class: ('expanded' if expanded) }
app/views/clusters/clusters/_sidebar.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/clusters/clusters/_sidebar.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/clusters/clusters/_sidebar.html.haml
index 6e4415c21a9..2fd50d1e3ca 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/clusters/clusters/_sidebar.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/clusters/clusters/_sidebar.html.haml
@@ -1,6 +1,11 @@
+- autodevops_help_url = help_page_path('topics/autodevops/index.md', anchor: 'using-multiple-kubernetes-clusters-premium')
+- help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe
+- help_link_end = '</a>'.html_safe
 %h4.prepend-top-0
   = s_('ClusterIntegration|Add a Kubernetes cluster integration')
 %p
   = clusterable.sidebar_text
 %p
   = clusterable.learn_more_link
+%p
+  = s_('ClusterIntegration|If you are setting up multiple clusters and are using Auto DevOps, %{help_link_start}read this first%{help_link_end}.').html_safe % { help_link_start: help_link_start % { url: autodevops_help_url }, help_link_end: help_link_end }
app/views/help/index.html.haml
diff --git a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/help/index.html.haml b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/help/index.html.haml
index dfa5d820ce9..54f021da73b 100644
--- a/home/yorickpeterse/Projects/gitlab/gdk-ce/gitlab/app/views/help/index.html.haml
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/app/views/help/index.html.haml
@@ -1,11 +1,11 @@
 %div
 - if Gitlab::CurrentSettings.help_page_text.present?
-  = markdown_field(Gitlab::CurrentSettings.current_application_settings, :help_page_text)
+  = markdown(Gitlab::CurrentSettings.help_page_text)
   %hr
 
 %h1
   GitLab
-  Community Edition
+  Enterprise Edition
   - if user_signed_in?
     %span= link_to_version
     = version_status_badge
Edited by Dave Smith