diff --git a/ee/elastic/docs/20251003104903_add_policy_violations_field_to_vulnerability.yml b/ee/elastic/docs/20251003104903_add_policy_violations_field_to_vulnerability.yml new file mode 100644 index 0000000000000000000000000000000000000000..e8f050e70b80a75af7c96e59c61760930d3b0d7e --- /dev/null +++ b/ee/elastic/docs/20251003104903_add_policy_violations_field_to_vulnerability.yml @@ -0,0 +1,10 @@ +--- +name: AddPolicyViolationsFieldToVulnerability +version: '20251003104903' +description: Adds policy_violations field to the Vulnerability index. +group: group::security policies +milestone: '18.5' +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/202622 +obsolete: false +marked_obsolete_by_url: +marked_obsolete_in_milestone: diff --git a/ee/elastic/migrate/20251003104903_add_policy_violations_field_to_vulnerability.rb b/ee/elastic/migrate/20251003104903_add_policy_violations_field_to_vulnerability.rb new file mode 100644 index 0000000000000000000000000000000000000000..1c3f69604aaca31fe1707e550a07f3ac04b85d32 --- /dev/null +++ b/ee/elastic/migrate/20251003104903_add_policy_violations_field_to_vulnerability.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class AddPolicyViolationsFieldToVulnerability < Elastic::Migration + include ::Search::Elastic::MigrationUpdateMappingsHelper + + DOCUMENT_TYPE = Vulnerability + + private + + def new_mappings + { + policy_violations: { + type: 'short' + } + } + end +end diff --git a/ee/lib/search/elastic/types/vulnerability.rb b/ee/lib/search/elastic/types/vulnerability.rb index 9866d03ffa2590f2ad1f045ddf1f990966599bf5..deb2cd3a23fa48b3c67f5e049760474b2561eee7 100644 --- a/ee/lib/search/elastic/types/vulnerability.rb +++ b/ee/lib/search/elastic/types/vulnerability.rb @@ -73,6 +73,7 @@ def base_mappings reachability: { type: 'short' }, # enum token_status: { type: 'short' }, # enum risk_score: { type: 'float' }, + policy_violations: { type: 'short' }, # enum schema_version: { type: 'short' } } end diff --git a/ee/spec/elastic/migrate/20251003104903_add_policy_violations_field_to_vulnerability_spec.rb b/ee/spec/elastic/migrate/20251003104903_add_policy_violations_field_to_vulnerability_spec.rb new file mode 100644 index 0000000000000000000000000000000000000000..c19966d535ea4b04dab36dacf11847124024fb5c --- /dev/null +++ b/ee/spec/elastic/migrate/20251003104903_add_policy_violations_field_to_vulnerability_spec.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +require 'spec_helper' +require File.expand_path('ee/elastic/migrate/20251003104903_add_policy_violations_field_to_vulnerability.rb') + +RSpec.describe AddPolicyViolationsFieldToVulnerability, :elastic, feature_category: :security_policy_management do + let(:version) { 20251003104903 } + + include_examples 'migration adds mapping' +end diff --git a/ee/spec/lib/search/elastic/types/vulnerability_spec.rb b/ee/spec/lib/search/elastic/types/vulnerability_spec.rb index 8b818c4a430339dae6e4d21582dded4128725709..f4450e705ae77dbfaf830eb218ceeae8e73df236 100644 --- a/ee/spec/lib/search/elastic/types/vulnerability_spec.rb +++ b/ee/spec/lib/search/elastic/types/vulnerability_spec.rb @@ -35,6 +35,7 @@ :reachability, :token_status, :risk_score, + :policy_violations, :schema_version] end