{"_id":"the-concierge","_rev":"77-ec6bcdbe0a5364e41f6bdb9b53f78776","name":"the-concierge","description":"Concierge Service","dist-tags":{"latest":"5.1.0"},"versions":{"2.6.2":{"name":"the-concierge","version":"2.6.2","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^2.0.39","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^6.0.38","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.3.4","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"4a4009a9bf01169141aa4ac0bcc695b68d21eb88","_id":"the-concierge@2.6.2","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-hO0i4yl7Z3Cib5hPJHOQG5beTPCFhB+BPOeJ4aFTiHp/RdWFQkG6TD1xotEYrUREN9SXsOuIqhWnNKQa3hJopw==","shasum":"5e5943b496a91a7e7678c54523f6eee617d1abc0","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBYmzfT80tsZEF0QRVAMSAkdvr3/3x6OiFAQAYw4KXE6AiA02j0jku/0Vy7e0Cr1YGGG7dHhONAkEr07gCBci0cqTg=="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.2.tgz_1508841782242_0.1272929802071303"},"directories":{}},"2.6.3":{"name":"the-concierge","version":"2.6.3","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^2.0.39","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^6.0.38","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.3.4","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"d8e5ff4c8d6b3e37b4705d99930d8e1e7f801312","_id":"the-concierge@2.6.3","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-vR1ID02S0oFFjdCSE8Xg5RtAT7SZMbqHpZ2O/C0/UOIHmiHcoVJIMtLAZrUdjMI/niquYGTU90OjvbP2GWMlUQ==","shasum":"daa8a22b278caa13c68ce31bc65632b8c53efb94","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAFx1zzc1CYuOyR+en0Fu04O2iBZO52KvKSBDBo0sTcfAiEArds1xhbCXQQEcdfhTSVXFrkfyPAqQE1r5RvVTSfNjzw="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.3.tgz_1508902961482_0.9853693356271833"},"directories":{}},"2.6.4":{"name":"the-concierge","version":"2.6.4","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^2.0.39","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^6.0.38","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.3.4","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"e3f3f9bc628939d9d86e496f1bdae8f58083e31f","_id":"the-concierge@2.6.4","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-ptcz3mSDxNama3R9f/RF4PkTXhdlNVQR1NlzUVSIYpqb89WEXex/lr/3C63j7xKbj0rPZG2cQLmIjZfmYnvYuQ==","shasum":"7828dc644cab09ddd6f08830949c76f7b9eda830","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIElyU+asEYthIhU0crL7dOZsfvS5L5oIasDqzvcJZ0TmAiAZEj9DLnw6L4oy3835Eoc9DET28/lvmQbzBqS5bVfz2g=="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.4.tgz_1509010001506_0.11750518879853189"},"directories":{}},"2.6.5":{"name":"the-concierge","version":"2.6.5","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^2.0.39","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^6.0.38","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.3.4","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"bb3642cba741611722440964f6d275ff1213932f","_id":"the-concierge@2.6.5","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-MpLkLQM53gedmC5CVWq1jezsOpocdLSknipFtclq7tT5UjSNmVpesNGJV9hg4gPPdp5rXeXjAve2LXPhBd2QTw==","shasum":"7489990dc802be1f7dc21098756f51e560187ed4","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhlU1BwoVwgq/eZJsn9qWPbxhTZpGQU0+4Ks7NwwOQbQIhANJqndUtM2TN4PPUd85ADcBLizL+DLkuw1Yl1kYqv1hM"}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.5.tgz_1509012787054_0.5628869328647852"},"directories":{}},"2.6.6":{"name":"the-concierge","version":"2.6.6","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^2.0.39","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^6.0.38","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.3.4","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"dbcd87653a58aaed4a83e918c2ac235a2f11a97b","_id":"the-concierge@2.6.6","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-4Ev6x/sZ9SC6SB95LmU94q4dXpSi8maHW8GHyLV5PJKRY484AWV7suhsR82Vi/65ySpGoed3feP5iBbc8mXpPg==","shasum":"7cda521de4144a73cc211f130e9e7601848a7453","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE394klj+tw255Z5ZwYire/U9Xw9rm62H5M1EAb6IQY4AiEAtFx8IhRalx0nv5wzzaKOXIyhIVVa4Qw7T4qJLO7zv60="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.6.tgz_1509023776505_0.4571019590366632"},"directories":{}},"2.6.7":{"name":"the-concierge","version":"2.6.7","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^2.0.39","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^6.0.38","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.3.4","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"eeff492b6f21b3d52f095e949bab7eb92fc85f4d","_id":"the-concierge@2.6.7","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-grx7xgnEuTcKehMVNsHojwfyTC+9bQrWC0JD9IYIG0uEGiLvf8/pT8sxK6DF6O+swSI/zWevR7iRTADE6IxzwA==","shasum":"ecf8e42775ee3cacc9ec4e17a09c1fb72472f06b","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH7mQuzwht3nRUo7QxLy4Gma0LMuM+LbAg3r+7l0yfTDAiEAqCCjo5xTNwseeOKdIbM+pEA+mVog52Gwjc0vcHqYsMc="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.7.tgz_1509085440983_0.886635007802397"},"directories":{}},"2.6.8":{"name":"the-concierge","version":"2.6.8","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^2.0.39","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^6.0.38","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.3.4","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"e6ef8573eda1fbbc8fb20848c5f1c22c6cb94e2d","_id":"the-concierge@2.6.8","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-Qj8cGYQZxjDPslfj2WgrTWy25C720tVLKdIYsN0R1LCpIC2ExLTenc7/nJpyAm3RGWIZc4kXWN6Oii4vwfsNsA==","shasum":"3d9f052de481f557ccb327e2886a25f407e6e2bf","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDerZxHVNBTimYlNsolFmeJziAYgxUn4asMnyWe/HqfZAiBN9Er6uSufOt0OGFQFWfDE0ZNGNZhpNa9OG9wnIYiJnA=="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.8.tgz_1509160072818_0.3699579720851034"},"directories":{}},"2.6.9":{"name":"the-concierge","version":"2.6.9","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^2.0.39","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^6.0.38","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.3.4","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"da33164fa9416343791f4b28fe00c432b2d770be","_id":"the-concierge@2.6.9","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-zPpMV+rrse2uvUpBeEdXf6c9JcznMkdxz6/rwnsV/+gfXgnZi7pv46FAruyhz9Pk5hUvW8zX9pQMWcrmm6bnIQ==","shasum":"d046aed7ba5a0d439d56c3300411023c7ad7cf5a","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrtRRBd6NzeTaEhavhU9Wu0ZskKTy6YxVAvWTHOzLuZAIhAO8mNXyEiW+nPAMiTVfmxoHY0ZYVnfvJTbYulUzzSyzS"}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.9.tgz_1509162227511_0.6805512572173029"},"directories":{}},"2.6.10":{"name":"the-concierge","version":"2.6.10","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^2.0.39","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^6.0.38","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.3.4","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"9a28076ca0799c3ca4061f142dd6c27527e634e5","_id":"the-concierge@2.6.10","_shasum":"daf7f7886dba525b22afab58189e2075cd4ff43f","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"shasum":"daf7f7886dba525b22afab58189e2075cd4ff43f","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.10.tgz","integrity":"sha512-cXPBWDmxYDhmTu919k60Hfj+Enh5aduLzqYzQ9KtU1HipicoVai8D9UD0znrI/Uv3eKud98+cCVsvxlU3Jbf5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCe+fue/k8esLu2aXoK5wwRuwa70Oy5HB70qtLqUUSY2QIhAMQ78+XJq2tyst64oqd4EViZrKLXHux5HfNlChtRoCuF"}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.10.tgz_1509197225180_0.4509648203384131"},"directories":{}},"2.6.11":{"name":"the-concierge","version":"2.6.11","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^2.0.39","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^6.0.38","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.3.4","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"7170f8a62864706360c852c6e9354815dc81940b","_id":"the-concierge@2.6.11","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-3xuV8nJPsoSSPQtAryW2KH4zCJQH31c8OvC+HeUHCZqBxQwV1Qi65qf9lsN6BHgk0Cm0/1pEjS31QsWZVD5AdQ==","shasum":"b7fce9558386981398a68926403f6f5bfb5426c0","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKsGbq47wkEG6rzNnPPQea4RJ6H8OXx5+DfQ0iMqruyAIhAKIQVKy30BznE7JUAasRSoxTygUnbmdj4KbQSQ0P3Oiq"}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.11.tgz_1509931297901_0.007588528795167804"},"directories":{}},"2.6.12":{"name":"the-concierge","version":"2.6.12","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","socket.io":"^1.5.0","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^9.3.0","brfs":"^1.4.3","browserify":"^14.1.0","browserify-fs":"^1.0.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","tslint-config-standard":"^4.0.0","typescript":"^2.6.2","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","prepare":"yarn build","clean":"rimraf build/ && node scripts/clean.js","build":"tsc -p scripts/tsconfig.node.json && tsc -p scripts/tsconfig.front.json","postbuild":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","build:front":"tsc -p scripts/tsconfig.front.json && yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"browserify -e front/index.js -o front/bundle.js -r fs:browserify-fs -t brfs","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"a2b7c7c8cf3c7703b5fcb04633a7847b14c2b903","_id":"the-concierge@2.6.12","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-M9XZdg1CmZuFLLxasinPbmjHc0rRvbTj+bRBEJ8ANMzof6O7q/06AY3bPqbHgiVbSB5p6Im7USTDB3yqm7bdgA==","shasum":"67c85b28847749b803457c9eafadeb338dd9032a","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.6.12.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBnziUjC+aA3mlqqxj3aoVVaDhyfd7ZfBwf6nuogxxYYAiBk4Xj/qC7Y7n83ZIG5T1k+Us/c6qx2Jjo5h7zWZAARDQ=="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge-2.6.12.tgz_1516698565053_0.03404620382934809"},"directories":{}},"2.7.0":{"name":"the-concierge","version":"2.7.0","description":"Concierge Service","main":"build/index.js","keywords":["docker","orchestration","continuous","deployment","typescript"],"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.4.3","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","pm2":"^2.6.1","raw-loader":"^0.5.1","socket.io":"^1.5.0","socket.io-client":"^2.0.4","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/knex":"^0.0.53","@types/knockout":"^3.4.39","@types/minimist":"^1.2.0","@types/node":"^9.3.0","chai":"^3.4.1","del":"^3.0.0","knockout":"^3.4.1","mocha":"^2.2.5","multiple-dispatch":"^0.3.5","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","ts-loader":"^4.0.1","typescript":"^2.7.2","webpack":"^4.1.0","webpack-cli":"^2.0.10","whatwg-fetch":"^2.0.3"},"scripts":{"debug":"node --inspect start.js","// Service control":"","start":"pm2 start env.json","stop":"pm2 stop the-concierge","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf \"build\" \"front/**/*.js\" front/**/*.js.map\"","build":"yarn build:back && yarn build:front","build:front":"yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"webpack --module-bind 'html=raw-loader' --config build/webpack.config.js","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./build/cli.js"},"gitHead":"0c47697ceb57a686e416b12ba31c5828d6b1bc17","_id":"the-concierge@2.7.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-xu+lUv0Za53GnOHSe7V8zJ0pVACUo78RDA2yOH8wPoqMVAXMCoI3G4UrHShibJY4eqD/okAZaVaK10ctt3FILw==","shasum":"9b4d9a0e3b10ec15c8f3375da354156ac11e5f00","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-2.7.0.tgz","fileCount":285,"unpackedSize":3316375,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBibO0AEAoDSuudUZOeGCm1mFQuBch27KNoVXNCEsj1jAiEA3pqOOT4hGz3MUUNGZ1baFbnfzdsqgX/h59NLc98kDIg="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge_2.7.0_1520300643686_0.265723520498619"},"_hasShrinkwrap":false},"3.0.0":{"name":"the-concierge","version":"3.0.0","description":"Concierge Service","main":"dist/index.js","keywords":["docker","orchestration","continuous","integration","typescript"],"scripts":{"debug":"node --inspect start.js --init","// Service control":"","start":"node dist/cli start","stop":"node dist/cli stop","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf \"dist\" \"front/bundle.js\" \"front/**/*.js\" \"front/**/*.js.map\"","start:mon":"nodemon --ignore dist dist/index.js","start:watch":"nodemon --watch dist dist/index.js","build":"yarn build:back && yarn build:front","build:front":"yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"webpack --config dist/webpack.config.js --display-error-details","bundle:watch":"yarn run bundle --watch","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.5.4","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","knex":"^0.11.7","minimist":"^1.2.0","multiple-dispatch":"^0.3.7","pm2":"^2.6.1","socket.io":"^1.5.0","socket.io-client":"^2.0.4","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1","vue":"^2.5.16"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/knex":"^0.0.53","@types/minimist":"^1.2.0","@types/node":"^9.3.0","css-loader":"^0.28.11","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","ts-loader":"^4.0.1","typescript":"^2.8.1","vue-loader":"^14.2.2","vue-template-compiler":"^2.5.16","webpack":"^4.1.0","webpack-cli":"^2.0.10","whatwg-fetch":"^2.0.3"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./dist/cli.js"},"gitHead":"cc1d12358ba18543e0e7c46e3e54171f20db8c27","_id":"the-concierge@3.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-twBJNWjYO2zbGWiI4DJ3F5n4Z9hFjNmwTkRxRH8k62uVM/kQYr8zIYo59BoK6cgc0p679kB3vPjpnzC+njqn6w==","shasum":"e30e369c64efc9edaa5c67c07cabd8f3e0b31f7c","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-3.0.0.tgz","fileCount":228,"unpackedSize":3970390,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKR2E4C0fuXKfi4/xyDkvjzWlzDY1BKvJOQQBL7cz8qQIhAL5YSD6xYJ0EsUGhHoZ0oFE1Fv2/1rgxKWyMa2D2Ph12"}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge_3.0.0_1522745430911_0.168047520537002"},"_hasShrinkwrap":false},"4.0.0":{"name":"the-concierge","version":"4.0.0","description":"Concierge Service","main":"dist/index.js","keywords":["docker","orchestration","continuous","integration","typescript"],"scripts":{"debug":"node --inspect start.js --init","// Service control":"","start":"node dist/cli start","stop":"node dist/cli stop","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf \"dist\" \"front/bundle.js\" \"front/**/*.js\" \"front/**/*.js.map\"","start:mon":"nodemon --ignore dist dist/index.js","start:watch":"nodemon --watch dist dist/index.js","build":"yarn build:back && yarn build:front","build:front":"yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"webpack --config dist/webpack.config.js --display-error-details","bundle:watch":"yarn run bundle --watch","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.5.4","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","js-yaml":"^3.11.0","knex":"^0.11.7","minimist":"^1.2.0","multiple-dispatch":"^0.3.7","pm2":"^2.6.1","socket.io":"^1.5.0","socket.io-client":"^2.0.4","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1","vue":"^2.5.16"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/js-yaml":"^3.11.1","@types/knex":"^0.0.53","@types/minimist":"^1.2.0","@types/node":"^9.3.0","css-loader":"^0.28.11","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","ts-loader":"^4.0.1","typescript":"^2.8.1","vue-loader":"^14.2.2","vue-template-compiler":"^2.5.16","webpack":"^4.1.0","webpack-cli":"^2.0.10","whatwg-fetch":"^2.0.3"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./dist/cli.js"},"gitHead":"e2574638878965cd01648f2b569ef110bb188bf6","_id":"the-concierge@4.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-j9prSATSTHDjY94qbePszuutPVxRmXeUV/U8rr577XozcfnEGJOfZBpdqQSmWsX4lV+aDMywzDMOOR1llvUmEw==","shasum":"cc90316655a17618162e4c6850fc188483b52a38","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-4.0.0.tgz","fileCount":244,"unpackedSize":4254341,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBX6MFztK/VHLtxUuhJFyNSUtLj5cdO3cYfm2JKLDTSLAiEA0qsLwoJ0MUPUW1sXG0fpB9Stdp3MVNJUQyiys3LzP4U="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge_4.0.0_1523603908961_0.9642051061648154"},"_hasShrinkwrap":false},"4.1.0":{"name":"the-concierge","version":"4.1.0","description":"Concierge Service","main":"dist/index.js","keywords":["docker","orchestration","continuous","integration","typescript"],"scripts":{"debug":"node --inspect start.js --init","// Service control":"","start":"node dist/cli start","stop":"node dist/cli stop","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf \"dist\" \"front/bundle.js\" \"front/**/*.js\" \"front/**/*.js.map\"","start:mon":"nodemon --ignore dist dist/index.js","start:watch":"nodemon --watch dist dist/index.js","build":"yarn build:back && yarn build:front","build:front":"yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"webpack --config dist/webpack.config.js --display-error-details","bundle:watch":"yarn run bundle --watch","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"0.x.x","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.5.4","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","js-yaml":"^3.11.0","knex":"^0.11.7","minimist":"^1.2.0","multiple-dispatch":"^0.3.7","pm2":"^2.6.1","socket.io":"^1.5.0","socket.io-client":"^2.0.4","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1","vue":"^2.5.16"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/js-yaml":"^3.11.1","@types/knex":"^0.0.53","@types/minimist":"^1.2.0","@types/node":"^9.3.0","css-loader":"^0.28.11","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","ts-loader":"^4.0.1","typescript":"^2.8.1","vue-loader":"^14.2.2","vue-template-compiler":"^2.5.16","webpack":"^4.1.0","webpack-cli":"^2.0.10","whatwg-fetch":"^2.0.3"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./dist/cli.js"},"gitHead":"48a42930b37112264c27cf02428da10b179cfbfb","_id":"the-concierge@4.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-g+HY3e4D3D8196m/7nzjcmVGfUvubf48CT+iFc2pwVrusUXj0fnetFiQVs7UOqrtXqLpqSgczT0Q8BcxKFPIMg==","shasum":"1375651abdc79fb7c1185a6392ccd8982e11e7b8","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-4.1.0.tgz","fileCount":266,"unpackedSize":4338531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKMN8CRA9TVsSAnZWagAA+BIP+QBtSWA5ASJI1p+C8cEQ\nrN1kNvLdTBtkTaVSTWNhEBeXLBOMUoN6boZ9cyzt28+/FlYb/TnzCKGTE9NA\nid9IjSDKsY49DtHKPclXusjums0/N7sI1ILyqXzgAEpWCXtbvu8SqJT4qc9Y\nDc0hgqczf2qXTXyljFiACIz/QB4ML8BdC1mdXAhAdqqX2XTf0MOHJsIWVCdF\nOc4AXrGTIYEKDXaqaR66OXhmV9AChrVsMmQL8Sn6oMlERs0x/crDFCzVrWMx\naPjtTv7pfQkr/Go9L99+scvTVhwkwcJSf5Fhc0qahsweIWd8KwoKbqZIajJA\nN8IBDyJhfG60CqnA3jys9NhfvZb7lyrqhta7/DpgxFlw4CBzYd03MM2xTvGd\nfA5f8Vet07jlzNr40nEecvO7/bRYbzzsQU224NsjHzUix+V9BTkTGvUPpgsN\nClpLforjbmojgaP60ice0hwiQpR1iQ8zaXUZRGCbyT8dSpjHhG2/IQdTlPJW\n3EdFvj7YMS24ZfNKHCa6XcsmoFruzr8A9U+1UqLuvo7faf3ZOZntoRcaiMhB\nC1DLovYGeiKVyLSsKGBeqa04f3TXPXWz0HN07md0Vdb9YSC3LRjvcDw7JtCh\nt2boyvlU8to6NoKiQwarwDQ7pFLqrjBFxAgdODc2YMPBSA850WTOUjRBhtES\nobg5\r\n=0/P2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDK6hu9ledowoJoJ4btQkrgr1kzuMuR96lliMINY2/pawIgapxymJmJEdtK2nIcoCLAopHklCO6emqIh79p8sTLkGc="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge_4.1.0_1546175356186_0.5074691659112156"},"_hasShrinkwrap":false},"4.2.0":{"name":"the-concierge","version":"4.2.0","description":"Concierge Service","main":"dist/index.js","keywords":["docker","orchestration","continuous","integration","typescript"],"scripts":{"debug":"node --inspect start.js --init","// Service control":"","start":"node dist/cli start","stop":"node dist/cli stop","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf \"dist\" \"front/bundle.js\" \"front/**/*.js\" \"front/**/*.js.map\"","start:mon":"nodemon --ignore dist dist/index.js","start:watch":"nodemon --watch dist dist/index.js","build":"yarn build:back && yarn build:front","build:front":"yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"webpack --config dist/webpack.config.js --display-error-details","bundle:watch":"yarn run bundle --watch","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"^0.4.2","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.5.4","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","js-yaml":"^3.11.0","knex":"^0.11.7","minimist":"^1.2.0","multiple-dispatch":"^0.3.7","pm2":"^2.6.1","socket.io":"^1.5.0","socket.io-client":"^2.0.4","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1","vue":"^2.5.21"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/js-yaml":"^3.11.1","@types/knex":"^0.0.53","@types/minimist":"^1.2.0","@types/node":"^9.3.0","css-loader":"^2.1.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","ts-loader":"^5.3.2","typescript":"^3.1.6","vue-loader":"^15.4.2","vue-template-compiler":"^2.5.21","webpack":"^4.1.0","webpack-cli":"^2.0.10","whatwg-fetch":"^2.0.3"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./dist/cli.js"},"gitHead":"35f1f4ab593a579177114ee53d8cede8716d8417","_id":"the-concierge@4.2.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-dLZNaw9Y45SioeI4dqK664wsTb3LxoyQj/WUK1siR/G8Iyzd8wHziudCRr7VhPbt471f6SDOAOHu9Mrby9uX7g==","shasum":"9b4f24181a99dd454eaac244b29b7eeba978e025","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-4.2.0.tgz","fileCount":246,"unpackedSize":4369262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLvK4CRA9TVsSAnZWagAAnpgP/0NPFvokeKT0W+jnHt/9\nwbQHpsy7yq+8K9/3dSgkfZU2hTnkYbpOg+pQOZDcu1T99H1kQn+oTCKNWI2F\naiov6jRFH/aa/MkEnqyrj6buep/ly3Jma4zsjyDYhm0oGJGb53UkdLyMjGh+\ncYnpSu8fhTNwZ/YIwJIbl/zlSpmYu0s/33XsBvRcWtqybc6MJAfU/8ypimrm\n3HenuiMMGwsizc8IIyF3PrhpEiN2AdtnnJ9iSTlX088kyM2W0Vq9FRXFmXlu\nuIcIp47QQnPz4Ey7mW2zb+6iUgBDNNQpRBAPFoyLkwgjkhXEKXBlno0hEPcW\nyjPrI6dUeYFY5dlZulg0/KlLPn6Ja8cKV681h2rzWh8lL46LbkpuUgvE8SRk\nUdjjyhkfmuSgOcz+7RTK/5GclSZ/he8lL8PzbaneHxyGjMFeKShcoUFTaphC\nlSvN1MQv5erDr0K8IG4KROTcUxUjoLJumdRA5fR0tCscxPkCF6YOSf+5ZJwp\nQZYJunE7EL2mIwDVWWT2Ya5hUkhP0vZrHbyzV1InnWjUdXOSlxPAO9EgVWd8\nx5j5/Fskl4zZZuwKDM5ymTRYRi1UspDBeqW+emuNnQeJaeS1LhPUeBL1irB0\nJp3WNatwB1GqD9vIwa0BWtotBaziviRY/SkAQ0ZOeMAr4QuieXZpKSYltVpB\nRICZ\r\n=Nl//\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFnr/u/to18Wcf95WZGScGwV2NaDG19dpUyOIKZbCw3aAiEA28QUcQAdoIFRAJiF6z+nDqbhGPE7VaqezUc18QZWvaE="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge_4.2.0_1546580663369_0.44761728540678614"},"_hasShrinkwrap":false},"4.2.1":{"name":"the-concierge","version":"4.2.1","description":"Concierge Service","main":"dist/index.js","keywords":["docker","orchestration","continuous","integration","typescript"],"scripts":{"debug":"node --inspect start.js --init","// Service control":"","start":"node dist/cli start","stop":"node dist/cli stop","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf \"dist\" \"front/bundle.js\" \"front/**/*.js\" \"front/**/*.js.map\"","start:mon":"nodemon --ignore dist dist/index.js","start:watch":"nodemon --watch dist dist/index.js","build":"yarn build:back && yarn build:front","build:front":"yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"webpack --config dist/webpack.config.js --display-error-details","bundle:watch":"yarn run bundle --watch","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"^0.4.2","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.5.4","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","js-yaml":"^3.11.0","knex":"^0.11.7","minimist":"^1.2.0","multiple-dispatch":"^0.3.7","pm2":"^2.6.1","socket.io":"^1.5.0","socket.io-client":"^2.0.4","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1","vue":"^2.5.21"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/js-yaml":"^3.11.1","@types/knex":"^0.0.53","@types/minimist":"^1.2.0","@types/node":"^9.3.0","css-loader":"^2.1.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","ts-loader":"^5.3.2","typescript":"^3.1.6","vue-loader":"^15.4.2","vue-template-compiler":"^2.5.21","webpack":"^4.1.0","webpack-cli":"^2.0.10","whatwg-fetch":"^2.0.3"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./dist/cli.js"},"gitHead":"4d8eb3ada12c297645b31f1eafee641b4ae7123a","_id":"the-concierge@4.2.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-TVpz8en7fo4joHh+wUTeD6VzZHrx6S2SybyqzF4oanACNyqzQ/EeZCJsXTvDH9EqeCnJgSxIwEmIqGj10oILzw==","shasum":"608fcd2b3c19bafec8134037f716bbca456bde63","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-4.2.1.tgz","fileCount":246,"unpackedSize":4376077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLvfHCRA9TVsSAnZWagAA+/4P+wejJWD3CCvB3JzAeJQD\nI63SPinm2SeRDyvWszF+dY+7bZNY7jT6tKAC+BsiMVzZZehNO6yBopI0d/d2\nSJWsJrcVP4gqzYYgLMy4AH4OjMW5NyuZ+/nlb1kLatkbQvkimK0Ykk2r18aE\n+UtrYiHyBIc3ZYd7OPPvYs1OxJdYVTenL7ilLEIeE844Bp7BoAfBVbDmNu9o\nDPDe0kOG5nE9uA/2WE915Od2gw1NGPHKG6ItKIAPIBlmPD/DM63kWNIrGo4A\nkFaHyXE8NUmqFQDf2VZ0LIDfc+1/a1DfmKINMBplH8nwc4I2z63YNHrI0+1b\nzrr1JjWBPRLLmwXc3rBptaii7t7smG1hZcF6O3kw9UuyWl3UV5ztKzaID0PF\n1P1HDpoHAsKIWpYJOWaufa70EjzpT97WlzfMDqCzwlVkF0MZL0Zq/A0IqZA7\nhHE3TIRZqCS/49EwPizqkX7J0t+aJKAgL4PtEvhfscLXiN9sfXn0mIQFL2UO\ngP6szMTkZu8q77/ecXRjwmBJaZNk9pNa20WhkPWiRj39ofzZIuPsdfy6I35H\niAJ+JpWNk7wd3USNUVrfpdjZEC0IqMX6r7yssg76l/nbFfAuOKUK5Ipo3vgH\nXl3RdUHvCus9dCNvQBUh4oDc9cABPY7X6Zx76PpUZSCK80XBJIB4pLlyv1VW\n1ucQ\r\n=lWFf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/PtuIYuiViD9c9smoVWvEEHRFgrboBmqxucIastaFxAIhAKSVTF7SDfoxCJANe1I70LYTGfiKMhgMw+XBHV3036YX"}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge_4.2.1_1546581958583_0.9283460121355607"},"_hasShrinkwrap":false},"4.2.3":{"name":"the-concierge","version":"4.2.3","description":"Concierge Service","main":"dist/index.js","keywords":["docker","orchestration","continuous","integration","typescript"],"scripts":{"debug":"node --inspect start.js --init","// Service control":"","start":"node dist/cli start","stop":"node dist/cli stop","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf \"dist\" \"front/bundle.js\" \"front/**/*.js\" \"front/**/*.js.map\"","start:mon":"nodemon --ignore dist dist/index.js","start:watch":"nodemon --watch dist dist/index.js","build":"yarn build:back && yarn build:front","build:front":"yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"webpack --config dist/webpack.config.js --display-error-details","bundle:watch":"yarn run bundle --watch","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"^0.4.2","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.5.4","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","js-yaml":"^3.11.0","knex":"^0.11.7","minimist":"^1.2.0","multiple-dispatch":"^0.3.7","pm2":"^2.6.1","socket.io":"^1.5.0","socket.io-client":"^2.0.4","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1","vue":"^2.5.21"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/js-yaml":"^3.11.1","@types/knex":"^0.0.53","@types/minimist":"^1.2.0","@types/node":"^9.3.0","css-loader":"^2.1.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","ts-loader":"^5.3.2","typescript":"^3.1.6","vue-loader":"^15.4.2","vue-template-compiler":"^2.5.21","webpack":"^4.1.0","webpack-cli":"^2.0.10","whatwg-fetch":"^2.0.3"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./dist/cli.js"},"gitHead":"6c64ff6c4e77f65040fb5f68f29f6a7b2e25fd9d","_id":"the-concierge@4.2.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-c+BHvYhqWVRIZqw6S7RgceUaRIk6tKmAB61DCnUTm3ExSOgIobhMwc0F9Gc+X/KVZadhptS/PDkp7ItxYYTW4A==","shasum":"f8cb7af284f4244abbe48d00848e9c722dd6580f","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-4.2.3.tgz","fileCount":246,"unpackedSize":4389479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcMHHvCRA9TVsSAnZWagAAKzYQAIdgplwMkFQu2Teww8JB\nyPOMe+eD2yyCbIRddfzypQi1c88igtAFal4g92bSjMOVTiVlJqBMCqHaVy5b\naRqVeRxVVKAxPvuUltw4ZaT7W+/h28uxwJFH1qWwcbnYFLZecrBf8KBG8/Qt\nl52MNGYRgeMiPR64n7w/o02rufcRqO36YZhOLMWTFxsN/HyeIdrfS3xIAugV\nU3xMxoXyz572Ylr5qlHYm68RBueSWzzYeMQ73rKTCWbIGu8tzuF+sSDdb+KS\nHbBotQbMZkmyo+1PEmNGeCXJY1wOQXu5n/sJA2wJ3t9vIPLNOooDV1Y3ZOz+\naXKocX/Tnuxi+Q28sK3oAkjM8a1GQARuoWJ0TT+CtztuP50CLX/Rl0QEojdN\n/gSpIuOi0S9T8VjKavzKWWEaQiTEFsn6aNVcCdk7BLlIhFbA1VOO4Ty8Z1VO\nxXzm7jdLt/b1c+FvwjOV+L1qdFN5gBuWDjRIDoWIsOStCpCN2HmQZrfGgV6K\nke2ml67IiNHpkHZ/xgcTImd8LJZ6JWrnA2uvhCeTetyqwC8CWjtITkgqG1rg\nqJcDv4jbrYMoaF+U/0Z27ABii1gBQCxxRAAwyMkVVKmMQmcG6e1+q/rJyNst\n57/UEKp+G0bXlpSvnTd43RAG5vdxmYyh8EPlySsoDT+VDlg8XyAkZ/99EbEz\nMBrL\r\n=3sc4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyxqmBdqNJEMYgawWNy2RbaKx3sp6498cpcDhFIvu58AIhANDP1pjeybUTTZ5qfLJUNzVrpIwHDnu5LIOVUF276Dr7"}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge_4.2.3_1546678766446_0.49181027515388975"},"_hasShrinkwrap":false},"5.0.0":{"name":"the-concierge","version":"5.0.0","description":"Concierge Service","main":"dist/index.js","keywords":["docker","orchestration","continuous","integration","typescript"],"scripts":{"debug":"node --inspect start.js --init","// Service control":"","start":"node dist/cli start","stop":"node dist/cli stop","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf \"dist\" \"front/bundle.js\" \"front/**/*.js\" \"front/**/*.js.map\"","start:mon":"nodemon --ignore dist dist/index.js","start:watch":"nodemon --watch dist dist/index.js","build":"yarn build:back && yarn build:front","build:front":"yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"webpack --config dist/webpack.config.js --display-error-details","bundle:watch":"yarn run bundle --watch","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"^0.4.2","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.5.4","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","js-yaml":"^3.11.0","knex":"^0.11.7","minimist":"^1.2.0","multiple-dispatch":"^0.3.7","pm2":"^2.6.1","socket.io":"^1.5.0","socket.io-client":"^2.0.4","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1","vue":"^2.5.21"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/js-yaml":"^3.11.1","@types/knex":"^0.0.53","@types/minimist":"^1.2.0","@types/node":"^9.3.0","css-loader":"^2.1.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","ts-loader":"^5.3.2","typescript":"^3.1.6","vue-loader":"^15.4.2","vue-template-compiler":"^2.5.21","webpack":"^4.1.0","webpack-cli":"^2.0.10","whatwg-fetch":"^2.0.3"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./dist/cli.js"},"gitHead":"95deef4a50d08ef26193d50c77e5724e2c373b15","_id":"the-concierge@5.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-ImUOnaV/wXRuoVlGUdwcCidgjL9Tw3J/W9Ikz9hCpJ5xJGLWZI2/5IL25D5hcZ/icaXpeJJiQ1kYsQPeTw/rrg==","shasum":"4121ead758e88a6bfa4f0ed1b2cf34e71ea3931c","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-5.0.0.tgz","fileCount":255,"unpackedSize":4375059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcMOHnCRA9TVsSAnZWagAA18kP/3M9d+oirIrX7BvAWf5W\nKUvEXWEvWdGWILgy3hnuDlcxQASnBdkomOwo9EsYvAr8JkVdKvgYs/5pBOz3\nmRW0MDlpLsSOQZiQslrpJppUsLQSozycrybfeeHLcX+X1V8EhATVkdJJ6hTy\nB0gAd8Ifd6n//2hKPEoU1AVYT0nv2xIqHt5ooOxthcb6Jvsa43/H8lbmYKAA\nFuj9QHvYq6ZE/xY+hFkrMaNbb0dC7lcmt0kmgkFfX2lT12hKb+F98ntOWMiA\nkFiNO6I3cIxx9SUfd2tTtEMWHkEzpaXJ5ylJvuvegQFaE2Buyw3iSo7ZYuQN\nC+BBw+Cy2nSPechAYJBLBp6GwnHj0I9xXGQeiorBc4jwTBxeVCK42yhRvgm/\nBuy/0bdUzpzYSTIc4lWT1le6tAAfbOXRHOKqMSWI7qml1fl/wBcQuhbTrp/x\n3c00AhH8B3jjKHysd71EgS7L08WmTFKJeBhIAxTSXg7ZkB3+bjz0RcF3EScF\nQq9MfeGf6jU+UDV/G65wpceqQt4Hknz5nSbTCK4wiwpQtQTWpO0kUCmqLRmI\n0aTGaZvnBvzl6gQHwoJE/+ePIm+MZIgroi9aCaQEf81ZavUHw7npY8oIWsLO\navbeLFB1h0UOt+8mYxh1K4SU2KVjmGZPxJejQvwPblJdF+9sGeolWVa1CPV5\nr8gV\r\n=xOkF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAEbIpb5F9l/A3qEXZ1AMNdVsAzDy7I2V5XoI5zRPW32AiAP5frqT1CCvBJmGqJQdSxU7QjXx0aIsMo8pAxfhBkgxw=="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge_5.0.0_1546707430783_0.5135859736962878"},"_hasShrinkwrap":false},"5.0.1":{"name":"the-concierge","version":"5.0.1","description":"Concierge Service","main":"dist/index.js","keywords":["docker","orchestration","continuous","integration","typescript"],"scripts":{"debug":"node --inspect start.js --init","// Service control":"","start":"node dist/cli start","stop":"node dist/cli stop","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf \"dist\" \"front/bundle.js\" \"front/**/*.js\" \"front/**/*.js.map\"","start:mon":"nodemon --ignore dist dist/index.js","start:watch":"nodemon --watch dist dist/index.js","build":"yarn build:back && yarn build:front","build:front":"yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"webpack --config dist/webpack.config.js --display-error-details","bundle:watch":"yarn run bundle --watch","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"^0.4.2","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.5.4","express":"^4.14.1","highcharts":"^5.0.14","http-proxy":"^1.13.3","js-yaml":"^3.11.0","knex":"^0.11.7","minimist":"^1.2.0","multiple-dispatch":"^0.3.7","pm2":"^2.6.1","socket.io":"^1.5.0","socket.io-client":"^2.0.4","sqlite3":"^3.1.4","ssh2":"^0.4.9","tar-fs":"^1.5.1","vue":"^2.5.21"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/js-yaml":"^3.11.1","@types/knex":"^0.0.53","@types/minimist":"^1.2.0","@types/node":"^9.3.0","css-loader":"^2.1.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","ts-loader":"^5.3.2","typescript":"^3.1.6","vue-loader":"^15.4.2","vue-template-compiler":"^2.5.21","webpack":"^4.1.0","webpack-cli":"^2.0.10","whatwg-fetch":"^2.0.3"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"./dist/cli.js"},"gitHead":"616e1009ef680dbdd8e95ba16f8946e5f173b616","_id":"the-concierge@5.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"dist":{"integrity":"sha512-je3Hzvb5FzYhZav5Ysfj8g/kGhuby4WtINjHU0bHXsUTYeFaNKjoksUI52eBQpIuePGvS0ztoVTMa5LYvDo1ng==","shasum":"5e5dab5a1d437fcb94707c240839923d389e06f6","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-5.0.1.tgz","fileCount":261,"unpackedSize":4119400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQvAvCRA9TVsSAnZWagAAY8wP/15bM7wAgrPX9e6UnaC0\nffx78ssVMJuMiFHjqcz9Nahy8fsmXVf4FEo50qq3DDNeUiGizhTmBNGyAQkc\n1Y7oyg2qOGsmT3XJgyzn/Ga7CMZs3f7bsM9qt74Bl0GsAHDGyQBIUlELYdjL\n4EQ00M1uJjhxc5eKkwws8mGesxrkd+hCSUPJ3VOcDf/C+eBJXEvbT4OSilz6\nu/CAHFj/eWPD1yRKPJXCCAcKCTPk2MKpL1HvShBWawKyTzpGhexOMVMAZHN+\nl2dq2zcMRKwHykdRIHUxP1h8M1Su3BV2dk3+jowttJ4voOYSAnfMXrWr2/50\nfp/bxfZHKvPXriEv2iG9Ma7JvXH4mALJDL1G25Bu+37ddQKF9BLBt+Ma+O+/\nJmZfOmhV3Wbe2ljnMuam3gGkt0+7V6ddfWRTkkuaJPyEEHFcLJQlKEs6Ckkc\nbs4XaBt3cyfYG9uR3PSLZofNZ48tj2pfwGXS+ANws+/y2BEe1EQZvPKTmcPM\nVOTGUg9apoWNiqsakCYlsr6MPJrprLFovaI3S4v/v1igzFOX1Ehltof2hAMg\njpefOU5UtjVEY8yqEnsHi3vTBRI/G9rqEx5Nv2O4BYUo65T+0syECjiK3+cE\nVLZ1PSvTRxMmy6+iLajB1a51Al2OpK+w1yaYvpXWYBhzkkE6tGbTibMCcq5Y\nCISL\r\n=ZOVQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEUxhkMbImoyOGU3zaiajmY8YFHPlDw8GzzI+RhycMB8AiBLPDTlE4DZ2jkBJpZYQJBStJpkPiX2UCnC/BOWXt5SnA=="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge_5.0.1_1547890734303_0.08095255985072924"},"_hasShrinkwrap":false},"5.1.0":{"name":"the-concierge","version":"5.1.0","description":"Concierge Service","main":"dist/index.js","keywords":["docker","orchestration","continuous","integration","typescript"],"scripts":{"debug":"node --inspect start.js --init","// Service control":"","start":"node dist/cli start","stop":"node dist/cli stop","restart":"pm2 restart the-concierge","logs":"pm2 logs the-concierge","status":"pm2 status the-concierge","// Build scripts":"","clean":"rimraf \"dist\" \"front/bundle.js\" \"front/**/*.js\" \"front/**/*.js.map\"","start:mon":"nodemon --ignore dist dist/index.js","start:watch":"nodemon --watch dist dist/index.js","build":"yarn build:back && yarn build:front","build:front":"yarn bundle","build:back":"tsc -p scripts/tsconfig.node.json","bundle":"webpack --config dist/webpack.config.js --display-error-details","bundle:watch":"yarn run bundle --watch","lint":"prettier --single-quote=true --no-bracket-spacing=true --tab-width=2 --trailing-comma=none --use-tabs=false --print-width=100 --no-semi --write \"./src/**/*.ts\" \"./front/**/*.ts\"","test":"yarn build","// Registry helpers":"","create-cert":"openssl req -newkey rsa:2048 -nodes -keyout certificates/registry.key -x509 -days 999 -out certificates/registry.crt -subj \"/CN=docker.local.dev\"","create-certicate":"openssl req -new -x509 -text -key certificates/registry.key -out ca.crt -subj \"/CN=docker.local.dev\"","create-registry":"npm run create-cert && npm run create-certicate && docker-compose -f docker-compose.yaml up -d"},"preferGlobal":true,"dependencies":{"@types/dockerode":"^2.4.1","@types/highcharts":"^5.0.5","analysis":"^0.4.2","body-parser":"^1.16.1","chalk":"^1.0.0","compression":"^1.6.2","dockerode":"^2.5.4","docktor":"^0.1.0","express":"^4.17.1","highcharts":"^7.2.0","http-proxy":"^1.13.3","js-yaml":"^3.11.0","knex":"^0.19.4","mem":"^5.1.1","minimist":"^1.2.0","multiple-dispatch":"^0.3.7","pm2":"^3.5.1","socket.io":"^2.2.0","socket.io-client":"^2.2.0","sqlite3":"^4.1.1","ssh2":"^0.4.9","tar-fs":"1.16.2","vue":"^2.5.21"},"devDependencies":{"@types/express":"^4.0.35","@types/history":"^4.6.2","@types/js-yaml":"^3.11.1","@types/knex":"^0.0.53","@types/minimist":"^1.2.0","@types/node":"^9.3.0","@types/ssh2":"^0.5.37","css-loader":"^3.2.0","prettier":"^1.7.4","promise-polyfill":"^6.0.2","rimraf":"^2.6.1","ts-loader":"^6.1.0","typescript":"^3.6.3","vue-loader":"^15.4.2","vue-template-compiler":"^2.5.21","webpack":"^4.40.2","webpack-cli":"^3.3.8","whatwg-fetch":"^2.0.3"},"author":{"name":"Carl Winkler"},"license":"MIT","contributors":[],"bin":{"the-concierge":"dist\\cli.js"},"licenseText":"The MIT License (MIT)\nCopyright (c) 2016 Paypac Payroll Services Pty Ltd\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"the-concierge@5.1.0","dist":{"shasum":"c967274b8a13e9d24b17b1ab3588ad84605fb3cb","integrity":"sha512-gdXKyoGVFnTEA0Q9BPQf7A4awIASQ4fDOutKWwIjbqPHwV7afRqARpmfxJX+tN3RsUfmqXXa3yWGcXANznT7oQ==","tarball":"https://registry.npmjs.org/the-concierge/-/the-concierge-5.1.0.tgz","fileCount":288,"unpackedSize":4370041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeN5z6CRA9TVsSAnZWagAA4ZcP/RCapHeyM8emQw/DkuD0\n4QFroTelzhUnEPhFSBXZbPcVeeMG54LFale90zoxpstiIwOcrYYM4rdWjB/s\nd896w2rpQBpCZMJ4be2+YUuHpu9xHTyLUcYUt0n85H3Znh5cT/eIYye8yPnR\ntrp9IJ42RRJWWTvwPguG2BHH4EJ6rlQTJge6s7j/hU//IJRpJaeDWI9dhpBO\nlYOlrvxEobKH9M7ocaMcFGaFhrbGKHirMePqcFK2Qegan9mOh5g8UsfV/+mI\n0C9eChjSnk9HAHvtd61H5ueDbRE4odJcK9HKx6OTDAONpvmd70AlBFpMysdo\n5ii5A6+UV/qKPbRydEEpvv1ip7H3y8G6nK0vufjfUqLbaqU0vFxr5bEAd+5E\ndaE5B86M6iU5nDyZXpIe9vULvYzT5VwXyz+VfDNdr9wuiEqRy/PmaHe+2NR5\nnz6p7jSZL4K3P5vUbXW8K7v+yXr9Yk1OrA0ba2370mBktUFFHKdMT+TF1uER\nGH27lypO1ffHjqIn3Tj51fAwwwvRIt/ClHKCpVzn0PBDIpGzOlvAvOqO4aqq\nSTKAYwC1DxfLMa7G+lY1S68FIVMoUZU72YiPFwOY0baYAmG4iooJoIGpBALL\nwxIHMiv6ISl0Bieaqscdza1W09/kB3TafVSXv1PepwLJ3osjC8fF3jFZJece\nrcf3\r\n=prFC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF6y8TSqX9xZo32Jk/Q6p/zhWim/KWA4nK8HvlnYYB5NAiEA/S+ebKmBrdkFVc8yK+veUjuf6oA2fXYpjEpgSSUzneY="}]},"maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"_npmUser":{"name":"seikho","email":"carl@winkler.id.au"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-concierge_5.1.0_1580702969939_0.9336226157803216"},"_hasShrinkwrap":false}},"readme":"# Concierge [![Build Status](https://travis-ci.org/the-concierge/concierge.svg?branch=master)](https://travis-ci.org/the-concierge/concierge)\n> User-friendly Docker based Continuous integration and a bit of orchestration with Node.js\nPreviously at [paypac/node-concierge](https://github.com/paypac/node-concierge)\n\nDocumentation is available at [the-concierge.github.io](https://the-concierge.github.io)\n\n<img src=\"https://github.com/the-concierge/concierge/blob/master/docs/containers.png?raw=true\" alt=\"Concierge Example\" width=\"75%\">\n\n## What does the Concierge do?\n- It can manage local or remote Docker hosts\n- Provides a simple Web UI for controlling containers, hosts, images and applications\n- Builds Docker images from Git repository branches or tags\n- It uses the Dockerfile provided or a custom Dockerfile elsewhere in the repository to build a Docker image \n- It pushes images to a Docker registry\n- Allows configurable creation of containers from images\n- Monitors memory and CPU usage of containers\n\n## How can I contribute?      \nSee the [Contribution Guide](./CONTRIBUTING.md)\n\n## How do I set up a Concierge from scratch?\n\n### To control your local install of Docker on Windows, Mac or Linux\n\nAfter starting the concierge:\n- Create a new `Host`\n- Set the **Vanity** hostname to `localhost`, `127.0.0.1` or any other hostname your machine uses\n- That's it!\n\n### External Requirements*\n- Docker Registry (Optional)\n - The registry isn't needed for the Concierge to run\n - This registry should be private. I.e., only accessible inside a private network\n- NodeJS 6.4+\n - This is to use the native V8 debugger\n\n### Configuration\n\n#### Environment Variables\n- `CONCIERGE_DB_PATH`: The path to store the application's SQLite database\n- `CONCIERGE_PORT`: The port for the HTTP server\n\n#### Launch with custom values\n- `path`: Location for the SQLite database\n- `port`: Port for the HTTP API\n```sh\n# E.g.\n> the-concierge --path=/Users/me/concierge.sqlite --port=3141\n```\n\n### Installation\n\n#### Method 1: Global NPM package\n**Install globally using NPM**  \nWhen used a command line utility, the Concierge uses PM2 and is run as a daemon.  \n\n```sh\n> npm install the-concierge -g\n> the-concierge start\n> the-concierge status\n```\n\n#### Method 2: Docker\n**Use the public Docker image**\n```sh\n# Specify the flag below to keep a local copy of the Concierge SQLite database\n# -v /your/host/folder:/concierge/db\n\n# With access to your local Docker socket\n> docker run -dt -p 3141:3141 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name concierge theconcierge/concierge:latest\n\n# Without access to your local Docker socket\n> docker run -dt -p 3141:3141 --restart=always --name concierge theconcierge/concierge:latest\n```\n\n#### Method 3: Manual build\n**Build and run manually**\n- Clone the repository  \n- Build the project with `yarn` or `npm`\n- With `yarn`:\n  - `yarn`\n  - `yarn build`\n- With `npm`\n  - `npm install`\n  - `npm run build`\n  \n**Running**\n- `npm start` or `node .`\n\n**Configuration**\nConfigure the Docker registry URL\n- Navigate to the `Configuration` View\n- Set `Docker: Registry URL` to the URL of the Docker Registry\n - See below for instruction for setting up a Docker Registry\n\n## How do I set up a Docker registry?\n\n### Using the Concierge\nYou can use the Concierge to pull and run the Docker Registry\n\n1. Go to the `Images` view\n2. Click on `Pull Image`\n3. Enter image name `registy` and tag `latest`\n4. Click `Pull`\n  - The image will automatically appear in the Images list once it has been downloaded\n5. Click `Run` on the `registry:latest` image in the Images list\n6. Ensure the `5000` port is exposed\n  - It is highly recommended to provide a fixed port\n\n### Using the scripts provided\nIn `package.json` there is `create-registry` script provided. It will:\n- Create a certificate\n- Create a container from `registry:latest` and use the previously created certificates\n\n### Manually\nThe simplest way to do this is to use the public [Docker image](https://hub.docker.com/_/registry/).\n- `sudo docker pull registry:latest`\n- `sudo docker run -d -p 5000:5000 --name=registry -v /var/registry:/var/lib/registry --restart=unless-stopped registry:latest`\n\n`-d`  \ndetached mode. The terminal used to execute the command won't be attached to the new container input/output.\n\n`-p hostPort:containerPort`  \nexposed port. allows all hosts and concierges to connect to the registry.\n\n`--name`  \nhuman readable name of the container\n\n`--restart=unless-stopped`  \nalways restart the container except at startup if the container has been manually stopped\n\n`-v hostPath/containerPath`  \nstore data from the `containerPath` on the host at `hostPath`\n\n`registry:latest`  \nthe name and tag of the Docker image we are using\n\n## I want to create an Image\nTo create/build an image, the following is required:\n- At least one Host\n- At least one Application\n- (Optional) A private registry is configured\n  - This is required to pushing images to your internal registry after a successful build\n\n### Hosts\nAt least one Host is required to create Containers and to build/push images.  \nSee [Host.md](./docs/host.md)\n\n### Applications\nAt least one Application should be set up.  \nSee  [Application.md](./docs/application.md)\n\n[![Analytics](https://ga-beacon.appspot.com/UA-61186849-1/node-concierge/readme)](https://github.com/paypac/node-concierge)\n","maintainers":[{"name":"seikho","email":"carl@winkler.id.au"}],"time":{"modified":"2022-06-27T05:56:14.642Z","created":"2017-07-27T06:19:53.170Z","0.1.0":"2017-07-27T06:19:53.170Z","0.1.1":"2017-07-27T06:22:07.787Z","0.1.2":"2017-07-27T06:34:42.824Z","0.1.3":"2017-07-27T06:36:26.116Z","0.1.4":"2017-07-27T06:39:05.832Z","0.2.0":"2017-07-27T06:44:19.442Z","0.2.1":"2017-07-27T06:50:13.153Z","0.2.2":"2017-07-27T07:02:58.367Z","0.2.3":"2017-07-27T07:07:58.574Z","0.2.4":"2017-07-27T08:31:30.410Z","0.2.5":"2017-07-27T09:20:44.766Z","0.3.0":"2017-07-29T04:03:55.451Z","0.4.0":"2017-07-29T06:05:36.502Z","1.0.0":"2017-07-29T06:35:21.568Z","1.1.0":"2017-07-31T08:04:06.120Z","1.1.1":"2017-07-31T11:00:16.735Z","1.2.0":"2017-08-01T06:45:20.730Z","1.3.0":"2017-08-05T12:27:11.891Z","1.4.0":"2017-08-09T16:25:41.906Z","1.5.1":"2017-08-16T02:10:17.907Z","1.5.2":"2017-08-16T02:24:18.112Z","1.5.3":"2017-08-23T06:56:27.206Z","2.0.1":"2017-08-26T05:04:12.435Z","2.0.3":"2017-08-26T14:19:05.259Z","2.1.0":"2017-08-29T08:00:54.378Z","2.1.1":"2017-08-29T08:33:39.781Z","2.1.2":"2017-09-05T10:08:16.033Z","2.1.4":"2017-09-07T07:21:38.555Z","2.2.0":"2017-09-10T05:48:29.634Z","2.2.2":"2017-09-10T06:22:04.114Z","2.2.3":"2017-09-11T02:29:53.020Z","2.2.4":"2017-09-11T03:14:04.468Z","2.2.5":"2017-09-11T14:05:14.540Z","2.3.0":"2017-09-13T02:09:07.477Z","2.4.0":"2017-09-14T07:50:22.954Z","2.4.1":"2017-09-14T08:18:46.694Z","2.5.0":"2017-10-22T13:02:33.257Z","2.5.1":"2017-10-22T13:08:35.796Z","2.5.2":"2017-10-22T15:57:05.437Z","2.5.3":"2017-10-22T15:59:30.381Z","2.5.4":"2017-10-23T03:28:34.266Z","2.5.5":"2017-10-23T07:00:07.019Z","2.6.0":"2017-10-23T09:44:14.658Z","2.6.1":"2017-10-24T03:30:47.803Z","2.6.2":"2017-10-24T10:43:02.330Z","2.6.3":"2017-10-25T03:42:41.620Z","2.6.4":"2017-10-26T09:26:41.623Z","2.6.5":"2017-10-26T10:13:07.227Z","2.6.6":"2017-10-26T13:16:16.606Z","2.6.7":"2017-10-27T06:24:01.122Z","2.6.8":"2017-10-28T03:07:52.956Z","2.6.9":"2017-10-28T03:43:47.624Z","2.6.10":"2017-10-28T13:27:05.386Z","2.6.11":"2017-11-06T01:21:38.015Z","2.6.12":"2018-01-23T09:09:25.203Z","2.7.0":"2018-03-06T01:44:03.875Z","3.0.0":"2018-04-03T08:50:31.135Z","4.0.0":"2018-04-13T07:18:29.145Z","4.1.0":"2018-12-30T13:09:16.417Z","4.2.0":"2019-01-04T05:44:23.562Z","4.2.1":"2019-01-04T06:05:58.770Z","4.2.3":"2019-01-05T08:59:26.675Z","5.0.0":"2019-01-05T16:57:10.979Z","5.0.1":"2019-01-19T09:38:54.538Z","5.1.0":"2020-02-03T04:09:30.102Z"},"contributors":[],"author":{"name":"Carl Winkler"},"license":"MIT","readmeFilename":"readme.md","keywords":["docker","orchestration","continuous","integration","typescript"]}