Repository Storages config can no longer be changed via application settings API
Summary
The Repository Storages config has been switched to use weighted probabilities 13.1.
However as a consequence of this the setting is no longer configurable via the application settings API. Today the state of affairs with this is as follows:
- The old
repository_storages
option is still returned by the API and also can be changed but this has no effect. This leads to false positives. - The new setting
repository_storages_weight
, which should be returned and configurable via the API, isn't. - The docs as linked above still refer to the old setting.
Due to the above the setting currently can only be configured via UI, impacting any automation around this (especially for Quality)
Steps to reproduce
Attempt to retrieve and change the Repository Storages setting via API. Notice that this no longer works.
What is the current bug behavior?
Repository Storages setting is no longer configurable via API
What is the expected correct behavior?
Repository Storages setting is configurable via API
Relevant logs and/or screenshots
{
"error": "repository_storages_weighted is invalid, admin_notification_email, after_sign_out_path, after_sign_up_text, akismet_api_key, akismet_enabled, allow_local_requests_from_hooks_and_services, allow_local_requests_from_web_hooks_and_services, allow_local_requests_from_system_hooks, dns_rebinding_protection_enabled, archive_builds_in_human_readable, asset_proxy_enabled, asset_proxy_secret_key, asset_proxy_url, asset_proxy_whitelist, static_objects_external_storage_auth_token, static_objects_external_storage_url, authorized_keys_enabled, auto_devops_enabled, auto_devops_domain, container_expiration_policies_enable_historic_entries, container_registry_token_expire_delay, default_artifacts_expire_in, default_branch_protection, default_ci_config_path, default_group_visibility, default_project_creation, default_project_visibility, default_projects_limit, default_snippet_visibility, disabled_oauth_sign_in_sources, domain_blacklist, domain_blacklist_enabled, domain_blacklist_raw, domain_whitelist, domain_whitelist_raw, outbound_local_requests_whitelist_raw, dsa_key_restriction, ecdsa_key_restriction, ed25519_key_restriction, eks_integration_enabled, eks_account_id, eks_access_key_id, eks_secret_access_key, email_author_in_body, enabled_git_access_protocol, enforce_terms, first_day_of_week, force_pages_access_control, gitaly_timeout_default, gitaly_timeout_medium, gitaly_timeout_fast, grafana_enabled, grafana_url, gravatar_enabled, hashed_storage_enabled, help_page_hide_commercial_content, help_page_support_url, help_page_text, hide_third_party_offers, home_page_url, housekeeping_bitmaps_enabled, housekeeping_enabled, housekeeping_full_repack_period, housekeeping_gc_period, housekeeping_incremental_repack_period, html_emails_enabled, import_sources, max_artifacts_size, max_attachment_size, max_import_size, max_pages_size, metrics_method_call_threshold, minimum_password_length, mirror_available, pages_domain_verification_enabled, password_authentication_enabled_for_web, password_authentication_enabled_for_git, performance_bar_allowed_group_path, performance_bar_enabled, plantuml_enabled, plantuml_url, polling_interval_multiplier, project_export_enabled, prometheus_metrics_enabled, recaptcha_enabled, recaptcha_private_key, recaptcha_site_key, login_recaptcha_protection_enabled, receive_max_input_size, repository_checks_enabled, repository_storages, require_two_factor_authentication, restricted_visibility_levels, rsa_key_restriction, send_user_confirmation_email, session_expire_delay, shared_runners_enabled, shared_runners_text, sign_in_text, signup_enabled, sourcegraph_enabled, sourcegraph_url, sourcegraph_public_only, spam_check_endpoint_enabled, spam_check_endpoint_url, terminal_max_session_time, terms, throttle_authenticated_api_enabled, throttle_authenticated_api_period_in_seconds, throttle_authenticated_api_requests_per_period, throttle_authenticated_web_enabled, throttle_authenticated_web_period_in_seconds, throttle_authenticated_web_requests_per_period, throttle_unauthenticated_enabled, throttle_unauthenticated_period_in_seconds, throttle_unauthenticated_requests_per_period, throttle_protected_paths_enabled, throttle_protected_paths_period_in_seconds, throttle_protected_paths_requests_per_period, protected_paths_raw, time_tracking_limit_to_hours, two_factor_grace_period, unique_ips_limit_enabled, unique_ips_limit_per_user, unique_ips_limit_time_window, usage_ping_enabled, instance_statistics_visibility_private, user_default_external, user_show_add_ssh_key_message, user_default_internal_regex, user_oauth_applications, version_check_enabled, web_ide_clientside_preview_enabled, diff_max_patch_bytes, commit_email_hostname, protected_ci_variables, local_markdown_version, snowplow_collector_hostname, snowplow_cookie_domain, snowplow_enabled, snowplow_app_id, snowplow_iglu_registry_url, push_event_hooks_limit, push_event_activities_limit, custom_http_clone_url_root, snippet_size_limit, email_restrictions_enabled, email_restrictions, issues_create_limit, raw_blob_request_limit, external_auth_client_cert, external_auth_client_key, external_auth_client_key_pass, external_authorization_service_default_label, external_authorization_service_enabled, external_authorization_service_timeout, external_authorization_service_url, performance_bar_allowed_group_id are missing, at least one parameter must be provided"
}