use std::sync::Arc;
use nodedb::ServerConfig;
use nodedb::bootstrap;
use nodedb::control::startup::ReadyGate;
use nodedb::control::state::SharedState;
pub(crate) async fn run(
shared: &Arc<SharedState>,
wal_records: &Arc<[nodedb_wal::WalRecord]>,
config: &ServerConfig,
catalog_gate: &ReadyGate,
) -> anyhow::Result<()> {
catalog_gate.fire();
bootstrap::credentials::replay_surrogate_wal(shared, wal_records);
nodedb::control::server::shared::ddl::neutral::tenant::move_tenant::recovery::recover_all(
shared,
)
.await;
bootstrap::credentials::bootstrap_superuser(shared, config)?;
Ok(())
}