Move AI infrastructure settings to application_settings
What does this MR do and why?
Moves 5 instance-level AI infrastructure settings from ai_settings to application_settings, as the first step of splitting the larger ai_settings org-scoping work (issue #531356):
ai_gateway_urlai_gateway_timeout_secondsenabled_instance_verbose_ai_logsduo_agent_platform_service_urlself_hosted_duo_agent_platform_service_secure
These settings are infrastructure/deployment concerns that apply to the whole instance, in some cases we are unable to find a current organizations for those.
They may do better in application_settings rather than in the (soon to be org-scoped) ai_settings table.
This MR:
- adds the 5 columns to
application_settings(with limits/defaults andapplication_setting_columnsdefinitions); - adds a post-deploy migration backfilling the values from the existing
ai_settingsrecord; - switches
Gitlab::Duo::Administration::VerifySelfHostedSetupandGitlab::Duo::Developments::Setupto read/write viaGitlab::CurrentSettings; - updates developer documentation for application settings.
The old ai_settings columns are not dropped here; column removal will follow the standard multi-release process (planned for %19.5 via ignore_columns) in a follow-up MR.
References
- Issue: #531356
Database
- Migration:
db/migrate/20260705100000_add_ai_infrastructure_columns_to_application_settings.rb - Post-deploy backfill:
db/post_migrate/20260705100100_backfill_ai_infrastructure_settings_from_ai_settings.rb
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.