From 2af90cef2e2e9c776eae4394a43dba3be7f33d1e Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 19 Mar 2020 09:09:27 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../javascripts/clusters/clusters_bundle.js | 14 +- .../clusters/components/applications.vue | 1 + .../ingress_modsecurity_settings.vue | 116 +++++++++-- app/assets/javascripts/clusters/constants.js | 3 + .../clusters/stores/clusters_store.js | 5 + .../clusters/applications_controller.rb | 2 +- app/graphql/types/snippet_type.rb | 8 + app/models/clusters/applications/ingress.rb | 14 +- app/models/snippet.rb | 4 + app/presenters/snippet_presenter.rb | 8 + app/serializers/cluster_application_entity.rb | 1 + .../clusters/applications/base_service.rb | 4 + ...format-support-message-in-issue-design.yml | 5 + ...option_for_switching_between_block_log.yml | 5 + ...modsecurity_mode_to_ingress_application.rb | 19 ++ db/schema.rb | 1 + doc/administration/gitaly/index.md | 9 + doc/administration/gitaly/praefect.md | 121 ++++++++++++ .../high_availability/README.md | 2 +- .../high_availability/sidekiq.md | 186 ++++++++++++++++++ .../packages/container_registry.md | 53 ++++- .../gitlab_rails_cheat_sheet.md | 2 +- .../graphql/reference/gitlab_schema.graphql | 10 + doc/api/graphql/reference/gitlab_schema.json | 28 +++ doc/api/graphql/reference/index.md | 2 + doc/security/README.md | 1 + doc/security/cicd_environment_variables.md | 11 ++ .../activating_deactivating_users.md | 2 +- lib/api/entities/snippet.rb | 1 + .../stages/project_metrics_inserter.rb | 1 + locale/gitlab.pot | 12 ++ spec/fixtures/api/schemas/cluster_status.json | 1 + .../ingress_modsecurity_settings_spec.js | 48 ++++- .../clusters/stores/clusters_store_spec.js | 2 + spec/graphql/types/snippet_type_spec.rb | 56 +++++- .../metrics/dashboard/processor_spec.rb | 10 + .../clusters/applications/ingress_spec.rb | 26 ++- spec/models/snippet_spec.rb | 28 +++ spec/requests/api/project_snippets_spec.rb | 14 +- spec/requests/api/snippets_spec.rb | 16 +- .../requests/snippet_shared_examples.rb | 7 + 41 files changed, 810 insertions(+), 49 deletions(-) create mode 100644 changelogs/unreleased/210339-improve-format-support-message-in-issue-design.yml create mode 100644 changelogs/unreleased/add_option_for_switching_between_block_log.yml create mode 100644 db/migrate/20200311214912_add_modsecurity_mode_to_ingress_application.rb create mode 100644 doc/administration/high_availability/sidekiq.md create mode 100644 doc/security/cicd_environment_variables.md diff --git a/app/assets/javascripts/clusters/clusters_bundle.js b/app/assets/javascripts/clusters/clusters_bundle.js index e20c87ed8a0..cb9c44bc36d 100644 --- a/app/assets/javascripts/clusters/clusters_bundle.js +++ b/app/assets/javascripts/clusters/clusters_bundle.js @@ -256,7 +256,8 @@ export default class Clusters { eventHub.$on('uninstallApplication', data => this.uninstallApplication(data)); eventHub.$on('setCrossplaneProviderStack', data => this.setCrossplaneProviderStack(data)); eventHub.$on('setIngressModSecurityEnabled', data => this.setIngressModSecurityEnabled(data)); - eventHub.$on('resetIngressModSecurityEnabled', id => this.resetIngressModSecurityEnabled(id)); + eventHub.$on('setIngressModSecurityMode', data => this.setIngressModSecurityMode(data)); + eventHub.$on('resetIngressModSecurityChanges', id => this.resetIngressModSecurityChanges(id)); // Add event listener to all the banner close buttons this.addBannerCloseHandler(this.unreachableContainer, 'unreachable'); this.addBannerCloseHandler(this.authenticationFailureContainer, 'authentication_failure'); @@ -271,7 +272,8 @@ export default class Clusters { eventHub.$off('setCrossplaneProviderStack'); eventHub.$off('uninstallApplication'); eventHub.$off('setIngressModSecurityEnabled'); - eventHub.$off('resetIngressModSecurityEnabled'); + eventHub.$off('setIngressModSecurityMode'); + eventHub.$off('resetIngressModSecurityChanges'); } initPolling(method, successCallback, errorCallback) { @@ -525,8 +527,14 @@ export default class Clusters { this.store.updateAppProperty(id, 'modsecurity_enabled', modSecurityEnabled); } - resetIngressModSecurityEnabled(id) { + setIngressModSecurityMode({ id, modSecurityMode }) { + this.store.updateAppProperty(id, 'isEditingModSecurityMode', true); + this.store.updateAppProperty(id, 'modsecurity_mode', modSecurityMode); + } + + resetIngressModSecurityChanges(id) { this.store.updateAppProperty(id, 'isEditingModSecurityEnabled', false); + this.store.updateAppProperty(id, 'isEditingModSecurityMode', false); } destroy() { diff --git a/app/assets/javascripts/clusters/components/applications.vue b/app/assets/javascripts/clusters/components/applications.vue index 87d190e51c4..576a9bc7743 100644 --- a/app/assets/javascripts/clusters/components/applications.vue +++ b/app/assets/javascripts/clusters/components/applications.vue @@ -313,6 +313,7 @@ Crossplane runs inside your Kubernetes cluster and supports secure connectivity :install-failed="applications.ingress.installFailed" :install-application-request-params="{ modsecurity_enabled: applications.ingress.modsecurity_enabled, + modsecurity_mode: applications.ingress.modsecurity_mode, }" :uninstallable="applications.ingress.uninstallable" :uninstall-successful="applications.ingress.uninstallSuccessful" diff --git a/app/assets/javascripts/clusters/components/ingress_modsecurity_settings.vue b/app/assets/javascripts/clusters/components/ingress_modsecurity_settings.vue index 98a783aab6e..6b9a926143d 100644 --- a/app/assets/javascripts/clusters/components/ingress_modsecurity_settings.vue +++ b/app/assets/javascripts/clusters/components/ingress_modsecurity_settings.vue @@ -1,8 +1,17 @@