Ctrl K
ComunidadGuías…

scripts/site-migration.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/usr/bin/env -S deno run --allow-env --allow-read --allow-write --allow-net --allow-sys --allow-ffi

import { runDenoScript } from "#scripts/script-runner.ts";
import { runSiteMigrationTui } from "#scripts/site-migration/run.ts";
import { fetchSites } from "#scripts/site-migration/sites.ts";
import {
  migrationInterruption,
  tursoMigrationDeps,
} from "#scripts/turso-migration-entry.ts";
import { bunnyHostingProvider } from "#shared/bunny-cdn.ts";
import { requireSuccess } from "#shared/result.ts";

const signal = migrationInterruption();

await runDenoScript(async (io) =>
  runSiteMigrationTui({
    ...(await tursoMigrationDeps(io, signal, "tickets-site-migration-")),
    fetchSites: (instance) => fetchSites(instance, fetch, signal),
    setSiteSecrets: async (bunnyApiKey, scriptId, secrets) => {
      // The Bunny client reads its key from the environment, like a site does.
      Deno.env.set("BUNNY_API_KEY", bunnyApiKey);
      requireSuccess(await bunnyHostingProvider.setSecrets(scriptId, secrets));
    },
  }),
);