From abe6b2366bda1e36ed7939d78b6bfe049ee17724 Mon Sep 17 00:00:00 2001 From: walcutt Date: Tue, 27 Feb 2024 21:55:40 -0500 Subject: [PATCH] Add ability to read secrets from docker --- asher/package-lock.json | 10 +++++++++- asher/package.json | 6 +++++- asher/src/index.js | 4 +++- asher/src/secrets.js | 21 +++++++++++++++++++++ 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 asher/src/secrets.js diff --git a/asher/package-lock.json b/asher/package-lock.json index 48823ea..b034c75 100644 --- a/asher/package-lock.json +++ b/asher/package-lock.json @@ -7,7 +7,15 @@ "": { "name": "asher-discord-bot", "version": "0.0.0", - "license": "ISC" + "license": "ISC", + "dependencies": { + "fs": "^0.0.1-security" + } + }, + "node_modules/fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" } } } diff --git a/asher/package.json b/asher/package.json index ed87e82..c6bb615 100644 --- a/asher/package.json +++ b/asher/package.json @@ -2,6 +2,7 @@ "name": "asher-discord-bot", "version": "0.0.0", "description": "best friends bot", + "type": "module", "main": "src/index.js", "scripts": { "serve": "node src/index.js", @@ -16,5 +17,8 @@ "bugs": { "url": "https://github.com/walcutt/asher/issues" }, - "homepage": "https://github.com/walcutt/asher#readme" + "homepage": "https://github.com/walcutt/asher#readme", + "dependencies": { + "fs": "^0.0.1-security" + } } diff --git a/asher/src/index.js b/asher/src/index.js index 77a45fd..bac495e 100644 --- a/asher/src/index.js +++ b/asher/src/index.js @@ -1 +1,3 @@ -console.log("hello world!"); \ No newline at end of file +import { secretKeys, getSecret } from "./secrets.js"; + +console.log(getSecret(secretKeys.BOT_KEY)); \ No newline at end of file diff --git a/asher/src/secrets.js b/asher/src/secrets.js new file mode 100644 index 0000000..7349932 --- /dev/null +++ b/asher/src/secrets.js @@ -0,0 +1,21 @@ +import fs from 'fs'; + +export const secretKeys = { + BOT_KEY: 'botkey' +}; + +const secretManifest = [ + secretKeys.BOT_KEY, +]; + +let secrets = {}; + +secretManifest.forEach( + (key) => { + secrets[key] = fs.readFileSync(`/run/secrets/${key}`, { encoding: "utf-8" }); + } +); + +export function getSecret(key) { + return secrets[key]; +} \ No newline at end of file