I am saving my .env
content dynamically from the AWS secrets manager, but I want to save all values just once the server starts. What should be the approach?
I am using TypeScript:
JavaScript
x
11
11
1
getSecrets("key").then((keys: any) => {
2
const originalKeys = JSON.parse(keys);
3
for (const key in originalKeys) {
4
if (originalKeys.hasOwnProperty(key)) {
5
appendFileSync(
6
__dirname + "/.env",
7
`${key}='${originalKeys[key]}'n`
8
);
9
}
10
}
11
Advertisement
Answer
You could use a boolean to remember whether the code has been executed or not. Something like this:
JavaScript
1
13
13
1
let excecuted = false;
2
if (!excecuted) {
3
excecuted = true;
4
getSecrets("key").then((keys: any) => {
5
const originalKeys = JSON.parse(keys);
6
for (const key in originalKeys) {
7
if (originalKeys.hasOwnProperty(key)) {
8
appendFileSync(__dirname + "/.env", `${key}='${originalKeys[key]}'n`);
9
}
10
}
11
});
12
}
13