62 lines
1.5 KiB
TypeScript
62 lines
1.5 KiB
TypeScript
import {InfisicalSDK} from "@infisical/sdk"
|
|
|
|
const client = new InfisicalSDK({
|
|
siteUrl: "https://secrets.fedeo.io"
|
|
})
|
|
|
|
|
|
|
|
export let secrets = {
|
|
|
|
} as {
|
|
COOKIE_SECRET: string
|
|
JWT_SECRET: string
|
|
PORT: number
|
|
HOST: string
|
|
DATABASE_URL: string
|
|
S3_BUCKET: string
|
|
ENCRYPTION_KEY: string
|
|
MAILER_SMTP_HOST: string
|
|
MAILER_SMTP_PORT: number
|
|
MAILER_SMTP_SSL: string
|
|
MAILER_SMTP_USER: string
|
|
MAILER_SMTP_PASS: string
|
|
MAILER_FROM: string
|
|
S3_ENDPOINT: string
|
|
S3_REGION: string
|
|
S3_ACCESS_KEY: string
|
|
S3_SECRET_KEY: string
|
|
M2M_API_KEY: string
|
|
API_BASE_URL: string
|
|
GOCARDLESS_BASE_URL: string
|
|
GOCARDLESS_SECRET_ID: string
|
|
GOCARDLESS_SECRET_KEY: string
|
|
DOKUBOX_IMAP_HOST: string
|
|
DOKUBOX_IMAP_PORT: number
|
|
DOKUBOX_IMAP_SECURE: boolean
|
|
DOKUBOX_IMAP_USER: string
|
|
DOKUBOX_IMAP_PASSWORD: string
|
|
OPENAI_API_KEY: string
|
|
STIRLING_API_KEY: string
|
|
}
|
|
|
|
export async function loadSecrets () {
|
|
|
|
await client.auth().universalAuth.login({
|
|
clientId: process.env.INFISICAL_CLIENT_ID,
|
|
clientSecret: process.env.INFISICAL_CLIENT_SECRET,
|
|
});
|
|
|
|
const allSecrets = await client.secrets().listSecrets({
|
|
environment: "dev", // stg, dev, prod, or custom environment slugs
|
|
projectId: "39774094-2aaf-49fb-a213-d6b2c10f6144"
|
|
});
|
|
|
|
allSecrets.secrets.forEach(secret => {
|
|
secrets[secret.secretKey] = secret.secretValue
|
|
})
|
|
console.log("✅ Secrets aus Infisical geladen");
|
|
console.log(Object.keys(secrets).length + " Stück")
|
|
}
|
|
|