Skip to content
Snippets Groups Projects
Commit 31744a69 authored by Sigmund, Dominik's avatar Sigmund, Dominik
Browse files

Added Examples

parent 3df4d11c
No related branches found
No related tags found
1 merge request!1Master
...@@ -2,6 +2,12 @@ ...@@ -2,6 +2,12 @@
[![pipeline status](https://it-devops-01.br-edv.brnet.int/general/config/badges/master/pipeline.svg)](https://it-devops-01.br-edv.brnet.int/general/config/commits/master) [![pipeline status](https://it-devops-01.br-edv.brnet.int/general/config/badges/master/pipeline.svg)](https://it-devops-01.br-edv.brnet.int/general/config/commits/master)
[![coverage report](https://it-devops-01.br-edv.brnet.int/general/config/badges/master/coverage.svg)](https://it-devops-01.br-edv.brnet.int/general/config/commits/master) [![coverage report](https://it-devops-01.br-edv.brnet.int/general/config/badges/master/coverage.svg)](https://it-devops-01.br-edv.brnet.int/general/config/commits/master)
[![Quality Gate Status](https://it-devops-01.br-edv.brnet.int:8999/api/project_badges/measure?project=config&metric=alert_status)](https://it-devops-01.br-edv.brnet.int:8999/dashboard?id=config)
[![Maintainability Rating](https://it-devops-01.br-edv.brnet.int:8999/api/project_badges/measure?project=config&metric=sqale_rating)](https://it-devops-01.br-edv.brnet.int:8999/dashboard?id=config)
[![Reliability Rating](https://it-devops-01.br-edv.brnet.int:8999/api/project_badges/measure?project=config&metric=reliability_rating)](https://it-devops-01.br-edv.brnet.int:8999/dashboard?id=config)
[![Security Rating](https://it-devops-01.br-edv.brnet.int:8999/api/project_badges/measure?project=config&metric=security_rating)](https://it-devops-01.br-edv.brnet.int:8999/dashboard?id=config)
[![Technical Debt](https://it-devops-01.br-edv.brnet.int:8999/api/project_badges/measure?project=config&metric=sqale_index)](https://it-devops-01.br-edv.brnet.int:8999/dashboard?id=config)
[![Vulnerabilities](https://it-devops-01.br-edv.brnet.int:8999/api/project_badges/measure?project=config&metric=vulnerabilities)](https://it-devops-01.br-edv.brnet.int:8999/dashboard?id=config)
Simple Config Log with HashiCorp Vault support. Simple Config Log with HashiCorp Vault support.
...@@ -25,5 +31,4 @@ It reads from the following sources, performing a deep merge: ...@@ -25,5 +31,4 @@ It reads from the following sources, performing a deep merge:
## TODO / Missing ## TODO / Missing
- hashicorp values support: if value == "vault:", treat it as secret - hashicorp values support: if value == "vault:", treat it as secret
- sonarqube + badges
- tests - tests
{
"setting":"value",
"another": {
"setting":"avalue"
}
}
\ No newline at end of file
{
"setting":"overwritten",
"another": {
"more":"settings"
}
}
\ No newline at end of file
let config = require('../../index')
console.log(JSON.stringify(config, undefined, 2))
\ No newline at end of file
{
"setting":"value",
"another": {
"setting":"avalue"
}
}
\ No newline at end of file
let config = require('../../index')
console.log(JSON.stringify(config, undefined, 2))
\ No newline at end of file
var fs = require('fs') var fs = require('fs')
var path = require('path')
var merge = require('lodash.merge') var merge = require('lodash.merge')
let config = {} let configDefaults = path.join(path.dirname(require.main.filename || process.mainModule.filename), 'config.defaults.json')
let configLocal = path.join(path.dirname(require.main.filename || process.mainModule.filename), 'config.json')
if (fs.accessSync('./config.defaults.json')) {
config = JSON.parse(fs.readFileSync('./config.defaults.json', 'utf8'))
}
if (fs.accessSync('./config.json')) {
config = merge(config, JSON.parse(fs.readFileSync('./config.json', 'utf8')))
}
iterate(config) let config = {}
module.exports = config
const iterate = function (obj) { const iterate = function (obj) {
for (let index = 0; index < Object.keys(obj).length; index++) { for (let index = 0; index < Object.keys(obj).length; index++) {
...@@ -21,8 +13,29 @@ const iterate = function (obj) { ...@@ -21,8 +13,29 @@ const iterate = function (obj) {
if (process.env[element]) { if (process.env[element]) {
obj[element] = process.env[element] obj[element] = process.env[element]
} }
// TODO: encode values here
if (typeof element === 'object') { if (typeof element === 'object') {
iterate(element) iterate(element)
} }
} }
} }
try {
fs.accessSync(configDefaults)
config = JSON.parse(fs.readFileSync(configDefaults, 'utf8'))
} catch (error) {
console.log('Could not read ' + configDefaults)
}
try {
fs.accessSync(configLocal)
config = merge(config, JSON.parse(fs.readFileSync(configLocal, 'utf8')))
} catch (error) {
console.log('Could not read ' + configLocal)
}
iterate(config)
module.exports = config
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment