Skip to content

Squash carbide-api-db migrations#3288

Merged
kensimon merged 3 commits into
NVIDIA:mainfrom
kensimon:squashed-migration
Jul 9, 2026
Merged

Squash carbide-api-db migrations#3288
kensimon merged 3 commits into
NVIDIA:mainfrom
kensimon:squashed-migration

Conversation

@kensimon

@kensimon kensimon commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

This moves to a single snapshotted .sql file of the whole database schema, and archives old migrations to a pre-squash directory.

Compatibility with existing deployments is maintained by splitting into three sqlx::migrate::Migrator instances:

  • One for the pre-squash migrations
  • One for the squashed migration
  • One for the post-squash migrations

Whether we're an existing deployment or not is determined by the presence of the _sqlx_migrations table.

For existing deployments, they will migrate through the pre-squash migrations first (skipping any we've already migrated), then migrate through the new migrations directory, intentionally skipping the single squash migration via Migrator::skip.

For new deployments, the inverse happens: If we don't see a _sqlx_migrations table, we run the squash migration first, then all the other migrations.

If other PR's are open at the time this is under review and are merged, it will not cause any issues: We run the squash migration from crates/api-db/migrations first in its own migrator (or skip it if we're an existing deployment running the legacy migrations), then we run every other migration in that directory. So if another migration is added, it will still be run at the correct time.

The approach generalizes to multiple squashes: We can do all this again in the future and it's just another entry to add to MIGRATION_LAYOUT.

Also included is a cargo xtask for performing the squashing, using @chet's PR #906 as a base.

Related issues

#1077

Type of Change

  • Add - New feature or capability
  • Change - Changes in existing functionality
  • Fix - Bug fixes
  • Remove - Removed features or deprecated functionality
  • Internal - Internal changes (refactoring, tests, docs, etc.)

Breaking Changes

  • This PR contains breaking changes

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed
  • No testing required (docs, internal refactor, etc.)

Additional Notes

Tested locally via devspace, by deploying the main branch via devspace deploy -n nico-system, then checking out this branch, and doing it again, and ensuring the migration worked and looked as expected. Then did the same after starting the database from scratch and just deploying this branch, verifying the migrations table had a single entry.

This moves to a single snapshotted .sql file of the whole database
schema, and archives old migrations to a pre-squash directory.

Compatibility with existing deployments is maintained by splitting into
three `sqlx::migrate::Migrator` instances:

- One for the pre-squash migrations
- One for the squashed migration
- One for the post-squash migrations

Whether we're an existing deployment or not is determined by the
presence of the `_sqlx_migrations` table.

