From 95418b5ea732f2a6231ea2247ba91cbd00b0d24e Mon Sep 17 00:00:00 2001 From: Arturo Herrero <arturo.herrero@gmail.com> Date: Wed, 19 Feb 2025 20:17:54 +0000 Subject: [PATCH] Remove Elasticsearch settings from application settings Changelog: other --- ...asticsearch_analyzers_kuromoji_enabled.yml | 12 ---- ...lasticsearch_analyzers_kuromoji_search.yml | 12 ---- ...lasticsearch_analyzers_smartcn_enabled.yml | 12 ---- ...elasticsearch_analyzers_smartcn_search.yml | 12 ---- .../elasticsearch_aws.yml | 12 ---- .../elasticsearch_aws_access_key.yml | 12 ---- .../elasticsearch_aws_region.yml | 13 ---- .../elasticsearch_client_request_timeout.yml | 12 ---- ...asticsearch_indexed_field_length_limit.yml | 14 ----- ...asticsearch_indexed_file_size_limit_kb.yml | 13 ---- .../elasticsearch_indexing.yml | 12 ---- .../elasticsearch_limit_indexing.yml | 13 ---- .../elasticsearch_max_bulk_concurrency.yml | 13 ---- .../elasticsearch_max_bulk_size_mb.yml | 13 ---- ...icsearch_max_code_indexing_concurrency.yml | 13 ---- .../elasticsearch_pause_indexing.yml | 12 ---- .../elasticsearch_requeue_workers.yml | 14 ----- .../elasticsearch_retry_on_failure.yml | 13 ---- .../elasticsearch_search.yml | 12 ---- .../elasticsearch_username.yml | 12 ---- .../elasticsearch_worker_number_of_shards.yml | 13 ---- ...arch_settings_from_application_settings.rb | 60 +++++++++++++++++++ db/schema_migrations/20250217121107 | 1 + db/structure.sql | 22 ------- .../cells/application_settings_analysis.md | 31 ++-------- scripts/migration_schema_validator.rb | 2 +- 26 files changed, 67 insertions(+), 313 deletions(-) delete mode 100644 config/application_setting_columns/elasticsearch_analyzers_kuromoji_enabled.yml delete mode 100644 config/application_setting_columns/elasticsearch_analyzers_kuromoji_search.yml delete mode 100644 config/application_setting_columns/elasticsearch_analyzers_smartcn_enabled.yml delete mode 100644 config/application_setting_columns/elasticsearch_analyzers_smartcn_search.yml delete mode 100644 config/application_setting_columns/elasticsearch_aws.yml delete mode 100644 config/application_setting_columns/elasticsearch_aws_access_key.yml delete mode 100644 config/application_setting_columns/elasticsearch_aws_region.yml delete mode 100644 config/application_setting_columns/elasticsearch_client_request_timeout.yml delete mode 100644 config/application_setting_columns/elasticsearch_indexed_field_length_limit.yml delete mode 100644 config/application_setting_columns/elasticsearch_indexed_file_size_limit_kb.yml delete mode 100644 config/application_setting_columns/elasticsearch_indexing.yml delete mode 100644 config/application_setting_columns/elasticsearch_limit_indexing.yml delete mode 100644 config/application_setting_columns/elasticsearch_max_bulk_concurrency.yml delete mode 100644 config/application_setting_columns/elasticsearch_max_bulk_size_mb.yml delete mode 100644 config/application_setting_columns/elasticsearch_max_code_indexing_concurrency.yml delete mode 100644 config/application_setting_columns/elasticsearch_pause_indexing.yml delete mode 100644 config/application_setting_columns/elasticsearch_requeue_workers.yml delete mode 100644 config/application_setting_columns/elasticsearch_retry_on_failure.yml delete mode 100644 config/application_setting_columns/elasticsearch_search.yml delete mode 100644 config/application_setting_columns/elasticsearch_username.yml delete mode 100644 config/application_setting_columns/elasticsearch_worker_number_of_shards.yml create mode 100644 db/post_migrate/20250217121107_remove_elasticsearch_settings_from_application_settings.rb create mode 100644 db/schema_migrations/20250217121107 diff --git a/config/application_setting_columns/elasticsearch_analyzers_kuromoji_enabled.yml b/config/application_setting_columns/elasticsearch_analyzers_kuromoji_enabled.yml deleted file mode 100644 index 2ebf9465bb4f..000000000000 --- a/config/application_setting_columns/elasticsearch_analyzers_kuromoji_enabled.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: -attr: elasticsearch_analyzers_kuromoji_enabled -clusterwide: true -column: elasticsearch_analyzers_kuromoji_enabled -db_type: boolean -default: 'false' -description: -encrypted: false -gitlab_com_different_than_default: false -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_analyzers_kuromoji_search.yml b/config/application_setting_columns/elasticsearch_analyzers_kuromoji_search.yml deleted file mode 100644 index 9eb0162ccf0f..000000000000 --- a/config/application_setting_columns/elasticsearch_analyzers_kuromoji_search.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: -attr: elasticsearch_analyzers_kuromoji_search -clusterwide: true -column: elasticsearch_analyzers_kuromoji_search -db_type: boolean -default: 'false' -description: -encrypted: false -gitlab_com_different_than_default: false -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_analyzers_smartcn_enabled.yml b/config/application_setting_columns/elasticsearch_analyzers_smartcn_enabled.yml deleted file mode 100644 index abbe0bd6698f..000000000000 --- a/config/application_setting_columns/elasticsearch_analyzers_smartcn_enabled.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: -attr: elasticsearch_analyzers_smartcn_enabled -clusterwide: true -column: elasticsearch_analyzers_smartcn_enabled -db_type: boolean -default: 'false' -description: -encrypted: false -gitlab_com_different_than_default: false -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_analyzers_smartcn_search.yml b/config/application_setting_columns/elasticsearch_analyzers_smartcn_search.yml deleted file mode 100644 index 2f35b0f712d9..000000000000 --- a/config/application_setting_columns/elasticsearch_analyzers_smartcn_search.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: -attr: elasticsearch_analyzers_smartcn_search -clusterwide: true -column: elasticsearch_analyzers_smartcn_search -db_type: boolean -default: 'false' -description: -encrypted: false -gitlab_com_different_than_default: false -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_aws.yml b/config/application_setting_columns/elasticsearch_aws.yml deleted file mode 100644 index 0dd697cc4f3d..000000000000 --- a/config/application_setting_columns/elasticsearch_aws.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: boolean -attr: elasticsearch_aws -clusterwide: false -column: elasticsearch_aws -db_type: boolean -default: 'false' -description: Enable the use of AWS hosted Elasticsearch. Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: false -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_aws_access_key.yml b/config/application_setting_columns/elasticsearch_aws_access_key.yml deleted file mode 100644 index 0d688af1aca7..000000000000 --- a/config/application_setting_columns/elasticsearch_aws_access_key.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: string -attr: elasticsearch_aws_access_key -clusterwide: false -column: elasticsearch_aws_access_key -db_type: character -default: -description: AWS IAM access key. Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: false diff --git a/config/application_setting_columns/elasticsearch_aws_region.yml b/config/application_setting_columns/elasticsearch_aws_region.yml deleted file mode 100644 index 81f2052ce488..000000000000 --- a/config/application_setting_columns/elasticsearch_aws_region.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -api_type: string -attr: elasticsearch_aws_region -clusterwide: false -column: elasticsearch_aws_region -db_type: character -default: "'us-east-1'::character" -description: The AWS region the Elasticsearch domain is configured. Premium and Ultimate - only. -encrypted: false -gitlab_com_different_than_default: false -jihu: false -not_null: false diff --git a/config/application_setting_columns/elasticsearch_client_request_timeout.yml b/config/application_setting_columns/elasticsearch_client_request_timeout.yml deleted file mode 100644 index 27eea3611ab3..000000000000 --- a/config/application_setting_columns/elasticsearch_client_request_timeout.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: -attr: elasticsearch_client_request_timeout -clusterwide: false -column: elasticsearch_client_request_timeout -db_type: integer -default: '0' -description: -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_indexed_field_length_limit.yml b/config/application_setting_columns/elasticsearch_indexed_field_length_limit.yml deleted file mode 100644 index d92a57c30a33..000000000000 --- a/config/application_setting_columns/elasticsearch_indexed_field_length_limit.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -api_type: integer -attr: elasticsearch_indexed_field_length_limit -clusterwide: false -column: elasticsearch_indexed_field_length_limit -db_type: integer -default: '0' -description: Maximum size of text fields to index by Elasticsearch. 0 value means - no limit. This does not apply to repository and wiki indexing. Premium and Ultimate - only. -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_indexed_file_size_limit_kb.yml b/config/application_setting_columns/elasticsearch_indexed_file_size_limit_kb.yml deleted file mode 100644 index 5e251d339cff..000000000000 --- a/config/application_setting_columns/elasticsearch_indexed_file_size_limit_kb.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -api_type: integer -attr: elasticsearch_indexed_file_size_limit_kb -clusterwide: false -column: elasticsearch_indexed_file_size_limit_kb -db_type: integer -default: '1024' -description: Maximum size of repository and wiki files that are indexed by Elasticsearch. - Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: false -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_indexing.yml b/config/application_setting_columns/elasticsearch_indexing.yml deleted file mode 100644 index fc711e7cfa6e..000000000000 --- a/config/application_setting_columns/elasticsearch_indexing.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: boolean -attr: elasticsearch_indexing -clusterwide: false -column: elasticsearch_indexing -db_type: boolean -default: 'false' -description: Enable Elasticsearch indexing. Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_limit_indexing.yml b/config/application_setting_columns/elasticsearch_limit_indexing.yml deleted file mode 100644 index 21b2ab323814..000000000000 --- a/config/application_setting_columns/elasticsearch_limit_indexing.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -api_type: boolean -attr: elasticsearch_limit_indexing -clusterwide: false -column: elasticsearch_limit_indexing -db_type: boolean -default: 'false' -description: Limit Elasticsearch to index certain namespaces and projects. Premium - and Ultimate only. -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_max_bulk_concurrency.yml b/config/application_setting_columns/elasticsearch_max_bulk_concurrency.yml deleted file mode 100644 index 2ac91c8212fb..000000000000 --- a/config/application_setting_columns/elasticsearch_max_bulk_concurrency.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -api_type: integer -attr: elasticsearch_max_bulk_concurrency -clusterwide: false -column: elasticsearch_max_bulk_concurrency -db_type: smallint -default: '10' -description: Maximum concurrency of Elasticsearch bulk requests per indexing operation. - This only applies to repository indexing operations. Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: false -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_max_bulk_size_mb.yml b/config/application_setting_columns/elasticsearch_max_bulk_size_mb.yml deleted file mode 100644 index 8f34614eb01e..000000000000 --- a/config/application_setting_columns/elasticsearch_max_bulk_size_mb.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -api_type: integer -attr: elasticsearch_max_bulk_size_mb -clusterwide: false -column: elasticsearch_max_bulk_size_mb -db_type: smallint -default: '10' -description: Maximum size of Elasticsearch bulk indexing requests in MB. This only - applies to repository indexing operations. Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: false -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_max_code_indexing_concurrency.yml b/config/application_setting_columns/elasticsearch_max_code_indexing_concurrency.yml deleted file mode 100644 index 04fb503e6753..000000000000 --- a/config/application_setting_columns/elasticsearch_max_code_indexing_concurrency.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -api_type: integer -attr: elasticsearch_max_code_indexing_concurrency -clusterwide: false -column: elasticsearch_max_code_indexing_concurrency -db_type: integer -default: '30' -description: Maximum concurrency of Elasticsearch code indexing background jobs. This - only applies to repository indexing operations. Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_pause_indexing.yml b/config/application_setting_columns/elasticsearch_pause_indexing.yml deleted file mode 100644 index df0e4fe8887f..000000000000 --- a/config/application_setting_columns/elasticsearch_pause_indexing.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: -attr: elasticsearch_pause_indexing -clusterwide: false -column: elasticsearch_pause_indexing -db_type: boolean -default: 'false' -description: -encrypted: false -gitlab_com_different_than_default: false -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_requeue_workers.yml b/config/application_setting_columns/elasticsearch_requeue_workers.yml deleted file mode 100644 index ea126b109a5a..000000000000 --- a/config/application_setting_columns/elasticsearch_requeue_workers.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -api_type: boolean -attr: elasticsearch_requeue_workers -clusterwide: false -column: elasticsearch_requeue_workers -db_type: boolean -default: 'false' -description: Enable automatic requeuing of indexing workers. This improves non-code - indexing throughput by enqueuing Sidekiq jobs until all documents are processed. - Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_retry_on_failure.yml b/config/application_setting_columns/elasticsearch_retry_on_failure.yml deleted file mode 100644 index 96a2a0072efe..000000000000 --- a/config/application_setting_columns/elasticsearch_retry_on_failure.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -api_type: integer -attr: elasticsearch_retry_on_failure -clusterwide: false -column: elasticsearch_retry_on_failure -db_type: integer -default: '0' -description: Maximum number of possible retries for Elasticsearch search requests. - Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_search.yml b/config/application_setting_columns/elasticsearch_search.yml deleted file mode 100644 index 9db5c1504e2c..000000000000 --- a/config/application_setting_columns/elasticsearch_search.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: boolean -attr: elasticsearch_search -clusterwide: false -column: elasticsearch_search -db_type: boolean -default: 'false' -description: Enable Elasticsearch search. Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: true diff --git a/config/application_setting_columns/elasticsearch_username.yml b/config/application_setting_columns/elasticsearch_username.yml deleted file mode 100644 index d1f089a93f61..000000000000 --- a/config/application_setting_columns/elasticsearch_username.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -api_type: string -attr: elasticsearch_username -clusterwide: false -column: elasticsearch_username -db_type: text -default: -description: The `username` of your Elasticsearch instance. Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: false diff --git a/config/application_setting_columns/elasticsearch_worker_number_of_shards.yml b/config/application_setting_columns/elasticsearch_worker_number_of_shards.yml deleted file mode 100644 index c86e25070236..000000000000 --- a/config/application_setting_columns/elasticsearch_worker_number_of_shards.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -api_type: integer -attr: elasticsearch_worker_number_of_shards -clusterwide: false -column: elasticsearch_worker_number_of_shards -db_type: integer -default: '2' -description: Number of indexing worker shards. This improves non-code indexing throughput - by enqueuing more parallel Sidekiq jobs. Default is `2`. Premium and Ultimate only. -encrypted: false -gitlab_com_different_than_default: true -jihu: false -not_null: true diff --git a/db/post_migrate/20250217121107_remove_elasticsearch_settings_from_application_settings.rb b/db/post_migrate/20250217121107_remove_elasticsearch_settings_from_application_settings.rb new file mode 100644 index 000000000000..7074e541083e --- /dev/null +++ b/db/post_migrate/20250217121107_remove_elasticsearch_settings_from_application_settings.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +class RemoveElasticsearchSettingsFromApplicationSettings < Gitlab::Database::Migration[2.2] + disable_ddl_transaction! + milestone '17.10' + + def up + with_lock_retries do + remove_column :application_settings, :elasticsearch_aws + remove_column :application_settings, :elasticsearch_search + remove_column :application_settings, :elasticsearch_indexing + remove_column :application_settings, :elasticsearch_username + remove_column :application_settings, :elasticsearch_aws_region + remove_column :application_settings, :elasticsearch_aws_access_key + remove_column :application_settings, :elasticsearch_limit_indexing + remove_column :application_settings, :elasticsearch_pause_indexing + remove_column :application_settings, :elasticsearch_requeue_workers + remove_column :application_settings, :elasticsearch_max_bulk_size_mb + remove_column :application_settings, :elasticsearch_retry_on_failure + remove_column :application_settings, :elasticsearch_max_bulk_concurrency + remove_column :application_settings, :elasticsearch_client_request_timeout + remove_column :application_settings, :elasticsearch_worker_number_of_shards + remove_column :application_settings, :elasticsearch_analyzers_smartcn_search + remove_column :application_settings, :elasticsearch_analyzers_kuromoji_search + remove_column :application_settings, :elasticsearch_analyzers_smartcn_enabled + remove_column :application_settings, :elasticsearch_analyzers_kuromoji_enabled + remove_column :application_settings, :elasticsearch_indexed_field_length_limit + remove_column :application_settings, :elasticsearch_indexed_file_size_limit_kb + remove_column :application_settings, :elasticsearch_max_code_indexing_concurrency + end + end + + def down + with_lock_retries do + add_column :application_settings, :elasticsearch_aws, :boolean, default: false, null: false + add_column :application_settings, :elasticsearch_search, :boolean, default: false, null: false + add_column :application_settings, :elasticsearch_indexing, :boolean, default: false, null: false + add_column :application_settings, :elasticsearch_username, :text + add_column :application_settings, :elasticsearch_aws_region, 'character varying', default: 'us-east-1' + add_column :application_settings, :elasticsearch_aws_access_key, 'character varying' + add_column :application_settings, :elasticsearch_limit_indexing, :boolean, default: false, null: false + add_column :application_settings, :elasticsearch_pause_indexing, :boolean, default: false, null: false + add_column :application_settings, :elasticsearch_requeue_workers, :boolean, default: false, null: false + add_column :application_settings, :elasticsearch_max_bulk_size_mb, :smallint, default: 10, null: false + add_column :application_settings, :elasticsearch_retry_on_failure, :integer, default: 0, null: false + add_column :application_settings, :elasticsearch_max_bulk_concurrency, :smallint, default: 10, null: false + add_column :application_settings, :elasticsearch_client_request_timeout, :integer, default: 0, null: false + add_column :application_settings, :elasticsearch_worker_number_of_shards, :integer, default: 2, null: false + add_column :application_settings, :elasticsearch_analyzers_smartcn_search, :boolean, default: false, null: false + add_column :application_settings, :elasticsearch_analyzers_kuromoji_search, :boolean, default: false, null: false + add_column :application_settings, :elasticsearch_analyzers_smartcn_enabled, :boolean, default: false, null: false + add_column :application_settings, :elasticsearch_analyzers_kuromoji_enabled, :boolean, default: false, null: false + add_column :application_settings, :elasticsearch_indexed_field_length_limit, :integer, default: 0, null: false + add_column :application_settings, :elasticsearch_indexed_file_size_limit_kb, :integer, default: 1024, null: false + add_column :application_settings, :elasticsearch_max_code_indexing_concurrency, :integer, default: 30, null: false + end + + add_check_constraint(:application_settings, 'char_length(elasticsearch_username) <= 255', 'check_e5024c8801') + end +end diff --git a/db/schema_migrations/20250217121107 b/db/schema_migrations/20250217121107 new file mode 100644 index 000000000000..3b1ebf530937 --- /dev/null +++ b/db/schema_migrations/20250217121107 @@ -0,0 +1 @@ +a87dfeeb1bffdf43d12fc05989d84e4dc5751351aeab5620a286a4c644ffa848 \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 02c41dd0a72b..85df8304ebf4 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -8322,27 +8322,6 @@ CREATE TABLE application_settings ( encrypted_ci_job_token_signing_key_iv bytea, elasticsearch jsonb DEFAULT '{}'::jsonb NOT NULL, oauth_provider jsonb DEFAULT '{}'::jsonb NOT NULL, - elasticsearch_aws boolean DEFAULT false NOT NULL, - elasticsearch_search boolean DEFAULT false NOT NULL, - elasticsearch_indexing boolean DEFAULT false NOT NULL, - elasticsearch_username text, - elasticsearch_aws_region character varying DEFAULT 'us-east-1'::character varying, - elasticsearch_aws_access_key character varying, - elasticsearch_limit_indexing boolean DEFAULT false NOT NULL, - elasticsearch_pause_indexing boolean DEFAULT false NOT NULL, - elasticsearch_requeue_workers boolean DEFAULT false NOT NULL, - elasticsearch_max_bulk_size_mb smallint DEFAULT 10 NOT NULL, - elasticsearch_retry_on_failure integer DEFAULT 0 NOT NULL, - elasticsearch_max_bulk_concurrency smallint DEFAULT 10 NOT NULL, - elasticsearch_client_request_timeout integer DEFAULT 0 NOT NULL, - elasticsearch_worker_number_of_shards integer DEFAULT 2 NOT NULL, - elasticsearch_analyzers_smartcn_search boolean DEFAULT false NOT NULL, - elasticsearch_analyzers_kuromoji_search boolean DEFAULT false NOT NULL, - elasticsearch_analyzers_smartcn_enabled boolean DEFAULT false NOT NULL, - elasticsearch_analyzers_kuromoji_enabled boolean DEFAULT false NOT NULL, - elasticsearch_indexed_field_length_limit integer DEFAULT 0 NOT NULL, - elasticsearch_indexed_file_size_limit_kb integer DEFAULT 1024 NOT NULL, - elasticsearch_max_code_indexing_concurrency integer DEFAULT 30 NOT NULL, observability_settings jsonb DEFAULT '{}'::jsonb NOT NULL, search jsonb DEFAULT '{}'::jsonb NOT NULL, anti_abuse_settings jsonb DEFAULT '{}'::jsonb NOT NULL, @@ -8423,7 +8402,6 @@ CREATE TABLE application_settings ( CONSTRAINT check_d820146492 CHECK ((char_length(spam_check_endpoint_url) <= 255)), CONSTRAINT check_e2692d7523 CHECK ((char_length(default_preferred_language) <= 32)), CONSTRAINT check_e2dd6e290a CHECK ((char_length(jira_connect_application_key) <= 255)), - CONSTRAINT check_e5024c8801 CHECK ((char_length(elasticsearch_username) <= 255)), CONSTRAINT check_e5aba18f02 CHECK ((char_length(container_registry_version) <= 255)), CONSTRAINT check_ef6176834f CHECK ((char_length(encrypted_cloud_license_auth_token_iv) <= 255)), CONSTRAINT check_identity_verification_settings_is_hash CHECK ((jsonb_typeof(identity_verification_settings) = 'object'::text)) diff --git a/doc/development/cells/application_settings_analysis.md b/doc/development/cells/application_settings_analysis.md index 3fee913e8690..e1dddf5da80e 100644 --- a/doc/development/cells/application_settings_analysis.md +++ b/doc/development/cells/application_settings_analysis.md @@ -14,12 +14,12 @@ title: Application Settings analysis ## Statistics -- Number of attributes: 513 +- Number of attributes: 492 - Number of encrypted attributes: 41 (8.0%) -- Number of attributes documented: 313 (61.0%) -- Number of attributes on GitLab.com different from the defaults: 233 (45.0%) -- Number of attributes with `clusterwide` set: 513 (100.0%) -- Number of attributes with `clusterwide: true` set: 127 (25.0%) +- Number of attributes documented: 298 (61.0%) +- Number of attributes on GitLab.com different from the defaults: 222 (45.0%) +- Number of attributes with `clusterwide` set: 492 (100.0%) +- Number of attributes with `clusterwide: true` set: 123 (25.0%) ## Individual columns @@ -156,30 +156,9 @@ title: Application Settings analysis | `eks_integration_enabled` | `false` | `boolean` | `boolean` | `true` | `false` | `true` | `true`| `true` | | `eks_secret_access_key` | `true` | `text` | `string` | `false` | `null` | `true` | `true`| `true` | | `elasticsearch` | `false` | `jsonb` | `` | `true` | `'{}'::jsonb` | `true` | `false`| `false` | -| `elasticsearch_analyzers_kuromoji_enabled` | `false` | `boolean` | `` | `true` | `false` | `false` | `true`| `false` | -| `elasticsearch_analyzers_kuromoji_search` | `false` | `boolean` | `` | `true` | `false` | `false` | `true`| `false` | -| `elasticsearch_analyzers_smartcn_enabled` | `false` | `boolean` | `` | `true` | `false` | `false` | `true`| `false` | -| `elasticsearch_analyzers_smartcn_search` | `false` | `boolean` | `` | `true` | `false` | `false` | `true`| `false` | -| `elasticsearch_aws` | `false` | `boolean` | `boolean` | `true` | `false` | `false` | `false`| `true` | -| `elasticsearch_aws_access_key` | `false` | `character` | `string` | `false` | `null` | `true` | `false`| `true` | -| `elasticsearch_aws_region` | `false` | `character` | `string` | `false` | `'us-east-1'::character` | `false` | `false`| `true` | | `elasticsearch_aws_secret_access_key` | `true` | `text` | `string` | `false` | `null` | `true` | `false`| `true` | -| `elasticsearch_client_request_timeout` | `false` | `integer` | `` | `true` | `0` | `true` | `false`| `false` | -| `elasticsearch_indexed_field_length_limit` | `false` | `integer` | `integer` | `true` | `0` | `true` | `false`| `true` | -| `elasticsearch_indexed_file_size_limit_kb` | `false` | `integer` | `integer` | `true` | `1024` | `false` | `false`| `true` | -| `elasticsearch_indexing` | `false` | `boolean` | `boolean` | `true` | `false` | `true` | `false`| `true` | -| `elasticsearch_limit_indexing` | `false` | `boolean` | `boolean` | `true` | `false` | `true` | `false`| `true` | -| `elasticsearch_max_bulk_concurrency` | `false` | `smallint` | `integer` | `true` | `10` | `false` | `false`| `true` | -| `elasticsearch_max_bulk_size_mb` | `false` | `smallint` | `integer` | `true` | `10` | `false` | `false`| `true` | -| `elasticsearch_max_code_indexing_concurrency` | `false` | `integer` | `integer` | `true` | `30` | `true` | `false`| `true` | | `elasticsearch_password` | `true` | `bytea` | `string` | `false` | `null` | `true` | `false`| `true` | -| `elasticsearch_pause_indexing` | `false` | `boolean` | `` | `true` | `false` | `false` | `false`| `false` | -| `elasticsearch_requeue_workers` | `false` | `boolean` | `boolean` | `true` | `false` | `true` | `false`| `true` | -| `elasticsearch_retry_on_failure` | `false` | `integer` | `integer` | `true` | `0` | `true` | `false`| `true` | -| `elasticsearch_search` | `false` | `boolean` | `boolean` | `true` | `false` | `true` | `false`| `true` | | `elasticsearch_url` | `false` | `character` | `string` | `false` | `'http://localhost:9200'::character` | `true` | `false`| `true` | -| `elasticsearch_username` | `false` | `text` | `string` | `false` | `null` | `true` | `false`| `true` | -| `elasticsearch_worker_number_of_shards` | `false` | `integer` | `integer` | `true` | `2` | `true` | `false`| `true` | | `email_additional_text` | `false` | `character` | `string` | `false` | `null` | `true` | `true`| `true` | | `email_author_in_body` | `false` | `boolean` | `boolean` | `false` | `false` | `false` | `true`| `true` | | `email_confirmation_setting` | `false` | `smallint` | `string` | `false` | `0` | `true` | `true`| `true` | diff --git a/scripts/migration_schema_validator.rb b/scripts/migration_schema_validator.rb index ca7c53c75fe2..ad607a59ac5b 100644 --- a/scripts/migration_schema_validator.rb +++ b/scripts/migration_schema_validator.rb @@ -106,7 +106,7 @@ def check_file(file_path) next unless File.exist?(model_file_path) model_content = File.read(model_file_path) - next if model_content.match?(/\s(ignore_column|ignore_columns)\s(:|%i\[)\s*#{column}/) + next if model_content.match?(/\s(ignore_column|ignore_columns)\s(:|%i\[).*?#{column}\b/m) @models_missing_ignore[model_name.to_s] << column end -- GitLab