{"_id":"kit-deployer","_rev":"210-7055f084a3024769eb63b4acb6161c59","name":"kit-deployer","dist-tags":{"PRERELEASE-healthcheckfix":"7.2.4-PRERELEASE-healthcheckfix.0","PRERELEASE-uuid-fix":"9.1.6-PRERELEASE-uuid-fix.0","PRERELEASE-EV-1355-deployment-errors":"9.1.16-PRERELEASE-EV-1355-deployment-errors.0","PRERELEASE-EV-1375-kubectl-19":"9.1.16-PRERELEASE-EV-1375-kubectl-19.0","PRERELEASE-EV-1602-rs-orphan-cleanup":"9.1.17-PRERELEASE-EV-1602-rs-orphan-cleanup.0","PRERELEASE-new-token":"9.1.20-PRERELEASE-new-token.0","latest":"9.1.22"},"versions":{"6.0.0":{"name":"kit-deployer","version":"6.0.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.0.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"28356f64b9624dcb2e4b3d05a8f9e3b3100cefc2","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.0.0.tgz","integrity":"sha512-qtxUPmaLSNZF97W/ritJjNDyKHxxDsXwdAJWhdi7a65q4c8pxmVrfYE0MTnaAzhC6s20WdRxfVQPBxjzUvkdcg==","signatures":[{"sig":"MEYCIQDWuRIrXm7SkKEiThfRs1bMF21+Arh3Oqt67RyZN0iSQAIhAKjTg4G+0KGvfL69dYXVsG9/YlQDPS/avjSV05WB5n4C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"28356f64b9624dcb2e4b3d05a8f9e3b3100cefc2","gitHead":"ffa5f78990bb63b2f6e95d0b78f3ce6e3e0e71c8","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.8.9","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"6.2.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.0.0.tgz_1465417174872_0.20495848101563752","host":"packages-16-east.internal.npmjs.com"}},"6.0.1":{"name":"kit-deployer","version":"6.0.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.0.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"6df3fad21d92a98234e952e1d591ca90fb1165db","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.0.1.tgz","integrity":"sha512-3VtHDHni0d9W8ylnJo6c/TF1azY1+Z8cU4xJwU2UEGMokbMTF6g7+1G5lISct4quyGffzM6uEHfgqDnwolsDow==","signatures":[{"sig":"MEUCIQCuy9d6b889W/eh1fX0DDi4W6fdLsAM+WZVZGrwc6RytAIgV42E+tprqYGAZWv4/vT1IPmBa8bAsqWslCpm8YZGTBs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"6df3fad21d92a98234e952e1d591ca90fb1165db","gitHead":"ffe81baced8b9f687982b472708f08b92a4d0f42","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.8.9","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"6.2.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.0.1.tgz_1465419051771_0.4954286585561931","host":"packages-16-east.internal.npmjs.com"}},"6.0.2":{"name":"kit-deployer","version":"6.0.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.0.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"38ed1f550ab839ebd0eda58682096a7506502d76","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.0.2.tgz","integrity":"sha512-LgAQPjW6jXgjHPYvWxgkVnTv+hpcz0mGlqwqUUCjgEpRlUBWwUBnQzOM9zEw11UFWKHNxzLogH+F52bdLv6wKg==","signatures":[{"sig":"MEQCIGupHktS3aOnZhYefKswxRQtXWFZ0cNRgIUoXkJLvtSQAiBlONQELTyWbT9tfYHGmALa6L4fTocVlKpcGCLK+cJEDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"38ed1f550ab839ebd0eda58682096a7506502d76","gitHead":"d02a43691c8b08dbb38f1ad0c5d173543e723712","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.8.9","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"6.2.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.0.2.tgz_1465419079545_0.8702608074527234","host":"packages-12-west.internal.npmjs.com"}},"6.0.3":{"name":"kit-deployer","version":"6.0.3","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.0.3","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"cd3224861b0aeb6e0587fd8862c83e37adbb3e88","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.0.3.tgz","integrity":"sha512-5hTv5tOYyTlG9g//EOE4xJNGpErmiT3roUVlJXFIkyDj1u2BMfssXiYoEZsjmp4fcz1pbAxVsW64ORuKlyqi9A==","signatures":[{"sig":"MEUCIQClyfU3ZwOv9Zb0MV8BpHRkJX6cRJQz8dmDdyn5g/eV2wIgXgVFClclze+fMH+urd9UoQU3WTaZIXrEGBptPUWZapg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"cd3224861b0aeb6e0587fd8862c83e37adbb3e88","gitHead":"3c6e2f54375dfab79ae9db95ae97a7cb1cf76866","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.0.3.tgz_1465420838961_0.2707191063091159","host":"packages-16-east.internal.npmjs.com"}},"6.0.4":{"name":"kit-deployer","version":"6.0.4","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.0.4","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"9685be7ffd74474ea2d991d6e552f643a83dac2a","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.0.4.tgz","integrity":"sha512-32IimCwth8a4TmlCrv0OSzGKZCdyubVG8vSVZcLeaxTgkygTP7I1/EbwZ+CskNJmouNaYZldF/xFxbMn1EVvqQ==","signatures":[{"sig":"MEQCID+4jCW8R0Bqw04cae7hpk+ZVuclfPEUHZhQxxON4fjKAiBU8QGOfhnWKQvFevZ+JQEVqgPhfmdV4qM9MtrS7aXpGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"9685be7ffd74474ea2d991d6e552f643a83dac2a","gitHead":"f539c5452cbcd179458c7c1a63ecdc929968484d","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.0.4.tgz_1465484235055_0.32786274631507695","host":"packages-12-west.internal.npmjs.com"}},"6.0.5":{"name":"kit-deployer","version":"6.0.5","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.0.5","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"9773a00cc177afdad78669f6e14421c34af0ec00","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.0.5.tgz","integrity":"sha512-1HJ0+xuQmHADNTNIecm6ZlRwV6SgZ6rn2lunuqugKKcko1YHqOaoTxc/gfg8RbfkV52pE0tOBOo86C/kWV8OYQ==","signatures":[{"sig":"MEUCIFPp6jg/Sf4Lj9xDvJX57s1GHJEpy7CIJf48sUW7tpXfAiEA7iCM3mE29xedrm0fILKBJMChbUDFjh59AtmbF80tuv0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"9773a00cc177afdad78669f6e14421c34af0ec00","gitHead":"77799a3c1a3379da4382517cebcdc70727957485","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.0.5.tgz_1465484533497_0.7233696775510907","host":"packages-12-west.internal.npmjs.com"}},"6.0.6":{"name":"kit-deployer","version":"6.0.6","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.0.6","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"fba2603658d68b9072538ff6a87c9d5eb51bdedc","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.0.6.tgz","integrity":"sha512-bU5fUL7MkSm+VhV0Qmo1o2anz5h+Ul5C9rhSVC/YWhJoHRWHHKegVuinIsRgQDS5uJEYdFSM6oZS3eZkKHF1eg==","signatures":[{"sig":"MEQCIB3hhvRM7oV3v7CuPlmtO7rYB7xwzydl//IpsAf41Vh7AiB+Ii/8VY1t2YLPL2upqz+SKYD1GTL7u08EUQvMWINAWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"fba2603658d68b9072538ff6a87c9d5eb51bdedc","gitHead":"445d06dcc06ad61fa285e7073ad387d09a10e03a","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.0.6.tgz_1465504430601_0.4915970971342176","host":"packages-16-east.internal.npmjs.com"}},"6.0.7":{"name":"kit-deployer","version":"6.0.7","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.0.7","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"5b16b6f53604aba9a834ddd6bb28ff8598b40ea6","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.0.7.tgz","integrity":"sha512-QS0Nu3w8+3eq2IgZzilYIYPp9fF1pfbc5LRztITPe2Qp36KGgFK6V4Y6GCK6JfdLbyQ/J0tcFcoZ26PVwjdgyg==","signatures":[{"sig":"MEUCIGd/3qVItdsHZFmyX1t88LOiJRCTi5jdZfNH+eblkyqdAiEAjHAkKWZbbdsHJU46yBFOFF2ynhlM1udZ4Fs5E6HiDXY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"5b16b6f53604aba9a834ddd6bb28ff8598b40ea6","gitHead":"c9a24c529a15949b3b5c5e9301b33cb0911bb24f","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.0.7.tgz_1465578202957_0.432610752992332","host":"packages-16-east.internal.npmjs.com"}},"6.0.8":{"name":"kit-deployer","version":"6.0.8","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.0.8","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"7dd734500a0af6a132ff8cbe7c28b626d5a2b956","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.0.8.tgz","integrity":"sha512-ZRmYmBuB+M4C+mwomtK9ELVWFZ7DZevO+KnuCZrjoXBlwKdBgWRTJomGVNuxoJQXhTLEx+hY93v4gx11aceEbg==","signatures":[{"sig":"MEUCIQCglXcpdjEP6ct1DmArdmR3NxQafZAUnN6dGGP2UV/FwQIgE6iatROP2rLwh2oerp/ZaluiyV6eZ9+QEW1FMXXE+G8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"7dd734500a0af6a132ff8cbe7c28b626d5a2b956","gitHead":"fa683122ff1fd7a7abdc6e51e323d3a3799a839d","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.0.8.tgz_1466178618045_0.5099394244607538","host":"packages-16-east.internal.npmjs.com"}},"6.0.9":{"name":"kit-deployer","version":"6.0.9","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.0.9","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"c42550da90d41527ac6c74a4cd75940277425d9c","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.0.9.tgz","integrity":"sha512-O8aelJ5xi11RC+n/Cha6Y6TWVxgJVIMgwCZxDlqYvyv9Mh3NIWb4rU3Mln8hl3gyxw0DUSYLtMUe48BQ2I1IEQ==","signatures":[{"sig":"MEQCICCN6JgRFSv3GLqW5PE6UvdYt/f6WxFra2vFQa8/3utdAiBlbjFZ8BOMc3DMlueINSFuTbf5d+enOhJYHkC+ir8zMg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"c42550da90d41527ac6c74a4cd75940277425d9c","gitHead":"cfdb6c118db66488ad7a5a20b566720613d91656","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.0.9.tgz_1466194374708_0.619878709083423","host":"packages-16-east.internal.npmjs.com"}},"6.1.0":{"name":"kit-deployer","version":"6.1.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.1.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"5bea901b174bd64516f8b7ac5dd7f1bbc6ff4017","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.1.0.tgz","integrity":"sha512-UPTrdY1UqAbDaAbaEk0WQ/v843crLWoIdm25sxIa7aWrzuATyq6cjOcgFY3P9vdvijQi0BWUZPIpcouZ6LMXBg==","signatures":[{"sig":"MEUCIQDs4L/MzoNDwuFgSdronAv/4gHF2Hzry7rb/zyWvTEI0gIgSsb+ANEgR1J89iQhEUF/CRtnR45AGynNpTsvGN79DZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"5bea901b174bd64516f8b7ac5dd7f1bbc6ff4017","gitHead":"07ec8d3877d4c06636e733bd880f14a1bb6c1335","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.1.0.tgz_1467146384887_0.6353216127026826","host":"packages-12-west.internal.npmjs.com"}},"6.2.0":{"name":"kit-deployer","version":"6.2.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.2.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"248e599407518c92a0248dfd90db94695798f623","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.2.0.tgz","integrity":"sha512-ryVytdBL4yeCOi1iqbW4vdfEa5JcwogmKdVkWlc1ysouTAAQp8ELxxTthMQb+fa1mdNk4Ep+U4r7nQZBUXiCFQ==","signatures":[{"sig":"MEUCIFF21EfZvfd9Ow8J4rEvd8Qtkksd9pyAamS6Wtb7mNPaAiEAoz3p3+aQ6jWXVVKxglo8saQcjE3Z4tjJOH38dpsiy3w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"248e599407518c92a0248dfd90db94695798f623","gitHead":"eef38eb4d0fcdc876ceaaebf76f9a8bd6df72081","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.2.0.tgz_1467739252353_0.29249913757666945","host":"packages-16-east.internal.npmjs.com"}},"6.2.1":{"name":"kit-deployer","version":"6.2.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.2.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"8509c2f466ccae3a848ea3cb724f8b4c99c781a8","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.2.1.tgz","integrity":"sha512-H6cVwAEP5wNbXTAeuPjmd03VW/p7sX83zVVrcYVsYeuyRU2j9BywAAJ607Tw+Yvh++fpwC+I3+KbRUWiPgbcPA==","signatures":[{"sig":"MEUCIDIiF7nLcIzSxvUM0ZxoqLEn4ag68l9pipvn+Ysb1vdPAiEAg5k31JsM3j4QL7MrgqnHVU682NDNECdwY8WdrCAvyCM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"8509c2f466ccae3a848ea3cb724f8b4c99c781a8","gitHead":"0de88fd347caba8ff5057c25f88b66e5cdd0e7d3","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.2.1.tgz_1467825282286_0.05375373433344066","host":"packages-16-east.internal.npmjs.com"}},"6.2.2":{"name":"kit-deployer","version":"6.2.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.2.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"d7af341152d084eaf6ad012a36a38efdd8687c33","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.2.2.tgz","integrity":"sha512-P0wRXacH/ZSF5zmVZsgW1zPITQJCD6GECGv1hnFtXFOKndQ8MQr4mabqOjE5mTrvD5SRNKsSeDlo8pmT3lddkA==","signatures":[{"sig":"MEUCIGOMgJYHNiK8tU5gRN0t+ibZ0P5TcnmyIiW3VpJCDsF5AiEA3Q+NMQ+PEbCrUpxbaki5WD3Ppg3DPv3mbjBDBUXMcFM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"d7af341152d084eaf6ad012a36a38efdd8687c33","gitHead":"7cd839902a2fc7b5a8c76e6b81716fbfed4b2d73","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.2.2.tgz_1468609963231_0.3661297948565334","host":"packages-16-east.internal.npmjs.com"}},"6.2.3":{"name":"kit-deployer","version":"6.2.3","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.2.3","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"90fd47afe519d70666d6211e57f127810352ecf6","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.2.3.tgz","integrity":"sha512-JCUhkpLXhrZ8k/SgCjzeCje5W8lvzdFAVjXnxw2titvzwoXWEvSBgR1hmW3cMthc6PZlF/1mbJoA4i7Un3tHRw==","signatures":[{"sig":"MEUCIHlEXFmOE7u8FYPhOEBULOLLsaFmrT4LkrPBL0NcrM7WAiEAkLBYkdzTKfwcROikkmbgk6ewxK3lT6Cc38rzV6w1fQQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"90fd47afe519d70666d6211e57f127810352ecf6","gitHead":"507b9c37a22305d1434a6d3ce294d1702a4d4bde","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.2.3.tgz_1468967552905_0.46675624744966626","host":"packages-12-west.internal.npmjs.com"}},"6.2.4":{"name":"kit-deployer","version":"6.2.4","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.2.4","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"184e12ef251a35e83cd32a30607b701fb8cfa091","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.2.4.tgz","integrity":"sha512-0pIzL68AmRKR4fg4pBhsALGRQcvgBKibUWyX/ZLSOJArRosiMGXKy+MsvVB5MIMjNgCAYeOzVn1xJK/SXC9mJw==","signatures":[{"sig":"MEUCIQDn3vbNk7YORiVpi5G7yt9mstnAGQ4S5dsR3uIxaSkCMgIgBjIF9UHQgQjkuMf+6ojLsNngSNktJNxo2FD1judZJVk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"184e12ef251a35e83cd32a30607b701fb8cfa091","gitHead":"70f30ea9ddd0c62b15dc768791ba5475cfec3ce3","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.2.4.tgz_1469551441554_0.8606240572407842","host":"packages-12-west.internal.npmjs.com"}},"6.2.5":{"name":"kit-deployer","version":"6.2.5","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.2.5","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"523e98dd47259faa6c96f3d04ad1f83d60d7cb3b","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.2.5.tgz","integrity":"sha512-o8jf7LqpvLYmPUmUwfyHILdZTYW3hGmZJLSh9vTA/zBoLwOzAauWz4AegvgxQJYbwtQ4hG/GkxMc1rSwuvi/iw==","signatures":[{"sig":"MEUCIQD96igy4frR4sUVIg7tDsvAgi8E55GNYIjofrqlsj3H3gIga7YI0WaptMgYFlzjf3slrBzFsHhUdqu62PIUHUFIqW0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"523e98dd47259faa6c96f3d04ad1f83d60d7cb3b","gitHead":"8e56f361838cc1ed08febce25e8c72608001e730","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.2.5.tgz_1469552382113_0.3871444212272763","host":"packages-12-west.internal.npmjs.com"}},"6.3.0":{"name":"kit-deployer","version":"6.3.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.3.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"83268488724bdcc59d6422ea06266d625cf1fff1","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.3.0.tgz","integrity":"sha512-LEnnXQoAfP8/mljFUrxtBnr3XJ9lJE+7QJzE88Qus6nFCcxDu78+ffm3ftIBulhZ2F4aBbYelDqx5lYjKJDkww==","signatures":[{"sig":"MEUCIQComOxL2aPoLNRbs98sWuFIsd1A7VD9u4PMq1WT3xFmBgIgQc8dePr/lwfbGXxVBqHa0BNBgnJTyFwYFnqwIx1ftAI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"83268488724bdcc59d6422ea06266d625cf1fff1","gitHead":"4612b7093f010115ef097506efcf69b4349c44f7","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.3.0.tgz_1470062418206_0.03373839566484094","host":"packages-16-east.internal.npmjs.com"}},"6.3.1":{"name":"kit-deployer","version":"6.3.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.3.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"b3f3e275268e76f7e7e67e8e59a072fce1383109","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.3.1.tgz","integrity":"sha512-3hZhA87pSlmokOEGb0tBnDYw56fqzMafjN/t5srScOmO5WRSqZklWuqzeqz5KMWLJyitwYi3j7pNPBXSFkwWXw==","signatures":[{"sig":"MEUCIQDj1gjPTwYd01O7T2MAENFWhbzXbmZW9CYBJ+lmQ8ujDAIgXqmFo/4C8EdhZbejsE8ktPHFszmJzYDnAmZjYXDuQHY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"b3f3e275268e76f7e7e67e8e59a072fce1383109","gitHead":"485784158fadd8bdc4c0e2e81d897b19764c491c","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.3.1.tgz_1470084288677_0.25531994830816984","host":"packages-12-west.internal.npmjs.com"}},"6.4.0":{"name":"kit-deployer","version":"6.4.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.4.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"ac29b25b4a7bd5000ed8f1ab82169ca86f555e03","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.4.0.tgz","integrity":"sha512-RyN9CIGTwUNfD+23BytyBxj7kgB11O9wKLUQfGK80FQDqSYR30WNP0zrx2xrfyHW7ZEvvNDVTMpKa08s91Px8g==","signatures":[{"sig":"MEYCIQCUB8qKMaBNd5eDlbyQ/5oPASvle1b3wUkMyswqWg+ajQIhAOcgoDGHkfTA+hdiTPpIAEkcWD0dXmPefLDHTXEwzfUM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"ac29b25b4a7bd5000ed8f1ab82169ca86f555e03","gitHead":"ef3650c3fde98e4d26c11e4226db051ac07b29a3","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.4.0.tgz_1470754194138_0.3800229602493346","host":"packages-12-west.internal.npmjs.com"}},"6.5.0":{"name":"kit-deployer","version":"6.5.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.5.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"6edf70f18a61eb709e530be4e8296d8cbf2a253e","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.5.0.tgz","integrity":"sha512-wWlnTQSAKFTWjv4HUZk8okCq5zfPHAISi5+0FikhlPZQUbYHAkOfqS59hlVelPmSC/xX/7A1mcfV63xGGWndeA==","signatures":[{"sig":"MEYCIQDvAvrhzaNLfQ4fQbRNGpgyxx0qYOCxxc8qlfYeIe/iOQIhALXdx+zASJbPb5EQn2Zgp9+4E1e4ahnyfG/ARetajHOv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"6edf70f18a61eb709e530be4e8296d8cbf2a253e","gitHead":"aed7c2e2af5c738e00bfaf4fd858892167040080","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.5.0.tgz_1471537456757_0.30608285358175635","host":"packages-12-west.internal.npmjs.com"}},"6.6.0":{"name":"kit-deployer","version":"6.6.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.6.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"71d2d8077e70fd2aef3cfd9fc729107898db877f","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.6.0.tgz","integrity":"sha512-0DG9t9SgCGjKRnmuDWHlnt7cMq69XxU7LKVOpcwx5LxnbqAypgj4zlQgMTbvSGe10JJohh1oFzK1go1ashVrgw==","signatures":[{"sig":"MEUCIQCdOU3uLh0cq7JcxTnHW+3+SKAVPQJlgFpzUU2W1RfKQQIgDTwQjzL1WLfhDCi43XdSEI96/DJtYoFPGdYfpWTmMjg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"71d2d8077e70fd2aef3cfd9fc729107898db877f","gitHead":"7eec603221ddd1ff0db7ba62babb5717d291e809","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.6.0.tgz_1472833214582_0.9321487895213068","host":"packages-12-west.internal.npmjs.com"}},"6.6.1":{"name":"kit-deployer","version":"6.6.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.6.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"8543ecf0129574bca5da061d1efddd73138fc3d9","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.6.1.tgz","integrity":"sha512-nANeWVVRHgvdSrm5hyq83BaukW1KlHDCL++gjI37o2gEifNMIX98CYakLUMUkVApqPVlDUw15JCsPHxDIv0gDw==","signatures":[{"sig":"MEUCIQCoBEMlUJktnUUABufG6XGBFCjRE6bfXRQJo40oN3SpZgIgcxJ/2xGgrsVpu3UdagJt/iUW/uxwshq9xJxOTAJCKgY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"8543ecf0129574bca5da061d1efddd73138fc3d9","gitHead":"9d99d5f8aeb8dfd92b9d0ce6c061bdee204598ad","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.6.1.tgz_1473436123203_0.31149925268255174","host":"packages-16-east.internal.npmjs.com"}},"6.7.0":{"name":"kit-deployer","version":"6.7.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.7.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"59f9ea845fbf92a489611469daf5daac84a8b5f1","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.7.0.tgz","integrity":"sha512-GYpac8BWYJNo8UnSknH8/3Fp3Ax/OkFocYDsrQOCgPpY2ZLEB+r+0+G6cumUp0eq+byY/UnIa5U/oR19VPAsww==","signatures":[{"sig":"MEYCIQCCKqfupdBSYILEy1kj5TVBzbTVQVet/VWZV2avXt5C5gIhAJtdt4bbMiviG/lc5BlIE3ClwuuU1dGVFrsjEqL7Z3bI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"59f9ea845fbf92a489611469daf5daac84a8b5f1","gitHead":"0a134041ff593c45c6051dfcadf0ad28205697d4","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.7.0.tgz_1474642981811_0.496587275294587","host":"packages-12-west.internal.npmjs.com"}},"6.8.0":{"name":"kit-deployer","version":"6.8.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.8.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"857999268d6a5c1c0087daac3285000ef2d0097a","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.8.0.tgz","integrity":"sha512-2VPcSeeGQr//12SDhyY683BF0fpq/y/MiuXSLUoozs5NsvZQx9grmEV/p3YwWVSvLoNpQYg8bT3t1NxrP1HDSA==","signatures":[{"sig":"MEYCIQC2zeyWu4HZAw446lm/WHaGkCOp77vGxi6VwS8mhOgZjAIhAL2ncJGbz7yrZoqt4+tNA1IXEnyyGEi4HbYXJYp8aAFs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"857999268d6a5c1c0087daac3285000ef2d0097a","gitHead":"24d821d70a89f08dbd8ecae51abd42044fc5386a","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.8.0.tgz_1475858089861_0.8241253441665322","host":"packages-16-east.internal.npmjs.com"}},"6.9.0":{"name":"kit-deployer","version":"6.9.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.9.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"2a3f186c3867f2211cbc8036670aa0556622b39d","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.9.0.tgz","integrity":"sha512-tQMZ6A1FPkegwfQj+2QxQHAuBb3LlhachNWweLUkSjvPmG0ek8V/JaYa+so3vw9wfbWJl7bV8w/JBh7f3ScN7g==","signatures":[{"sig":"MEUCIEwWF3WOOinM4QwCFwNt2baXX+UR8DJyM4qHSNcNPsY0AiEAp2+8Br3vfX3DJBo5bIdEZvAb7sHR7C96bNyKc+iZWGw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"2a3f186c3867f2211cbc8036670aa0556622b39d","gitHead":"e1f60ea111e921b917d7637388e049260c75117d","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.9.0.tgz_1476387897618_0.5887014248874038","host":"packages-12-west.internal.npmjs.com"}},"6.9.1":{"name":"kit-deployer","version":"6.9.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@6.9.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"3f48295148c6fd438aa8dbfa5e67351a5d8cb9af","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-6.9.1.tgz","integrity":"sha512-fEhL0ARcM+lTfo8EeHEHsypa514xynlFhKihiRDG49TMwq+04Smf4TVfPABtJRLL9reMXnaFvxWCnbOKj+Neig==","signatures":[{"sig":"MEUCIQD781uWtSKmLm8+h1ZNoXbeTbanwMUSgqaF8D4v2+E/XAIgZyOMhoUKJ2JW+orF7xc06rLXywLN2qw+DjrD4q63GD4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"3f48295148c6fd438aa8dbfa5e67351a5d8cb9af","gitHead":"ec04999e60bfc22641cae13c1df7288eca04ec90","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-6.9.1.tgz_1476903258491_0.5234147789888084","host":"packages-18-east.internal.npmjs.com"}},"7.0.0":{"name":"kit-deployer","version":"7.0.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.0.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"82e653346b7c1acc5fd57f93c00733d4fbf52e8c","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.0.0.tgz","integrity":"sha512-vvYC1QBpDNNMvGXYDU6L+ohxyFdulBbsZ+jWtOoeHvrLRVK7o1eYg/GV+skhjpOk3dZdJsgOZxAeWOfEh5Pipw==","signatures":[{"sig":"MEUCIGNuMiGJrDerSwbqY7Y0MHKinNp4ODVJht9dCZ4AjIuqAiEAmURT5+C2/0SceGHrI5tyaqc2phNMmbSxRQq0EWtZmmQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"82e653346b7c1acc5fd57f93c00733d4fbf52e8c","gitHead":"c5d2a15f5a69166dd7f02cd49f73c0bb1e5ac845","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.0.0.tgz_1478728702371_0.23998401989229023","host":"packages-18-east.internal.npmjs.com"}},"7.0.1":{"name":"kit-deployer","version":"7.0.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.0.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"c0759b1ccf0a61a5baf47367e46ac7106c2292fc","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.0.1.tgz","integrity":"sha512-YpWYIJtAtsV9Pboc/ZBSbcL7A5n3HHTCzyQ1FM/b37PLKo9ZUk4V/1Od2zI5oVbsw4i3f/uQKf3rR9ri+fqPzA==","signatures":[{"sig":"MEUCICtgRM9TCGTgE+avah1cQ0P+loBlo1l3LJvA8aqid9cdAiEAmznZyZ7ErCTGjHl7G7MgtnWmV727BiH1AC3nbNUxV1Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"c0759b1ccf0a61a5baf47367e46ac7106c2292fc","gitHead":"9f0abf3008277f00e69e26643e7bb775c5c899e3","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.0.1.tgz_1480711834065_0.930874373530969","host":"packages-12-west.internal.npmjs.com"}},"7.0.2":{"name":"kit-deployer","version":"7.0.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.0.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"a1eaffbe21ceaf5ef884ac4397e6b6df5477fd44","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.0.2.tgz","integrity":"sha512-oRuayJu6zx9TMQFR+KrIxetQMkkujCUO44bvdd3BgjuXDe20VaEFLtr/LEXu8w0exbt2M9ylFxqHNL8+NKn8vQ==","signatures":[{"sig":"MEQCIGhtxxt/B7Gn3MkSS8CNKQRV6IFDMsmV4iQ6yl6ZvWJUAiAtn4qMzyGMlx8NCL65kEvZgrtSzy5+sUwSHS3G9Z8suw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"a1eaffbe21ceaf5ef884ac4397e6b6df5477fd44","gitHead":"49c2a9b12906f91fd5b70724860b4a556799e70c","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.0.2.tgz_1481037811048_0.8411093943286687","host":"packages-12-west.internal.npmjs.com"}},"7.1.0":{"name":"kit-deployer","version":"7.1.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.1.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"a629a8830ea89b3cb5d9c4a20b6ed4804db45730","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.1.0.tgz","integrity":"sha512-5AoMhGUgG6HAWPo3z4fpj6YkFnxAEiaymVAgHD88M8VCpOSa0dEx7BLjTBW3xoaAbVbSB0b+yyFOgSjUuuovuw==","signatures":[{"sig":"MEUCIQDAvC8vV03tXdOTZgni7UpBSSB/7unx94GHjVMaVDKPqAIgOY6Vq1Qaq7V67M5h4rcojlCJ5XHmjkLQlnYholtMKt8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"a629a8830ea89b3cb5d9c4a20b6ed4804db45730","gitHead":"c462ddb86dc58dbbba19969e2b03db782de3a8f8","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.1.0.tgz_1481045561391_0.9796718936413527","host":"packages-12-west.internal.npmjs.com"}},"7.2.0":{"name":"kit-deployer","version":"7.2.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.2.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"1876754f69667201b8bdb1b1515f11b027e332a7","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.2.0.tgz","integrity":"sha512-CLOY/e6i8sZHvgYwMh3bKht0ueeUxZgynDrLRjSkYan1UcReDRBQeIUh6IDgYkd8lotdFXqJPFfMU6iZVRyATQ==","signatures":[{"sig":"MEUCIQDE2rvLel7pTYyN+XuJn9gW0Q3fwLG6LUW5Ab9CXI1vIgIgM04MpuJMa8ONGbErOP1pyVuDUwDSy8BNCoA2Xv2KKPM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"1876754f69667201b8bdb1b1515f11b027e332a7","gitHead":"b02396333c146de0b7236afb183f43104a289c9a","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.2.0.tgz_1481045768399_0.11156555125489831","host":"packages-18-east.internal.npmjs.com"}},"7.2.2-PRERELEASE-healthcheckfix.0":{"name":"kit-deployer","version":"7.2.2-PRERELEASE-healthcheckfix.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.2.2-PRERELEASE-healthcheckfix.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"de74d658a7c6a992bc59b552d380bcbbe132ea4e","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.2.2-PRERELEASE-healthcheckfix.0.tgz","integrity":"sha512-aI1Ts8vBRcKy+cQhPKYVtvpT1lrEnumrIV+lVhp2aHoqhMwf5Cf4g7IZl786NHz5hCkLPXFKol7iWanWESBpEg==","signatures":[{"sig":"MEQCID1vRbObKBl3JYVZc8FjVOZcviBSqYpZ3PNkQMZZ+or5AiAhxDZ4w3Wn2KK44CrcWQU6/hxuT3qgQi7D2QKZeUGoPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"de74d658a7c6a992bc59b552d380bcbbe132ea4e","gitHead":"8f525da581fcbcdb34e25cb3678914a93de87922","release":{"fallbackTags":{"PRERELEASE-healthcheckfix":"latest"}},"scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"publishConfig":{"tag":"PRERELEASE-healthcheckfix"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.2.2-PRERELEASE-healthcheckfix.0.tgz_1481146177902_0.5265854888129979","host":"packages-12-west.internal.npmjs.com"}},"7.2.3-PRERELEASE-healthcheckfix.0":{"name":"kit-deployer","version":"7.2.3-PRERELEASE-healthcheckfix.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.2.3-PRERELEASE-healthcheckfix.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"7002da90fc0d185650e205b5d48d1ca268f51da1","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.2.3-PRERELEASE-healthcheckfix.0.tgz","integrity":"sha512-smcw4vVxk1GcKnOH9Jf4jJKeLJHG49zArPttZr0HtgYolTLzQPDxSEhmxEV1dXJmk73jA+cuhM547HdMFPF3SQ==","signatures":[{"sig":"MEUCIFDdv/4oAIOUWNAADcuqKgzVdiattjqdn/lokGgUrJPMAiEAv5yZnjNaIWCAw/XKorbXCW63neYQyPqzbsIdhR+nKC8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"7002da90fc0d185650e205b5d48d1ca268f51da1","gitHead":"cda7acc993fa76e771b563913e1b4dcf8c1a36cb","release":{"fallbackTags":{"PRERELEASE-healthcheckfix":"latest"}},"scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"publishConfig":{"tag":"PRERELEASE-healthcheckfix"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.2.3-PRERELEASE-healthcheckfix.0.tgz_1481147804771_0.11532042059116066","host":"packages-12-west.internal.npmjs.com"}},"7.2.4-PRERELEASE-healthcheckfix.0":{"name":"kit-deployer","version":"7.2.4-PRERELEASE-healthcheckfix.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.2.4-PRERELEASE-healthcheckfix.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"d3b671f04f9b82926acbe51fcc2caf0fab7d5fe9","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.2.4-PRERELEASE-healthcheckfix.0.tgz","integrity":"sha512-bVpmH1GoRmalqHXl49rbK+dgk6HKmw6Edvvjpmj2sJD387OBPn7BXyOgXE/8MgNELLmj9lBTGPDYPqJi0xxeBg==","signatures":[{"sig":"MEUCIGXJYiD0vtBt2BV8SjqYjutnJ7UmNkklLeR43cGPq7G1AiEAzqNBitGE3g+P5w8KCEEbB9niN0ATsB7PqaFEn9MMGdQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"d3b671f04f9b82926acbe51fcc2caf0fab7d5fe9","gitHead":"718860f3ad5599476ff533899d16d52bd7037934","release":{"fallbackTags":{"PRERELEASE-healthcheckfix":"latest"}},"scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"publishConfig":{"tag":"PRERELEASE-healthcheckfix"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.2.4-PRERELEASE-healthcheckfix.0.tgz_1481153684385_0.008189963642507792","host":"packages-18-east.internal.npmjs.com"}},"7.2.1":{"name":"kit-deployer","version":"7.2.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.2.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"85f890663e2c4957cb5f22fa5f48fdff15ff7738","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.2.1.tgz","integrity":"sha512-/bM4SuwK6xgtQ3w5ueokixeXUSEaWCApfRskFwH2KdEkvMcEm1SM6bC+brzIJ33LIFUV8YA4VP06JVnViH1Crg==","signatures":[{"sig":"MEUCIF5+0TGSjJSXG6RMML3uY9zBslF1q0YBVKzbwPCElXxCAiEA26LrWvEb7hKCl9CYu6CEcwPIDFZkL5pG1S5WhcN5chM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"85f890663e2c4957cb5f22fa5f48fdff15ff7738","gitHead":"394b2a26fe8aca81da748ab8074260bf4d066bb6","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.2.1.tgz_1481215702898_0.8520652120932937","host":"packages-12-west.internal.npmjs.com"}},"7.2.2":{"name":"kit-deployer","version":"7.2.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.2.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"8ef0c3ae05dccfdb49021aba9df4aa659dcc7d4d","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.2.2.tgz","integrity":"sha512-8N6hgVGD/4NmuA1nqMWwvL3aKMQpRYTOTIuiCn0Zoz35IGs8kUcn44bnzHuEv3FZzdxf7xduAP//oZyXAy+pYg==","signatures":[{"sig":"MEYCIQCIQSWSUnMafTV5Y1B57npmvrjHeLGRvKeYKsQ1HUyd0QIhAKLxvxsVM1g/vs+jfRo75mUpwVlpzsPtjHCoRHInzPlP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"8ef0c3ae05dccfdb49021aba9df4aa659dcc7d4d","gitHead":"74b350ae0bb528673e3ceb38e03d097d1ee4df51","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.2.2.tgz_1481223020823_0.3013366451486945","host":"packages-12-west.internal.npmjs.com"}},"7.3.0":{"name":"kit-deployer","version":"7.3.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.3.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"e8da33f46bee6cb5d0932775b923a16d7886f7b6","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.3.0.tgz","integrity":"sha512-EGllV4hdN2TW8OenwR4roWZv3aWAQWCro0sdGVA+CYK7eQDz5xfGZ3eswN/OnGVJ9zyn2+1Jzi025WWv2mWBug==","signatures":[{"sig":"MEQCIHC9hhFJzmNSvAB5ODIM/moR7zF23TpQxmFjE6xUnmV2AiBQ+zEzQ+RPIF3TBO+ndUttx2m/gGz96FkCbj8UwrjwOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"e8da33f46bee6cb5d0932775b923a16d7886f7b6","gitHead":"110368590b869152a1cd54939cc3df3f10c0d0a6","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.3.0.tgz_1485272055599_0.22454921226017177","host":"packages-18-east.internal.npmjs.com"}},"7.4.0":{"name":"kit-deployer","version":"7.4.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.4.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"6254727090d0f6f72a68334e2dcd6cfb84703aca","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.4.0.tgz","integrity":"sha512-R4WBi4hnPJMopTVmsImD1q+XcQddxDxnDmRekzppDouIOZnk62g9pkDosCE09J7yGIiuWKHp3RyQnnerUsMxUA==","signatures":[{"sig":"MEYCIQCnY1vVoMmjVnYvObHG9zQOFNGZmfXFf4dMb0E+pp0KnQIhAPrSWPqk2cuEj1HDh0bRDsl7DOBi2TTBVnjsajd3/TAT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"6254727090d0f6f72a68334e2dcd6cfb84703aca","gitHead":"452ded3dc2f23d37b740af01fd7f4d4b5515f834","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.4.0.tgz_1485365119976_0.44206339679658413","host":"packages-12-west.internal.npmjs.com"}},"7.4.1":{"name":"kit-deployer","version":"7.4.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.4.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"f7812413d6f660b9bcbd18788da5599feddb5a32","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.4.1.tgz","integrity":"sha512-8UOnhDqaALo9vHF98twlwcJaI5CwZ9b/BqRQOXCJX+6Rq26Kg03nqeABALahP5mC9NqNWQUY6ciCAlpxH110fg==","signatures":[{"sig":"MEUCIQDyKr6ndvcoeOa7o/JpDo97hRiDZoRNVoilx36IN0Vc0wIgJWwDRLqk4gZdtLZ1I1dWejb7ZMKmJxkLLro/IrdHbQ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"f7812413d6f660b9bcbd18788da5599feddb5a32","gitHead":"8337b2dfcce55c14139ae9b342f02da6d08d8367","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.4.1.tgz_1488481204733_0.27851606882177293","host":"packages-18-east.internal.npmjs.com"}},"7.4.2":{"name":"kit-deployer","version":"7.4.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.4.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"bbb7a19c4fb890ce8bb55cf7446ba654334b8a3a","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.4.2.tgz","integrity":"sha512-j3mJ0X4YGTXPt3q1e3LIKr9ImPPRKdTek5mCA5GqFgbXHkdIp2GKGaazpuRc/kgIQbb+VtR9dc6+lEpxqEpgyw==","signatures":[{"sig":"MEUCIFIFuaS6XDhwt4y1bWoRI2yAhjCch8DBsS0q4RCz5CceAiEAvRl6mal4TcvzhM+JLB47Myq9yMXN8cx3SxtMDVAUchw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"bbb7a19c4fb890ce8bb55cf7446ba654334b8a3a","gitHead":"c5883d4c5111f1be8f3fbf8eabd0ce621e6f7b51","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.9.2","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.4.2.tgz_1488483553583_0.8992563013453037","host":"packages-12-west.internal.npmjs.com"}},"7.4.3":{"name":"kit-deployer","version":"7.4.3","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.4.3","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"12079328d7e4b26f1e4eb3724f29e0e131304509","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.4.3.tgz","integrity":"sha512-zuhrFLgMKi9oitvi0wTJkeliugx2TP/jo/09EEO3iJ5axgRs+BRlqFpBOqPbpv0FRiIucnQ2XOB4DsNHzfYYUg==","signatures":[{"sig":"MEUCIDTjeBivfN4YcYjt1v7vGqsQK0fuMRgWEApq0AXeGmbZAiEA+aU9VbQGcpGQcdWIweo8Pqz6NNLsE7olaAQObPdCcig=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"12079328d7e4b26f1e4eb3724f29e0e131304509","gitHead":"d99d9d67162bfce109ed9886efb1aad40579cc0b","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.4.3.tgz_1488485809810_0.15589158982038498","host":"packages-18-east.internal.npmjs.com"}},"7.4.4":{"name":"kit-deployer","version":"7.4.4","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.4.4","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"cd76b8c1b1123ef6b6ae09a94ee10c6b123bef18","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.4.4.tgz","integrity":"sha512-UUgAkSoJRbvFbjkEq0ioOZB/pWFX1AqCyYjyQ6BrYZWI7lfNz3ybqFHwyiHSNryenQ7LlqSQfy5zHJAHEp1nqg==","signatures":[{"sig":"MEYCIQDc3NhCkPLAzq7Zz3Mi9OetVrkIc551CjKL7W+CaOZPNwIhAIMw+6G2cYSM4Aa3u5jwql7rT0wkitZl/lRgv+/unbIe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"cd76b8c1b1123ef6b6ae09a94ee10c6b123bef18","gitHead":"b3778a2c4cb91dbdbf4cde89a900719552408ebc","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.4.4.tgz_1488564474078_0.5824138580355793","host":"packages-18-east.internal.npmjs.com"}},"7.5.0":{"name":"kit-deployer","version":"7.5.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.5.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"f582208a5b4946338367a992ed54a89538acf5e2","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.5.0.tgz","integrity":"sha512-LG/K34aFu5nbbxlFSYlYdMLtuGjILgOwNY0DSq3nZtjdIy8kLmjE8tN9EZ/0NPhZ9PoiEM05BDG5WA8ZNjVRdw==","signatures":[{"sig":"MEUCICpC3V1p3mqDpVBd2Q7zFeQCgcjI5tYKjRDpJ5njSjI1AiEA1vqOssl3T6lfwNEA56OxJoOO/8sv8LcXWINxfD5uzsk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"f582208a5b4946338367a992ed54a89538acf5e2","gitHead":"db6690aef7ce15fd9b437e32ef182b4680a67bad","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.5.0.tgz_1488571659661_0.360820259898901","host":"packages-18-east.internal.npmjs.com"}},"7.5.1":{"name":"kit-deployer","version":"7.5.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.5.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"ce1fb245eb25a3ed63cb8bb757e252f009a4ebe3","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.5.1.tgz","integrity":"sha512-Sik7BRVoE9cZPwhg8mluhwLxgxXF/M5uoZuZiOiiscMUm7XCYDdzAK/X2EIlB1EysIHGp7xd5wF4nKL2V8tieQ==","signatures":[{"sig":"MEYCIQCM6Gh0W+Cyeyj/oExY33yohuxfDjE63Xz0nKibz8+dHgIhAOJQ3C9XIVIbKEC2ld3OFkOEPeb/tGavDgnMe3Ph8teL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"ce1fb245eb25a3ed63cb8bb757e252f009a4ebe3","gitHead":"c655a9009f8f1f65ec987f68d9b43b1786c752be","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.5.1.tgz_1491497564383_0.8329807394184172","host":"packages-12-west.internal.npmjs.com"}},"7.5.2":{"name":"kit-deployer","version":"7.5.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.5.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"d545fc61d99e02cc84eceaa7f44deb61539a8acb","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.5.2.tgz","integrity":"sha512-ZIsRfULHld33PJTV7mLU0o94OyzDJ8ut11tVZLE3KpL08tV902qujDLjk3T34fOlolBXLoKw0IGE3UFn6spUtQ==","signatures":[{"sig":"MEUCIARWAul7uuDmjzSBXDgclpX+K+5HjvYo2KE0KVys+7r6AiEA7IBv2WbP2jErTrR/OSWnRZTEuEWAsFjQD8JvTvMl5Ss=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"d545fc61d99e02cc84eceaa7f44deb61539a8acb","gitHead":"eea9761f4fb29811accf496c204954d8967406ef","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.5.2.tgz_1491583208823_0.5306283994577825","host":"packages-18-east.internal.npmjs.com"}},"7.5.3":{"name":"kit-deployer","version":"7.5.3","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.5.3","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"2818ac1b81bb7edfb6de350ecdc2e5ada93ba021","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.5.3.tgz","integrity":"sha512-ioCIAxKsAo9WmznvHqG+pFP6NlSgYJH7VmLiOJjUtctAVJhngybhhwotWdj4cuj81RleVc602W9qmpwbh7+OrA==","signatures":[{"sig":"MEQCIFxMmpA2VMmirzHxzN9/fokaPy+2khY12tGMTRw2j0voAiBJK80caJyRAQvQjRkL4vG6IcEaRGBQt8Fd64Oe/8VsfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"2818ac1b81bb7edfb6de350ecdc2e5ada93ba021","gitHead":"aad48149077bf0bd55503b4cf95e7b03bbbc073f","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.5.3.tgz_1491868955748_0.4854893845040351","host":"packages-12-west.internal.npmjs.com"}},"7.5.4":{"name":"kit-deployer","version":"7.5.4","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.5.4","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"9288e1d1339f02b75f9c6978c48e9842ad79acc7","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.5.4.tgz","integrity":"sha512-wSxg0acFeU/OotYHdyJpVrltWeRXpsiXQq/M0/WviDLDZjKcgeoG5ejwfintm/qeNr9NLCttc0zWeTLxDSRROQ==","signatures":[{"sig":"MEYCIQDV5jhnlZpDni4VA8r/xvi6wiMf+bQMfrWHe86l1T+yFwIhALvXyNcJNo9X6sxwLIUDaotaGUl+5TJoDxdaSMArVZMY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"9288e1d1339f02b75f9c6978c48e9842ad79acc7","gitHead":"44ead6bfacd9b8b7ba40ea62093d731fd7971744","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.5.4.tgz_1492615123020_0.8233758970163763","host":"packages-12-west.internal.npmjs.com"}},"7.6.0":{"name":"kit-deployer","version":"7.6.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.6.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"793a31bd00896ab3c0d5cb8e89e97b4582cbebe3","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.6.0.tgz","integrity":"sha512-/BjRpC9XvHy/4XPaweReZmsr9m4KJ+3DMC0XBkrG8+1zHx0Btcx8aA51rpRGd8J7DHvDxEHbNPRiZoykJ5I4Eg==","signatures":[{"sig":"MEUCIQCFE3/gL3wHjwjaiaP+DXFj5nThWFFCE/qqMl8byridXQIgSEXpzqDgc25uk24KVU/K9p34aoU8Ds6jFA/AmjWPbyU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"793a31bd00896ab3c0d5cb8e89e97b4582cbebe3","gitHead":"693fb5e191f06adc9556e3f7f3f0adf7da244b30","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.6.0.tgz_1492619850041_0.4298924484755844","host":"packages-18-east.internal.npmjs.com"}},"7.7.0":{"name":"kit-deployer","version":"7.7.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.7.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"a80e39800aa9f8327349ea6a320f1a116de3b0e4","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.7.0.tgz","integrity":"sha512-7RCmOI0w0Vi/96voNFjTe8aZblaVKg5Tn131hknY06PTvJyiK6b0KFfQdA2zuttuAnvNDOT/0OF9YKTfNf/gKQ==","signatures":[{"sig":"MEUCIA5aKFTyNYSrdArhce6pdRzYGQYPn6MpXZ4hFoJLQW9JAiEA6EqDDcFJeo/S469Nahl7YMysu7mVXay0AMFzceqcPxU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"a80e39800aa9f8327349ea6a320f1a116de3b0e4","gitHead":"1cff62d127db42e31c2b7a9ea09145afec47ecd5","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.7.0.tgz_1492698337278_0.8610319041181356","host":"packages-18-east.internal.npmjs.com"}},"7.7.1":{"name":"kit-deployer","version":"7.7.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.7.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"eaf17b372ba7c0eef431f80990398bdb0767ac00","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.7.1.tgz","integrity":"sha512-vk4o50eMIzCXFnj9gdkPJ4GAkyBqcg3qLMALcDHlcC1cwAOAgIpc/uVzpLacYXHl4Nau0BalJ7nIuQqxy670JA==","signatures":[{"sig":"MEUCIQCwL4LyIFRQHAqGaKjjaRWlvkCo50VQVXtzklFri+Cx+wIgQ7/VCrAglg0yVQbpZQdduf8bqlg6qW+Sqb+tGzbfySA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"eaf17b372ba7c0eef431f80990398bdb0767ac00","gitHead":"33c6872ec3d058cab61056269e324726fb372b2b","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.7.1.tgz_1492714344979_0.46173729514703155","host":"packages-12-west.internal.npmjs.com"}},"7.8.0":{"name":"kit-deployer","version":"7.8.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.8.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"0e4b1dbe35683af3e8816941ce94f093fcb449ac","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.8.0.tgz","integrity":"sha512-UXfSizxfIFZre7sLWAsjWiqV2Vznvb+AM+eRIGTihlEUm0CgExwqxBz1PEhX8ZMXrI1BICdSHpGuL8QdR7V6SA==","signatures":[{"sig":"MEYCIQDvRGN7hiQFhOfuYkUROHIjovaiCuZFRaxcQaN3Kfo2DQIhAJpF1v65znPTcilfSeuVTOaVi7u97RT7C2UhiwaAuUjg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"0e4b1dbe35683af3e8816941ce94f093fcb449ac","gitHead":"9a030eeb2238d6f7cacf43cb5b0a9f35b5d92aa8","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.8.0.tgz_1492718517660_0.4572364529594779","host":"packages-18-east.internal.npmjs.com"}},"7.8.1":{"name":"kit-deployer","version":"7.8.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.8.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"837879652ad685399dce12594ff207fa9c5337b6","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.8.1.tgz","integrity":"sha512-frQQ38yrNadiP4g1MVkHC0zkFgT0C1tLAutGE9/r6x1+hR2gdml3dScFpj/zWwHcpoayPPX24PUH5FQWrhREzw==","signatures":[{"sig":"MEQCICN5oX6gm5Sg4WK4RTCehpE8+w3hghqh3RFyJDyiw080AiBVQ7nAZc4zG1JEwcih7XxH7I+n/qr02aYA9vXl42c/fg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"837879652ad685399dce12594ff207fa9c5337b6","gitHead":"f5aca9f584de377272a0e71d176277a0b04b42a4","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.8.1.tgz_1492721470490_0.09957877756096423","host":"packages-12-west.internal.npmjs.com"}},"7.9.0":{"name":"kit-deployer","version":"7.9.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.9.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"173446af669bff92273e38b3ccee6f4b7465c13f","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.9.0.tgz","integrity":"sha512-rHKW0UjIFAKaf0maP8Vg0WgyNLev8qoGfuhVFoUu38xWx+/ZeFnFv7P1xQzo5+FJoq7KTxzU0t5GWbiqHJ+pUw==","signatures":[{"sig":"MEYCIQDwFrNhaTy0Wpml7drVbMJAa1BU+e9r4vR7aqKeUEybGwIhAJPQQia3JA425p51shH3jRbQyWRqJBGd3QGlOas2U+fx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"173446af669bff92273e38b3ccee6f4b7465c13f","gitHead":"5f168721a6f0726f96234ba7484ad111c1f49c9f","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.9.0.tgz_1493907154553_0.7123055793344975","host":"packages-18-east.internal.npmjs.com"}},"7.10.0":{"name":"kit-deployer","version":"7.10.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.10.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"db554a70bd8e5b042a1297f3dd92e23ab72fa1b9","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.10.0.tgz","integrity":"sha512-baZRg3rzUEl9LUjd9X3vKgxS0Vz6sxyWBtpK9pAb8mapsavN4OiTz4HPR5eSVMryhzk9D04oL5i/oBtYjr4Wbg==","signatures":[{"sig":"MEUCIEb6MwpJf0TgrikVDz3Af7dtRu5neUrevhBsmWkCXxU3AiEAn84YxVf17sNWTP/NneKFJHxdUF3PLIXx5EOC350YbB0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"db554a70bd8e5b042a1297f3dd92e23ab72fa1b9","gitHead":"b3151c2adec25172d3660f7611dda0c7d7203268","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.10.0.tgz_1493987192857_0.3869052343070507","host":"packages-12-west.internal.npmjs.com"}},"7.10.1":{"name":"kit-deployer","version":"7.10.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.10.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"cdda82e3a56ee5d2868e2d5191aa5d2b90574afe","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.10.1.tgz","integrity":"sha512-6B1ENqUIPwEiNHbYRmCVnkCff0ecybZU+cq2f/hWuWR9Vlqfey0lGMnKOaxoW300LDVLreZH3ZWP0W4u3vIjuw==","signatures":[{"sig":"MEUCIAp30juXlNKzZ9bny5VT7zm21/HSc0HdY6U3nEdSQybPAiEAoSlugwGNl8s1YHD/Ofk9UEsxgoYT6zPYSKPI+9TvdOc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"cdda82e3a56ee5d2868e2d5191aa5d2b90574afe","gitHead":"ff50b1cb909b4c9a2b7b8567c4ea72c2c2a310b2","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.10.1.tgz_1493992768163_0.21702661574818194","host":"packages-12-west.internal.npmjs.com"}},"7.10.2":{"name":"kit-deployer","version":"7.10.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.10.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"85f10b6a0cd59838aa23b97d82287db7e08ad723","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.10.2.tgz","integrity":"sha512-hygqOF3uYIfhGzWLN25DPoNoMYMMQh44AZraF5tORZfQC4CQDmfiCO523TpcLKBlucNBLoXt6pBzOKN3XdCOeQ==","signatures":[{"sig":"MEUCIEGPbVkGcsXlH2GouAjlSOn9tJ6F1WBSJHYIsRASf7jUAiEAx4hEiDVknYW7okFMi7/vFoVve16Ew/5bZLZuCVhjYW8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"85f10b6a0cd59838aa23b97d82287db7e08ad723","gitHead":"b19fae10423cfe25937aac828d638e826cfc9f22","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.10.2.tgz_1493994084129_0.9474023778457195","host":"packages-12-west.internal.npmjs.com"}},"7.10.3":{"name":"kit-deployer","version":"7.10.3","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.10.3","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"596b2b0ebb865ecb4c212e2da7d73058f9d371f2","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.10.3.tgz","integrity":"sha512-0FXI7Mwm8N/HumsPQZpYGIXCahbHCdBIMFlhsvrUE1FK3z0B97Kr2++iJcyRTJIzT1WJNfaMntcJpU19dbnMrg==","signatures":[{"sig":"MEQCIHEm559B8GYAncXcxV17PT4QafyxuZvaruzZvxmyuSXzAiAoalW8/oOnb9AYagociIoDUvmnQggBdKKy/niobYAEyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"596b2b0ebb865ecb4c212e2da7d73058f9d371f2","gitHead":"2b1d68a7f20e30625930b14ec58fc397a7b6e762","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.10.3.tgz_1494272554665_0.4250061067286879","host":"packages-18-east.internal.npmjs.com"}},"7.10.4":{"name":"kit-deployer","version":"7.10.4","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.10.4","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"cfe5c2f1695a9b205899dbe81a3e42cec6ff7c5f","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.10.4.tgz","integrity":"sha512-FOUOlg7iEptHvjUcyN4aruEe+wSotxkqT1+NDu6Je36PxBQ9iS70v7LetTJX6JOrRylco29o+TTaQr4q0rBFQw==","signatures":[{"sig":"MEUCIQDl080q3eKcsngZjzFxh4ALMqj6yKzmb2nYF+0543ATowIgeSl00N+RpBqwytOYE/Rw5rqUD5x3i5eTkjzmB3ueaeY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"cfe5c2f1695a9b205899dbe81a3e42cec6ff7c5f","gitHead":"2e084abce4251fe56a52befdc08e8d12f4f85c63","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.10.4.tgz_1494280185745_0.3849255880340934","host":"packages-12-west.internal.npmjs.com"}},"7.10.5":{"name":"kit-deployer","version":"7.10.5","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.10.5","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"da960d81bfdb01ab6ef4048dc78ecbc3a1297b40","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.10.5.tgz","integrity":"sha512-lci1+vMQnA66EbdVFWR/rdPIW1eRBkpaJWoWq7lTX8fTO8UooNhtOZHnlj54MspBXIBuJJd2h7u2xrZXRIZ5rA==","signatures":[{"sig":"MEUCIQDxu/5qIU5k61K8HQ7GoLIogExmsZ36qVPc1vy7Xn3ZAAIgWRUDum/kXE9z1ZoF2JLWl60Km36QyJQVW/60xNWk2Zo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"da960d81bfdb01ab6ef4048dc78ecbc3a1297b40","gitHead":"3fc36366912a0a58a89e33244e6f57f63e3e1d44","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.10.5.tgz_1494282847112_0.4265575457829982","host":"packages-18-east.internal.npmjs.com"}},"7.10.6":{"name":"kit-deployer","version":"7.10.6","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.10.6","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"59eee93ad577e4ff4e1d3b37abe21fe3bf07f0d1","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.10.6.tgz","integrity":"sha512-qMVZ+If/3g7BnrlnrAHJ14Ao5/PQf2slEfZHpRQluucYt/Ehwkp4sT7yk5nPu2MyL/XQ4QfPNruJuHsEX53Azg==","signatures":[{"sig":"MEUCIQC9MsiGto6XToFl3KMYAJReXfhvjo/uyntX9KA4I8X14AIgKiWB9XhRF2CMxtFgXi9sQ6AYDL02Z+HorIjAaYgx+78=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"59eee93ad577e4ff4e1d3b37abe21fe3bf07f0d1","gitHead":"ea314a820186d4e2bec7264bfb13a94a1984994f","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.10.6.tgz_1494346107420_0.7821366067510098","host":"packages-12-west.internal.npmjs.com"}},"7.10.7":{"name":"kit-deployer","version":"7.10.7","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.10.7","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"72cc0a762de609332c5e59c0953949963732650d","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.10.7.tgz","integrity":"sha512-Qwqp1/C5zLxfMBU6NrBCPBjv6fKGTskiNvu/N3gRv/Htr5wtJ6zwFydnYzYna5PqBTq5CgDUEITQVOGukWVvLQ==","signatures":[{"sig":"MEUCICRkGP7vYbSSlMh//3Jg0DlZt00654eUqIZQHqTnCHnMAiEAhhAtCRFhe31rAy6HJHYp72vbB7B1pYCPhQVShyaNTTw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"72cc0a762de609332c5e59c0953949963732650d","gitHead":"e05a1d976d3e5b5b42a4068b0f34be756cbd5f2a","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.10.7.tgz_1494349392085_0.8669955804944038","host":"packages-18-east.internal.npmjs.com"}},"7.11.0":{"name":"kit-deployer","version":"7.11.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.11.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"ce40f2728ee83a2453fdeaffe4b821f353f5ef49","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.11.0.tgz","integrity":"sha512-rB5gKQf3m9wIrBs1nxaZPv6G/U61u8He1+nkr7oOK3kmhd1XfNKpU1oSqfZ4SZlnKZO0dfYP/ct4Gm/o7SmkOQ==","signatures":[{"sig":"MEYCIQCPzlYb+KDCg2vNN9gCsg01MhbK2Dffkr+K2wctDowMcwIhALvTmrMxlNMwZJRGLSDspfz3Y+h8Ei9E0nTqgcMWktPK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"ce40f2728ee83a2453fdeaffe4b821f353f5ef49","gitHead":"b7b66e7081c8d78701d753269012305a89cbdf10","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.11.0.tgz_1495214735304_0.19703778577968478","host":"s3://npm-registry-packages"}},"7.11.1":{"name":"kit-deployer","version":"7.11.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.11.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"6fec76b3788fd5a0e73b0549cdc4a89c56f85dc5","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.11.1.tgz","integrity":"sha512-eHQPQRDl3D8XTKClo/S1BnHIRdmRbNxRzegj8GCnA90M5bwGhRSgIq1lxP5TnmSFSeElU8wpcnPU5cK4LaLG5A==","signatures":[{"sig":"MEUCIQCGeBtR8YFPpWCyEjWZktQMEe0NTzInoaAlYXE1+SZ03gIgU61beSHI36ryrsvkgO2lrM4J/ni0QS6HFltNrdyhK7Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"6fec76b3788fd5a0e73b0549cdc4a89c56f85dc5","gitHead":"3155d7934685e1751fd9a12f62e6370d363a09fd","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.11.1.tgz_1497269486142_0.9441387457773089","host":"s3://npm-registry-packages"}},"7.12.0":{"name":"kit-deployer","version":"7.12.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.12.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"c62601666e3b92785d919c2a51d7ec11765b5cfb","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.12.0.tgz","integrity":"sha512-OpDRs4QuMAI0P2nf77Oz9NampT2psz3srvZyjhEf9Sio83Y8+fY/YiyEbhpS9Se1mG+4EiVlspnqol8x7sc14w==","signatures":[{"sig":"MEUCIG+RJ6cOZwo/OQcABG59wFznrlWWq8mSQcmFvLJsWdayAiEAhBhXHszAMgktJVBMs0Z8yoKRZMSQRrBS0sppM3TwGq4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"c62601666e3b92785d919c2a51d7ec11765b5cfb","gitHead":"adad8c0cd1c56ea2db69b5972f962b23f7ff7e86","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.12.0.tgz_1497292150128_0.6768646619748324","host":"s3://npm-registry-packages"}},"7.12.1":{"name":"kit-deployer","version":"7.12.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.12.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"62a038e22bd721aa292d742ff5057cb09a1e2bb9","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.12.1.tgz","integrity":"sha512-gsWXNVxFMkVnVOuPOLnIM9hC2917/2pI8b8/hDqTBWSGeSy5lOmDvhIBBcPYnOBl+imZr0PG1fAL3fihUfWqvQ==","signatures":[{"sig":"MEUCIG3Lq+jXHh8y78XOSmHsJQ5lMLn9rHEXGmRbQQmX0T9fAiEA1KAHyzJ9n8iHtHTcgK2Hyua1Kc16aKmFtYIEdMj3b58=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"62a038e22bd721aa292d742ff5057cb09a1e2bb9","gitHead":"df0ffbc50c452763bdfc72bf706483b5533d5c72","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.12.1.tgz_1497354417182_0.010124054737389088","host":"s3://npm-registry-packages"}},"7.13.0":{"name":"kit-deployer","version":"7.13.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.13.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"6858573ea7933e999b5642dd5b518905d7e9112b","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.13.0.tgz","integrity":"sha512-2a1fSZPe3lMuKGEqVg0iPijBEOg/EHZ5nh4TYBrTU33Zph2XWH47VV7IMz9WA0rsGlrhSjxyNK8nFA34OPQtcQ==","signatures":[{"sig":"MEQCIAf4wHEuf/cfXMoHR86sAXfyLLHCC4cJtlkwpGiAwCU4AiB8HxiS7WJGIOIPTokGKcITQm1qqagNPAF0RDtRfJcfQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"6858573ea7933e999b5642dd5b518905d7e9112b","gitHead":"c4aecd8e2ceb68e7e067db63b33f4c180fb02e92","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.13.0.tgz_1497458552950_0.15752618364058435","host":"s3://npm-registry-packages"}},"7.13.1":{"name":"kit-deployer","version":"7.13.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.13.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"1d8c158b382200fad3dc9ef2c3556858efcfbdaf","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.13.1.tgz","integrity":"sha512-ir1YcVXi3UGjdxb+vh2WabQMzNGpuvnN6r8zk9jcGvo45P8g6/qXnARyPPftCUnTFHipJ7Kx8zmM+0x3UzEJ/Q==","signatures":[{"sig":"MEUCIFj0AlMMDhHuYvrYwfxux3PmsgW4mZNG2bXeLuIET4MeAiEAjxFk/S70r4BtdGpQSO4DZYdSaEpthTZb/63iH/LiLdM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"1d8c158b382200fad3dc9ef2c3556858efcfbdaf","gitHead":"554780646369ca3671e6072a32eab52fb7540efb","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.13.1.tgz_1497463895263_0.6773072611540556","host":"s3://npm-registry-packages"}},"7.13.2":{"name":"kit-deployer","version":"7.13.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.13.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"0aa01f4de67eabb96b0df8c5ab759eaf8f40e192","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.13.2.tgz","integrity":"sha512-4qHFrnsk7wgJbxbEIF4tFlQdzpERJ8UhZ/VScSWFi+g66okkO7di0ZQkrmfuFnV+Wk7VU9c7Y5RyVMly1Hu4ag==","signatures":[{"sig":"MEYCIQCAdJc1/iEgYJUPad6ThV2QMkAxi+kLnQoSxShn7oYFSAIhAOQoLLV31uBrRboNzidBmnCOeThEhtG4arYldh5C4aLo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"0aa01f4de67eabb96b0df8c5ab759eaf8f40e192","gitHead":"3ce7cd622436a38c5d0601011a2d7ce3b465ed2c","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.13.2.tgz_1497530209413_0.8546179255936295","host":"s3://npm-registry-packages"}},"7.14.0":{"name":"kit-deployer","version":"7.14.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.14.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"60541114b030abf0e314a901b1e15197b55f04f0","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.14.0.tgz","integrity":"sha512-T439C+tv0rto4I7pKpImqHn0WZk/iewbHlsRurSzbLulSmlhF8GHLR7m6AhEYwdnmvtQdMOjGM2eFTZrI6g3qA==","signatures":[{"sig":"MEUCIA7WPiYRXI6ng6rdDj1qMtW41we5t73/85ogFemfwn+pAiEAi2y+mrZnEcWlsKjyENib38sgeuR4zG6bdrO/HKVEbuI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"60541114b030abf0e314a901b1e15197b55f04f0","gitHead":"23c1bd437e7daa4264a4a8dda91ec1844e1fadc1","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.14.0.tgz_1498746175763_0.7213099184446037","host":"s3://npm-registry-packages"}},"7.14.1":{"name":"kit-deployer","version":"7.14.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.14.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"0e489ba9c5548b828f8ddac4baf6b7b04d20180e","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.14.1.tgz","integrity":"sha512-tl3BkT5wfHSbakhsnaij0NQJE7dB72/n+Izzp4o4zGs8euxqfVdnnH+7RGkf/rQ3eBqwzONQekFf36YyrMVA4Q==","signatures":[{"sig":"MEUCIQCtoDYVF+WmBlUXfixfoV+6qS8w+JJ9UfMF/Zr1+q09LQIgPJoH7jOnDo4htaMKOWjbeAM8gQGxfXcFa4oasR7K/YI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"0e489ba9c5548b828f8ddac4baf6b7b04d20180e","gitHead":"785ce9eb9d402e1dde0915b383dc370e474b9835","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.14.1.tgz_1499778816344_0.6794012796599418","host":"s3://npm-registry-packages"}},"7.15.0":{"name":"kit-deployer","version":"7.15.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.15.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"80e84ce58120463fc8224f7ed3eca53f3e2cb036","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.15.0.tgz","integrity":"sha512-XwIy7Hw+tnMxnE7M8sd4bl+vDVQIhsnS+GV8i3ubSWpOxQnYiX6xTPN8sKmV94wXF/VThGyS/5lxmCzw6DicKg==","signatures":[{"sig":"MEQCIDCJTEVs/fxuaOt1mOyFsVrtTli7PoJXKY1gRkxkGEL3AiA0u4PJSsOxliQdNhWaskojwn8E+dhUCt1ggSlyiHi9Jw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"80e84ce58120463fc8224f7ed3eca53f3e2cb036","gitHead":"ed46e32fdf74cc7bf460e9bd38a45a165deaa0f2","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.15.0.tgz_1500310154320_0.08012652164325118","host":"s3://npm-registry-packages"}},"7.15.1":{"name":"kit-deployer","version":"7.15.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.15.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"2b832601672c964a75f1f425d4fa6d031ae823c3","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.15.1.tgz","integrity":"sha512-Ap9Z/y3adwXsU14rmh2xnfm8xruvbdIPT9GYI7OvVx10S0oJrmB4XcQWhttpdTUXhkWRfQKTbpQoYfurWEl0Kw==","signatures":[{"sig":"MEUCIQDj8diyhKP18hnyY1v6pJB6FIagQ9iUxYLTAZ9cCmIzxwIgOzX5EwmWMSmQFpmhz+gLjcS4/23BNBAeMjaBoBwJsEM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"2b832601672c964a75f1f425d4fa6d031ae823c3","gitHead":"b6b94d8d1682ff46b167e4c7502bebcf02c11eb3","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.15.1.tgz_1501601064970_0.23480054270476103","host":"s3://npm-registry-packages"}},"7.15.2":{"name":"kit-deployer","version":"7.15.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@7.15.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"7364a20d0812b0d26cfd92bee404e4adb77c463b","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-7.15.2.tgz","integrity":"sha512-y8y5EmIAsLslum0GDRQ0lcix9TSp4diC3z1eX9KCVFAj+QvykdViCtK/IzT2XeCS7kDCcTif8KsxLqv3bq0jcQ==","signatures":[{"sig":"MEUCIDkTH8D3vUDcnzlr3m/FWzrWqPtCMQieO1oVlJXI1K4sAiEAnkY5U0D5PBOACnYVc1LUo9f69tmddyUew0Ah2U11lJc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"7364a20d0812b0d26cfd92bee404e4adb77c463b","gitHead":"a44a34006545d3d2670131615a66960c8901fa6b","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-7.15.2.tgz_1501678861350_0.9238543643150479","host":"s3://npm-registry-packages"}},"8.0.0":{"name":"kit-deployer","version":"8.0.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.0.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"74cb367b1562389bd6e2c006e07ffff14ab01e97","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.0.0.tgz","integrity":"sha512-mCdmwxM8KnhI+VP+baClINBc0kz+1GhqFFp6UGYs0JkjjfLMlRISeFnJDFqrazbEWWtR1/RAq2/vFLRLPfc14Q==","signatures":[{"sig":"MEUCIQDHM1/uF+reohELCDscLvXisIrF8WWOon5bkAzaBewjswIgQdcBxl7DxD409MjUQHbymTir47FyUOFcMQk3pa7/JyY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"74cb367b1562389bd6e2c006e07ffff14ab01e97","gitHead":"6fd5804ceb09fdea7fbbfb2ffb470a20ee30767a","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.0.0.tgz_1501791172296_0.928256171522662","host":"s3://npm-registry-packages"}},"8.0.1":{"name":"kit-deployer","version":"8.0.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.0.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"78a7dcc08a8a3b007058339d718de79dcf514b8b","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.0.1.tgz","integrity":"sha512-OS3OgJ1CyNMGHly73gnkrV8kT97KnewI5UIyvMaMSSYQccDApbRmnnOvzWFKOCLOgJcYfYtyJD0O8alJuRAygw==","signatures":[{"sig":"MEUCIQDTypDeWAagttDR9HPYzQOKygxCrz26873FY3diQBLLqgIgD/pYNyBuPaBFjYgatIFLhUM0zWO0xsSYeQIMCcO03A8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"78a7dcc08a8a3b007058339d718de79dcf514b8b","gitHead":"648f4c4929b8d1fbca32328c7ccf7cdf57a2e43c","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.0.1.tgz_1501802343086_0.8619174764025956","host":"s3://npm-registry-packages"}},"8.1.0":{"name":"kit-deployer","version":"8.1.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.1.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"c55aeae2fe96ab48243a8ec20590883a60683484","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.1.0.tgz","integrity":"sha512-4sFDBbf/nLmSzsyKNkBOSTQ56fytHK+rm+lrKAmGHb+si76lW9+IjetAu6L/oKzrxlKR/JECXwKMDvWitg6oOg==","signatures":[{"sig":"MEUCIHuscenP50Baw9VlZ/BaYyiV/X641ycLVhimWVDxG8y0AiEAkGF6sCqrjrLEtWruqKizm6WK/YQvNOmi98lSjiLU5xY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"c55aeae2fe96ab48243a8ec20590883a60683484","gitHead":"ae8dc18cd73a5a60fe1d4528638daba147ca7487","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.1.0.tgz_1502119540949_0.2908428960945457","host":"s3://npm-registry-packages"}},"8.2.0":{"name":"kit-deployer","version":"8.2.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.2.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"6899ee5ad5671a1431ab95107c5db7bd2c270ad8","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.2.0.tgz","integrity":"sha512-NYh+1pU5Lvn6LN85IzB5mXC2c3J7l+V6mj9knG5S/TlJj7Ze2qRmuCJ1ix+ttS9eTa8KXG6+HDvjDjOCZvno7g==","signatures":[{"sig":"MEYCIQCN0lN9Wui0s1sN0Okf8RXs/Y165hL9ijm5oV/bRFXEjgIhAOA530Luoj4/xPwuMM7cziwr7V93E2RbbdZmQpzgpZQO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"6899ee5ad5671a1431ab95107c5db7bd2c270ad8","gitHead":"ddaa54c0b458254e454622f8d7f4822bf6a8fe58","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.2.0.tgz_1503354820868_0.7102513210847974","host":"s3://npm-registry-packages"}},"8.3.0":{"name":"kit-deployer","version":"8.3.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.3.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"6a2769d33d1424cc67de952426a4533ea0a54045","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.3.0.tgz","integrity":"sha512-byqNnrDLC32Khls5YKPwBgJPmd19DrPyi2yRZUdJeIZONDN+7iid0Iz7kNiRSd2hvMY1tOwyDFMO6ztc0Ob6pA==","signatures":[{"sig":"MEQCIFayQCiu/PFB+1JoRlCNbJmObXaE7nFTbsDXW5+3oJj0AiAM2N8sc+vIi3s91qkpquLrnT7SLtDFYNghWFR1QfAfTw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"6a2769d33d1424cc67de952426a4533ea0a54045","gitHead":"f4fbdaab6e90e4060abee3267898af74ca02cec2","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.3.0.tgz_1503495251951_0.6279127718880773","host":"s3://npm-registry-packages"}},"8.3.1":{"name":"kit-deployer","version":"8.3.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.3.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"2b5f2d6b5b8cff6bcdffd6b278580d68ee81451c","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.3.1.tgz","integrity":"sha512-H+pI4kvU9Wy3Lvwk4UFFGaNmrfz1bKihTbAiMMxm+BivEXgcCRGeTg4i3Au7XaSZ7AU7OXBANWvPNOl4eyYvcQ==","signatures":[{"sig":"MEUCIE+9yvZOF9doOO9paHUSk+AN4ZvoWDMBUVGewVLYTFrVAiEAowUfgQMPRNmX2fZWZ6mdVFxFGw0NlGjjHqjT7reLLkc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"2b5f2d6b5b8cff6bcdffd6b278580d68ee81451c","gitHead":"7dfd248e6bdd7e78fcd863ac1688ab4b76e4d83c","scripts":{"lint":"eslint src test scripts","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","sinon-chai":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.3.1.tgz_1503588742561_0.5552926515229046","host":"s3://npm-registry-packages"}},"8.3.2":{"name":"kit-deployer","version":"8.3.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.3.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"1797dcdeb2a30a58a9cdb5f94fa01b17ec79c70d","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.3.2.tgz","integrity":"sha512-8wdk7QA5IHg+Xy13wxRD9jipF6g/6NwA20E/U0gzc6PpuvQ5pjCuSoCxPbD81Zf0gDVkxc059ll6XYUgeeVlwQ==","signatures":[{"sig":"MEUCIQCJPH6NROPc/OnhpVP9AzP4p9hxiBw3zqDiZmMPBkHPHAIgaa0XtCtoBb1q21dn4Cbwfkxlcw9wEDm/6B8hWV2ARXI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"1797dcdeb2a30a58a9cdb5f94fa01b17ec79c70d","gitHead":"fa772a4e1ea47ca3036e73c1761731df3f082bf4","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.4.1","prettier":"1.5.3","sinon-chai":"2.8.0","eslint-config-prettier":"2.3.0","eslint-plugin-prettier":"2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.3.2.tgz_1503674933813_0.11069514765404165","host":"s3://npm-registry-packages"}},"8.3.3":{"name":"kit-deployer","version":"8.3.3","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.3.3","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"ce955837ee3fc85b475683d1bd6590e7df89c6bf","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.3.3.tgz","integrity":"sha512-sQykax09XZycGVdi6mDoso7zYf1HGbbGZhXgAXMXnQU4gLjGpigX4UM6/eVHo9RY/XwPPZV//cQiwbOsAGNuPw==","signatures":[{"sig":"MEUCIE/zVj9unRio33Xsai5rKMOKrleVr5NLoyg897R8kSTyAiEAldJF33QKbShT/9a600dXTniiXTM0G4rK/9Oorqag+LU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"ce955837ee3fc85b475683d1bd6590e7df89c6bf","gitHead":"6e403cd8c9ce6bb7c7e526495c242e00510bb012","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.11.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.4.1","prettier":"1.5.3","sinon-chai":"2.8.0","eslint-config-prettier":"2.3.0","eslint-plugin-prettier":"2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.3.3.tgz_1504616236729_0.2330614379607141","host":"s3://npm-registry-packages"}},"8.4.0":{"name":"kit-deployer","version":"8.4.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.4.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"7059cb132b6ef8bbb1dcc353703575502912f6ad","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.4.0.tgz","integrity":"sha512-D4agd627GJzQfpgCnmY5Anv8ZE/cUi1GpJjA9qHvgsm+A41GedzXRKuflscMI0o6vVKhyn/q52FgzMH6rAYmIg==","signatures":[{"sig":"MEUCIESTgsJoqOEpH71gwlwGlYL+zfMBeS5W+jPZvFhUNp+WAiEAnZR4S6cfPY+JjUWb13PFTXLHXXD9SPAM/HpJBvW+IdU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"7059cb132b6ef8bbb1dcc353703575502912f6ad","gitHead":"1a685d32b21a5b46f9f06b07bb05810da39beca8","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.4.1","prettier":"1.5.3","sinon-chai":"2.8.0","eslint-config-prettier":"2.3.0","eslint-plugin-prettier":"2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.4.0.tgz_1504706278650_0.853613598505035","host":"s3://npm-registry-packages"}},"8.4.1":{"name":"kit-deployer","version":"8.4.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.4.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"ae4439446961044b9697e7afb0b425c89ebab7bf","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.4.1.tgz","integrity":"sha512-B9O8NUQe9YAfTpWpUlNG7CyYugQ2d1pf/5C2zx7HC0YM9Jlt8IzlIG5GOi+ksQbTnIVfBKyHb0p2m+mOKiR9ow==","signatures":[{"sig":"MEUCIQCkHJ4SsX2vQVDI0YgwmabP3bu0v5tpCe5sxohOuL6trgIgIJ2G0u9d1/sy+2kPaOLuRSjmQNUc0//5ltgt5ZvBpVE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"ae4439446961044b9697e7afb0b425c89ebab7bf","gitHead":"34a6aa96906091000d4910515e6b5a7babae7bd9","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.4.1","prettier":"1.5.3","sinon-chai":"2.8.0","eslint-config-prettier":"2.3.0","eslint-plugin-prettier":"2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.4.1.tgz_1504809307893_0.46324495994485915","host":"s3://npm-registry-packages"}},"8.5.0":{"name":"kit-deployer","version":"8.5.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.5.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"2404102def8bf8ea3833f544f2563b80f6ac7e2b","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.5.0.tgz","integrity":"sha512-k4NPuVHrAztgFfawTufyaLRUSgsgnZd1s9OZuG5eFfxBeBz3GlhgT+EpIl3LETANm8Oz5KRSwWf2Bk4+8RbQWw==","signatures":[{"sig":"MEUCIEi46a6ZoruMIHdpMcdKXF44e5yE9diWXD11Bda27akVAiEA3YbZWTOx6pDrQds3PJGpRgriqHOLpkywr/loV0Zz93Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"2404102def8bf8ea3833f544f2563b80f6ac7e2b","gitHead":"159b1530fbdd1bce2b35026e9dc8c5ad11ae825d","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.5.0.tgz_1507641634272_0.22718338365666568","host":"s3://npm-registry-packages"}},"8.6.0":{"name":"kit-deployer","version":"8.6.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.6.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"5debecc57486f8effcdffdf88ed13406258c78db","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.6.0.tgz","integrity":"sha512-aP48S7QVA4pBxnkcMobcwXpkdpmhyn0VKePB+h8Zdqmt9zX3NWL5xysJtsEkMJ1J0FKsnH1G+HKnjYHHTY0yVw==","signatures":[{"sig":"MEQCIFpYS/S1fNPu2XfYhyZDW+rLaaYKYRqu365j7/tRczIYAiBVk0/GxyVgkWs3gRxL+wphbfk0AjlXVvW/Wz5Z6cHDqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"5debecc57486f8effcdffdf88ed13406258c78db","gitHead":"a2d3f0a6b4b4c31ff7b8a41c9009b135921149d9","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.6.0.tgz_1507727612729_0.6699049428571016","host":"s3://npm-registry-packages"}},"8.6.1":{"name":"kit-deployer","version":"8.6.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.6.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"9d7f8bfaf3d633da04e77d72352b6479690177f5","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.6.1.tgz","integrity":"sha512-kT9zbZlV5jk5bFPoinB0csRB2pCLay6vabzhDFksz6O6kLKTyG9evFTbPNyZgNvX0P4qB1g7666x+3RYzY/bsg==","signatures":[{"sig":"MEUCIQD4yCnIOb+TWnOxQXVEwy1bleGUirN99d0egZdTgTz4TgIgRvFmdbbphDg0G7PqQ1BdE6CrqMHv61hpXSDZy48ThKs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"9d7f8bfaf3d633da04e77d72352b6479690177f5","gitHead":"4ebae26795d18798924f8dc1171f33af40c25150","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.6.1.tgz_1507741341693_0.991270657395944","host":"s3://npm-registry-packages"}},"8.6.2":{"name":"kit-deployer","version":"8.6.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.6.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"4b68a3f2d91bf01194d9ac63f2411f30f2596378","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.6.2.tgz","integrity":"sha512-2IE4XN9KW/EXwsmNvT6bvXXmLYj3y2yGuJ6xXCd7AYCZNso8oXMn7w26zBwgS7fvQ4Vmdf6WVcppY4lqA0q1Gw==","signatures":[{"sig":"MEYCIQC5gACInbTi0BujR2rS7GouEtEpYriDfn9BLiPfvjsQGQIhAJGQeSp6y4yY5pbeRWuM/NMIlU6U4gyLtKMuRsU4iRtw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"4b68a3f2d91bf01194d9ac63f2411f30f2596378","gitHead":"d21b5951d0aaec16910c422849ca4ab2d67b86cf","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.6.2.tgz_1508330775306_0.9075635846238583","host":"s3://npm-registry-packages"}},"8.7.0":{"name":"kit-deployer","version":"8.7.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.7.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"fb4c37f08711eb35e91e2fb524aee3def4d9db35","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.7.0.tgz","integrity":"sha512-W+sPbSi27ZDNqee5OLHDXEjli17Svr4UJhR8E+TS0tO9ETAUmcq2Rar9RN5xzvF+q8J8uyeVc/dAcve4twK/kw==","signatures":[{"sig":"MEQCIF6XctPlrYw14qORLygl1VS5WjWB3VRp11U3EQ9E3aMQAiA8OkG1sWsa42/1HcYJU8cVvvoJoMd2mNQIeuIWI12bEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"fb4c37f08711eb35e91e2fb524aee3def4d9db35","gitHead":"8ebb959f3b32503a458067dfa7cddf475cf68497","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.7.0.tgz_1508332818535_0.7461434379220009","host":"s3://npm-registry-packages"}},"8.8.0":{"name":"kit-deployer","version":"8.8.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.8.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"b6f544b1542d4ccbb647bc0dc57e2bd9ba5c6549","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.8.0.tgz","integrity":"sha512-U7IQND2LjIbjAUakTxuDR05MPI5E79cxqBeuar8wjeKSVNugCV78L55GrhEPBzy10I8vf+5mxE3rE1J2OF4uUQ==","signatures":[{"sig":"MEYCIQDUdxQ5ZmXT0O2jblWorj7dum0zqOxpPEjwHgWZcqBB2wIhAMwUbqaAsvJJ+iW5KLiNukJTPP7JM6KV3maM69EYXGxM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"b6f544b1542d4ccbb647bc0dc57e2bd9ba5c6549","gitHead":"939355b324f00fc319b0805a27418b13085ae383","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","rimraf":"2.5.3","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.8.0.tgz_1508334052810_0.3587036784738302","host":"s3://npm-registry-packages"}},"8.8.1":{"name":"kit-deployer","version":"8.8.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.8.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"5842b6ffe42d0fe2d75845b16c940ad5f2b3070d","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.8.1.tgz","integrity":"sha512-6z8f2E/1BZAqpHnv2qoPIUekVX9uEVFVs8/dl1TsfRHNEbTGZk9DXLNgix3MZQi0XdUb64W4h2kaU8XdnyULJQ==","signatures":[{"sig":"MEUCIQCooC+jcjSrebsQ3P5JerrgLRk9htbbrXaPTiKFa8gPhwIgRRiUUaNwXZHOov0P0/h5k0UkEKMEQxKQzrPVw0M4U64=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"5842b6ffe42d0fe2d75845b16c940ad5f2b3070d","gitHead":"0b0d55f851512c58f1adcac020caf8640ffb52e3","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.8.1.tgz_1508769354166_0.7962575014680624","host":"s3://npm-registry-packages"}},"8.8.2":{"name":"kit-deployer","version":"8.8.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.8.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"d5e98abc53d1e49d2ec8d73784dc6a6f3c19bcbc","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.8.2.tgz","integrity":"sha512-7FqXIEinNQSVc3Se2KxHQxeNNSeP3ypt88cJeA6LjEJWIxcKvq8/aN/IlbyKZbDfMvOo0HstSXj70adKWq9MJA==","signatures":[{"sig":"MEQCIDe0BNfs1pNnW6VT+/JqfSIVbCDoXxSuB0SSESLnv8jBAiBk759rsAJ7IRHAcJRLzovjzX4dF54d3uLXMqaBggeAcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"d5e98abc53d1e49d2ec8d73784dc6a6f3c19bcbc","gitHead":"c79c4b7588fb423a4e560b4feb15ca852fc84db9","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.8.2.tgz_1509110322528_0.09335865220054984","host":"s3://npm-registry-packages"}},"8.8.3":{"name":"kit-deployer","version":"8.8.3","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.8.3","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"1a7d3172e5464f43a11c7424ffe81bf1f2f0007f","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.8.3.tgz","integrity":"sha512-RZY5k0k8y77PjvOqYqHxQoHMTUR+7Ng9yusAvIYJnQnSoBC0TJzpXkZshncytk7x9ZGo3wnzxNOc2Jrxjpjx/g==","signatures":[{"sig":"MEUCIQDFoTzOqhkZ5e87l55/76EhOMPZY2QHzdTdnMMkOTmfHwIgetobMLLUCaZmYKbli7QRv74iG9rLUx/4zuW6mxbDWHg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"1a7d3172e5464f43a11c7424ffe81bf1f2f0007f","gitHead":"376f32675c6b6a3052693127c1fb9419e5dd47d8","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.8.3.tgz_1509549687451_0.31815061951056123","host":"s3://npm-registry-packages"}},"8.8.4":{"name":"kit-deployer","version":"8.8.4","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.8.4","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"ae5c5e7df92da0515fbf0d800d7ca87e246b8a7d","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.8.4.tgz","integrity":"sha512-NaffRNpAZrrDPb4ETPueDYhPTAbegvGsYIuXfZDN33gLt9auAlioLuwLojZ/Ot/3RBk8cEJl+JmuvwkcFsGnVw==","signatures":[{"sig":"MEUCIQCZ52pOthIm2jtTM18Cz1SDBjdPfJ51ByiD3ofaumezZQIgPWrMahPXWDROPim4SnGMVvu5VwAZ+nJ/yE/F/TFJQpQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"ae5c5e7df92da0515fbf0d800d7ca87e246b8a7d","gitHead":"ab478775e7c3697b15bd90e53c2938aa12035aec","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.15.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.8.4.tgz_1509984422570_0.036209207493811846","host":"s3://npm-registry-packages"}},"8.8.5":{"name":"kit-deployer","version":"8.8.5","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.8.5","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"877ed8667d864d153892fffdcaf839712e63fb6a","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.8.5.tgz","integrity":"sha512-nglj+rLvHLlnTryR2c1hzzoH4n1CxPKoZmR7/AMmTgYSEg1sKm2BcxWCwxAoyBahnokVzwXrGhL9QjyiG39PEQ==","signatures":[{"sig":"MEQCIAIBR+HJBk2UxIAMDF6878BiFBLGl37pVorl8mIXBiRUAiASrg+BZB8I8mOJPWp+ecNjxsZ19PjDlkZvpZFw4OMPzQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"877ed8667d864d153892fffdcaf839712e63fb6a","gitHead":"1e9c50d288f7099f2074c1ec40464bf8118859a3","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.8.5.tgz_1510148507087_0.7653389410115778","host":"s3://npm-registry-packages"}},"8.9.0":{"name":"kit-deployer","version":"8.9.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.9.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"6f65dfda37c83efb28302d9c7de6530a31e8457c","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.9.0.tgz","integrity":"sha512-qXD5dvHU6T0q7ogyitKGDmBIQr8hCt+/fwgPEi0cf2uiLvfOb4TLQAV7gxPBs1ndgtOdmKwM9/8KF2HrEJTBbw==","signatures":[{"sig":"MEUCIFdqQ2uta2ap61TVollI8Cy2KoiI7eya2n+j3V74YhlAAiEAtDorNyP0S9Mx8j87HhffIOzrGlpQlOVxlAvRuWj17mU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"6f65dfda37c83efb28302d9c7de6530a31e8457c","gitHead":"c2c0da77ba3b572962ba2afe4bd7f0d34b3bf9c9","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.8.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.6.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.9.0.tgz_1510170075507_0.636076572816819","host":"s3://npm-registry-packages"}},"8.10.0":{"name":"kit-deployer","version":"8.10.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.10.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"08fdd692bd0d3038f16796ff18f9c478a42ff036","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.10.0.tgz","integrity":"sha512-AwHL8acOf6bhnxcM3m45Bb+Oylf9MeCvKn+fHIHTCh3PzOeF9MMjIjXBo8iMYDMx0frrC6+uuFZtFjx+rzS4Tw==","signatures":[{"sig":"MEYCIQCRMc8Uugmtrz6FQANEEuEmzCNc7Dxqf/rXp1NF8RKPcgIhAONo5trXNQl9ixZAIxUG3LGf1ZEOCbtEOnGjGBuBAZGN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"08fdd692bd0d3038f16796ff18f9c478a42ff036","gitHead":"284b9cf6f61ee5d1d14bc17e19a400939a0530fb","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.10.0.tgz_1512496958727_0.1572354428935796","host":"s3://npm-registry-packages"}},"8.10.1":{"name":"kit-deployer","version":"8.10.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@8.10.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"ec3bea101747b006cc4466af68fbd0abd306e6ee","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-8.10.1.tgz","integrity":"sha512-2kZv6GcKuTx7jHMjOc9fiJDXMsnp0lpURJZveaR2RsAOlAQaIndpiU5PP31qvaE0nbTAeGEGrf8dBCtNjfp4aQ==","signatures":[{"sig":"MEQCIBJV2VDvNw710olAUZxIrNMGLY7tOzHafHYwtIb92flEAiANDt/WPQC3IVN+2500McbKkuLg00vh63IjnrtctkfBLg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"ec3bea101747b006cc4466af68fbd0abd306e6ee","gitHead":"7a5cb4ff801ae9d595944e42e53bdb64a023103e","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-8.10.1.tgz_1513000524787_0.8121027292218059","host":"s3://npm-registry-packages"}},"9.0.0":{"name":"kit-deployer","version":"9.0.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.0.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"b41bb879c754b0efafa6f94b6ad312fddbb7bb0b","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.0.0.tgz","integrity":"sha512-15oCkJ/o1xiM2NvvUie/iOcImDWnNVci6bxOiZU7rdYNprISAr5E6bkoUoQhPDRi0PHcubbj5g2LIgpdP2k+6w==","signatures":[{"sig":"MEYCIQCeBtVtjbr9dn3L4RC+o7zPRek0Xv5cGTtGLYqeMpGV/wIhAPYeSA/RlVOinKHsHWXN+G32tsv3kRuMP3gWzj8MkSvS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"b41bb879c754b0efafa6f94b6ad312fddbb7bb0b","gitHead":"feb77632495bd804ebd427f43f6d8120efafad8f","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-9.0.0.tgz_1513089715677_0.45130305108614266","host":"s3://npm-registry-packages"}},"9.1.0":{"name":"kit-deployer","version":"9.1.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"a636617c34d054c150b0c41b918a7798742b3f17","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.0.tgz","integrity":"sha512-q/Yz3r88z1r53ZTzmUKm+sVEwUuSEYZS4qIVmVJ0QD5cIYraEt9bYO5Hnmd9QaBfdremOB86l6SRVh8cVNKqWA==","signatures":[{"sig":"MEUCIQDGvSkKQapT708+sm2IEWYLcZp+U/gQ6ROCI6bJqEfh6wIgQn5z0ZcAixQTZXt4vc8KWQvTRipvo9aaWqp02P/K/To=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"a636617c34d054c150b0c41b918a7798742b3f17","gitHead":"efe96ef06763902fadb0a408f283d4285fdc2734","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-9.1.0.tgz_1513192381362_0.8047079485841095","host":"s3://npm-registry-packages"}},"9.1.1":{"name":"kit-deployer","version":"9.1.1","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.1","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"c5286fb4e5abec4ddc7dd2f8a94451d2575a4763","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.1.tgz","integrity":"sha512-2qrCRbOBdqrEdBiwI0G1+Jd0dS1O+lIHXvEXRJjrmenwPDWV/FRG34wxmg4ybehchYzufb6ap5DM7l6Z/z3KGA==","signatures":[{"sig":"MEUCIQCqcf2K41E2w+1eIpzFIaEoO75zZI9tLk2fETMaKbeYiwIgNrJP2bYLJ0hrMrY71Zj5HLy99A2eT1+ywz24ocdWOvE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"c5286fb4e5abec4ddc7dd2f8a94451d2575a4763","gitHead":"6dd52781913eb5e514e84f60ebdc8cebcb089258","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer-9.1.1.tgz_1516644523440_0.4885140140540898","host":"s3://npm-registry-packages"}},"9.1.2":{"name":"kit-deployer","version":"9.1.2","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.2","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"b107b0d4790e46f5b3f675c56d82a9c398ba7c65","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.2.tgz","fileCount":34,"integrity":"sha512-52+ya5NiTGnRu6GeaBCF5BFqOC1vznGL/+sCDT2Dcp/GbNcDB3NhD8N4HLMEjpUvMdvk7l4jiuQY1LSLccKrVA==","signatures":[{"sig":"MEYCIQCJijPsdktjz/NkS5pdgTOwCA4AUqrlGKakFkUkmHq7QAIhAJgummbZaRTPAOwNywsiw9Sb2NSPZ7MYs5bwSBW7K7GP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70868405},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"b107b0d4790e46f5b3f675c56d82a9c398ba7c65","gitHead":"89a53ce4bd1c1a1b5cddbc7f0e209876369e0e71","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.2_1520869890571_0.5780968675257561","host":"s3://npm-registry-packages"}},"9.1.3":{"name":"kit-deployer","version":"9.1.3","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.3","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"deeb19883aa369fcf1c4394919371cad40489153","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.3.tgz","fileCount":34,"integrity":"sha512-kHAkAnsVuRl3XddEwnjl6Lm5fLda6jmQCqZFy2EYFBfwVvcJnp6JN/vbhYoPpM0vfoMhhrvfdUImWmhvTGgjsQ==","signatures":[{"sig":"MEUCIQCrkFB3wp4h6HqhKjH26a3qGFGS3/j7iCfkzT6ue1/ghgIgDti8UovaqU2xYKc4Mg3sqLFU7o00z5B5BDTDgHXK35Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70867755},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"deeb19883aa369fcf1c4394919371cad40489153","gitHead":"6cc01c6d0780c0775e6a76722ebbf8c23d15814f","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.3_1520895541752_0.2437122468727393","host":"s3://npm-registry-packages"}},"9.1.5-PRERELEASE-uuid-fix.0":{"name":"kit-deployer","version":"9.1.5-PRERELEASE-uuid-fix.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.5-PRERELEASE-uuid-fix.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"ee224b71d86149dab653498a24c5fe3a9fa86d96","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.5-PRERELEASE-uuid-fix.0.tgz","fileCount":34,"integrity":"sha512-BUBgLibk+J8LZW7/SWrff2I+P3E3It6ViHr01tiNe/QxX16CnV7D8Xl56OulMGfoKdCjJCxbflq9Yi2HCgR5gg==","signatures":[{"sig":"MEUCIBCp5yUkGMYzmeGY/hBYRzwFuMYmp9DNb4I5flya13XRAiEA5g0ZjHL9pxobsstN+LsMNbrXXT5wUT1X8RP9tpZyesg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70867781},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"ee224b71d86149dab653498a24c5fe3a9fa86d96","gitHead":"5d8617f1bf0b8d3b2f0a96002f68b57ade41cd54","release":{"fallbackTags":{"PRERELEASE-uuid-fix":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-uuid-fix"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.5-PRERELEASE-uuid-fix.0_1520912624573_0.899161816708473","host":"s3://npm-registry-packages"}},"9.1.6-PRERELEASE-uuid-fix.0":{"name":"kit-deployer","version":"9.1.6-PRERELEASE-uuid-fix.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.6-PRERELEASE-uuid-fix.0","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"aebd4414513c6995e5175e27a1c281d02c4f3e3f","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.6-PRERELEASE-uuid-fix.0.tgz","fileCount":34,"integrity":"sha512-IPjsBOzRRZT9LUI9Dl/LeAbCzP5BOIE310YePvT1oOz/2RpwnYB/cqjy6gsegBKdt9xpZb5faN0lTc1kysyPrg==","signatures":[{"sig":"MEYCIQCXyMKQQoSuhrMex4y0SSpe2Lr+cAhvtjm2jdPYrjAHvQIhANS5riEkoGl83WbABgmfh4yvVR5yPDwCXO1IA4zzjTwj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70867590},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"aebd4414513c6995e5175e27a1c281d02c4f3e3f","gitHead":"9d6d048245bc0e31b3509552d7c3a12453c100ae","release":{"fallbackTags":{"PRERELEASE-uuid-fix":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-uuid-fix"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.6-PRERELEASE-uuid-fix.0_1520956518986_0.8319670973604396","host":"s3://npm-registry-packages"}},"9.1.4":{"name":"kit-deployer","version":"9.1.4","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.4","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"964a2972b5e523e414f8656891f38c209d844a69","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.4.tgz","fileCount":34,"integrity":"sha512-xNdMnIeyDdMZfFX7VXVkdGRehGmk6cnroOiIwFTSzNm98rvZX7orFOcW+4PS8L2bLE8OHvIq631XxT3vzBd4jg==","signatures":[{"sig":"MEYCIQD8aWoL1MmXxadztTzDJJiGPiQAsagxxd6N/AXurLYMMgIhAO48IuzFeQYJk1PRA09mid8I8ahgSHTMHgb8Lu7FfFPj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70867423},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"964a2972b5e523e414f8656891f38c209d844a69","gitHead":"2ee29aa46e3fb32a42f25a663cefd4d29b08e457","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.4_1520965236916_0.9193949327349018","host":"s3://npm-registry-packages"}},"9.1.5":{"name":"kit-deployer","version":"9.1.5","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.5","maintainers":[{"name":"chesleybrown","email":"me@chesleybrown.ca"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"644d0af05205751dfaeec2b667955dee9332320a","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.5.tgz","fileCount":34,"integrity":"sha512-NYedY7LYaxZY+qg0qrz5bZ6up3aFoRFR6k4HKhSSI83ZNfNiXLIKi5Onvax1uTBeA37xdVi89JHOYWgVhu7fAQ==","signatures":[{"sig":"MEQCIHS12KjL3wg71luyKv0SdkJ5OuWDHRRLQlXkjVp3+mznAiAE57LMPwgr0LGBgWaPbacqdHeHwcmoE2qPMNdizJecow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70868223},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"644d0af05205751dfaeec2b667955dee9332320a","gitHead":"a2120977648a8401a3112e4acfa720d0465e2cfb","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"chesleybrown","email":"me@chesleybrown.ca"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.5_1521500742235_0.3199693767586844","host":"s3://npm-registry-packages"}},"9.1.6":{"name":"kit-deployer","version":"9.1.6","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.6","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"d3b99af04b69f27f68c38d075b698d0df75f8a8f","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.6.tgz","fileCount":34,"integrity":"sha512-qCjJPzqDMyp794KG1N5Whdtx9H8Ze1RaVf5jBtoxbGD2hMX8D3tY/QEl2JvuAXbUgbL7wr0T/sEJ/79gGYHEkg==","signatures":[{"sig":"MEUCIADLbfAIDiwXhSqxvImj6BmUZj5i72dlwufvw+U/SrHNAiEAvSrFNFUoDqf8mGeqw1bfIzOd/hXNif1FnfUsO5vw0gA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70868896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbachmCRA9TVsSAnZWagAAz8sP/R+2zzMYzNNNeL2sXmyM\npQNoNLJ9Eq/dYJSIKU7sryvTUNwLlFIDiP0W8wyrfTn4ivnf6+czVvh+tBQt\nh0Z5wRsyRlFHJjYui+RwTCdmiJQU8OWpNauI0Koa/qMTEmJzsODkc3zoPmpi\nW45wf1kkQuEVXihGr1i/h0JRtoBqEcgYgYMKYQuE7o0v/G6zD+L5fr+M3a1g\n9S9uTJxnHJ6QYkXqOReZI5vZNWp7R/0586dN5dtBwHad1BQ1dfPSVe/Q3iuF\nlK1JKhIsNugxr4n17fbOhfZYoPUc3i2fNVk+4PS0vwgQW4J5zMAuJtA7Qh2/\nykp2kJfHdt6kMn8oCFRnkRFKuY3xb7ErVwHyeLGvSxQW6Zt3VrPIUpj/iDpR\ndoVbJvFB2m12KjwoapxsaecGAw7z/jJmg1MNgUpmP5YPHJfshnoyS4SjiHuk\nHoZ/NgOjn7Lria+Dr0LE8weYuC6u8btHSWKSl8mBfm+CHYegcZx+RLBcanMU\n9IJyhk35UYM5OS6E+0Q+svB5q/Q5p7RDe1qS/3I41FOVfYGNU2f0ggHjQsNH\nCeOr4v78cXKasGB1o267jrVTLhggF5wdbBfIWc8Kv2Zk0iONR2FRg5zye8zB\nCjOQilc7ZKGpVIbCqW1b2a6B+S/2i0JHN2h/s2i6SI7BE218kfVlrm756To6\nB81b\r\n=MmMd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"d3b99af04b69f27f68c38d075b698d0df75f8a8f","gitHead":"fe7f018edc736c0a339f701892dec6f1bb68bf3b","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.6_1533659237071_0.5680633159383495","host":"s3://npm-registry-packages"}},"9.1.7":{"name":"kit-deployer","version":"9.1.7","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.7","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"cd42b72a0e402dd3ece864a48d231ffb56d8930b","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.7.tgz","fileCount":34,"integrity":"sha512-TWNt0gVrYrKPUZ/lhg+vGmfAdqbaz9pp3aVFblcsUIg+XaNv0p1jyaMT3AASezrTK/Ly6pQO6zb+jhp00LGFVQ==","signatures":[{"sig":"MEYCIQCH46x4Q0KbD93j4s/GtTCtE37GoUE8yuCmFlthfh/yXgIhANhsNbF+Y/zd18MFSC/BbZLvnaRj16m/MWRJr+n8giR3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70868896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbajy4CRA9TVsSAnZWagAAdEMP/Ruytogr5SE+eG5MmdMf\nm5LScr896ScdKl3PYsoWi6QBqUoKiQNEn+hmBGV91pfQ5na2MyExTBqud/g2\nk0EPr+OPHQO2hDlms/CnrwZF/2Vb8lYkwbzyTyJZY6M8MXc1NvgqDaydanbm\nSuSk0cLyKKMUevUFQub6Xo63KfuK2Y14wf7KZZ4IoB58jAwaCBXWcz7KE+0h\nU+2izxcI40aq6wei1L+zXzTUvB2w7/nYcJn8pfNOGNRqNLqORs5KRmIk36eo\nvshl9IsffI9b2OJmijaQwYqpy1qPfGhc0Qq2O9ywmKi2ssN0Tatc9EmJFL64\nMaY9Bz3kq/vqiejHfXfgwCMnvRP6iaADr7A27JBEPiEuCY0xJircFAwT88yM\nd9C2bRRiXioPEFWQ1Y+IV+iSUOCT7BTxp1cgUMZlFH6iI2WZ9ikirr/rvH8f\n9F0mX9an9SU9YSxwVKm/FXNFjJ2t6OQGaRRTjLMs+nXQKpipsormBc65+s0Y\nTHO6mRH08Z5S/R2BzibRF+qPVDugv3D3BCQkVAQW4i1EHcanp3TtohjX0tpl\n3oG9bO9YTItaHnmq2l3qmYC4zLydYTQgzPtZDO/vR6AnS2MC48SVpPDgokxb\ntVebPmUfXL/fRZ3qf02lKpmMbcnwOBYg5RKYR1lU/f665el4kc/c9sXF/KDT\noNF8\r\n=fv/q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"cd42b72a0e402dd3ece864a48d231ffb56d8930b","gitHead":"bcae9b62117255c38432a6d1a8caa4a8e38ea67b","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.7_1533689015268_0.00525875656027508","host":"s3://npm-registry-packages"}},"9.1.8":{"name":"kit-deployer","version":"9.1.8","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.8","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"f163038d5762444883c7db6eb772e44b11409427","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.8.tgz","fileCount":34,"integrity":"sha512-JlWepQwgo+VZXwyDoxQ1BudY+4CbZpP/bvOgtgBNGqrVyfid5LOV09LmjIcDVR9Ft2Bviyoqj8zUss/pmtirCA==","signatures":[{"sig":"MEYCIQC8mdpufPq0M238XRIaYhdVyZ3wHPNw5JcEtE1RtX2JOwIhAM7j4OdJxbxNHHwSV9pBiDWua0AEqCxIO4KLev5RIfW5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70868783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbM2UCRA9TVsSAnZWagAAE4MP+wY+Cs0smykD6BALC6J+\nfEWxZiAx2tgUNIIvCDQoFkB1d7iuTQW6DnMZ78feC4mTyBh6xAjW9gyXbwZ0\nf5aR7QbQJCP/IqYHuXXcSSNBvuD5CJMT+mrnNEGCbzRw6MQgSfqZvc11nRjT\nIm7jLfVynMjtaUJitV8e8pvba0NgUToW0a/t38kCs5qpFU1ISlknTEPHRRPN\n7iaqpgBuECwUfLDyNlzQb/CXRfsen9mudk2lNOAuFJOpcUUz02o3oonQ4xJS\nLkaqTrmtvoeXeEZQZOV46Nijy4cer9BPmy+fuskzDis8PfYBpMsNWVBlq7Vw\nSEh6LeHVZiXO7R90xbI1A+kgOlFnwHBRKQp7bC+ZGtxaRB+F9PTQeiGkrbGM\nFhhJZCP6iVemCGDEKDWe25AeMOnUCPMn6vh/SGR/dy2mbzTSXeCPw8d3L9dI\n9LXyxWtI2vPGCoR3ElfhG6sdCbuF0tGiPhlmFCmjw+cwXM5qZBbyv7zqLoyY\ngFZmv8yexImZtXsV5HLsGzzTFArqaYjoMyWV6GVdqZvHPiqnX1oIX59fFPcu\nAFAFefXUi1TSGcsudlJ9uVge0yw8urpi4uJFP1t5lPXSA9d/10YnEkSC3cUf\ngyNFgip0KxZoo0iG0wUve+UcKjWQGx+Kjo1694k5Jv9bvfkymYFBhkTH26YS\nx0YY\r\n=HqrJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"f163038d5762444883c7db6eb772e44b11409427","gitHead":"05782fc2b55a1c33c91ee329dbdb461fcd7d23c2","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.8_1533857170905_0.5519849756919981","host":"s3://npm-registry-packages"}},"9.1.9":{"name":"kit-deployer","version":"9.1.9","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.9","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"d9894d4d095d7a7f06ee8bbe4d1a4b6f2f384153","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.9.tgz","fileCount":34,"integrity":"sha512-G+oomkaMN1bPA3AQl2gKMUJvL91O32ALMVD/E7rxgYqkAnVa+vjw5/3G8MS5zU0EabeB/nxsU8Fio7lMRCj/uA==","signatures":[{"sig":"MEYCIQDdFOpTRJD4Cu0l/Z3C10uBpYbcsIrl15kw8SMIBK9uOQIhAMtQf0rMRN7hoplYp6DcVQ93EhPQs9GTMAdmu978nl/E","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53448758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbba52CRA9TVsSAnZWagAAhh8P/1CbBVVfhQ6uA5D6gQKA\nOR3EE4ZQoBgVue2wm/ZpbYdRM0x4X8XZLAvLqqDWn/ytIvpakhvFhL/e19yp\nIrOKFFFsY2pt+FXjqH7GPGQKSa9KNWSgwhwJj4KA82qJirdGmNGLlVq3V7Li\nSnt/3RsR4O9hlEqdMvv5e1PnftopsIWBt7O9L8brlNsYCy2wH5UIvJOJVjOd\ng2BMs7WJuuKbS3TpiZVYBg4u9xVEKsoAi64zol+noWQ0Uoz35MXh6eb+doEj\n2iFVY2VDwN2dhurcGZ30f1V5AW8p69+vIYnxteDtLfVyMIGmBKCTobqtaiHv\n8UQltx5l4Ojona83INPKmpHpiYbQz2bjonq/WqK6twtL0Mpcra9uUAoVcZjb\nURv7QwgPNKnDGXmaW61fvq+/OwewJe5W4ScPW48I8SfrRESDGxJ7yRvZt4fb\ns1idYcLWojJwphZMCW1eH9fX+O06vehvL02yWpzyvMxqik+KNKxvfmHHqEn7\nlc0r9vsezT1NxvRiWrjwobAyY2QSL9WDgQ/AbK1AF1mTDFtJOnKVzy8cZVU/\nVxF/kFk6/mgUvt5Qo4E28zPBAmkROL0/j6+huXL1x9hmikabyUrAMt5IRWWc\ncz5iKDfMpYNTOzNM5k8heVYCBZmF2FHCOiZDakXp6ZOJZQv63yIM9ALW4AVP\naepr\r\n=NxPQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"d9894d4d095d7a7f06ee8bbe4d1a4b6f2f384153","gitHead":"53761b452a4cd01ee66c7edf25c80ac18e12573e","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.9_1533914741362_0.892599035438602","host":"s3://npm-registry-packages"}},"9.1.11-PRERELEASE-EV-1355-deployment-errors.0":{"name":"kit-deployer","version":"9.1.11-PRERELEASE-EV-1355-deployment-errors.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.11-PRERELEASE-EV-1355-deployment-errors.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"d5c58f9d2527c35d1f62328e692d008a79cc7fac","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.11-PRERELEASE-EV-1355-deployment-errors.0.tgz","fileCount":34,"integrity":"sha512-Px/1zKduu6D9FqSAy5yjbzHt0Q2B6JGvjccqATN1AW+nkLLTkrbrG905T+pMI93jyAkwBluvyEdhXL0mwg4hEw==","signatures":[{"sig":"MEUCIQCSQKGqIlTR+Jjm2D0ydpitdnCVxNTFOR0wZN0+ArTH+QIgYwbIJkw+66mLzz8KG7l0L6rBdKnCzusNoo6fampdnyM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53449774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbevpiCRA9TVsSAnZWagAA5aMQAJKE1FDoFfOs+lP0Ihn3\nSMaQ7t9k4AiX+OCp74TRWjuWDGOymGtAS9guU1nm5yFdOhfFiWUlQrpHZmRD\nIukRhIIcQbSqzRE/kiXrGkstsunL/NYlY/3nlA6ybT4MRsp91CABN6g7KY3e\nMSaG7yie67W1HJbacH6+aRn1KaL12jc05qWsaKCoqWYF/aWSmDpJMKEciVSB\nejg4P2XHur5u03Ci7l3mUOpZSs+q26JM00W63NSLbO8ddZTBdDljYw1h0Kv/\nGVMV92acxTfhE0Spgt1E280/g/zteYFEE0MdSLXoL8SjlZB+76n86uyRPBhj\ncQSGtQwEQLRwfv7bZvtoKqQqYU2o+QPGnA2T57dfcWj9v21ktrDnY8S9nKYO\nzqXO1i8hqtS0mImckORGaooSmrtDEc6HgGrasqC0Y2pJGQYiHCps7OD2mqAn\nXUYbqd3gOpi6f4lVDkAIyBERATBPHxnxkHybDtkGvZWFVfs+lJBUp//VDakk\n75K9pYhPSrnkXnUxrC2Uq4M9QNC0+s1E8GHGQ7pxOEFe+ttvoqk/CifUQhoD\nbxvZot+IAUfHlCMgmSOskW8mAo3DWUidEpF2gbGb36kTzDdjvk38xtT0P9rt\n7jzwbn9gxJTfW1u0rDFwqgmeQlV05rOnCarRPyMJy3vuWRei52w9iq880h1X\no/Jy\r\n=3Ixv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"d5c58f9d2527c35d1f62328e692d008a79cc7fac","gitHead":"cdb29b4888a4e94b57aa72a5d2276d5cf5b7f487","release":{"fallbackTags":{"PRERELEASE-EV-1355-deployment-errors":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1355-deployment-errors"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.11-PRERELEASE-EV-1355-deployment-errors.0_1534786145366_0.8684541913953212","host":"s3://npm-registry-packages"}},"9.1.12-PRERELEASE-EV-1355-deployment-errors.0":{"name":"kit-deployer","version":"9.1.12-PRERELEASE-EV-1355-deployment-errors.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.12-PRERELEASE-EV-1355-deployment-errors.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"908301202af583a18228a926df9ed59c12026e7b","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.12-PRERELEASE-EV-1355-deployment-errors.0.tgz","fileCount":34,"integrity":"sha512-sX/ZjighqiH7vlRlTg9y8FYIyMicwxLXaGIOuRBCxuyzflh/zekA6SsgE2R0tPRVCd3MZmUE9nf3gYIbt1eQ/Q==","signatures":[{"sig":"MEUCIQC4ZqE5S4WCY1JcaAxfRg6iDaXHT8lhMTn2yqCN9pMz6wIgJuIkpA+me7EcEKZXwNHvh+kkTrwACLp0HyEuhg97MGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53449891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfEivCRA9TVsSAnZWagAAo6cP/3AMxcRHaHzEnyrAB3/r\nzwwx2Y1O8vXhe/I/f8QluxdCi0iGZ5Ai2tKlqkKLwFylbl9vvYS0snUg/hai\nf7qKXxLV05VrqFjlWu++T5jH/E1UIGJ/LEyY8un+iHTWZpFJBm3wY5ejBDKc\nSNYxMz0r7WNsb44dsh+WiHLrmh8lvPEUI29C9H5j4/2Fmu6MXsN6C6v0IeHl\ngr0wUjMkrOrtXjG9mt12W4gTR2BCJnpCrQcG8lMGHl3WOSj3x8QaZtTxT3uV\nr0Lhfui/s71W9uEIlZZAn7oKXQpzTqKKrZ8+1i3mwdlknMylSHbrnS8xfCuW\nIjNmF6zwwBOku+KDSIV7XM+H6BKaTm7QAMYKePkeW6MQ5yVFN5a8o8ewBq5X\nbCqw8+Ng4p4+2EUYhaMTMx60H50ktXpaWlhKim0FL6a/F9MEHxc2i15FdyAE\nYXWVJrAYBqB+AedIcItWJO229PXOFFuPg3AfDEQCK1C2NVMeUpzEjfQm0pOc\nJDJKwYU7AqELNYunv24R/cVpv6ZtcTBr1yHM3f89uasmkRsJLl+lBzGOUyhi\nxK/SZMjWrKobEVDJgWBL1y6tzjlIxQqaQv0IetXXrpq7sIhK6y08SfcYKotf\nJuiJ+tRcuubM2rkzqXptuLqrMo1hd4aLM1YeoLXoqG+83lKRLOgF0G4loOR6\nMjFt\r\n=fCSg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"908301202af583a18228a926df9ed59c12026e7b","gitHead":"918b3081be3278e896e36f44d93f29f19375961c","release":{"fallbackTags":{"PRERELEASE-EV-1355-deployment-errors":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1355-deployment-errors"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.12-PRERELEASE-EV-1355-deployment-errors.0_1534871725996_0.3874644311326665","host":"s3://npm-registry-packages"}},"9.1.13-PRERELEASE-EV-1355-deployment-errors.0":{"name":"kit-deployer","version":"9.1.13-PRERELEASE-EV-1355-deployment-errors.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.13-PRERELEASE-EV-1355-deployment-errors.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"fbef5c2ff1dcf46ff3a72541a49fd230cdb5e100","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.13-PRERELEASE-EV-1355-deployment-errors.0.tgz","fileCount":34,"integrity":"sha512-PjwELi5Y2pfpERT8iXEowEh/89oUeJ01HLsh5RVMGorBuLGwuI83QkTI0WwW/WPVhRtaI8go294ZbLcbKG15lA==","signatures":[{"sig":"MEUCIQDs8MzSHNksW8+OBgVIpipfiBlp1DNw4+A/5KCkSAIeHQIgE/lzJXWDsfJjo18gPhtAZUoSc2I3+lYCrtRBUDW5HMQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53449987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfEyiCRA9TVsSAnZWagAAAT0P/ilfgn05Pv3Lo7XSFNTD\nSrAp8QureGC7UOMA/wPQU4U7gWu+8h4DBeS+14HqsqeptdZg6J8zjopCzHhF\nA9Mvp66AsIgYERS3ECUNGyh/ze2+FrJ8lxPguz3QNZL5eRUThxqQMAXPFzju\noN8IH2DHIA45RTjsoikFwmsH5Wo52cTTUZgGXmW5dPT9t85grhzHy7JDRh/G\njukRz4liyo90ZgMI6jdr8bcmR0YRyLwwzwywRk1MC7SnDvv6Zpor9kli2P/w\ng/Q4xk+Twg357rYLqfzGHD97pqWus6vPBZQFSxf3Wa39nY9esAneq3dZD/jn\niBHv6ayTSV31793Umo0mEV6CtbQe4zBG1d1R0c8MNGwbw9xx1tOZQnFzOKe6\nsaqV26aUd6G+D+Ruuem+eZQK1Ls52H0kmuGM39QJKAidrUZMrT1sq0Is3Xcp\nkmt4lDzkSSAjmiD5d6Uvxq0MZFQL6xAkp+T389tLM3E2G0Hh0E8AqZrDcO6s\nDU3BHI19VoIspmrJSYkpwZwFtd9BHooZ6Heeq45RAYA7eAAhpsQsL+xfRbWv\n+jS5B2mhewEUfEdNzQN8kr1L3WzeCCQXZAWD9DMm388bs6vCk4veYSO6icjY\nss9SiK43A74RYNr9N5QlAIbMBdGLlFlc6grxdJtfW8b1e8CfF14prHM/k+CX\n4xCA\r\n=GB2h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"fbef5c2ff1dcf46ff3a72541a49fd230cdb5e100","gitHead":"d0854f7eb802614317b2b8c8736800a766112d09","release":{"fallbackTags":{"PRERELEASE-EV-1355-deployment-errors":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1355-deployment-errors"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.13-PRERELEASE-EV-1355-deployment-errors.0_1534872737421_0.8928067650444551","host":"s3://npm-registry-packages"}},"9.1.14-PRERELEASE-EV-1355-deployment-errors.0":{"name":"kit-deployer","version":"9.1.14-PRERELEASE-EV-1355-deployment-errors.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.14-PRERELEASE-EV-1355-deployment-errors.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"270441d11969a6b3e77aca4afb39a5526172854c","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.14-PRERELEASE-EV-1355-deployment-errors.0.tgz","fileCount":34,"integrity":"sha512-BSgUflBmqCCPkxfWNMcsEH9MWnheYxltyiRzZEAJAgadgjSvIj712070o20otGC2rnzNBLazgklhN4avu74yMw==","signatures":[{"sig":"MEUCIQDhFPv7JSTNs2TnFOVQxnl3HdARZweppOxJTK555dLfNwIgc+nKqBT6nCi5jsjIgHAgun6bqUWmNmVaAxDwuIEITd8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53449993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfFHVCRA9TVsSAnZWagAA/mYP/RpZfPg4hbI0AHkAdw9L\nASPq781H6cu8h+d2/CRWgvMS8vzuLfhl3OZb4sfxYZc/K0C1dcIjy+2wdd9u\nyDZzO4ua27fcYUGHZvXmwiqLKj02Wxh4iIOogoybksq4YwNREXjCWohGfd3C\n7m/oybCfY7B3e21BUd3/6odv3XT+82c6EZjr04qI8NPjGoioQIfIwenzlyA7\nT2c7TRqa/I9U8odU6KbBi/vDCdXaXeFiaeiMQYVtPxw5RGsW2m4dqlozETT1\nfVx9tRSjRAISefNgz4o/IQMSkQ3VUNq2VjmXgFQn9MkOYm+C8XyAhcbIA8G6\n3IiX2czdlkFfDlDDsygMGsMmye3KNqQPtlAA5mtUmvwmNk+szdzUbbXEIZdN\nA/58lfrTfY5/npDxigfdNCZC3rEWEakYCfC+B7uG3q/63k0Wb3l17ZiIrxwa\nFrE2gg8siieYBzmIqdARZZkNm+KpHHE3HXBw+q8R/mSqbzMU02Oa1BxgbP9d\ndVDOP6UXdndkV6kNkMPIkIhcPyAE/LX4ekUXM5TimhLnfHFzq7SoBNo4DFSl\nM4payQHSR5Pzz2W1t3hklWsnfIPCVCl26RzYQ2djI+P2Dij6JZrcEVBrWIx8\nwgJNoj964H57jK1diLrzC5guJceAI8Mr6EJCyCrqm3YQui45v8IXh+OJO2o+\nfPCP\r\n=w4yK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"270441d11969a6b3e77aca4afb39a5526172854c","gitHead":"8af75510875391de590f1ff79a28b567a1cb0af8","release":{"fallbackTags":{"PRERELEASE-EV-1355-deployment-errors":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1355-deployment-errors"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.14-PRERELEASE-EV-1355-deployment-errors.0_1534874068437_0.8995865195719384","host":"s3://npm-registry-packages"}},"9.1.15-PRERELEASE-EV-1355-deployment-errors.0":{"name":"kit-deployer","version":"9.1.15-PRERELEASE-EV-1355-deployment-errors.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.15-PRERELEASE-EV-1355-deployment-errors.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"8570c06163330e5430d2b82b7d6ce2635dbfb0a3","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.15-PRERELEASE-EV-1355-deployment-errors.0.tgz","fileCount":34,"integrity":"sha512-p0mTPLiAHgae0A1+n+73MR33wRFYPtu/OMF6+axZD+JgaP9nQikhG7CSi09zK1DDo9HjSeyc7mHgqgdFAVB7/w==","signatures":[{"sig":"MEQCIF2Uy+g7uylcYSICMD7TtyeKDgeAZ1/+2xW/OJ7QlwukAiBDIbZuJicuUDbpLtXpJT7iASpkeqh/jVsQ53F52lzlbQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53450346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfGFcCRA9TVsSAnZWagAAZCsP+QE0U5gk1G3TGCtXw1SU\nHvjrZDT9HsoDRv/vdl6N4coNENZTZ3PJgRHcVUNQb0ZxMuPcN14x7Qt9lIVF\nzPDkC5HM7Sx8BwcmizJtcqUqfabjMETgZn3dYFRSOBgPIxGrdJb/bNL9e6jo\nFBk4JZjLptkV4cVP8EkpFu6aQggQAmoKYc4p/64OHkT9S4cZeJ1Ib6NnUsr8\nhB47sY2YP41nhcA6PIon4IeqZOORW1m6TrWEZd+wG6dErIwfR/AuLJW1kWf0\nxRlKjg2SRS5HzJ5x+uGTYwNPKWUNB57JHI5/eiKOtn956YnYBBg8BAUcVoTT\nOy0QeBqaeyfOkXEJjtcleU0o9vIcKPShjBDIXcTxhBj8m2OZelvS26j82HCI\nbNdK6lWU8mS1WO2+wvHneV5U9W37SgVHGno3XqXawsGIRD/7u5VpPuWuCRus\nc2x5hcgqkr/S+X46CnGtQLa6WGwdsyxrsINYC/Lw7dPmoOvkLOchsowZm9vS\npNct3dO7GR7gGCmkshpulMfLZW95VGc771PXJyGkLMGCNp622XRuv9DRPp5F\nChQ4TLdnX1oVAwsMiKhLBhlqcTcyA/cJRmYkyuerkDJ1HMQmRj464o7CGLec\nhWPHNqeYW4JOeVVgZTdCnSrU8+AM/uT3+59gWLXkO9lVwSZo9TNoahhTDBGH\nmvyt\r\n=0//n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"8570c06163330e5430d2b82b7d6ce2635dbfb0a3","gitHead":"2d47ed37dd04f95e6c6edecea55d0dd1c2ae9784","release":{"fallbackTags":{"PRERELEASE-EV-1355-deployment-errors":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1355-deployment-errors"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.15-PRERELEASE-EV-1355-deployment-errors.0_1534878043109_0.7121186479043196","host":"s3://npm-registry-packages"}},"9.1.16-PRERELEASE-EV-1355-deployment-errors.0":{"name":"kit-deployer","version":"9.1.16-PRERELEASE-EV-1355-deployment-errors.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.16-PRERELEASE-EV-1355-deployment-errors.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"25bb1c77db8239427b468ec3b6242e5f62f8b98f","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.16-PRERELEASE-EV-1355-deployment-errors.0.tgz","fileCount":34,"integrity":"sha512-cGEiSxhwdds1/M4gBZSdrefvfWjGVJ6L50QlR+5I7PxIcsUrweRKgbqdwPyESZg3JBttC93w25jssaT8HSxYQg==","signatures":[{"sig":"MEUCIFkFkhq+ytDw1GAiPP6ZOrqhvgFt1oI0J8GNuWiO5vKzAiEAticUze2lN3XKrP5EpY687znl1LSZ+zH5ATBc5+ah+EA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53450374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfGSRCRA9TVsSAnZWagAA2+MP/00WlG0+SXDuMH3tFQOk\njhMnRY/jcIwIjXlmWi+Bbroh7NHYhiSVwVBVgHa3VP5iaIC90ik45EmsZ8Zy\nMACJ9VacVc9maqFDKmMFsl2Fj2nIJ/ElgnCFSS1n1JjqGB7ZgS5LUjAt4iRI\n+fWttffw2jWitpftULhljnCnTcgZjdZ8SpSWeLo4gf5y/rpZ5Sx51y8rI8Yb\nGYLrvLBULtyYuPxz7mvjMAOIMAxwmdvEbG9sOFxiiS69RKl2vPEmkTPq3cRx\nxnNM69FQOg8J/P8PCSCoQoEEV1lmjbOPUTOaABYaMFhDYllkCtuOZHJrZKR7\nNdeLC7qENjBt6TzO+vXP5byGZyxWwEM3JkHHFSqKIOqYbJl56UTDpsXpieeM\nitjH0lGJHuYJFgqqsKLfcY/D4/JYJuj0CpTV9BL4ZhCuGbUX4SlFaZ9Dx9k1\nCG57UE3TMFcnN074nRQ9Axi1JmOBvmZr1zkuNMpOxdZK4MnlkWNdz5k65z3D\npNFXq0WEgjipR5NeMLrGag017LNxd4MohiPkMYuVJVQXXV83gx3gHLilXHSg\nyVDMuR88bo5Z+SNczLwBEmvQbWiO9315G3ccl3NiUAMrvWcVRcsjKWdRsAim\noNM2s69nggzZmamzTGDYPi87QRvIK/9sf1nCSwy+IBhoCReDiD7NDH7wn0IF\nsaZv\r\n=U10Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"25bb1c77db8239427b468ec3b6242e5f62f8b98f","gitHead":"947ad2a31919e613671a3c33318ae5c51ce2cb5a","release":{"fallbackTags":{"PRERELEASE-EV-1355-deployment-errors":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1355-deployment-errors"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.16-PRERELEASE-EV-1355-deployment-errors.0_1534878863941_0.15212845804751263","host":"s3://npm-registry-packages"}},"9.1.10":{"name":"kit-deployer","version":"9.1.10","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.10","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"d9d5b150f190bd18632a4cacc2d1ceb781c53806","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.10.tgz","fileCount":34,"integrity":"sha512-O6ctXNa29l05hoizIHWKMVwLbyCwFgkCyNoGggCmSE+m1mruHRvly95SpxKk6/Kz/0N68XAhbAO6zX6oglpLRg==","signatures":[{"sig":"MEYCIQCXP7jDnXjI0CgnFEKzW8+qPYSdScbmWH5qGTgihow8dgIhAJwKxxpp/QqBLh6xu6s+YRTSokuoqRKzi+l+YkNZrPCl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53449704,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfJWvCRA9TVsSAnZWagAAqB8P/Rc230AcMNGpvIBfo2Zb\nyqujD+TDyV7BVYzf1wUIjFTbrBw8zDHsM2VvzEGSkjwIdnxz4o9o69/g9oA1\nQzVqkEwWlPtB0P5bhSbJRoypbCe7G6OGQfYTF4IkRgdSGxjViHfyyNqCSQas\n5qJ+m/wpKLYh5qK4C6b+fwhD6dHdiGfuPqKUVBRfm2UXCnkwYKTFD39VwPvW\nlA95wCig8DICXGtXZ/kFIzSqvyGxeXhXTOKY4SB+Jj4j+3ztsDbyFMj+TXnW\n2aCOhk9PmDgdP1XuX6gkaUhHlwnRzGAm7ibuIVP+R/lsrSiSjqfg1Bn5lxE4\nMzAMUe2DPxZoYnWc0576gqdiOWO8U9A5WGRUayeDWCEqPQ3ZGVRZ4ZvbVXWj\nTXWU/ekUvmVF5+e9E9V1vObucz0KuduLwcHKh9uV6UiPMfGeR4IMsnkKyfsO\nBxC1xQHu3tqpF8HB734NfnOMh/wOgVacUL/YeuLF9sPVGA2d5RNte7WIhaKQ\n5zlBN+ZiRnEhHCnmHkTdTTQ5ZaiLBYoBVVyQ/wxQNpa9J1hYeiOgq1DL33j+\nuLiBL4ZFQGW1H3yyVuJeKfT/na4BbvSln42vjpEo+RNtQb2yvU+8i7whWC4U\nnw7Iuj8M85dVEkQe+9zHzbbBkJJtlTUERn0mBRp2Cc8zCtKUPM84ppX7zO2j\n9MZh\r\n=uKc1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","files":["bin","LICENSE","src"],"_shasum":"d9d5b150f190bd18632a4cacc2d1ceb781c53806","gitHead":"c0b1e80527f64d13336640518420818ea3b4115d","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.10_1534891438826_0.03133130861926903","host":"s3://npm-registry-packages"}},"9.1.12-PRERELEASE-EV-1375-kubectl-19.0":{"name":"kit-deployer","version":"9.1.12-PRERELEASE-EV-1375-kubectl-19.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.12-PRERELEASE-EV-1375-kubectl-19.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"f30468364980be22985293e12e58a17ca5e54e8d","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.12-PRERELEASE-EV-1375-kubectl-19.0.tgz","fileCount":34,"integrity":"sha512-27tTASptrNMXm/2nYZ+cpury/7NUZPGjULcDvT1Ok1hEN4gdAlo/T0ycyQ5yw19i0npKnQW6v948gl+1G1yW9Q==","signatures":[{"sig":"MEQCIGet2Viexhjmfo9XXqLOfe3A9ICwh9HyOhXET+z1J+8xAiAV4Ji/Zqt1O236Jkyp08uJM+2gYimmMFKik0MMYybc1A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67722173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiB4JCRA9TVsSAnZWagAA4v4QAJHlDASMmJ4hxtpL/Qvg\n8HjxX/CLKwycagQu+ILp1TOiD/GDq8X6mnzMepT3+wNSh3nUV2SkgHoVKUo4\nH29ECyQVKusAnRfT50y8DiN7QuS2ftiIVzhMOKdq5HbZXqt2CGthzTyb+Tu3\nB0BBY/0WgXSAd1U0QciRpLHc4gvbz5EMTr3kjWPB1GNcPU8rOpteYrF4MqYd\nggapU4fm8dSy/ZYYt7txLieIvaZsnrEJB6XZnKA8twzLDfaATBO/osPagxwq\nWbm29Y263L7bsVRmFy4ZZPE0sZ9Rd5YEuSgyvUiZxX0LZ2ydotH1S80rRWQ3\njt3ShGSBxcm4iKxkebvMYKuaFkngywpYFwnKj2Ge8KDZIlQ1K+YYBuO0wN9m\nyco1/ldTrSt/CxPTCe2jWOfmypvm7MvFZnpyaA2/17ziWW7hdlLMpoiPcH/t\nR5WrnjZbM+TWs6gOoDoX9T+nZzvKMB+0393VujprMAS5Xdvhjq7MadSToK6D\nyKXaLHdOjoGaZMGiPsDFTCZ4WkY0IluKU6ZHqmYprEQALOjY79G0mK/rqvwR\n2SSHUekaNacMRoXz/JUML97xZT1TKtJWCauLjK3tShxHxOdYe6Cd9DOS/Iz/\nDT+ASD53XJBMFUOtIR9AJSCsLcvoQHEPjuFdQK8wR8U8xKOVtvVu/gn8OlV1\ny0lh\r\n=R8uc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"f30468364980be22985293e12e58a17ca5e54e8d","gitHead":"00849fac17ed5dcf66bbe27c432bb22bfe08c9f7","release":{"fallbackTags":{"PRERELEASE-EV-1375-kubectl-19":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1375-kubectl-19"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.12-PRERELEASE-EV-1375-kubectl-19.0_1535647240083_0.7967276561323207","host":"s3://npm-registry-packages"}},"9.1.13-PRERELEASE-EV-1375-kubectl-19.0":{"name":"kit-deployer","version":"9.1.13-PRERELEASE-EV-1375-kubectl-19.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.13-PRERELEASE-EV-1375-kubectl-19.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"48962bde6add533e02cc6fb15e414ed2b9f0ab4a","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.13-PRERELEASE-EV-1375-kubectl-19.0.tgz","fileCount":34,"integrity":"sha512-TZCf+eK6uAP7iYbDncJTHYQT0Xjo5J3k1YjyqaYTPa2A8aZIw1eER1/lqvwWuPbjnbWVvJj3thu94NRisdL4+w==","signatures":[{"sig":"MEYCIQDfljh4Z6rkTvRME8VsB6qPR53isPoD7wRbrfeA5/Wj9QIhAN29n7On9P/4uTsJQnU60/NC7LA/3/KSJ7ExmT4rutEM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67722173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiB/LCRA9TVsSAnZWagAAUhAP/it7CBPen/U/ji5R3RsT\nqKIT6XKF5TZjhjd74T6ZdnG6MAtqtyZSY9T+uzYMxI0tbCMnE78E/z6SFXt5\nkEWlXIgPCOgQfpt9Sw41VT6YgubDDXNKTsEjUrgpmCgkX3yVJSszIZ9nEB+s\nXk+RabnzBHow51ce4H0IJHGyxkMVqhzO2PXBOVvLPPcKpUGC8hMm4xmVKqL3\n3AOCRUdqoWtwtlhs01PpvsHvp7RA/6iXsLFhO6PqfrgEQ+S6kOV8zP1PddoR\nlAtSCHPQ0+t5dT04hOyXMA/M21GVfrO9CevjH6P44G+Hyio3+rG8R6VKmRck\nZL+LbyiFME6XPCAeDBBBox3GwGb1Gre/GBky96+eHM+qoq1EyghECHbVzJi8\nNQNtOsVZKbvYwiaWd9383OfbuhQgy2oG2hxA28DN64jYfbUlo2m+Hz6+9dfy\nJNjDu4DLnoS7lpAl7BzHf12SXypkUhNIxxDB8gN86uD4V0gimTOXXCSR9BeX\nzLz+LQB2BdZsSagip0f9b1kwRGqqdy21fU9LBD8u+IPTaZQn8A8e1QmkHgqE\nfVf6mWtXLc6mFrcqOSAzLuN+k+cau9XGSj0x9BY5kmVaZ4CSVqOISx9Wng9i\na2WgZi0V0tbIkPg0kpSSKQhx9S8xX6hrsDx+b+5NrKA+Sfphc3mqzRMLvmUq\nwF3T\r\n=loy0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"48962bde6add533e02cc6fb15e414ed2b9f0ab4a","gitHead":"7ab92861bc16c847755578ad23e93cf0ad6c172b","release":{"fallbackTags":{"PRERELEASE-EV-1375-kubectl-19":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1375-kubectl-19"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.13-PRERELEASE-EV-1375-kubectl-19.0_1535647687874_0.1898367827308154","host":"s3://npm-registry-packages"}},"9.1.14-PRERELEASE-EV-1375-kubectl-19.0":{"name":"kit-deployer","version":"9.1.14-PRERELEASE-EV-1375-kubectl-19.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.14-PRERELEASE-EV-1375-kubectl-19.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"0646f44e157e2947611646c4fdf0134268312309","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.14-PRERELEASE-EV-1375-kubectl-19.0.tgz","fileCount":34,"integrity":"sha512-vRcd20gsn/ZtAgaD11s4J+RsKcAp+f33rh3yTl4TAhCvtYNq2wgMa3C9MOzgu2bC1gUM9d1bfeUaUSFFvUZAEg==","signatures":[{"sig":"MEUCIQDAHeaOIAfOux8v0lUwgFt+djOmBModly5Hu1YrbjxUPwIgFe09GhS9hHpLlUfBQ9LcUsxwndQwpaqVyLQc6fY+h24=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68528125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjqhCCRA9TVsSAnZWagAAOEkP/36g53MAs28sVlsjmyS5\nJEkHmgnrJ9ZcMhuomq4L4sILy1lpUnmIR1mNF6yUrALzGX5QzTgbu611our1\n+5RBvL3XgfadeAv88uPfMGredrrb7bR7msnRZwA+x4vozUq5VUqUrbOmpnde\nsz92wZgtU3s1WBs8+LNyHOT8GvJvrcW13J6JOWctj9foGvuof9h9N2pygzLO\nl+6lVNVe9oE6BDCRO62sQ8a7lylmlnMvsBGNKuX5EEa9wiyIsYyxc60ShqQJ\nd7mPbIS1Yu8ZGUBbQCGW5PyWvOtg8K8k1vYzT74FJdFGElnAzUqL3Qxv0Mrp\nN4i0CnwStHfAIouvKh3DH+iiJRtMtS483LIkjHmShE/AdhmEU9mebq12AoC4\n25JVbXcWhim9UEzH+0IfEOG4Xco4fTA9zdZRTDj4BxdQL66aA/Eat+p5zeLi\nyaO+7rSfABdobYgYMpWLKqZhxsecHhNtcWV8UOokAEH9Jz2dg+kbRAG465Ka\n/jy4NH4znW98bGBQSg8m40EajxbbGqP1rIwXs4tRXcjOUunOiX66D7AxgROd\nP95ILpzF1CZlxVjgSnkZzejR+1yZVC3W5K3WTZ8CuG9vUeeQhTkU1kNIWVbA\nNOW4I2+IHxq6tHmbhUZDWCJQA9Lim6+VeSIRXMs8eXfQXsooiHD+7vdL935m\nWp4x\r\n=uXXP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"0646f44e157e2947611646c4fdf0134268312309","gitHead":"3ba9908ef1bc762a2494701d4d8a9f14e6fee77b","release":{"fallbackTags":{"PRERELEASE-EV-1375-kubectl-19":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1375-kubectl-19"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.14-PRERELEASE-EV-1375-kubectl-19.0_1536075841250_0.028491488206382254","host":"s3://npm-registry-packages"}},"9.1.15-PRERELEASE-EV-1375-kubectl-19.0":{"name":"kit-deployer","version":"9.1.15-PRERELEASE-EV-1375-kubectl-19.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.15-PRERELEASE-EV-1375-kubectl-19.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"e1a01642d023bff6ab5d1cbfc38b4818bd2d3b60","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.15-PRERELEASE-EV-1375-kubectl-19.0.tgz","fileCount":34,"integrity":"sha512-MEpYei/jgiR+lcmPiw8oswnbdOTOHWgU1+0obgN83HmIgNWIPlCLkJq8VUB0tBXTou+S8DEfhpy+W8xEUt46uw==","signatures":[{"sig":"MEYCIQCv/a3+3ecn5AKTNxK0T+2YowrEXiN5Na6tD5BDXWjwAgIhANrwLLnYjdfjYS7IUhbGKW61U/rCM0iLfOr1nonll2GA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68528125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjq0bCRA9TVsSAnZWagAASnIP/jr1CrNxwS1Zy+1rm5fl\nWVUs/WhGfA8uEdGNiZn+lvbTGoYMnYVYAxbOTlDNleXt2gbTITKt/+kNl7o8\n261TY20tnnPwVfhGDI1tgmh9VZEP2NWKvwuMyWiTlEfJaGVcefsZbLAwObtt\n/Zbm/8ZiubfUJDTiuU0M7DsaXHOufHAFdUlusuGyToIsUXV0WX2sTnPiahD3\nWJ0qYitXgjG+BKpX/dtNWeT3l1ABf9HL2w38mPcdnOuCACqUqzwFL8+lNbf9\n8jgVPg/LyW9I1833GQhEQs/hjZELzn34+g5HJqQQhU4Jc4/CXfmTD29P+at/\nes3Qm8dNM0jn3iLr+L9+Qpw3j6cGz/lujeiz+6QE+QJznw7EkkyNrigyWBkX\ntZnXDlzrpi7jrdp481u/4W28j3ADzHLnKuCsmde9cYTzl/5UF3yxtD/AaVxb\nw9OweRKIllYy4IqKH5IcDeQwXjDDgVyreTNpcCppRG1A1ik9qpc8jafouAr0\n9v7uXZ3voqI9z/tJcLZVnxRb02s2to345Gy6dBcVxpCvXL/q+P9aWVHJvIYG\nGhlLo/ZBp06RJ0668wBHIirecy6lQvuG9x7rLLor4GN7I+r4NPR9GbCLGJ6C\nUu/erJczVGPKrR52kKkJtJCv0konV0dT4tvzcqUBflQAwtRtksXL5dCOCIcl\n42oW\r\n=q57u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"e1a01642d023bff6ab5d1cbfc38b4818bd2d3b60","gitHead":"2b20be603625f9067fe45f98a0a8cece95fd0190","release":{"fallbackTags":{"PRERELEASE-EV-1375-kubectl-19":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1375-kubectl-19"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.15-PRERELEASE-EV-1375-kubectl-19.0_1536077081580_0.653382185267299","host":"s3://npm-registry-packages"}},"9.1.16-PRERELEASE-EV-1375-kubectl-19.0":{"name":"kit-deployer","version":"9.1.16-PRERELEASE-EV-1375-kubectl-19.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.16-PRERELEASE-EV-1375-kubectl-19.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"a0128bb50bd50cc5072f4de5be4c48ab6cbac2a9","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.16-PRERELEASE-EV-1375-kubectl-19.0.tgz","fileCount":34,"integrity":"sha512-tAsLcn2uK2sRMrLjhdfmD/jc4YTUyxgOf8BF96YOUAz45nElyt4od5Xowh81hJz2MkVug1vYgT+payuH70b8mg==","signatures":[{"sig":"MEQCID6wW2/AXm2XS+yG02ocIJDMAamzJjSI70D7cJ6IYOTyAiAWQuwsJRfvCzQktdabCcWcPF4jClz3RY65i0w9Xuo2rA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68528125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjq4WCRA9TVsSAnZWagAAH/8P/1cmB7REDVKEm/7ZjyLJ\nIgxGNJYjrW+dTscnYr8A6OANDqRBvfplhcTH5yYmC9XsYn/utA+GdLpotckc\ncicfuGmB6VAEhNUtWb3Mbd4+SOP39Zm1WMR5LgWq/yiYhAkR/C1C7rkqdUMN\n0FP0yo3yifMK/3iSTaMurMmBN8PrEQ791+WvSYMudxzRFW9YfpNWDOJF7z3h\nU9q2uV10aamUi3WMQH8nU01jqyxR3svL7/GcObvRQ0sufSbJ3cJP4fk39CrY\nICWoR82VHor4fBx9EvRt90/95RKgSeA9uaD99L5kDF23XeosgFckP63oSuez\nyEaVzHJTz0PV8CFRlTBuuHVY7QDLFHTCpxlOujFG7ZedJIWDEsEmI9MMVXim\n084FoiJc3FfNwGxJJAF9cApefIx6zAbFa5WllbVgSpurdYmsPktmvyS14nD4\n43CJPIR7TfAzCtqL/2B0LlAcIqD717rFlHGbxecGEI8X7d8UMl+ibD3puhW0\n4OBCQSoheWPdnN+lLh6SO990i2UUWbtNV7+CM2qgM0gnGEREuBbDypkqK4BL\n6LqS8VXT1nDXo3eMc0fPuddh2x81j65ZqUYYU8C3b20VxFU0ksFQ3mH0Bjhg\npgGHlLi0IF22S8WSLAvZKBkt/ouPHRy3Ks79OZAkiKr8SgyF2iH3K9ItoSu8\n84UK\r\n=RRZp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"a0128bb50bd50cc5072f4de5be4c48ab6cbac2a9","gitHead":"7869a79bfa8fdbe611b88f68b402bdf7595c465b","release":{"fallbackTags":{"PRERELEASE-EV-1375-kubectl-19":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1375-kubectl-19"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.16-PRERELEASE-EV-1375-kubectl-19.0_1536077333424_0.905127495486145","host":"s3://npm-registry-packages"}},"9.1.11":{"name":"kit-deployer","version":"9.1.11","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.11","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"86cf7e797acbfdd68b3eee7d8b53549463fbbad8","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.11.tgz","fileCount":34,"integrity":"sha512-mnOlJQUubNekm2BzpevwxjoaOCgB7zaifGI0JQ81EFjOCfbDHRhSD56mv1bRfMOG50ivQHYlapZ5w5KPn6f2lA==","signatures":[{"sig":"MEUCIQCrFrmsZYJOR6wHywovBipOnpI0HW/DUggG5PE3TDnE9wIgRMTL16JA8EOJ/laP0A1fABfN2ApPT5H57h1MO8SSnCI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68527928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbj5x5CRA9TVsSAnZWagAAaZsP/R+qtYdxCOmtL4ypXnWX\nDUVB82O60G132Nm9YXQokuNZwuhld6ilqDcJW3UnZYp/Z1InosaQRZLZcEPN\n1ZWAESWMhScst7/NrljLzYCXecE0HZBw3TqLNWYkMdxKIEyWtDSScivuXKtz\n0g2POXQA/HMfS+lw9Ulm5XufMS5WevYFbzwb7Qyytiyk6hT8AyMeAv+5g8FU\nC9w2FZCklxu3aMmArUGOF5BjEfwTaTrYgbaxkGO1/W9xziYZLTFfYprXjcoz\nnCqmqOrfJX1lF+y/OE5YPX7e8eCGeoOMyVcTKircU+6Dpgt+fBhjrTHcwTSf\nskq3LnbPTiaZFiN3Ca2TWrZvsgUFPVH6AkXyomOWB3hRp8kRXcOINR2Qu+zo\nll9fayICvrxxMZzzp3hIOMDAV1/MjyjS5YvJ4I3GDKUZnCAwAAiHen71CsBQ\nmwVdxwa0TRiVlDkv4OuqYa7Mnw2aUW5RsHIZ4iuF+53dTrUBzSiJcZLxjVkc\nqQj3qGYI8wu6MykQ+yOGjELOScUtH9j4ICF4lqR9LDfhmdvGOn+cVv7SSnxu\nhwg/4R+mPotsO3oCeNIgVPCe6MRcUzh9ZAxmkbp8Rt0pPLpxFejt9k+5ARsg\nf7/EgIRWHzvtI6wNgFqbpUWoN3iQm13SyC95KWUUDhY85if+vWxroUq/Ek3j\n/qm9\r\n=vsBa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"86cf7e797acbfdd68b3eee7d8b53549463fbbad8","gitHead":"d24372ec37c427824564fe91b92fabd99a76bbad","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.11_1536138360612_0.29291323898973687","host":"s3://npm-registry-packages"}},"9.1.12":{"name":"kit-deployer","version":"9.1.12","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.12","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"f53c29d1db61dd89afd5809b51cf7b5a05d1e2f6","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.12.tgz","fileCount":34,"integrity":"sha512-RrsktbS7kXQIrpuOR14C0CBCGTtHlEdEri8cElAmveKO5if/lMePyuleQbI9lnl25PT55dgfAjKVUXbEe5Ev8w==","signatures":[{"sig":"MEUCIQCLh6fdBogh2SezXMxHe59GPt3C9sBv2hez/yhRhFsgCAIgYkD4//cukIxTHP+oaxzlJswsIiXI6cZ1+X9HzM7yLZU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68528220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrQJ1CRA9TVsSAnZWagAAxZAP/2qjrWL4UlffrHDecVWg\nKsLuojFTZkCVmcf1juSbX7ibtBsmVPTedkRui3nAopw7ojBWRsyjJlAcy8CS\ncwVTSZH/KzWphTmJmwaOFP/jcWtfGdTijkFZ0lYWq9NCdmqICRTvO4fWUTSW\nRHuFGjmaUUvB8wYV1CFoKHMDUQ6qeZgfE82IWA/pT/Lcz4jEYB+pxN0P/U/P\nVXTR9eDBlTti6ajVtC4AcXhmI4xbPthyLNFGcWmkMPZmQu+41/c7c3w3g96c\nDfNJZnVhZlMcNNDDTYUBf9/JtQd3qGJtiDAXlhxbNM8baEN/19HZKIl/XHRs\nXbVZMhlCAZrQlkaU4LJhL4Pcz1rM7vI0Y6+9OWOITQ5eO9Yy1XIYB4eSa6Zb\npplRin2EpsSnvTwiEUyd3BkKN6OI1KY9ry+EiHGv9BsHCdVifYBgFMT1HQJB\nsxoaJuy+XUaxB26E3YRvzDHDFZj5dfnm5ClnUevfqmv1J5pS8nLsywOJEgQS\nEe8E0XRMvlf1/YDdxw4i8sxiGe8uD33udnIWjbLorEowkxTHtQyy7NyZ6/P4\n7cYBvhJCxn3Jx44oYDntAoxFN0p2Ci5+bMjd3xeDaUivi7S2KpDl9LOLeaG1\nfo/TetyUhOquhMCPsxSMTwThz9LYstOaYGyptviNzOPviFhbPLtxf+NjNjAy\n8MYu\r\n=NadO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"f53c29d1db61dd89afd5809b51cf7b5a05d1e2f6","gitHead":"19cc7dac7089928136df80a9e48c760fc62f03d8","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.12_1538065012604_0.03736983987225395","host":"s3://npm-registry-packages"}},"9.1.13":{"name":"kit-deployer","version":"9.1.13","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.13","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"f14e4836087029de795bdf8edb96aaef537f6c63","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.13.tgz","fileCount":34,"integrity":"sha512-hQ0D+Q+/bB9n3w0B8b9Z3nKxkM2hgd5b32LDcyVCHGRrFyZoAnVV/sfxzJF3sJx5tedOY6av71KQw7yTA/sefQ==","signatures":[{"sig":"MEUCIQDsymnZPsqBUd+oJhjUm8X8QcLGRKksHzCcnfTFUOEuaAIgYi7pBWtLVn2LE+iOdxd13UXd+XL8IoJao7Iyd8wcY9Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68529130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbuxFoCRA9TVsSAnZWagAAk20QAKKaWf+T1Xpr0CmR5PT1\n/B1hac7xPGD/RogZWCDonbJW7xecn7R7B2LHU/AdkJI+XyX+3VwCi3WOBHya\n+QbCk/3tm82Bg3RAuX6tiClAGj5XRpEbesVErQHvuLeFFNl5bVdik+KnGsIq\nV7103mAV+Md4BfcuWHggxIWdQw/O/A7OMluXC6gqnP5pz5WoZbo1Dc8vMuPz\npYPCgZcoB/NWryMtDo6ZrRA1vRLWAbd7OhKVI4mx+7FoCjEvqirEOaNT6Q28\n62ohlZQExWLlpzkdTfhZWVag6i75X1yIZiebVSqB8IIZ4da5wciulZGhMMZG\nnxLM8TX8RR21H83TyRLOVpi3cuTLxLR0nYjXS6YzZ9CIlMUwzkIeA27GUGGE\nYX71ot9FKuCEwkc8UXEZ2TpJEF0Udh5vBk6J4V4/nuU+Sd/a0w+T+LJXdYG/\n6vFkVhUkyKaoaHzvJ89bKZ4pe95kCMMMclopxPvUGJLduVahc4o+rU4wuv4o\nay+rS7Mo5e62w96bBhTeDK0nq6+Q4uZXczuVC6HyHMdOtF+SFUnbs7VfjKsT\nrZ/zbaJokPNsrfApxr5HbI02qo3nmiPWnO38T8X84ZHyWRclr2fIbt3w23X6\nT/e4fNQUy1mryXCXPrlKg0fIJj/nz2CLkH4XQ9oDdW6L6ULsHSw3R60VK/bK\ngvnr\r\n=hhFA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"f14e4836087029de795bdf8edb96aaef537f6c63","gitHead":"d36fb2ea3554c750e0ee2e9d18b60a477f555dd5","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.13_1538986343490_0.30537179563485406","host":"s3://npm-registry-packages"}},"9.1.14":{"name":"kit-deployer","version":"9.1.14","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.14","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"2d5fb5733b6af7791be3bf7e12d7979c70ebaf19","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.14.tgz","fileCount":34,"integrity":"sha512-cRJjY9bnXEo5G91E5N0OZ8OoEQ1GfwAKAOTEf+V1cbvIBQOG+Dc3wU6NMqV2kJIN/paDPclKU4t4Uu9RP9YnRA==","signatures":[{"sig":"MEUCIDJH/LG5wfvDbOQEUTz93/a2hBh0wfUQf3mPikdxkya3AiEAlsfJDwfXDgsaR0gIwpMtLeS7cyC2vcJY1KocAZMhPP4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68529167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbu2VfCRA9TVsSAnZWagAAM50P/R9Q3MG5jeAZifPVDrvy\nNy/geduvQ6MRMNuHi7ZxDUDpDK4tfTyusYP0r6kxG201AANXp+t+pMhXitLM\n0Su3+to6yK2h7TMVsoyBr0HFMq8MlJIuZvmxOcvFVDqI9QEZT4e4lKdH9dQC\nBrOD7mpzoiwO/iaWNTDUvNPiejRfS4Nk++UbwrwSmEaMwPtlCE7Y5EmPGR6k\nBKNHvsi33BNsnAbpQAuCyXqd3SXgsbny00mIptNY7ZdXZWxma+reir4fZhau\nqM3IxQXQmbXgc/eJEeJnpegLkxkL+ICKlMmAvfiNXDLFJU6hvZzX16fQqunQ\nAStvJ6nc1OH5o1DAqwN1340Us+DYNllT0QPjgGaJRA8l6Svv5Vlf0BPfU58W\nQrGIChdGR6b/ByPXCvbnedE0OtV/UIDAWcLJI95srXFqxcQhQHwge0e2G4am\nGow+uE/tKily0RYFEpXjxEyfB7/A+X3kbrYydSiPcgec8Q/prsd3blwJ/Qnc\n5xxwdfEuCUWKYFBJKqwOY7g+Wpn8LP2YYGxjYDDjq+YJG9Mbm6dP7Sh540Dr\nqeqBNdTHbfK1Dw1Dd5KYsH4SvhMzhCdAObtNGv3y2aeBY1NHvM7jIsZ1Furh\nhZk5SGLNgC1z6MTseYmMAkiuflFxq1+7ZYvrY6VcDwIJqtY5WgPYCmvge6fs\nWjVx\r\n=6taE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"2d5fb5733b6af7791be3bf7e12d7979c70ebaf19","gitHead":"79c2f0b6bd540810b924467a3db8054b611a133a","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.3.0","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.7.7","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.14_1539007837771_0.8844783447138957","host":"s3://npm-registry-packages"}},"9.1.15":{"name":"kit-deployer","version":"9.1.15","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.15","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"386fa201354e375541945e46eecd43b25cf4fd3f","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.15.tgz","fileCount":34,"integrity":"sha512-euH6c9igSBD2HoqUeO7MNL/GWjbTyxT8SLRo/7UXvTenWAVjgaOtFIIdLWYPjaGNQSieoMAiu8ATQ/eqIQ0CnQ==","signatures":[{"sig":"MEYCIQD+R+QNiXDkSFJkXvScr617Guk4z1L9yDALgnsWK1pgsgIhANJ75NASLVv4mbV/k8ipA2ZVpSlsmI7SnrnwFBBQz6jz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68529170,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbx1hSCRA9TVsSAnZWagAAz14P+wf7IXbFk0ONVr+UKFIb\nbEeXGwr4Uuo8xmbDaJBhQYGF5EeqvUybBxc0HXCJUMOxBNMZde6eiBMRfa9Y\nXQaDFsF+ZXFAonvkRO08vbVH/AvPL6fSf055Y08/l5DP7jRvjHQ31jLzEI/D\nLj4x1A8Pcp3jqbGfncpXSp1IFZ5iJBPcZvRUD9ACCWjuilkmP9hUQ6fOpqXN\nqhOpkadHiGbNvqBTe6Jc9UAbLk9b3YGnotu3mmDXHXJQitvwY5LYc3AKbT8L\n/xOCYA6qCbQMp/oUhXEcXXAoMVDts9VGCDQ2vY4caaGkDF1Dj/jgwMOL+Gq/\nytcnw7CcuiGK8L/eIMR/Hf5mIEMIxSVa0S2E3OwGBKhaTiPB2UvWWj7JWQD2\naV40D77ax51ycEMnMj+Z3q1susSV9yZUbpxHfvJ5he6sQSVPmcoyGbeSI3s4\nXbDs2DYr7C5tGjfpicY4XxJGoG8Lr+tEpJfG9KMLY8dJ9jqTaoCgk5A7Oudp\nTpRhAvshcJ9joIqf6QjkIqdA1uVnLGQFBcjI/rAaagqDaCMSUeZKQCBPsJ6O\niCX/xyJH6tfGcSO8RznT1dUN791JUgYCddwCGqrFKkLfqfTk7lmdSnsdk9wr\ng3dkj5EV7/2evya8rxHnMIC1AXbiZst6OWZKquGr+8AdxBIbC/dXTje0iW5g\nTVxW\r\n=FZsA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"386fa201354e375541945e46eecd43b25cf4fd3f","gitHead":"4af3af7568bc24ef2fcca0535f541107571cf008","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.17.5","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.178.0","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.15_1539790928951_0.6605643249222903","host":"s3://npm-registry-packages"}},"9.1.17-PRERELEASE-EV-1602-rs-orphan-cleanup.0":{"name":"kit-deployer","version":"9.1.17-PRERELEASE-EV-1602-rs-orphan-cleanup.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.17-PRERELEASE-EV-1602-rs-orphan-cleanup.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"sumcgreg","email":"sumcgreg@gmail.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"7bf4595374d3fcb1b26502ef7e6915f4a1ae16d1","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.17-PRERELEASE-EV-1602-rs-orphan-cleanup.0.tgz","fileCount":34,"integrity":"sha512-5lV18Tnve2EfghWngFQ9yPVL3W5L5Q4UldV/wJATniK/fBtx2QEX+fBcbScgs8qadHdsxyeFtisSyz3wU95ZVg==","signatures":[{"sig":"MEUCID6fvT9LJF/LZ70mdBxSmDtrsBl6zXT1FHUSmFjF+1AVAiEA4vOHaxkwJoUoTCNHg7DHhjTo1DLV1Jufw/mNgBO8hg0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68531307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb49WrCRA9TVsSAnZWagAAYVQP/i+swQ3n/adk+2X2JHBz\nmYUxKMOY1kxGxvgTOvGR6Y6Ll6998N5hIZpzrrDTHLd/MdwxHbziPE4WsvXm\nWfwIZg60tJW3IqEHGX0UIY4EYkgab7T+4G+PIeWTUbsDydBK0vHRk/S/Tx6a\n089OgC8jc+LXiN7+ryoHrjv8QRFRC1gwsPfGCBkdFqHXkXmOFXmH3KUlm75d\nKE9Hy2n/r1LJq2jlYrf2YpCRzuElKax1eiW3tQuo5BWjadOa9gaDuJgyq3Ir\nIvtAHeG7CpGIrMRSUmqJwNMoUJJ++0gEdJboSOvfwzzdhzQElNaipTxyTHAa\noF4sYhN0xFVZ8TxyqyyWIpiCE+0i3f5TcIwnqCurtxB4TIJuhP7Sfy+Oebec\ndwLJ3fvChKWKKYKwnxjBZIRjZQXB6groGNhHDJwELk85PIqohF5aFLOhuJW5\nitPxwD45VcjPsOah+c5gGeAFHKxLhpUcAyb1D1wT/x9M5jAMAnWEkRCLdo9s\nK0LJ24DEMWwgLJcg8dEn6vZxHZb86QNMcIwcTyGyx0BYkWy2KIr3BDu/EMx1\nFUdlr2RwWi/v0AwOpm5eNxFsd0rgXLXPA2vso+3L8i526je1tpHiCVdsgfEm\nWEcW/tUJYC7RsEibVKcgCyt4T+aTLokYsZCbFSybybVFVYKxgL25EXYtNaer\n9pP/\r\n=xH4Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"7bf4595374d3fcb1b26502ef7e6915f4a1ae16d1","gitHead":"f4393d9972663dd3017de47ab8d4d1d85070a500","release":{"fallbackTags":{"PRERELEASE-EV-1602-rs-orphan-cleanup":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.17.5","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.178.0","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-EV-1602-rs-orphan-cleanup"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.17-PRERELEASE-EV-1602-rs-orphan-cleanup.0_1541658026777_0.008208918956427391","host":"s3://npm-registry-packages"}},"9.1.16":{"name":"kit-deployer","version":"9.1.16","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.16","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"sumcgreg","email":"sumcgreg@gmail.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"296fd4c04ec4b57cf4c0f93ab7ecdd321adb92a7","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.16.tgz","fileCount":34,"integrity":"sha512-kB5p8bwAsf4EgHVkqCZxjlvoanmjkkpaWFCVMoTRz+s9f7A4U+3N3W9sJfUqLNpus9123Vinsl5UVvKOJLbqow==","signatures":[{"sig":"MEUCIGws6k7e9bOsNB6p0B2KCs9/7x7fLja6dwt+CxSQfIlhAiEAoFtd7H4sqhF1s/sLLpxOCFaO9vK2j1G66GkNTBBR2dE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68531089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5IicCRA9TVsSAnZWagAAjK0P/2QzLmQhuiz2kQFsDdqf\nJ8KBLcNHZkKmfo9lfAgOHpogQaB9lNvsgzx106jrB7dM+RCAj/KEOR+HSPkY\n+X9TCkSjC8e6QMqq+fNLKMnYWYnFLeaq+xhO5fjVD1yXSzDcHpHrYIozuaDM\nitdh1fevqyDqCsss/WDhBZY2M6kt2Vhmcs+NW8qvDe+w1sjYrtex3P7M0BCk\n6M7/5V+BM9AnZIRQHLvUJf+Qph2cATHK6Rkdep+YDrpSN4uJjKKvRO+mYPTh\nDkk+J4G+4BCN6fHvwmcsZOBl7tmjVdEYP5nUcuMa1Y+bqP8ehxX/9qPzqmJQ\niZeeDtEj3XRiJSVOepP/boyG6EISDFz5IwQhYjCFEYOTP/yZo5SAjQt8ilI1\nFac9e3f/5YPqsEblA7LQFz3ykSyXYE3lOYOMubDiHthEIo0E0kPRrxpzvxm1\nAIm0QwNLhjKfcOcVhJqSWnrysskESI5cgOCsaljCzeIR//VITXsvHzPeUj0M\nkXIg92XVSjS1wlceqgubNxxbgfK9Lo8MW7m3B6+bmlKeckPGfa4/XZFRD9A+\nZ4KPRrQSD564J5nr4vvs2J9GvsMaByH1SjM4IBQZ2PSWmx54bjpwud8JhA9r\nvdqLy1SigsMxmrs32cBB8gm9b7ThaiZ7kYpOuu4NiHXuQw1i4oz9WNu+Xtrt\nK86l\r\n=9FsQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"296fd4c04ec4b57cf4c0f93ab7ecdd321adb92a7","gitHead":"c8582a030f62425f316e72f3a9f3d3ec283c5eba","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.17.5","log4js":"0.6.33","mkdirp":"0.5.1","aws-sdk":"2.178.0","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.16_1541703834960_0.7285662081732256","host":"s3://npm-registry-packages"}},"9.1.17":{"name":"kit-deployer","version":"9.1.17","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.17","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"sumcgreg","email":"sumcgreg@gmail.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"f006b71bbc6bb8051d754eb0a918d3047904415e","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.17.tgz","fileCount":34,"integrity":"sha512-T1z118moLK1sAZw6GiLaWKeNGhWJXhk93znBk1OzMYplBCPjGHXrzs8G1oDGBHmwWenF+0nOlqxF3EiYMfsD5w==","signatures":[{"sig":"MEQCIBPLGM03UIjjLW6iwH1pSp3m7u3evHjDrnum/uxFORi8AiBIcpWo5P6Mb1x6m00rpWG2EqkDbPog8NqYKhJswOc+1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68531247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXD3mCRA9TVsSAnZWagAADOYP/Rr0ALZDXKkw4Kjvdg1I\nRzVPMfd8V/qzdigx0mNwTUNmzSi43oyYfhkPPfkd5G37wE133wuwjRN/A30q\nrMjPmvwg/D0+iZiWW97YqmkGrTn5CHbjh/chUaG42WfxY9V7c6Xvjefc6Vb5\ntfNJd0BwyrNk+zPqs7DMULOX/Ew8vdbS53xbpu6DVLjEDXLnHMPJ5/ycF77F\nJAjSwYvfCspCdZv16A6MX95x9iix/l8uDvKV+M9ck4wck9Mr4ub3WFXwZ0hS\nFIBuMQOtNhLAu9lIJOR3VyEukntu41NJCTmM3HmpXcdf76boZaGQwq5DncFY\nMYhAmJO/gkSaZEHpSjlAx0P/59sESk6aqOcejYMSecBInKYQcUfUC8b95n6d\nzJzVIF8/JeYzWsYsj/fm/OouS6VZ87JtJhGjamFocwVaB9UQkZOWuAneVfPa\nm1j1VWCrVE8FEDJX9RoqvNLsMkRBGaQxbSWQDj3H+63tVC9uUNh/lbHa/Ac2\ngwm8lJLZFgcX+PqUC6ycatxE/ogH/IK/i+dmlDfvJEWVebcP6C05P2H87rT/\nGE2fxlj+Hd8x8xIhiuf42LR9OdnLnnTRGNT4OIrGK1fm14JPb/GTcLCv82Jf\nmb3WFPoZ8PUFzdjz0kiNOa+oBlZLKI0Ym9WSBG3HQTrw/gorje9SWjlushof\neEyn\r\n=Z9if\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"f006b71bbc6bb8051d754eb0a918d3047904415e","gitHead":"fe2c05f3c9c6dba29e41415ebae92f072bc0bd8b","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.17.5","log4js":"0.6.33","mkdirp":"0.5.1","nanoid":"2.0.1","aws-sdk":"2.178.0","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.17_1549549028916_0.40672165275668326","host":"s3://npm-registry-packages"}},"9.1.18":{"name":"kit-deployer","version":"9.1.18","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.18","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"kimmajor","email":"kimmajor@invisionapp.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"sumcgreg","email":"sumcgreg@gmail.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"9ae44b3a9a0253d15da3b5513faaddcd67376a28","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.18.tgz","fileCount":34,"integrity":"sha512-UypZYXoS4Vqp8Bjt9sysXMq0Khd7Q/9OnlxeDEn7//gs+wHsd7ZOMYdVuHT8mloGLrrg6QuWKYhjW1NYb6vTUg==","signatures":[{"sig":"MEUCIAj7kOQxQq4xmyQ8IYw+LqwKVWrt5HH8phnyX6GMhicJAiEAsA3vBT9x2xSxg3ahlmpezr8v2f5MQ/IiSifXV+84mr8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68531790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciNfgCRA9TVsSAnZWagAAvi8P/15E6V8NHPTJrJGL5ux8\nkfxyexa+3wFtshsM4/1xnvsDo7DLMKAdLyOEHtxtjKm+2aTWhu7Blwi5QAAw\n/sgimyqeaHHrtThpqNXVq1ug34hR8Ge4H5rHl480g2+12oiYYETSoZhHON9P\nB7Vonu0g5Ld4lMYnoe52k3xLWHEmVc/nrjEjoIOogFZcfnaf0pS38rcWwkCT\nA8Ws9MC8+x2GjMugXBr2aHTrZEA0F7rHqeCpaX48nXD/8Ui/yXSkwZjvJQWP\ndiGw4wp+nsSDpmymR5qTD1J3GcrH2Yo63qM3uzG+m8isSJPvM7SVqMVN+XN8\nlZxjINYA7xsIG6zo8Q80aJllfaxNRanzMf9WNzGPUybLYKudl/OgwX9Z0tcD\n1TbD1XiHH8AO3QBJNtthtbmv3CHE0p4B1kwmZRiALzXF5y8G3ZvZ74ldlZ7o\n5sFc+uI2aJmWqhG2N/HN9NYKz+6cWcVX9xLKuE1LWzNIAx3P2ydvKnnroGx+\nckRH0nwFKiH7c3oaIawHHJcrhsS8xaMSCE7SY/ca5kRt2P768XifopMZRHAi\nQmmapRBAWkURhR6fCUX5cHfD97M16ohqPxPt006f5wYGeKdU3syVany33X0Z\na+4SwcVSVz884vYJAHcu3dgb8ZUF7yeg51UF6Dzy6uwJNoSOZ9Cboei6zfgy\nsSFc\r\n=pn3b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"9ae44b3a9a0253d15da3b5513faaddcd67376a28","gitHead":"8e0e2bb0d48a82256d1c07803aefa9bdc80c0be2","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.17.11","log4js":"0.6.33","mkdirp":"0.5.1","nanoid":"2.0.1","aws-sdk":"2.178.0","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.18_1552472031790_0.8575684985452787","host":"s3://npm-registry-packages"}},"9.1.20-PRERELEASE-new-token.0":{"name":"kit-deployer","version":"9.1.20-PRERELEASE-new-token.0","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.20-PRERELEASE-new-token.0","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"kimmajor","email":"kimmajor@invisionapp.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"sumcgreg","email":"sumcgreg@gmail.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"0cf69c749dfe5a5eb6ceb831d00c6f752c0b38f7","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.20-PRERELEASE-new-token.0.tgz","fileCount":34,"integrity":"sha512-13ibCPd48xtMUbrJY01gLHpeEAYNJFQpqzf0uMkDjrVOk2M66lHstJuC2Hc/IU2rdzh8QgodKOsLWsEGEFzINA==","signatures":[{"sig":"MEYCIQCW0ImeJSBUiBFnJ4cUtBra3b/4jjjs+x1Jivy3+eqDbgIhAMLqDey3k6Wdlx5/T7QBHn8sZ+ceT4R1/9JxLNyOSYjS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68531960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciTLwCRA9TVsSAnZWagAAplAQAJfeKaJmIIgB/OjbpRXy\n2yiQzGfd1mt0uq2gOJmXemRg80IaTmIGI4C8WVuZ/ucHByGAOii2WtpoK+So\nxCL0ihD1W0pQE0ZgAw79SBmVL97Z+IwAR+ahBosxhoQ/5a9ka/cVQp0yJ13H\nlwbv9THQ0TildIRnrDX56vuxitRc8nTwLj5jECUvPqTybPeyDlPqGg6Vsidw\nkQ1L3FdMLlNGU3c6q6ivgzVgCqtB3qn8epYW5vsOFfzOY9J9BOqhD4rokkpR\nL10ToiS5FPc0DkLl2AWfOKZuTNuat6OZgnVm5av/JYdqx9MTEm5AKpRSoLmO\n1nXLa3nez6DU/2Hxi8qioB3OVPkU8xH1CRm+4h4JiNsVTS+VKOW/jogLd5bx\nC33mE/+5biPkXt5uGB0YrL+zUAenTwQUP6zhW1LSLIgLqqN6Dj7aQbAhq+7r\nZbF3sSLTjYRtTAUD9gHY96Fpi4ScgJQHkwB5XLI3HhT3EWNwM9GJeeHEB/MJ\nQBsVYtdUBlQFeS/dMXjCzD1ow5sGZmc1hdWkfE9NCvyjEKqipZ3WhC4eTU7C\nTD1UO13/PFXbeUaD3l7ZHJr+jfLIKSCJRm0nPClYJNYhQsI2gZHcDnpwKuU0\nmNH0mXV33lj3A5zG6aLiXIf+fDgVKWOm0BR6tgTtQifq+fCBKpmL+uQ7UEQw\nJo+S\r\n=XzEW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"ccd50691c75bc7bae0a5490ea08ff9dcc9c264a5\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","_shasum":"0cf69c749dfe5a5eb6ceb831d00c6f752c0b38f7","gitHead":"2f450ea0f43fe4d310558210431a5d71353fec2e","release":{"fallbackTags":{"PRERELEASE-new-token":"latest"}},"scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.17.11","log4js":"0.6.33","mkdirp":"0.5.1","nanoid":"2.0.1","aws-sdk":"2.178.0","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"publishConfig":{"tag":"PRERELEASE-new-token"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.20-PRERELEASE-new-token.0_1552495343399_0.9036075088851536","host":"s3://npm-registry-packages"}},"9.1.19":{"name":"kit-deployer","version":"9.1.19","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.19","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"kimmajor","email":"kimmajor@invisionapp.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"sumcgreg","email":"sumcgreg@gmail.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"3179a6471fad9adb3504377bcd8cf4316a2c705b","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.19.tgz","fileCount":34,"integrity":"sha512-kQIuUslB5ZpD9Ph22+fCQ/+nhUKMztCLwV35EbyXUYnxOCYBtSKlFhQoYJmRFBxyYjBS0bn4a5x6K2W+eut/zQ==","signatures":[{"sig":"MEUCIQCKmEI45Vx3vGLShH/g4RDsyVI20FTRiG6LyKZ+/n8XvAIgKlUI+NkXjlr/dnkyV1LaOF5Ufyz01SLP6vZzqPB5ehw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68531790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciUFRCRA9TVsSAnZWagAAKDgQAJ/RNozIHzv4LEEu/ocC\n+j9b0WF/yn8jlXjqqC8keyIq7eJN0atPn4fATtgfioROBBFVW+llT7mrzx2h\n/5M73n+0OAgHJz/Vw3Lqvb1j2g9z2HQJ7NDolJLVULgYoc6EBKLSDnKYppbF\nxgDOMg9pyB554cXv8NcPotXdKrtegx3vdDQd4eEzrQEcY/7WA0OLQP0ClqWE\nQCqPj69Ub2k3H8q2l9Wn152EAUA7Smz4E7c3NWylTR/UAHFZ3u9S4t0E/276\n0A9lwpGzp/e3cZAO/LPJ4tVCSkdnytUKtWnxFllZoajCGw5x+ry/4AKXXNok\n060pg7f702op1dA9ztXriya+ffYyd/Fml5aW5rZXLn31CtROmYBa7kpZ6cRo\norbbYGpc1kjqJasP/dE5cYWZlpMTfa3biz4zloJUUccQXIEGpi0CtHZ6Xzwt\nnzIRM0SRtBpI8deIcAgZcx7TQXQukEB3TA0ec/tyj5kRJrjtK787RtBLVuq4\nvK+Kr865luKyuUnoh4tUpOf36xCAGGyCf4xpKcFdmOrpohsnGDNYBE9Prk0G\nQhNfgdZjeJK2MgrerZyEYJyMz85zfsYv4zWFlErFBtm1zz7Q0Cb9zRQf/qP9\n0S2Khv5c/eqc6GMBpQgA3U9pj5zJu2aYfOCf3VxWztq3NgdV2nQx3eJ+tj1G\nhBye\r\n=CmP5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"3179a6471fad9adb3504377bcd8cf4316a2c705b","gitHead":"77d49c447696b1305755304f7de8c3417aea9e3d","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.17.11","log4js":"0.6.33","mkdirp":"0.5.1","nanoid":"2.0.1","aws-sdk":"2.178.0","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.19_1552499024082_0.5895698999153434","host":"s3://npm-registry-packages"}},"9.1.20":{"name":"kit-deployer","version":"9.1.20","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.20","maintainers":[{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"kimmajor","email":"kimmajor@invisionapp.com"},{"name":"manute","email":"manuelalonso@invisionapp.com"},{"name":"mike-douglas","email":"hello@directive.io"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"sumcgreg","email":"sumcgreg@gmail.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"8b37dfa70e5a6149dfda17daf2161710253b9d22","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.20.tgz","fileCount":34,"integrity":"sha512-nlBfH+ojIYGH+r0iq0x3HKcSv9a2Maa+SUNIcMeyq7GDKZXsG+40fAn070ZSvVTWdD6lZyU9lMpIC7S83r7TdA==","signatures":[{"sig":"MEYCIQCBy6r/GTjNd8220zoNB3xiIV8v2eww2ZzZi2JMb+OzggIhAJttkrzCUO+IQEMBOtJrQxM4OJ73IlCRGRkxgYBdWu2I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68531875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJco28aCRA9TVsSAnZWagAAffIP/AgrGG2k/VwbSfhiH3oB\nKIrltmxoVnxvdj/qaPJzzOi1G75F44rPN44h0Dqm//6ykCEEdSIP+mu35YAC\nQd9gEtaF+K8jnplEM0EbJwzHaVfNOPqsRE8auJqdw70Qv7NnrkjaowMi68n9\n2h79+UpeOgII077xkIe2ia7wUPr5+rPEMknxUDH/OF0NKx78pCntynexqPsO\nHYilIqir2kBW8trxfdYY+RxLHpc/MdsLMv7XZnHrMIskxvHmR00UOiQhWzVX\nRA1lY2lgHSkDIVI12WWCxZ/zPPfrmGz0l+/f3x1VjI/D+jrUXfp0py1/jbJt\n7SyogUMVGuelWXXHqfR3/MtKEsQc/O6+Bv6r6vwT1a2GmPF5TXhfF1u0xbfx\nLExsv/t95yCaiHUpc2yY+Y1ZtKHY1D1Dzl7BFzruwLEY0Ci1buniz4x+9ti/\nXnRCNjfX4BUfeJLeIozMpiwjVAqIvkfBY7MasZIRd2SWI9DLziMYW58ZT1xB\nAHyr+ZNZiev7YwarBrziMgL2pKXpOLgWO5svgykIovC/6Ob5sD4fSKB9sK8z\n/jgfIGx352ds+QNfHJiTwqvo6AY4CvlNoLMpEXnQ+Egd+rI0eHbBl77DM+gl\nrN/bxg0n4eiYE2c1/0dNf2d+TgNUIMgUu1nq6/X4Y9oT4r4YvLhpoZVvcoOq\nqW5Q\r\n=k/Q1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"8b37dfa70e5a6149dfda17daf2161710253b9d22","gitHead":"dab99fba267103d561688643e37168cea951e15d","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"deprecated":"Thanks for using it but we will no longer support it","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.17.11","log4js":"0.6.33","mkdirp":"0.5.1","nanoid":"2.0.1","aws-sdk":"2.178.0","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.20_1554214681193_0.9455365532338462","host":"s3://npm-registry-packages"}},"9.1.21":{"name":"kit-deployer","version":"9.1.21","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.21","maintainers":[{"name":"adamyonk","email":"adamyonk@me.com"},{"name":"alextreyger","email":"alextreyger@invisionapp.com"},{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"emilygoldfein","email":"emilygoldfein@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"icirellik","email":"icirellik@gmail.com"},{"name":"idev","email":"devin@devinschulz.com"},{"name":"ishotfirst","email":"jason.lemoine@gmail.com"},{"name":"jakubrpawlowski","email":"jakubpawlowski@invisionapp.com"},{"name":"jportela","email":"joao.portela@gmail.com"},{"name":"keywordnew","email":"manil.chowdhury@gmail.com"},{"name":"kimmajor","email":"kimmajor@invisionapp.com"},{"name":"luizfilho","email":"luizfilho@invisionapp.com"},{"name":"manute","email":"manuelalonso@invisionapp.com"},{"name":"maxnunes-invisionapp","email":"maxnunes@invisionapp.com"},{"name":"nadavkaner","email":"nadavkaner1@gmail.com"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"sgrigson","email":"shawn@invisionapp.com"},{"name":"sumcgreg","email":"sumcgreg@gmail.com"},{"name":"titaninvision","email":"titan@invisionapp.com"},{"name":"tomashanacek","email":"tomas.hanacek1@gmail.com"},{"name":"vickycouturier","email":"it@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"6d7b18993f21a2d10b16a72e77d2c964249f2536","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.21.tgz","fileCount":34,"integrity":"sha512-P3KS/vIOhd90Xb17FFlIluL0dkjv+Knl0gbA+BxMhq3Vd98uw0ggRu9GChKeJUrHaKQzn8WGXRZkOXaKdgfqVg==","signatures":[{"sig":"MEQCIGrgX5+SnHwobcpAJUpMSC803o9FZQvK8pmnidy1hl64AiAM67tHzLoyOwj/MIVKhmeiAgZdsFAOsuYPJc981+ObPg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68531853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcPo3CRA9TVsSAnZWagAADzwP+wUTGbsWbFRk2MZRsyYp\noorWCBiskmQFLwe9EEjKeFl/nZXIqrnRFqoekjvj1sIHUcIpsMeLl6HLwkdW\nLeqlYtZJ3aZ6xXf+SMcElziCjcGNLJtWuTRfJFlkKAobDnS5/h8Z5EeGuSsu\nDQUCun35Ybzlrjt47rtsNP4w7839NB5j4e65PC0ZG6uOzqny14363OTj/0oz\nXaymARCUd+a0n/A81GeSxQC7xPAgDLHEu/eaJ6iqxWsp/zRqDfWaBE3Z1Emu\nOqjDML69YmhDMIEsi2EmEstO6GiJSIewqF4IxKtknbf6hOwnE30SdxuWR2g4\n4lYoen2g8vYOuM8oQGTjym8BMApoqJdaFmMY+EdaXx6cmJCeUS6jx2X2KBa7\nV2cSHiLH0yYw95c2rJflrJbji22DmbQKWUxqOBouYsTcl+wZ5+IeT6qQwCrc\nO8ifRlWCjMUgx3M3qWdszvTCFeSQsURq2i5YBrPj3CGjujPMJrPoVAafZf+N\nXHJg6pf5Pn4QjwJ6fUNwMVAitWp8ckuF7E5QEUvsHZP4ltsHwlZKn1ugUFbv\nXUr/QRglCyB2Mlyiq3pFuE8mrGU0u7+9D81JUj0dzDLShQU/dr4Ewic4lPna\n4T66asddVR14HMEd7YpvTCDFyRVQkPOfTy7RkwayENizAE/6XSn4AgCk8Ljr\np59a\r\n=VSJi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"6d7b18993f21a2d10b16a72e77d2c964249f2536","gitHead":"669c8f6ff65ab7e5ccec070dcedf8ff2a0ce3a54","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.17.11","log4js":"0.6.33","mkdirp":"0.5.1","nanoid":"2.0.1","aws-sdk":"2.178.0","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.21_1567685174775_0.6898724441346484","host":"s3://npm-registry-packages"}},"9.1.22":{"name":"kit-deployer","version":"9.1.22","author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","_id":"kit-deployer@9.1.22","maintainers":[{"name":"adamyonk","email":"adamyonk@me.com"},{"name":"alextreyger","email":"alextreyger@invisionapp.com"},{"name":"amytroschinetz","email":"amytroschinetz@invisionapp.com"},{"name":"bee.wilkerson","email":"bee.wilkerson@ymail.com"},{"name":"bsana1","email":"bernardosana@invisionapp.com"},{"name":"chesleybrown","email":"me@chesleybrown.ca"},{"name":"devops-team","email":"devops@invisionapp.com"},{"name":"emilygoldfein","email":"emilygoldfein@invisionapp.com"},{"name":"erutherford","email":"erutherford@gmail.com"},{"name":"icirellik","email":"icirellik@gmail.com"},{"name":"idev","email":"devin@devinschulz.com"},{"name":"ishotfirst","email":"jason.lemoine@gmail.com"},{"name":"jakubrpawlowski","email":"jakubpawlowski@invisionapp.com"},{"name":"jonathanharrell","email":"harr041@gmail.com"},{"name":"jportela","email":"joao.portela@gmail.com"},{"name":"juansalas","email":"juansalas@invisionapp.com"},{"name":"keywordnew","email":"manil.chowdhury@gmail.com"},{"name":"kimmajor","email":"kimmajor@invisionapp.com"},{"name":"luizfilho","email":"luizfilho@invisionapp.com"},{"name":"manute","email":"manuelalonso@invisionapp.com"},{"name":"maxnunes-invisionapp","email":"maxnunes@invisionapp.com"},{"name":"nadavkaner","email":"nadavkaner1@gmail.com"},{"name":"obensource","email":"benpmichel@gmail.com"},{"name":"privorka","email":"privorka95@gmail.com"},{"name":"scottrippey-invision","email":"scottrippey@invisionapp.com"},{"name":"sgrigson","email":"shawn@invisionapp.com"},{"name":"shell100500","email":"shell100500@gmail.com"},{"name":"titaninvision","email":"titan@invisionapp.com"},{"name":"tomashanacek","email":"tomas.hanacek1@gmail.com"},{"name":"vickycouturier","email":"itaccounts@invisionapp.com"},{"name":"winnietong","email":"winnietong@invisionapp.com"}],"homepage":"https://github.com/InVisionApp/kit-deployer","bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"bin":{"kubectl":"./bin/kubectl","deployer":"./src/deployer"},"dist":{"shasum":"f0ace1e94ff3e5ab1d90e7aae449c0e394ed038d","tarball":"https://registry.npmjs.org/kit-deployer/-/kit-deployer-9.1.22.tgz","fileCount":34,"integrity":"sha512-SdKfytce1HkguEHDSIy1mFa2q1ic8YWsmmvV6HKzzJqKgMvFxSZq3S4IbmwvU8CNYXp08DC8lvvItqE8iDIoMw==","signatures":[{"sig":"MEQCIGZAgHVXqVt2PKc/aEjs3ON6Swlqd8j9coSFFY3kpKWlAiB5ZUV7eC/TVuQXcyZP1ufac2hKsgaA0jGuqAOMgtyijQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68531853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1Wh5CRA9TVsSAnZWagAAJygQAJlJ8FzMI0P50pOGMCN9\n38ruCxSmZ6iTBuBaAbky41dJ1RyV0rG9k8arWV1pWmdpPhOsKSoul6gb9tYQ\ngDnL65F5LST+Y3aO8fRXOlIvWBnWrsavR6RKqK1yPZ1Fbq70Qpo0mG0ilD5m\naDPu0mxcQggV/ch0hUNuDctRs4piyHGSqdxmfrvx3UUSjOUwZ1DJZLTbORkY\nKBz2Wn3C2dYSf3gU7CRYoGRhqfXQNak4Wtlq+4SRstal4Y4n0iZsHj0McWeg\nsgyUXtp0zELG5kkIfiol17uD22atwjfnB0IHYGJF5T/PePP3VxnsdKBoNDKI\niIH3TcMu2A10BtSQmQbWwXPo71bzKFn+Nj62y15KOggFjbp2EBTQtL14x+GB\nOXY0VhJvuHS1R/BsohASDJ5WLo5iv5Lwgq8PC5OW08brl5SMWD4HSZ7xk9NR\nQJPhvzD7BTRZ9iyMYc+5NE6+TsV6d+SiT8eWBVPHJXQy3Iw8MfdDxTgnaokT\na/AaC3bYvsPzNjVFq/WLzdUB0ofosdr6GNjDcnel+DCXWlxV8Ky/5XwENqHq\n5FKkHgTaxpN2LIH4M1soOQLQt4MoLVk/yEjLMaiw7pOx/vN0qh6gVNwAwMP8\nXlgFV/4zaaLzrG0qiyib4NTJMzIi09fUwgv+vGJp+U5V6ICI4/QEdOnv2o9k\nTcXf\r\n=1L4R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","_from":".","_shasum":"f0ace1e94ff3e5ab1d90e7aae449c0e394ed038d","gitHead":"96f695fc0f178e3261275de6c0a95fdd8703b87e","scripts":{"lint":"eslint src test scripts","format":"prettier -l '{scripts,src,test}/**/{deployer,*.js}'","test-unit":"mocha test/unit --recursive","prepublish":"node scripts/download-kubectl.js","test-kubectl":"kubectl version --client | grep \\\"${KUBE_VERSION}\\\"; test $? -eq 0","test-functional":"mocha test/functional --recursive"},"_npmUser":{"name":"devops-team","email":"devops@invisionapp.com"},"repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"_npmVersion":"3.10.10","description":"Use to deploy files to multiple kubernetes clusters.","directories":{},"_nodeVersion":"5.5.0","dependencies":{"glob":"6.0.4","uuid":"2.0.2","github":"0.2.4","lodash":"4.17.11","log4js":"0.6.33","mkdirp":"0.5.1","nanoid":"2.0.1","aws-sdk":"2.178.0","backoff":"2.5.0","js-yaml":"3.5.2","bluebird":"3.3.1","traverse":"0.6.6","commander":"2.9.0","deep-diff":"0.3.3","request-promise":"3.0.0","kubernetes-client":"3.16.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.5.0","mocha":"2.4.5","sinon":"1.17.3","eslint":"4.12.0","prettier":"1.7.4","sinon-chai":"2.8.0","chai-as-promised":"7.1.1","eslint-config-prettier":"2.9.0","eslint-plugin-prettier":"2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/kit-deployer_9.1.22_1574267000385_0.015699860187007086","host":"s3://npm-registry-packages"}}},"time":{"created":"2016-06-08T19:32:54.556Z","modified":"2025-01-02T17:20:30.643Z","1.0.0":"2016-06-08T19:32:54.556Z","6.0.0":"2016-06-08T20:19:36.913Z","6.0.1":"2016-06-08T20:50:54.192Z","6.0.2":"2016-06-08T20:51:21.846Z","6.0.3":"2016-06-08T21:20:41.145Z","6.0.4":"2016-06-09T14:57:19.812Z","6.0.5":"2016-06-09T15:02:18.688Z","6.0.6":"2016-06-09T20:33:52.926Z","6.0.7":"2016-06-10T17:03:25.732Z","6.0.8":"2016-06-17T15:50:19.390Z","6.0.9":"2016-06-17T20:12:55.980Z","6.1.0":"2016-06-28T20:39:50.049Z","6.2.0":"2016-07-05T17:20:55.098Z","6.2.1":"2016-07-06T17:14:43.494Z","6.2.2":"2016-07-15T19:12:44.184Z","6.2.3":"2016-07-19T22:32:37.587Z","6.2.4":"2016-07-26T16:44:08.183Z","6.2.5":"2016-07-26T16:59:46.246Z","6.3.0":"2016-08-01T14:40:19.026Z","6.3.1":"2016-08-01T20:44:52.343Z","6.4.0":"2016-08-09T14:49:59.572Z","6.5.0":"2016-08-18T16:24:22.944Z","6.6.0":"2016-09-02T16:20:20.407Z","6.6.1":"2016-09-09T15:48:44.918Z","6.7.0":"2016-09-23T15:03:07.078Z","6.8.0":"2016-10-07T16:34:52.706Z","6.9.0":"2016-10-13T19:45:02.549Z","6.9.1":"2016-10-19T18:54:19.248Z","7.0.0":"2016-11-09T21:58:23.147Z","7.0.1":"2016-12-02T20:50:39.917Z","7.0.2":"2016-12-06T15:23:36.645Z","7.1.0":"2016-12-06T17:32:46.733Z","7.2.0":"2016-12-06T17:36:09.192Z","7.2.2-PRERELEASE-healthcheckfix.0":"2016-12-07T21:29:42.896Z","7.2.3-PRERELEASE-healthcheckfix.0":"2016-12-07T21:56:50.196Z","7.2.4-PRERELEASE-healthcheckfix.0":"2016-12-07T23:34:45.109Z","7.2.1":"2016-12-08T16:48:27.391Z","7.2.2":"2016-12-08T18:50:24.959Z","7.3.0":"2017-01-24T15:34:16.332Z","7.4.0":"2017-01-25T17:25:25.208Z","7.4.1":"2017-03-02T19:00:05.557Z","7.4.2":"2017-03-02T19:39:19.794Z","7.4.3":"2017-03-02T20:16:50.661Z","7.4.4":"2017-03-03T18:07:54.927Z","7.5.0":"2017-03-03T20:07:40.483Z","7.5.1":"2017-04-06T16:52:48.802Z","7.5.2":"2017-04-07T16:40:09.773Z","7.5.3":"2017-04-11T00:02:40.759Z","7.5.4":"2017-04-19T15:18:48.226Z","7.6.0":"2017-04-19T16:37:30.815Z","7.7.0":"2017-04-20T14:25:38.268Z","7.7.1":"2017-04-20T18:52:29.878Z","7.8.0":"2017-04-20T20:01:58.543Z","7.8.1":"2017-04-20T20:51:14.676Z","7.9.0":"2017-05-04T14:12:36.761Z","7.10.0":"2017-05-05T12:26:37.513Z","7.10.1":"2017-05-05T13:59:33.458Z","7.10.2":"2017-05-05T14:21:28.948Z","7.10.3":"2017-05-08T19:42:36.830Z","7.10.4":"2017-05-08T21:49:51.302Z","7.10.5":"2017-05-08T22:34:08.045Z","7.10.6":"2017-05-09T16:08:32.790Z","7.10.7":"2017-05-09T17:03:13.833Z","7.11.0":"2017-05-19T17:25:38.032Z","7.11.1":"2017-06-12T12:11:29.163Z","7.12.0":"2017-06-12T18:29:12.503Z","7.12.1":"2017-06-13T11:46:59.593Z","7.13.0":"2017-06-14T16:42:36.726Z","7.13.1":"2017-06-14T18:11:37.584Z","7.13.2":"2017-06-15T12:36:51.979Z","7.14.0":"2017-06-29T14:22:58.762Z","7.14.1":"2017-07-11T13:13:39.031Z","7.15.0":"2017-07-17T16:49:17.004Z","7.15.1":"2017-08-01T15:24:31.617Z","7.15.2":"2017-08-02T13:01:05.518Z","8.0.0":"2017-08-03T20:12:57.588Z","8.0.1":"2017-08-03T23:19:05.768Z","8.1.0":"2017-08-07T15:25:43.814Z","8.2.0":"2017-08-21T22:33:46.411Z","8.3.0":"2017-08-23T13:34:14.821Z","8.3.1":"2017-08-24T15:32:26.318Z","8.3.2":"2017-08-25T15:28:56.723Z","8.3.3":"2017-09-05T12:57:19.259Z","8.4.0":"2017-09-06T13:58:01.741Z","8.4.1":"2017-09-07T18:35:11.281Z","8.5.0":"2017-10-10T13:20:37.874Z","8.6.0":"2017-10-11T13:13:35.135Z","8.6.1":"2017-10-11T17:02:25.014Z","8.6.2":"2017-10-18T12:46:17.846Z","8.7.0":"2017-10-18T13:20:22.612Z","8.8.0":"2017-10-18T13:40:55.718Z","8.8.1":"2017-10-23T14:35:56.917Z","8.8.2":"2017-10-27T13:18:44.997Z","8.8.3":"2017-11-01T15:21:29.987Z","8.8.4":"2017-11-06T16:07:02.914Z","8.8.5":"2017-11-08T13:41:53.023Z","8.9.0":"2017-11-08T19:41:18.513Z","8.10.0":"2017-12-05T18:02:41.126Z","8.10.1":"2017-12-11T13:55:27.692Z","9.0.0":"2017-12-12T14:41:58.703Z","9.1.0":"2017-12-13T19:13:03.852Z","9.1.1":"2018-01-22T18:08:46.088Z","9.1.2":"2018-03-12T15:51:30.954Z","9.1.3":"2018-03-12T22:59:02.335Z","9.1.5-PRERELEASE-uuid-fix.0":"2018-03-13T03:43:45.207Z","9.1.6-PRERELEASE-uuid-fix.0":"2018-03-13T15:55:20.250Z","9.1.4":"2018-03-13T18:20:37.352Z","9.1.5":"2018-03-19T23:05:43.112Z","9.1.6":"2018-08-07T16:27:18.048Z","9.1.7":"2018-08-08T00:43:36.136Z","9.1.8":"2018-08-09T23:26:11.830Z","9.1.9":"2018-08-10T15:25:42.031Z","9.1.11-PRERELEASE-EV-1355-deployment-errors.0":"2018-08-20T17:29:05.942Z","9.1.12-PRERELEASE-EV-1355-deployment-errors.0":"2018-08-21T17:15:26.420Z","9.1.13-PRERELEASE-EV-1355-deployment-errors.0":"2018-08-21T17:32:17.787Z","9.1.14-PRERELEASE-EV-1355-deployment-errors.0":"2018-08-21T17:54:28.942Z","9.1.15-PRERELEASE-EV-1355-deployment-errors.0":"2018-08-21T19:00:43.564Z","9.1.16-PRERELEASE-EV-1355-deployment-errors.0":"2018-08-21T19:14:24.601Z","9.1.10":"2018-08-21T22:43:59.274Z","9.1.12-PRERELEASE-EV-1375-kubectl-19.0":"2018-08-30T16:40:40.662Z","9.1.13-PRERELEASE-EV-1375-kubectl-19.0":"2018-08-30T16:48:10.896Z","9.1.14-PRERELEASE-EV-1375-kubectl-19.0":"2018-09-04T15:44:01.914Z","9.1.15-PRERELEASE-EV-1375-kubectl-19.0":"2018-09-04T16:04:42.585Z","9.1.16-PRERELEASE-EV-1375-kubectl-19.0":"2018-09-04T16:08:53.998Z","9.1.11":"2018-09-05T09:06:01.264Z","9.1.12":"2018-09-27T16:16:53.289Z","9.1.13":"2018-10-08T08:12:24.036Z","9.1.14":"2018-10-08T14:10:38.405Z","9.1.15":"2018-10-17T15:42:09.886Z","9.1.17-PRERELEASE-EV-1602-rs-orphan-cleanup.0":"2018-11-08T06:20:27.273Z","9.1.16":"2018-11-08T19:03:55.498Z","9.1.17":"2019-02-07T14:17:09.409Z","9.1.18":"2019-03-13T10:13:52.306Z","9.1.20-PRERELEASE-new-token.0":"2019-03-13T16:42:24.143Z","9.1.19":"2019-03-13T17:43:44.606Z","9.1.20":"2019-04-02T14:18:01.643Z","9.1.21":"2019-09-05T12:06:15.297Z","9.1.22":"2019-11-20T16:23:21.023Z"},"bugs":{"url":"https://github.com/InVisionApp/kit-deployer/issues"},"author":{"name":"Chesley Brown","email":"chesley@invisionapp.com"},"license":"MIT","homepage":"https://github.com/InVisionApp/kit-deployer","repository":{"url":"git://github.com/InVisionApp/kit-deployer.git","type":"git"},"description":"Use to deploy files to multiple kubernetes clusters.","maintainers":[{"email":"itaccounts@invisionapp.com","name":"titaninvision"},{"email":"me@chesleybrown.ca","name":"chesleybrown"},{"email":"erutherford@gmail.com","name":"erutherford"}],"readme":"<p align=\"center\">\n  <a href=\"https://invisionapp.github.io/kit/\">\n    <img src=\"https://github.com/InVisionApp/kit/raw/master/media/kit-logo-horz-sm.png\">\n  </a>\n</p>\n\n# kit-deployer\n\n**[DEPRECATED] Thanks for using this package, but we will no longer support it.**\n\n\n[ ![Codeship Status for InVisionApp/kit-deployer](https://codeship.com/projects/71a53610-0fe1-0134-46a8-063ac029d855/status?branch=master)](https://codeship.com/projects/156809)\n[![Build Status](https://travis-ci.org/InVisionApp/kit-deployer.svg?branch=master)](https://travis-ci.org/InVisionApp/kit-deployer)\n[![Docker Repository on Quay](https://quay.io/repository/invision/kit-deployer/status \"Docker Repository on Quay\")](https://quay.io/repository/invision/kit-deployer)\n[![npm version](https://badge.fury.io/js/kit-deployer.svg)](https://badge.fury.io/js/kit-deployer)\n[![Dependency Status](https://david-dm.org/InVisionApp/kit-deployer.svg)](https://david-dm.org/InVisionApp/kit-deployer)\n[![devDependency Status](https://david-dm.org/InVisionApp/kit-deployer/dev-status.svg)](https://david-dm.org/InVisionApp/kit-deployer#info=devDependencies)\n\nUse this service to deploy files to multiple Kubernetes clusters. You just have to organize your manifest files into directories that match the names of your clusters (the name defined in your kubeconfig files). Then you just provide a directory of kubeconfig files and the `kit-deployer` will asynchronously send all manifests up to their corresponding clusters.\n\nThere is also support for namespaces. Simply provide a directory with namespaces that are grouped into folders that match the name of the kubeconfig cluster you want them deployed to.\n\nThe `kit-deployer` service was designed to work for a CI type service like Codeship where it can be run as a docker image as part of your automated workflow. However, you can also use it as an npm module or as a CLI tool directly.\n\n## Use as Docker Image\n\n```\ndocker run quay.io/invision/kit-deployer --help\n```\n\nWe recommend using `kit` components with [Codeship's Docker Infrastructure](https://codeship.com/documentation/docker/), however you are free to run this tool however way you wish. Anything that has Docker can run this image.\n\n## Using as CLI\n\nYou can run the `./src/deployer --help` to see how it works.\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Using as npm module\n\nUse npm to install `kit-deployer`:\n\n```\n$ npm install kit-deployer --save\n```\n\nThen require it and use it like so:\n\n```js\nvar Deployer = require(\"kit-deployer\").Deployer;\n\nvar options = {\n\tsha: \"c6350f4c2709708b8f784408a440030e704b2b9a\",\n\tdryRun: true,\n\tdiff: true,\n\tgithub: {\n\t\ttoken: \"<OAUTH_TOKEN_HERE>\",\n\t\tuser: \"chesleybrown\",\n\t\trepo: \"my-app\"\n\t}\n};\n\nvar deployer = new Deployer(options);\n\n// setup logging of events\ndeployer.on(\"info\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"warn\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"error\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"fatal\", function(message) {\n\tconsole.log(message);\n});\ndeployer.on(\"status\", function(status) {\n\tconsole.log(status);\n});\ndeployer.on(\"progress\", function(progress) {\n\tconsole.log(progress);\n});\n\ndeployer\n\t.deploy(\"/configs/**/kubeconfig\", \"/manifests\", \"/namespaces\")\n\t.then(console.log)\n\t.catch(console.error)\n\t.done();\n```\n\nNote this method requires node and was tested on version `5.5.0`.\n\n## Progress\n\nThe progress event emits whenever a cluster was successfully deployed to or failed deploying. It will tell you how many clusters are left, how many had issues being deployed to and what these clusters were. This is what the object looks like. Information is purposely made redundant for easier logging where needed.\n\n```json\n{\n  \"percent\": 0.5,\n  \"clusters\": {\n    \"total\": 4,\n    \"completed\": 2,\n    \"found\": [\n      \"cluster-1\",\n      \"cluster-2\",\n      \"cluster-3\",\n      \"cluster-4\"\n    ],\n    \"remaining\": [\n      \"cluster-2\",\n      \"cluster-3\"\n    ],\n    \"successful\": [\n      \"cluster-1\",\n      \"cluster-2\"\n    ],\n    \"failed\": []\n  }\n}\n```\n\n## Namespaces\n\nTo create a Namespace within a given cluster, simply provide the namespace files within a directory matching the name of the cluster. So if you had a cluster called `my-cluster`, you could place the following contents into a file called `./namespaces/my-cluster/example-namespace.yaml`.\n\n```yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: example\n```\n\n## Manifests\n\nAll manifest files should be placed into directories corresponding to the name of the cluster + namespace they are for. So for example, if you wanted to deploy manifests to a cluster called `my-cluster`, you could place all the manifest files into `./manifests/my-cluster/**/*.yaml`.\n\n### Reserved Labels\n\nThe following labels are dynamically generated and managed by kit for all manifests. They should not be manually set and if they are an error will be thrown halting the deploy.\n\n- `id`\n- `strategy`\n\n### Required Labels\n\nThe following labels _must_ be set on Deployment manifests and on the labels for the pod template within the Deployment manifest.\n\n- `name`\n\n### Supported Types\n\nCurrently we only properly support the following types to be used as manifests. Any other type used will not be deployed and will display a warning:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n- `DaemonSet`\n- `PersistentVolumeClaim`\n\n### Order of Deploys (beta)\n\n**NOTE: this feature is a work in progress and may not function correctly**\n\nBy default, all manifests are deployed to a given cluster at the same time. If however you require manifests to be deployed in a specific order you can utilize the \"dependency-selector\". By specifying a manifest with dependencies on other resources, the deployer will only deploy that manifest once those other services are fully available on the cluster.\n\nYou can specify dependencies using a metadata annotation called `kit-deployer/dependency-selector`. It should be a valid [label selector](http://kubernetes.io/docs/user-guide/labels/). For example:\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Deployment\nmetadata:\n  name: proxy-deployment\n  annotations:\n    kit-deployer/dependency-selector: database=mongo,env=prod\n```\n\n### Supported Dependency Types\n\nCurrently we only properly support the following types to be used as dependencies:\n\n- `Deployment`\n- `Job`\n- `Secret`\n- `Service`\n\n### Manifest backup\n\nWith `BACKUP_ENABLED` set to true each manifest will be backed up to the specified S3 bucket with the path `/AWS_BUCKET/cluster-name/manifest` _after_ the manifest has been deployed. By default files can be backed up as `yaml` or `json` format - `yaml` is the default.\n\n## Expected environment variables\n\nThe following environment variables are used by this service.\n\n| Variable | Description | Required | Default |\n| :--- | :--- | :--- | :--- |\n| `API_VERSION` | The kubernetes api version to use | yes | `v1` |\n| `CI_COMMIT_ID` | The commit sha that we are deploying. Needed if `GITHUB_ENABLED=true` | no | *empty* |\n| `SELECTOR` | Selector (label query) to filter on | no | *empty* |\n| `CONFIGS` | Set the pattern to search for cluster config files | yes | `/configs/**/kubeconfig` |\n| `NAMESPACES_DIR` | Set the directory where all the namespace files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/namespaces` |\n| `MANIFESTS_DIR` | Set the directory where all the manifest files are. They should be grouped in folders matching the metadata.name of the cluster that you want them deployed to | yes | `/manifests` |\n| `DRY_RUN` | Will only show the diff and will not push anything to the cluster | yes | `true` |\n| `UUID` | A UUID to be used in webhooks and API requests | false | *empty* |\n| `DEPLOY_ID` | A unique id to be used in deployments | false | *empty* |\n| `STRATEGY` | The deployment strategy to use. Currently supports rolling-update, fast-rollback. | false | `rolling-update` |\n| `RESOURCE` | The resource name for the manifests being deployed | false | *empty* |\n| `DEBUG` | A boolean flag to enable debug mode | yes | `false` |\n| `IS_ROLLBACK` | A boolean flag that is passed in the available payload post | yes | `false` |\n| `DIFF` | Will show a diff | yes | `false` |\n| `FORCE` | Will push all changes even if there are no differences | yes | `false` |\n| `CREATE_ONLY` | Will only create resources that don't already exist. Will not perform any updates or removals. | yes | `false` |\n| `RAW` | Will not perform any alterations to the manifest and simply deploy them as is | yes | `false` |\n| `BACKOFF_FAIL_AFTER` | Maximum number of backoffs before the call is aborted | yes | `10` |\n| `BACKOFF_INITIAL_DELAY` | The initial delay when starting to backoff in ms | yes | `1000` |\n| `BACKOFF_MAX_DELAY` | The maximum delay when doing a backoff in ms | yes | `30000` |\n| `AVAILABLE_ENABLED` | Will check if deployed service is available, but will only affect if deployment is considered successful or not if --available-required is also enabled | yes | `false` |\n| `AVAILABLE_POLLING_INTERVAL` | The number of seconds to wait between status checking API requests | yes | `false` |\n| `AVAILABLE_HEALTH_CHECK` | Will monitor for issues during the deployment | yes | `true` |\n| `AVAILABLE_HEALTH_CHECK_GRACE_PERIOD` | The amount of time in seconds that the health check will wait for a deployment to self-heal before triggering a failure | yes | `10` |\n| `AVAILABLE_HEALTH_CHECK_THRESHOLD` | The number times a particular error event can occur before triggering a failure | yes | `0` |\n| `AVAILABLE_HEALTH_CHECK_IGNORED_ERRORS` | Errors that the built in healthchecker will ignore | yes | *empty* |\n| `AVAILABLE_WEBHOOK` | The URL you want to send the status payload of the deployment progress to. You can provide multiple endpoints by using a JSON array of URLs | no | *empty* |\n| `AVAILABLE_ALL` | When enabled it will check if all manifests are available even if no differences were deployed | yes | `false` |\n| `AVAILABLE_REQUIRED` | Will only finish once the manifest is considered available in the cluster | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE` | Will print the status of the available check every `AVAILABLE_KEEP_ALIVE_INTERVAL` seconds (useful for CI tools that require log output to prevent timeouts) | yes | `false` |\n| `AVAILABLE_KEEP_ALIVE_INTERVAL` | Determines the interval at which the keep alive message will be printed | yes | `30` |\n| `AVAILABLE_TIMEOUT` | The number of seconds to wait for a given manifest to be available | yes | `600` |\n| `DEPENDENCY_WAIT` | The number of seconds to wait between status check attempts for a dependency | yes | `3` |\n| `DEPENDENCY_TIMEOUT` | The number of seconds to wait before timing out waiting for a dependency to be available | yes | `600` |\n| `GITHUB_ENABLED` | If true, will check the date of the commit against github and will only deploy if the commit is newer than what is on the cluster. | yes | `true` |\n| `GITHUB_AUTH_TOKEN` | Your github token to the repo we are deploying (used to retrieve additional info on the commit) | yes | *empty* |\n| `GITHUB_USER` | The github user that the repo belongs to | yes | *empty* |\n| `GITHUB_REPO` | The github repo name | yes | *empty* |\n| `BACKUP_ENABLED` | Enable Backups to AWS S3 | no | false |\n| `SAVE_FORMAT` | Format to save backup manifest as (json | yaml) | no | yaml |\n| `AWS_BUCKET` | AWS s3 bucket name to save to | yes | *empty* |\n| `AWS_ACCESS_KEY_ID` | AWS User key to use | yes | *empty* |\n| `AWS_SECRET_ACCESS_KEY` | AWS User Secret to use | yes | *empty* |\n\n## Contributing\n\nSee the [Contributing guide](/CONTRIBUTING.md) for steps on how to contribute to this project.\n","readmeFilename":"README.md"}