import { load } from "@std/dotenv"; import { parse } from "jsr:@std/yaml"; import { log } from "./log.ts"; const dirname = new URL(".", import.meta.url).pathname; await load({ envPath: `${dirname}/.env`, export: true }); let staticUsers; try { const yamlContent = await Deno.readTextFile(`${dirname}/users.yaml`); staticUsers = parse(yamlContent); log("Static user config:", "blue"); log(Deno.inspect(staticUsers), "blue"); } catch { staticUsers = {}; log(`Could not find or parse a "users.yaml" config`, "yellow"); } const relay_urls = Deno.env.get("RELAY_URLS")?.split(","); const config = { port: Deno.env.get("PORT") || 8000, base_url: Deno.env.get("BASE_URL") || `http://localhost:8000`, relay_urls, staticUsers: staticUsers, ldapEnabled: !!Deno.env.get("LDAP_URL"), ldap: { url: Deno.env.get("LDAP_URL"), bindDN: Deno.env.get("LDAP_BIND_DN"), password: Deno.env.get("LDAP_PASSWORD"), searchDN: Deno.env.get("LDAP_SEARCH_DN"), }, }; log(`LDAP enabled: ${config.ldapEnabled}`, "blue"); export default config;