Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
8e7909e367 | |||
ff9302f745 | |||
3577fa22e1 | |||
f5275adfbd | |||
31bf1b27a4 | |||
a77def5844 | |||
2357699f3e | |||
01f5784488 |
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/qenv",
|
||||
"version": "3.0.5",
|
||||
"version": "3.1.1",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/qenv",
|
||||
"version": "3.0.5",
|
||||
"version": "3.1.1",
|
||||
"private": false,
|
||||
"description": "easy promised environments",
|
||||
"main": "dist/index.js",
|
||||
|
@ -17,10 +17,12 @@ tap.test('should create a new class', async () => {
|
||||
|
||||
tap.test('key1 should be not be overwritten since it is already present', async () => {
|
||||
expect(process.env.key1).to.equal('original');
|
||||
expect(qenvTestObject.getEnvVarOnDemand('key1')).to.equal('original');
|
||||
});
|
||||
|
||||
tap.test('key2 should be read from Yml', async () => {
|
||||
expect(process.env.key2).to.equal('fromYml');
|
||||
expect(qenvTestObject.getEnvVarOnDemand('key2')).to.equal('fromYml');
|
||||
});
|
||||
|
||||
tap.test('keyValueObjectArray should hold all retrieved values', async () => {
|
||||
|
@ -1,4 +1,5 @@
|
||||
import * as plugins from './qenv.plugins';
|
||||
plugins.smartlog.defaultLogger.enableConsole();
|
||||
|
||||
export interface IKeyValueObject {
|
||||
key: string;
|
||||
@ -105,11 +106,15 @@ export class Qenv {
|
||||
// docker secret.json
|
||||
if (
|
||||
plugins.smartfile.fs.isDirectory('/run') &&
|
||||
plugins.smartfile.fs.isDirectory('/run/secrets') &&
|
||||
plugins.smartfile.fs.fileExistsSync(`/run/secrets/secret.json`)
|
||||
plugins.smartfile.fs.isDirectory('/run/secrets')
|
||||
) {
|
||||
const secretObject = plugins.smartfile.fs.toObjectSync('/run/secrets/secret.json');
|
||||
dockerSecret = secretObject[requiredEnvVar];
|
||||
const availableSecrets = plugins.smartfile.fs.listAllItemsSync('/run/secrets');
|
||||
for (const secret of availableSecrets) {
|
||||
if (secret.includes('secret.json') && !dockerSecret) {
|
||||
const secretObject = plugins.smartfile.fs.toObjectSync(`/run/secrets/${secret}`);
|
||||
dockerSecret = secretObject[requiredEnvVar];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// warn if there is more than one candidate
|
||||
|
Reference in New Issue
Block a user