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

Added sonarqube check

parent c41a203b
Branches
Tags
1 merge request!1Master
...@@ -5,6 +5,12 @@ include: ...@@ -5,6 +5,12 @@ include:
file: '/cicd/SAST-nodejs.gitlab-ci.yml' file: '/cicd/SAST-nodejs.gitlab-ci.yml'
- project: 'general/templates' - project: 'general/templates'
file: '/cicd/npm-audit.gitlab-ci.yml' file: '/cicd/npm-audit.gitlab-ci.yml'
- project: 'general/templates'
file: '/cicd/sonarqube.gitlab-ci.yml'
variables:
SONAR_PROJECT_KEY: config
SONAR_TOKEN: 11922a8e774494f51e1d2f0e695949e4073e7df8
cache: cache:
paths: paths:
......
# config # config
[![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)
Simple Config Log with HashiCorp Vault support. Simple Config Log with HashiCorp Vault support.
## Installation ## Installation
`npm install --save git+ssh://git@it-devops-01.br-edv.brnet.int:general/config.git`
## Usage ## Usage
`let config = require('config')`
## TODO Then config is your config object. (Use it like config.setting)
sonarqube It reads from the following sources, performing a deep merge:
(The Top Value overwrites the lower ones)
badges - ENV
- config.json
- config.defaults.json
bottom overwrites top ## TODO / Missing
config.defaults.json
config.json
process.ENV
if value == "vault:", treat it as secret - hashicorp values support: if value == "vault:", treat it as secret
\ No newline at end of file - sonarqube + badges
- tests
var fs = require('fs')
var merge = require('lodash.merge')
let config = {}
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)
module.exports = config
const iterate = function (obj) {
for (let index = 0; index < Object.keys(obj).length; index++) {
const element = Object.keys(obj)[index]
if (process.env[element]) {
obj[element] = process.env[element]
}
if (typeof element === 'object') {
iterate(element)
}
}
}
\ No newline at end of file
...@@ -2758,6 +2758,11 @@ ...@@ -2758,6 +2758,11 @@
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true "dev": true
}, },
"lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
},
"lodash.sortby": { "lodash.sortby": {
"version": "4.7.0", "version": "4.7.0",
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
......
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
"description": "Simple Config Log with HashiCorp Vault support", "description": "Simple Config Log with HashiCorp Vault support",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"test": "jest" "test": "jest",
"sonarqube": "sonar-scanner -Dsonar.projectKey=config -Dsonar.sources=. -Dsonar.host.url=https://it-devops-01.br-edv.brnet.int:8999 -Dsonar.login=gitlab"
}, },
"keywords": [ "keywords": [
"config", "config",
...@@ -14,6 +15,7 @@ ...@@ -14,6 +15,7 @@
"author": "Dominik Sigmund", "author": "Dominik Sigmund",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"lodash.merge": "^4.6.2",
"vault": "^0.3.0" "vault": "^0.3.0"
}, },
"devDependencies": { "devDependencies": {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment