Add network settings columns
What does this MR do and why?
Add network settings columns to Ai::Settings and to Namespace settings:
include_recommended_allowed: boolean (include recommended allow-list)allow_all_unix_sockets: boolean (allow agent to connect to local unix sockets)enforce_on_local_clients: boolean (enforce settings on IDE and other local clients)allow_project_extension: boolean (allows project settings to override top level settings)allowed_domains: array (list of additional allowed domains)denied_domains: array (list of additional denied domains)
Up
bin/rails db:migrate:up:main VERSION=20260330203410
main: == [advisory_lock_connection] object_id: 139240, pg_backend_pid: 54520
main: == 20260330203410 AddNetworkSettingsToAiSettings: migrating ===================
main: -- add_column(:ai_settings, :include_recommended_allowed, :boolean, {:default=>false, :null=>false})
main: -> 0.0574s
main: -- add_column(:ai_settings, :allow_all_unix_sockets, :boolean, {:default=>false, :null=>false})
main: -> 0.0023s
main: -- add_column(:ai_settings, :enforce_on_local_clients, :boolean, {:default=>false, :null=>false})
main: -> 0.0015s
main: -- add_column(:ai_settings, :allow_project_extension, :boolean, {:default=>true, :null=>false})
main: -> 0.0019s
main: -- add_column(:ai_settings, :allowed_domains, :text, {:default=>[], :array=>true, :null=>false})
main: -> 0.0018s
main: -- add_column(:ai_settings, :denied_domains, :text, {:default=>[], :array=>true, :null=>false})
main: -> 0.0060s
main: == 20260330203410 AddNetworkSettingsToAiSettings: migrated (0.0827s) ==========
main: == [advisory_lock_connection] object_id: 139240, pg_backend_pid: 54520bin/rails db:migrate:up:main VERSION=20260330203516
main: == [advisory_lock_connection] object_id: 139240, pg_backend_pid: 54715
main: == 20260330203516 AddNetworkSettingsToNamespaceAiSettings: migrating ==========
main: -- add_column(:namespace_ai_settings, :include_recommended_allowed, :boolean, {:default=>false, :null=>false})
main: -> 0.0509s
main: -- add_column(:namespace_ai_settings, :allow_all_unix_sockets, :boolean, {:default=>false, :null=>false})
main: -> 0.0020s
main: -- add_column(:namespace_ai_settings, :enforce_on_local_clients, :boolean, {:default=>false, :null=>false})
main: -> 0.0023s
main: -- add_column(:namespace_ai_settings, :allow_project_extension, :boolean, {:default=>true, :null=>false})
main: -> 0.0022s
main: -- add_column(:namespace_ai_settings, :allowed_domains, :text, {:default=>[], :array=>true, :null=>false})
main: -> 0.0062s
main: -- add_column(:namespace_ai_settings, :denied_domains, :text, {:default=>[], :array=>true, :null=>false})
main: -> 0.0021s
main: == 20260330203516 AddNetworkSettingsToNamespaceAiSettings: migrated (0.0896s) =
main: == [advisory_lock_connection] object_id: 139240, pg_backend_pid: 54715Down
bin/rails db:migrate:down:main VERSION=20260330203410
main: == [advisory_lock_connection] object_id: 139240, pg_backend_pid: 54342
main: == 20260330203410 AddNetworkSettingsToAiSettings: reverting ===================
main: -- remove_column(:ai_settings, :denied_domains, :text, {:default=>[], :array=>true, :null=>false})
main: -> 0.0385s
main: -- remove_column(:ai_settings, :allowed_domains, :text, {:default=>[], :array=>true, :null=>false})
main: -> 0.0014s
main: -- remove_column(:ai_settings, :allow_project_extension, :boolean, {:default=>true, :null=>false})
main: -> 0.0011s
main: -- remove_column(:ai_settings, :enforce_on_local_clients, :boolean, {:default=>false, :null=>false})
main: -> 0.0059s
main: -- remove_column(:ai_settings, :allow_all_unix_sockets, :boolean, {:default=>false, :null=>false})
main: -> 0.0031s
main: -- remove_column(:ai_settings, :include_recommended_allowed, :boolean, {:default=>false, :null=>false})
main: -> 0.0034s
main: == 20260330203410 AddNetworkSettingsToAiSettings: reverted (0.0692s) ==========
main: == [advisory_lock_connection] object_id: 139240, pg_backend_pid: 54342bin/rails db:migrate:down:main VERSION=20260330203516
main: == [advisory_lock_connection] object_id: 139220, pg_backend_pid: 54042
main: == 20260330203516 AddNetworkSettingsToNamespaceAiSettings: reverting ==========
main: -- remove_column(:namespace_ai_settings, :denied_domains, :text, {:default=>[], :array=>true, :null=>false})
main: -> 0.0365s
main: -- remove_column(:namespace_ai_settings, :allowed_domains, :text, {:default=>[], :array=>true, :null=>false})
main: -> 0.0016s
main: -- remove_column(:namespace_ai_settings, :allow_project_extension, :boolean, {:default=>true, :null=>false})
main: -> 0.0023s
main: -- remove_column(:namespace_ai_settings, :enforce_on_local_clients, :boolean, {:default=>false, :null=>false})
main: -> 0.0011s
main: -- remove_column(:namespace_ai_settings, :allow_all_unix_sockets, :boolean, {:default=>false, :null=>false})
main: -> 0.0009s
main: -- remove_column(:namespace_ai_settings, :include_recommended_allowed, :boolean, {:default=>false, :null=>false})
main: -> 0.0009s
main: == 20260330203516 AddNetworkSettingsToNamespaceAiSettings: reverted (0.0572s) =
main: == [advisory_lock_connection] object_id: 139220, pg_backend_pid: 54042References
Relates to https://gitlab.com/gitlab-org/gitlab/-/work_items/593149
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Roman Eisner