Merge pull request #275 from fosrl/dev

add migration script
This commit is contained in:
Milo Schwartz 2025-03-04 11:14:31 -05:00 committed by GitHub
commit eb73da8aa0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 68 additions and 9 deletions

View file

@ -2,7 +2,7 @@ import path from "path";
import { fileURLToPath } from "url"; import { fileURLToPath } from "url";
// This is a placeholder value replaced by the build process // This is a placeholder value replaced by the build process
export const APP_VERSION = "1.0.0-beta.15"; export const APP_VERSION = "1.0.0";
export const __FILENAME = fileURLToPath(import.meta.url); export const __FILENAME = fileURLToPath(import.meta.url);
export const __DIRNAME = path.dirname(__FILENAME); export const __DIRNAME = path.dirname(__FILENAME);

View file

@ -16,6 +16,7 @@ import m7 from "./scripts/1.0.0-beta10";
import m8 from "./scripts/1.0.0-beta12"; import m8 from "./scripts/1.0.0-beta12";
import m13 from "./scripts/1.0.0-beta13"; import m13 from "./scripts/1.0.0-beta13";
import m15 from "./scripts/1.0.0-beta15"; import m15 from "./scripts/1.0.0-beta15";
import m16 from "./scripts/1.0.0";
// THIS CANNOT IMPORT ANYTHING FROM THE SERVER // THIS CANNOT IMPORT ANYTHING FROM THE SERVER
// EXCEPT FOR THE DATABASE AND THE SCHEMA // EXCEPT FOR THE DATABASE AND THE SCHEMA
@ -31,7 +32,8 @@ const migrations = [
{ version: "1.0.0-beta.10", run: m7 }, { version: "1.0.0-beta.10", run: m7 },
{ version: "1.0.0-beta.12", run: m8 }, { version: "1.0.0-beta.12", run: m8 },
{ version: "1.0.0-beta.13", run: m13 }, { version: "1.0.0-beta.13", run: m13 },
{ version: "1.0.0-beta.15", run: m15 } { version: "1.0.0-beta.15", run: m15 },
{ version: "1.0.0", run: m16 }
// Add new migrations here as they are created // Add new migrations here as they are created
] as const; ] as const;

View file

@ -0,0 +1,57 @@
import { APP_PATH } from "@server/lib/consts";
import fs from "fs";
import yaml from "js-yaml";
import path from "path";
import { z } from "zod";
import { fromZodError } from "zod-validation-error";
const version = "1.0.0";
export default async function migration() {
console.log(`Running setup script ${version}...`);
try {
const traefikPath = path.join(
APP_PATH,
"traefik",
"traefik_config.yml"
);
const schema = z.object({
experimental: z.object({
plugins: z.object({
badger: z.object({
moduleName: z.string(),
version: z.string()
})
})
})
});
const traefikFileContents = fs.readFileSync(traefikPath, "utf8");
const traefikConfig = yaml.load(traefikFileContents) as any;
const parsedConfig = schema.safeParse(traefikConfig);
if (!parsedConfig.success) {
throw new Error(fromZodError(parsedConfig.error).toString());
}
traefikConfig.experimental.plugins.badger.version = "v1.0.0";
const updatedTraefikYaml = yaml.dump(traefikConfig);
fs.writeFileSync(traefikPath, updatedTraefikYaml, "utf8");
console.log(
"Updated the version of Badger in your Traefik configuration to 1.0.0"
);
} catch (e) {
console.log(
"We were unable to update the version of Badger in your Traefik configuration. Please update it manually."
);
console.error(e);
}
console.log(`${version} migration complete`);
}

View file

@ -112,7 +112,7 @@ export default function StepperForm() {
<> <>
<Card> <Card>
<CardHeader> <CardHeader>
<CardTitle>Setup New Organization</CardTitle> <CardTitle>New Organization</CardTitle>
<CardDescription> <CardDescription>
Create your organization, site, and resources Create your organization, site, and resources
</CardDescription> </CardDescription>