Org Mover: Decide how to handle each clusterwide table
Problem to solve
This is initially more of a question of the operation of Cells. For the tables for which no decision has been made about the operation of Cells, Org Mover can only wait (or help make that decision).
After a decision is made about each particular table, then we need to ask if something needs to occur during the cutover of an org. If yes, then it is Org Mover's responsibility.
As of 2025-01-22, these tables are clusterwide:
❯ grep "clusterwide" db/docs/*.yml
db/docs/abuse_events.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/abuse_report_assignees.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/abuse_report_events.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/abuse_report_label_links.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/abuse_report_labels.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/abuse_report_notes.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/abuse_report_user_mentions.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/abuse_reports.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/abuse_trust_scores.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/ai_feature_settings.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/ai_self_hosted_models.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/ai_settings.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/ai_testing_terms_acceptances.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/appearances.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/application_setting_terms.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/application_settings.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/atlassian_identities.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/audit_events_instance_amazon_s3_configurations.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/audit_events_instance_external_audit_event_destinations.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/audit_events_instance_external_streaming_destinations.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/audit_events_instance_google_cloud_logging_configurations.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/audit_events_instance_streaming_event_type_filters.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/audit_events_streaming_instance_event_type_filters.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/authentication_events.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/aws_roles.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/banned_users.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/broadcast_messages.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/cloud_connector_access.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/container_registry_protection_tag_rules.yml:- gitlab_main_clusterwide
db/docs/deploy_tokens.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/early_access_program_tracking_events.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/emails.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/ghost_user_migrations.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/gpg_key_subkeys.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/gpg_keys.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/historical_data.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/identities.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/instance_audit_events.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/instance_audit_events_streaming_headers.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/instance_integrations.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/keys.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/licenses.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/oauth_applications.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/plan_limits.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/plans.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/programming_languages.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/redirect_routes.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/routes.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/saved_replies.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/sbom_occurrences.yml:- gitlab_main_clusterwide
db/docs/security_training_providers.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/service_access_tokens.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/smartcard_identities.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/snippet_repositories.yml:- gitlab_main_clusterwide
db/docs/snippet_repository_storage_moves.yml:- gitlab_main_clusterwide
db/docs/snippet_statistics.yml:- gitlab_main_clusterwide
db/docs/snippet_user_mentions.yml:- gitlab_main_clusterwide
db/docs/spam_logs.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/subscription_add_ons.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/system_hooks.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/term_agreements.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_agent_details.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_audit_events.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_broadcast_message_dismissals.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_callouts.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_credit_card_validations.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_custom_attributes.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_details.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_follow_users.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_highest_roles.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_member_roles.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_permission_export_uploads.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_phone_number_validations.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_preferences.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_statuses.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/user_synced_attributes_metadata.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/users.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/users_statistics.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/vs_code_settings.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/webauthn_registrations.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/work_item_hierarchy_restrictions.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/work_item_related_link_restrictions.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/work_item_types.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/work_item_widget_definitions.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/x509_certificates.yml:gitlab_schema: gitlab_main_clusterwide
db/docs/x509_issuers.yml:gitlab_schema: gitlab_main_clusterwide
Proposal
List all clusterwide tables. Document a decision about how each table is handled during an org move. (Hopefully a lot of no-ops