[CHORE] Misc Code Updates & Fixes (#2)
All checks were successful
S3 Repo Backup / s3-repo-backup (push) Successful in 23s
Deploy Edge / deploy-edge (push) Successful in 2m38s

Reviewed-on: https://forgejo.dunemask.dev///elysium/cairo/pulls/2
Co-authored-by: Dunemask <dunemask@gmail.com>
Co-committed-by: Dunemask <dunemask@gmail.com>
This commit is contained in:
Dunemask 2024-12-23 00:57:35 +00:00 committed by dunemask
parent a293eadbde
commit 1621105cca
4 changed files with 34 additions and 22 deletions

View file

@ -1,12 +1,15 @@
import DefaultRolePolicies from "./vix/AppPolicies";
const requiredEnvars: string[] = ["CAIRO_KEYPAIR_KEY"];
const REQUIRED_ENV: string[] = [
"CAIRO_POSTGRES_URI", // Used for postgres connections
"CAIRO_KEYPAIR_KEY", // Used for encrypting and decrypting keypair keys
];
const encodedEnvar = (envar: string | undefined) => (!!envar ? Buffer.from(envar, "base64").toString("utf8") : envar);
export function assertRequired() {
for (const e of requiredEnvars) if (!process.env[e]) throw Error(`Envar '${e}' is required!`);
const decodeEnvar = <T extends string | undefined>(e: T) => (!!e ? Buffer.from(e, "base64").toString("utf8") : e) as T;
export function assertRequiredEnvars() {
for (const envar of Object.values(REQUIRED_ENV)) if (!process.env[envar]) throw Error(`Envar ${envar} is required!`);
}
const ENV = process.env as { [key in (typeof REQUIRED_ENV)[number]]: string } & Record<string, string | null>;
export default {
Server: {
@ -33,11 +36,11 @@ export default {
},
},
SigningOptions: {
HashRounds: 12,
HashRounds: 14,
Version: "0.0.1-alpha",
Issuer: encodedEnvar(process.env.CAIRO_HOSTNAME) ?? "https://cairo.dunemask.net",
Issuer: process.env.CAIRO_HOSTNAME ?? "https://cairo.dunemask.net",
Keys: {
KeyPair: encodedEnvar(process.env.CAIRO_KEYPAIR_KEY) ?? "keypair-key",
KeyPair: decodeEnvar(ENV.CAIRO_KEYPAIR_KEY),
},
Subjects: {
User: "user",