Files
windrose-servermanager/manager/src/core/config.ts
T

31 lines
642 B
TypeScript

import fs from "fs";
import path from "path";
import YAML from "yaml";
export interface InstanceConfig {
id: string;
containerName: string;
image: string;
savedDir: string;
configPaths: {
serverDescription: string;
worldsRoot: string;
};
}
const CONFIG_PATH = path.join(__dirname, "..", "..", "config", "instances.yml");
let cache: { instances: InstanceConfig[] };
export function loadConfig() {
if (!cache) {
const raw = fs.readFileSync(CONFIG_PATH, "utf8");
cache = YAML.parse(raw);
}
return cache;
}
export function getInstance(id: string) {
return loadConfig().instances.find(i => i.id === id);
}