For existing deployments, they will migrate through the pre-squash
migrations first (skipping any we've already migrated), then migrate
through the new migrations directory, intentionally skipping the single
squash migration via Migrator::skip.

For new deployments, the inverse happens: If we don't see a
_sqlx_migrations table, we run the squash migration first, then all the
other migrations.

If other PR's are open at the time this is under review and are merged,
it will not cause any issues: We run the squash migration from
crates/api-db/migrations first in its own migrator (or skip it if we're
an existing deployment running the legacy migrations), *then* we run
every other migration in that directory. So if another migration is
added, it will still be run at the correct time.

The approach generalizes to multiple squashes: We can do all this again
in the future and it's just another entry to add to `MIGRATION_LAYOUT`.

Also included is a cargo xtask for performing the squashing, using
@chet's PR NVIDIA#906 as a base.
@kensimon kensimon requested a review from a team as a code owner July 8, 2026 21:54
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 379 files, which is 79 over the limit of 300.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 5551add3-c5c1-4406-9f7c-bb3bed7ef2fb

📥 Commits

Reviewing files that changed from the base of the PR and between 8e69112 and 220b778.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (379)
  • crates/api-core/src/tests/instance.rs
  • crates/api-core/src/tests/nvl_instance.rs
  • crates/api-db/build.rs
  • crates/api-db/migrations.pre-squash.20260708172302/20211119192131_initial.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20220524042504_bg.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221103120000_instance_network_config.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221107043732_add_vlanid_nw_prefix.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221107190608_remove_unique_constraint_on_names.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221108082344_dpu_machines.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221114120000_instance_network_status_observation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221117080928_remove_managed_resource.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221117090735_add_circuit_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221122062942_instance_addresses.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221123120000_instance_add_tenant_org.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221212120000_network_segment_controller_state.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20221213080900_cleanup_machine_function.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230104052648_remove_vpc_resource_state.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230112140927_machine_statemachine.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230119053148_statemachine_handler.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230126120000_update_cleanup_machine_function.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230131120000_machine_add_stable_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230206085013_state_history.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230213120000_update_cleanup_machine_function.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230224120000_network_segment_state_history.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230306060616_machine_history_remove_foreign_key.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230308160000_machine_network_status_observation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230315120000_stable_machine_id_only.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230317103549_machine_default_state.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230324140000_dpu_loopback_ip_and_resource_pool.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230331112432_add_tenant_keysets.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230424120000_fix_cleanup_machine_by_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230425160000_machine_network_config.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230428140000_resource_pool_drop_owner.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230502045735_network_segment_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230505055555_update_machines_network_config.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230509120000_ib_subnet.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230510055134_machine_id_cascade.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230512171432_bmc_info.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230518025702_host_machine_view.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230519010203_loopback_in_machines.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230522151617_resource_pool_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230613000000_ib_subnet_pkey.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230622040906_dns_view.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230622131415_k8_vpc_removal.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230622161718_forge_native_networking.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230630000000_instance_ib_config.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230711095418_bmc_machine.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230725161616_fix_vpc_vni_constraint.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230727103600_remove_unique_constraint_on_ib_subnet_name.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230728074553_machine_failed_state.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230801424242_add_custom_pxe_table.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230814000000_fix_instance_ib_observation_default.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230817141516_machine_maintenance_mode.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230822045731_keyset_in_instance.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230830063454_dpu_reprovisioning.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230906112406_network_devices.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230906131415_drop_tags_tables.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230906161718_drop_mq_tables.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230920103100_update_ib_subnet.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230921054054_drop_ssh_keys_table.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230922123418_update_bmc_machine_state.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230927110011_dpu_agent_upgrade.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20230928090026_network_device_add_remote_port.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20231002145658_machine_update_lock.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20231016000000_instance_add_always_boot_with_custom_ipxe.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20231016120000_rename_ib_subnets_to_partitions.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20231016194359_route_servers.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20231017000000_bmc_machine_add_firmware.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20231102100908_fk_indexes.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20231102112233_remove_instance_types.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20231129000000_site_explorer.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20231215000000_site_explorer_explored_managed_hosts.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240109141516_network_virtualization_nvue.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240122000000_site_explorer_explored_managed_host_add_host_mac.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240124205600_dns_records_enhanced.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240129175752_last_reboot_requested.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240131210256_create_agent_reported_inventory_col.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240202185808_create_instance_phone_home_cols.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240208060728_machine_interfaces_lock.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240217133420_machine_interfaces_constraint.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240322164924_machine_topology_cascade.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240404120000_remove_instance_ssh_keys.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240405000000_instance_labels.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240410132213_machines_controller_state_outcome.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240416111213_network_segments_controller_state_outcome.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240416141514_ib_partitions_controller_state_outcome.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240423140016_machine_interfaces_last_dhcp.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240501000000_block_storage.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240503191110_update_machine_interface_hostname.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240509113342_prediscovery_state.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240510200800_measured_boot.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240516000000_pending_bios_job.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240517200307_add-expected-machines.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240522173100_attestation_secret.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240527112824_site-explorer-multiple-dpus.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240530100510_bmc_vendor_migration.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240530120000_instance_os_definitions.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240605071700_host_firmware_updates.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240607063400_measured_boot_machines.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240607110910_explored_endpoints_missing_credentials.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240612152500_machine.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240613120000_expected_machine_password_col.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240617130600_update_pkey_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240617201107_expand-instance-description.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240618185800_cleanup_measured_boot.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240624222500_machine_validation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240628105000_tenant_org_id_indexes.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240702120000_machine_dpu_health_report.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240702171500_instance_hostnames.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240705120000_remove_dpu_machines_view.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240708160000_tpm_ca_certs.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240709165037_machine_state_model_version.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240715120000_remove_bmc_machine_table.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240716120000_site_explorer_exploration_requested.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240724034930_expected_machines_dpu_serial_numbers.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240726080000_machine_validation_thirdparty.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240730141100_firmware_autoupdate.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240731120000_machine_hardware_health_report.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240801120000_override_health_report.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240806170700_instance_addresses_prefix.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240808164800_desired_firmware.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240812090000_vpc_metadata.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240814140000_modify_storage_default.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240816200000_fnn_network_virtualization_types.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240822164700_modify_existing_storage_observation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240827101700_machine_validation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240827200000_redfish_bmc_reset.sql.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240916120000_machine_validation_health_report.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20240924182500_machine_validation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241001001001_update_admin_network_proc.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241001123600_host_inband_network_segment_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241004000001_instance_os_image.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241004092099_expand_vpc_description.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241007140300_replace_desired_firmware.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241007182500_machine_validation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241008001001_machine_validation_external_config.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241008121200_tenant_org_name.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241016001001_machine_validation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241016164000_predicted_machine_interfaces.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241016191804_fnn_asn.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241023212539_add-network-vpc-prefixes.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241024001001_machine_validation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241029000001_machine_validation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241104183523_domain_soa_and_metadata.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241113103503_machine_validation_data.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241114103503_machine_validation_data_markverified.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241118103503_machine_validation_h100.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241118104000_machine_validation_h100.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241119104000_machine_validation_progress.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241120120000_site_explorer_health_report.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241125230000_instance_types.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241127155004_block_storage_os_image_status.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241128073706_dpu_vpc_loopback.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241128161015_machine_infiniband_status_observation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241202232002_machine_instance_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241206173216_add_soa_if_not_exist.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241209180330_domain_metadata_to_own_table.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241210095138_last_used_prefix_vpc_prefix.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241211120000_ib_pkey_resource_pool.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241212180250_remove_instance_ib_status_observation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241212300050_machine_validation_benchmark.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241216200255_instance_instance_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241217113000_machine_interface_snapshots_view.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241219094100_machine_snapshots_view.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20241219125400_network_segment_snapshots_view.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250107120000_last_machine_interface_deletion.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250108104000_machine_validation_benchmark.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250108104400_tenant_organization_name_non_null.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250109104000_machine_validation_benchmark.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250109160000_machine_state_history_faster_json.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250110104000_machine_validation_benchmark.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250113215647_create_dns_record_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250113215832_create_dns_record_metadata.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250113220120_dns_record_views_update.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250114031013_os_images_bootfs_efifs.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250115000000_machine_metadata.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250115010000_expected_machine_metadata.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250115052247_network_security_groups.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250121090000_machine_interface_snapshots_add_network_segment_info.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250121120000_machine_log_parser_health_report.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250122151500_redefine_machine_interface_snapshots_again.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250123130500_drop_views.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250127104000_machine_validation_7d_lenovo.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250130185219_network-segment-can-stretch-flag.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250204104000_machine_validation_lenovo_7d9ecto1ww.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250204105000_machine_validation_fio_fix.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250207104000_machine_validation_lenovo_sr_l40.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250207165928_network_security_groups_name.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250210072554_svi_ip.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250210105000_machine_validation_cpu_mem_benchpress_fix.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250218130000_vpc_peers.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250224104000_machine_validation_raytracing.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250225202507_machine_skus.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250227104000_machine_validation_forge_forgerunbook.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250228165500_forge_versions.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250303042916_remove_circuit_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250305174520_network_security_groups_name_tenant.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250307000001_machine_validation_status_update.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250310120000_machine_health_history.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250312104000_machine_validation_sku_0b73_modelname_poweredge_xe9680.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250318104000_update_controller_state_format.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250320093650_instance_network_config_update.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250321104000_machine_validation_p54903_b21.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250324165636_sku_matching.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250330104000_site_explorer_powercycle_ts.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250331121456_sku_schema_version.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250409103503_machine_validation_nvme.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250416112900_machine_id_indexes.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250425045308_remove_instance_network_observation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250428095400_indexes_on_hardware_info.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250428120000_remove_machine_maintenance_mode.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250505194055_network_segment_id_to_network_details.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250507120000_machine_validation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250507220800_machine_validation_gb200.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250523105000_machine_validation_dcgmi.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250604153402_attestation_sha_increase.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250618103302_power_manager.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250624120000_clear_state_handler_outcomes.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250703145728_power_manager_disabled.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250711040508_instance_interface_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250714145741_compute_allocations.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250721120000_ib_fabric_monitor_lock.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250722183300_instance_interface_id_v2.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250724000000_redfish_admin_web_actions.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250729030811_expected_machines_sku.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250730031824_sku_device_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250730173641_machines_drop_sku_constraint.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250731110020_dedup_existing_mb_reports.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250731153820_max_reports_limit.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250805120000_scout_heartbeat.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250806184825_dpa_table.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250814183700_nvl_partitions.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250818203400_route_server_types.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250827125400_rackupgrades.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250829215857_extension_services.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250901090000_expected_machines_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250915223232_dpa_table_hb_add.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250917103715_dpu_remediation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20250923184311_site_explorer_pause_remediation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251007070125_gate_poweron.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251009001153_uniq_dpa_interface.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251022180404_drop_domain_regex.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251027040138_attestation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251028154100_drop_storage_tables.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251113063000_consolidated_rms.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251117183542_extension_services_observability.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251121172353_nsg_stateful_egress.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251122120000_state_controller_run_ids.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251122125530_attestation_upgrades.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251124134243_routing_profile.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251126100623_fix_nvlink_config_default.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251202110800_work_locks_table.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251202200419_dpa_table_ips.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20251216120000_explored_endpoint_boot_interface_mac.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260108180000_custom_pxe_reboot_requested.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260114063303_dpf_in_machine.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260114190701_rms_rack_firmware.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260114190702_rms_add_parsed_firmware_components.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260114190703_rms_machine_interface_id_constraints.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260114190704_rms_fix_var_char_expected_power_shelves.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260114190705_rms_add_os_credentials_to_expected_switch.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260114190706_manual_firmware_upgrade_completed.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260121120000_state_controller_processed_by.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260122093707_dpf_state_expected_machine.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260123174316_ib_partitions_add_labels_and_description.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260127040030_network_vpc_prefixes_add_labels_and_description.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260129120000_queued_objects_without_iteration_ids.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260205031119_resource_pool_auto_assign.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260205120158_dpf_jsonb_migration.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260213082014_vpc_status_fix_pre.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260213082015_vpc_status.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260218000000_ipv6_dns_aaaa_support.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260219203700_resource_pool_type_ipv6.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260220031300_resource_pool_type_ipv6prefix.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260221211100_device_info_report.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260223182201_pkey_source.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260224045500_dpa_mlxconfig_profile.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260225120000_tenant_identity_config.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260226120000_tenant_identity_config_rename_columns.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260226170100_index_machines_on_hw_sku.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260304032808_vpc_status_fix_post.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260305120000_rack_health_report_overrides.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260310024920_rack_firmware_apply_history.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260310120000_delete_machine_logparser_health.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260311022301_delete_hardware_health_health_column.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260311092600_change_agent_upgrade_policy.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260311120000_dpf_enabled_nullable.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260311150000_expected_machines_bmc_ip_address.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260313120000_expected_power_shelves_switches_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260313201946_index_machine_topologies_bmc_mac.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260316120000_expected_racks.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260316223033_machines_health_override_gin.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260319120000_backfill_rack_ids_in_expected_machines.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260320120000_add_rack_id_to_machines.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260321120000_operating_systems.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260322120001_switch_reprovisioning_requested.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260323120000_expected_switch_host_mac_to_nvos_mac.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260324063000_ib_partition_state_history.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260325181053_spdm_attestation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260326190000_increase_expected_switch_nvos_credential_length.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260330120012_nvlink_nmxc_endpoints.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260331120000_add_metadata_to_racks_switches_power_shelves.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260401110000_rack_controller_state_default_created.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260401120000_machine_health_history_rename_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260403042500_backfill_rack_id_switches_power_shelves.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260403072500_machine_interface_addresses_allocation_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260403122011_migrate_rms_membership_states.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260403132222_add_location.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260404052100_expected_power_shelves_rename_ip_address.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260404154300_expected_switches_bmc_ip_address.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260406194600_network_segments_allocation_strategy.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260410163200_rack_firmware_hardware_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260413193743_spx_partitions.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260414062505_rack_firmware_is_default.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260414233201_expected_bmc_retain_credentials.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260415043310_add_bmc_mac_address_to_power_shelves.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260415130000_rack_nvos_update_status.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260415201205_rename_rack_type_to_rack_profile_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260415235755_switch_health_report_overrides.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260416000305_create_secrets_table.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260417001503_power_shelf_health_report_overrides.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260420043607_expected_machines_dpu_mode.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260420160000_switch_fabric_manager.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260423120000_expected_machines_host_lifecycle_profile.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260424154000_machine_and_sku_validation_health_report_override.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260427214705_host_network_config_use_admin_network.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260428120000_site_explorer_health_report_override.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260428130000_dpu_agent_health_report_override.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260429234903_rename_health_report_overrides_to_health_reports.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260430100000_resource_pool_def.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260506120000_tenant_identity_signing_key_rotation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260508100000_network_definition.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260508120000_allow_multiple_admin_network_segments.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260512040705_backfill_power_shelves_bmc_mac_address.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260512120000_link_bmc_machine_interfaces.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260512180000_power_shelf_maintenance_requested.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260518165405_flat_network_virtualization_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260519000000_nvlink_domain_health_reports.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260521190000_drop_rack_firmware_tables.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260521231500_bmc_redfish_session.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260522215431_expected_switches_nvos_ip_address.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260526120000_nvlink_partitions_nmx_c_partition_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260528120000_drop_tenant_identity_encryption_key_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260602202538_add_dpa_card_type.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260603120000_switch_maintenance_requested.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260603202104_vpc_prefix_lifecycle.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260604000000_last_scout_observed_version.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260605075527_explored_endpoints_boot_interface_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260605215213_machine_interfaces_boot_interface_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260607120000_ipv6_dns_hostname_normalization.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260608120000_machine_skus_id_not_empty.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260609232431_retained_boot_interfaces.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260613120000_machine_validation_execution_foundation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260614120000_site_explorer_run_status.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260615120000_instance_addresses_vpc_id.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260615190000_network_prefix_dhcpv6_link_address.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260616215917_predicted_machine_interface_primary.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260617120000_static_assignments_ipv6_placeholder.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260620153439_machine_interface_addresses_address_index.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260622072105_remove_unused_instance_dns_view.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260622165000_extension_services_unique_active_name.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260623054901_serve_overlay_instance_forward_dns.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260623120000_credential_rotation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260623130000_credential_rotation_backfill.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260624120000_machine_validation_heartbeat_recovery.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260624130000_host_firmware_config.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260628075228_expected_machines_bmc_ip_allocation.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260628120000_unify_state_history_tables.sql
  • crates/api-db/migrations.pre-squash.20260708172302/20260630120000_link_bmc_switch_power_shelf_interfaces.sql
  • crates/api-db/migrations.pre-squash.20260708172302/README
  • crates/api-db/migrations/20260708172302_squash_snapshot.sql
  • crates/api-db/src/credential_rotation/test_backfill.rs
  • crates/api-db/src/migrations/mod.rs
  • crates/api-integration-tests/tests/secrets_import.rs
  • crates/api-test-helper/Cargo.toml
  • crates/api-test-helper/src/utils.rs
  • crates/xtask/Cargo.toml
  • crates/xtask/src/main.rs
  • crates/xtask/src/squash_migrations.rs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

🔍 Container Scan Summary

Service Total Critical High Medium Low Other
boot-artifacts-aarch64 3 0 0 3 0 0
boot-artifacts-x86_64 3 0 0 3 0 0
forge-admin-cli-x86_64 271 13 34 91 7 126
machine-validation-runner 776 37 223 281 40 195
machine_validation 776 37 223 281 40 195
machine_validation-aarch64 776 37 223 281 40 195
nvmetal-carbide 776 37 223 281 40 195
TOTAL 3381 161 926 1221 167 906

Per-CVE detail lives in the per-service grype-* artifacts (JSON + SARIF). Severity counts only — no CVE IDs published here.

@chet

chet commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Transient CICD failure (429 from GH) -- re-running failed jobs.

@kensimon kensimon merged commit 356dd0b into NVIDIA:main Jul 9, 2026
107 of 109 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants