dtp-tripwire-agent
Version:
A service for protecting your node against malicious attacks and scans.
49 lines • 2 kB
JavaScript
// src/config/env.ts
// Copyright (C) 2025 DTP Technologies, LLC
// All Rights Reserved
import "dotenv/config";
import assert from "node:assert";
import path, { dirname } from "node:path";
import fs from "node:fs";
import { fileURLToPath } from "node:url";
const __dirname = dirname(fileURLToPath(import.meta.url)); // jshint ignore:line
assert(process.env.TRIPWIRE_API_CLIENT_ID, "TRIPWIRE_API_CLIENT_ID is not defined");
assert(process.env.TRIPWIRE_API_CLIENT_SECRET, "TRIPWIRE_API_CLIENT_SECRET is not defined");
assert(process.env.TRIPWIRE_N8N_AUTH_TOKEN, "TRIPWIRE_N8N_AUTH_TOKEN is not defined");
assert(process.env.TRIPWIRE_N8N_EVENT_URL, "TRIPWIRE_N8N_EVENT_URL is not defined");
assert(process.env.TRIPWIRE_N8N_ERROR_URL, "TRIPWIRE_N8N_ERROR_URL is not defined");
async function readJsonFile(path) {
const file = await fs.promises.readFile(path);
return JSON.parse(file.toString("utf-8"));
}
export const ROOT_DIR = path.resolve(__dirname, "..", "..");
export const SRC_DIR = path.resolve(__dirname, "..");
export default {
NODE_ENV: process.env.NODE_ENV,
root: ROOT_DIR,
src: SRC_DIR,
pkg: await readJsonFile(path.join(ROOT_DIR, "package.json")),
api: {
url: process.env.TRIPWIRE_API_URL ||
"https://tripwire.digitaltelepresence.com/api/v1",
clientId: process.env.TRIPWIRE_API_CLIENT_ID,
clientSecret: process.env.TRIPWIRE_API_CLIENT_SECRET,
},
cache: {
path: path.join(ROOT_DIR, ".cache"),
},
n8n: {
authToken: process.env.TRIPWIRE_N8N_AUTH_TOKEN,
eventUrl: process.env.TRIPWIRE_N8N_EVENT_URL,
errorUrl: process.env.TRIPWIRE_N8N_ERROR_URL,
},
log: {
enabled: process.env.TRIPWIRE_LOG === "enabled",
levels: {
debug: process.env.TRIPWIRE_LOG_DEBUG === "enabled",
info: process.env.TRIPWIRE_LOG_INFO === "enabled",
warn: process.env.TRIPWIRE_LOG_WARN === "enabled",
},
},
};
//# sourceMappingURL=env.js.map