{"_id":"@atomist/k8-automation","_rev":"59-d824901ae63991e5f08bcfe88444c8a0","name":"@atomist/k8-automation","dist-tags":{"latest":"0.9.0","branch:nortissej:break-out-api":"0.8.1-nortissej.break-out-api.20180625184130","branch-master":"1.0.0-master.20181007212944"},"versions":{"0.1.0":{"name":"@atomist/k8-automation","version":"0.1.0","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"3d1cda665a96a9460272d0bbfcf2dc2576bd2d0c","_id":"@atomist/k8-automation@0.1.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-d/Fjh4geoGc3dEdawZMJfjn6I/zbtd16W3GpHbbOM1g+eAG3XXZq3d/oHAtj8In5bs4WEHYtyxGsWfYI3D5YWw==","shasum":"39a220725064c96d0774afe92bd390b9eee26043","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.1.0.tgz","fileCount":46,"unpackedSize":159303,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICde3rLCKmAo+fzQ2k7nTRvx/mhbLLkvbKibgNkzZ/rHAiAAulXpqYHpvuMYAbPswj4URTA55lG5Pjpk/BD08RG+HQ=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.1.0_1519356768656_0.5048060056790269"},"_hasShrinkwrap":false},"0.1.1":{"name":"@atomist/k8-automation","version":"0.1.1","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"e4f99c57b9901ef8e203719c16a4dd7cf53e26ea","_id":"@atomist/k8-automation@0.1.1","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-7Eg7fS+4xWs/YJ1izl0Hmsjl6CMzvuYJdVWy2pbhaUp4mKspOrWvy8tIWlCLOAX+xTxsMen7P7/cgw5dBvEQ3A==","shasum":"6542f64e6daa050432adb2ccdda8ee88bc7a7ef2","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.1.1.tgz","fileCount":49,"unpackedSize":160748,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGpxQmGBc+oUWXQvkrcJynEXz4CrYej4yzeCz6ULdAC0AiBpqOPyAHeTYfsJwNQGs2+29uOaNhhb2rbyFwGYOoTxtQ=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.1.1_1519359961325_0.6842417892887633"},"_hasShrinkwrap":false},"0.2.0":{"name":"@atomist/k8-automation","version":"0.2.0","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"01d6323125a201bae7a6973e240cf958789a93b4","_id":"@atomist/k8-automation@0.2.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-RSV7C47hMnTHq4LO70ktAtG2E06YlBdzIN8FEHU5ZEICnJdXpu0hhJ97xCRZKRwB1EZkW0yrDWlF+tAFm/3HTg==","shasum":"6033826c3d3b802a02caf7486a3d078a3b0dc965","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.2.0.tgz","fileCount":46,"unpackedSize":164160,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFzUoOp0BU78ZUqYlAwsTy5fyhSBulZOJx2Ur5IvBo8lAiBILZjcf/fqs/a3mq8wpb5d0P4brxZj386IKbFLta2wVw=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.2.0_1519420721326_0.4979995081186346"},"_hasShrinkwrap":false},"0.2.1":{"name":"@atomist/k8-automation","version":"0.2.1","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"766c2428b3ce5d47391c49cf1f721a915d2c84bb","_id":"@atomist/k8-automation@0.2.1","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-wRmIMIz2R2uxdr1orVuRsaGjmgJrJXzEa1bO1w/BFTDaXFVCFwFIhpzF8h4b/FBWhpKzwD2IKCS5HTQ73noiwA==","shasum":"e5d6318ba2028a238fdbce42a63a86b28b202708","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.2.1.tgz","fileCount":46,"unpackedSize":164463,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjX7c909iQdsZos4GXsRenAHp7osQuCBRRnxcI6XbQfAiEA3mBGH6YUkSrl1htrHLX/mxUuhhDOliaYC7CNKgWKF9k="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.2.1_1519424277339_0.7322646834210007"},"_hasShrinkwrap":false},"0.2.2":{"name":"@atomist/k8-automation","version":"0.2.2","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"3a0c01eb218cccbe18e42e7de5a90f934949666a","_id":"@atomist/k8-automation@0.2.2","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-dXU2IkOR5hRLB6X1ZlmyRxuZom1Z85Hi9Ux3qwc+Xkie8xzNet2WTwGm7Rvoay/19KV3D7kkWnTAeIzCKLO0pg==","shasum":"6dc9fd24bf3dae125d70e75e4d4326734e580dc3","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.2.2.tgz","fileCount":46,"unpackedSize":164649,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnUMVgiz6IJwjaeBrjBivIKwz/rNZu9CL619fnsNGa5AIgXDSxCFn8GhS52vWUl4X7x+eOMNNjb5xrwmUDeIgWXCI="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.2.2_1519426981513_0.7855216693634304"},"_hasShrinkwrap":false},"0.2.3":{"name":"@atomist/k8-automation","version":"0.2.3","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"22279370c0d948cfc0277293059ef4183c2bf712","_id":"@atomist/k8-automation@0.2.3","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-/K22GMvXvbVUJmwG8FDvGjyVnSim+08XhvpjL9/O8mTdLYMAhJXnRUkn7ACuwhbuOv2RNkhYr96SytCdCt5pMQ==","shasum":"8ce14694cd09fc0ab7309eda8bce74f1a215e538","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.2.3.tgz","fileCount":46,"unpackedSize":165377,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfjtLqW5bIWBkgoHU4tKCDtVyIEbt1ETRXHT2mLAWLUgIhALThGFZEQS7cfxOITLBwE9qRLoFSapoPN9x8lLt9R0Ez"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.2.3_1519485332593_0.7799256889261674"},"_hasShrinkwrap":false},"0.2.4":{"name":"@atomist/k8-automation","version":"0.2.4","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"255017358c78a9b723a168eed9473c021fe3fe71","_id":"@atomist/k8-automation@0.2.4","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-aaqIBSLX9VPM03uxUalInUXbVyZAqdFYn0ByAu/9ScKsvjv5jnK85d7E3VCfhMC+UeS68an4TAMK6QVCaF6qqQ==","shasum":"7c6708647bfbeb3d3cd6f8a727d1a35c565b5c83","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.2.4.tgz","fileCount":46,"unpackedSize":165831,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/G6VLTPN/fDcIjOtjmzfvigxoE2biKMkURlWpSSeRoAIgPRdFfBgx8U/D5lQLOEbYI+In70vGrJHJ0628CFnQmXs="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.2.4_1519487875155_0.16773757860727212"},"_hasShrinkwrap":false},"0.2.5":{"name":"@atomist/k8-automation","version":"0.2.5","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"a1c858ae14d596b7fa4a9b25e9f337c1978cdd31","_id":"@atomist/k8-automation@0.2.5","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-VO/aKKsa6q1wBzkNoIYus6hsgPIpl4hGS2WQWoffhwFyHNMLI3MeS0WXZLBHEZsdk56kVXcQbt0k4D/w33H9fg==","shasum":"0bd3252a9aba79784fea58e8b4ddc30e48d3c706","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.2.5.tgz","fileCount":47,"unpackedSize":169004,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfN4DAI1oxXp5GgdQdtQPMPDioMbdm5ieF8IrhqCb4qQIhAJKYSi/oK2g27b+rlX6/lR1IdUypEugRzoWvWaANhM3K"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.2.5_1519676330953_0.7336151959263244"},"_hasShrinkwrap":false},"0.2.6":{"name":"@atomist/k8-automation","version":"0.2.6","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"077bb57cf4317b38bbb7fc4ce859fbc3bad005af","_id":"@atomist/k8-automation@0.2.6","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-B4DLHnDjQpG547icm42fCDYSYeaansD4ESGoP0yGGWFmcuDYaOby1nd1BFy0vwMd9vaZ8esuIWpBsIcvd3qScQ==","shasum":"6d07df3944da9a65e8e25a568c7ec7a741a80538","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.2.6.tgz","fileCount":47,"unpackedSize":169229,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAngVpN8EzDsspmf2Sxp+bw+HxasPQxQkMdb2TeyuWM0AiAqCoF8RmqJKc7sxMnfxoent50PR03T61gQK+39c2tpnA=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.2.6_1519765551508_0.7999183828139216"},"_hasShrinkwrap":false},"0.3.0":{"name":"@atomist/k8-automation","version":"0.3.0","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"84ab6070364d710ce19953fcc738876a53f23218","_id":"@atomist/k8-automation@0.3.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-1SaUMiNvoOQtsCC30EdLusOGBLRam4O63682wKm9Az2Bw7iGmHa//S5aw6jid4lXorZEQrsIW/ZppWMpT9bxdA==","shasum":"e828451bfa9d115977e22c0137be03d4999d4616","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.3.0.tgz","fileCount":47,"unpackedSize":169642,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqdbJ3kPm8YVLBj9oxlMkC2qEsQYvqQ35eZuLjQnNdrAIhALGjGHRKr3D8XPoikQIw7V2AiIWubLluGAtziwHHxxrM"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.3.0_1519908602569_0.6666427465694835"},"_hasShrinkwrap":false},"0.4.0":{"name":"@atomist/k8-automation","version":"0.4.0","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"2d24b969c96a7a198832f6047927afa2e277897a","_id":"@atomist/k8-automation@0.4.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-Lt6vsxq0mLv51TRYcY8J3Ezkh8Vfm2iSrRNuNYkpQlVP+IHqlTOfunpLjX6Kgj//OZKfoz+cpUTW7LHABE42Cw==","shasum":"cda05c93475b63e0906f8794d969b9880a448239","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.4.0.tgz","fileCount":51,"unpackedSize":199379,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEcC49AdB3EQGDKsoOZ59NuQVJZ4wnp58Kbi/Y5O0uvwAiEA6IFJIvS/ndhmFVXjbSw3bj+XtcVAzcUlsVENZ7stodw="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.4.0_1520008805312_0.7565846362450757"},"_hasShrinkwrap":false},"0.5.0":{"name":"@atomist/k8-automation","version":"0.5.0","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"819a82cf7eb668f30f1d705a5d9ab5301f5d9caf","_id":"@atomist/k8-automation@0.5.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-UQnY/tSbVmTXalZo5FifWcxuU3w2YPYof3o07xF1tqZvKepPzOWhO/D778OdHygi75LU/0BKKmpdV5Xo+1YGPg==","shasum":"573dbb51a0b6c566d4553842e6317c7fd979d0cc","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.5.0.tgz","fileCount":56,"unpackedSize":209044,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwNM7uD4goMaKIefVPiiwNkD6qChCO15+ARhVhEu9ciAIhAMX9wNaH/aWb9TvfUPtD/IMQ2jtX5+xmDMpOrIUJx7+z"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.5.0_1520033514636_0.9514602449419791"},"_hasShrinkwrap":false},"0.5.1":{"name":"@atomist/k8-automation","version":"0.5.1","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"744d9f5122cfd080a0960068d2564faf6c90387b","_id":"@atomist/k8-automation@0.5.1","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-reKoidiiBIEvHHoLAQWF0jwbxdEjWfiYwa4H8w9dHeYpP8sIfj/s8NAJ1Nv/d4/+8MHlPwgQZMtFMfLsp6d8PA==","shasum":"86417ca58468f8ed05c5040543890d596f7f9693","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.5.1.tgz","fileCount":56,"unpackedSize":209762,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaixbRrDXE7Fs6lOgDN5Csx5Ym/6ofAi6//PaPAVNdVAIhANLslIaTEgo2iqj4RiMzCgU8bbz4FtksANTtu4bpnmNL"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.5.1_1520056308795_0.6609962056982177"},"_hasShrinkwrap":false},"0.5.2":{"name":"@atomist/k8-automation","version":"0.5.2","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"3e2aa1b3a904909efa58a98fb1a4ddbddf5791e3","_id":"@atomist/k8-automation@0.5.2","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-gGi58PDaPXDQu9UJqm31BPB62gHoMVA7d9Ba6K5bxlagE3qhGsuPXcpshdc6g6lRE3+RIG6I1rcTxyt7hp2rMA==","shasum":"590c9075a53335c9063edb1209294ffa30bec910","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.5.2.tgz","fileCount":56,"unpackedSize":210009,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEpsUuTX9rfl4nzhxL8qFhbIf+tq+biXi1MnlXdX6f/4AiBNt22q7tVni23t4HnMNDIXcsj9yEbF5pfB3M0vxV+gSg=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.5.2_1520109973784_0.47590503503294146"},"_hasShrinkwrap":false},"0.5.3":{"name":"@atomist/k8-automation","version":"0.5.3","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.6.6","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","config":"^1.29.4","fs-extra":"^5.0.0","googleapis":"^26.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.34","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"8a62ca4f59f25a92845de642fea2d2b5f1a88681","_id":"@atomist/k8-automation@0.5.3","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-mq86MTuVZuKdf89y5qKqV8x+ARPaTv24PrUdkA/gKLiPEFZsmaGdNpBxgx8ASH243FlgQcqLGnEdeXqhFxifaw==","shasum":"c002a0563ee1965f8a53d78bc228ef2dd0d936ad","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.5.3.tgz","fileCount":59,"unpackedSize":213861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDP6fFZuXDJmjZf3jD4sS6kOzgk+yLYJAY0JZ3MKA3ZhgIgBiyb77mIibEIspu/9W0yg2jA+3gZXluxZJlZfvmMZP8="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.5.3_1520303425838_0.07903038589560873"},"_hasShrinkwrap":false},"0.6.0":{"name":"@atomist/k8-automation","version":"0.6.0","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.11.2","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","cluster":"^0.7.7","fs-extra":"^5.0.0","googleapis":"^26.0.1","hot-shots":"^5.2.0","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash.assign":"^4.2.0","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/lodash.assign":"^4.2.3","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"79a109010028c245cb97f7d56b5e7cd693e229b6","_id":"@atomist/k8-automation@0.6.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-jz/ZAboXqZKn/KfOl+TgxN+XxKY/heQzY1uwxoZpAgPhN1rNjpHxd1m6jq3loMdslEljiB/qNvb1H41P1onpYg==","shasum":"2ac8a2fdb64f3dd292402452c726a55867bb4f54","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.6.0.tgz","fileCount":56,"unpackedSize":212636,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOsPbgSxEsZTYoog2U4+RTGCvoxQO9pzDrF/xgIkabeQIhAN0yi3F5ix5vfcr5BIMVKV3i58Gkk92Qfs4gQEho8e7s"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.6.0_1522265011494_0.2399395465060783"},"_hasShrinkwrap":false},"0.6.1":{"name":"@atomist/k8-automation","version":"0.6.1","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.11.2","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","cluster":"^0.7.7","fs-extra":"^5.0.0","googleapis":"^26.0.1","hot-shots":"^5.2.0","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"875261f5540c011a33b8e18bab8996c9626ace06","_id":"@atomist/k8-automation@0.6.1","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-ltRMmHaP3N4U4MyIhTlljUp5kcKviIajgi/gjGBCeXUwqVt9qTDdtc1YfkHP8smsxco8/lAkkJXwE8V/KoCz7A==","shasum":"6d29563bc04a4b4650505fe05a8a0b6ace37e032","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.6.1.tgz","fileCount":56,"unpackedSize":213025,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDfxM8eZswh93uvzcQOzf+rsG4cY8dx+6IGc+WfiBBdBAiEAlH0ZWR5lXkHnsqtGvri1BHGr+O1Bo3cJnvksRaZaa30="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.6.1_1522427673384_0.16667616085172954"},"_hasShrinkwrap":false},"0.6.2":{"name":"@atomist/k8-automation","version":"0.6.2","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.12.1","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","cluster":"^0.7.7","fs-extra":"^5.0.0","googleapis":"^26.0.1","hot-shots":"^5.2.0","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"2d7749bcd20f2a6cb050221b432069935f0e649a","_id":"@atomist/k8-automation@0.6.2","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-N/lyABicltU8DWRPY2alVZCmQ2+Bax9bZowo5RDd8YWZgYRg5NZ8GrTRbmlj5EjCzEaDkl71yYbjBaUoJOgjPg==","shasum":"1562ccb048cf4cf7e7514bc3ad26e446494c639c","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.6.2.tgz","fileCount":56,"unpackedSize":213204,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG6fqx+03yAk5nLCDBbaQYRXZ4WOD+GUD7fv+LBJjtfNAiAc4cVQ97qofgkj0jcLYGXPHxbdWLJ+oeAqiJlqoVZt/Q=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.6.2_1522950373864_0.06809549935347414"},"_hasShrinkwrap":false},"0.6.3":{"name":"@atomist/k8-automation","version":"0.6.3","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.12.1","@google-cloud/storage":"^1.5.2","@octokit/rest":"^14.0.9","app-root-path":"^2.0.1","axios":"https://atomist.jfrog.io/atomist/npm-dev/axios/-/axios-0.17.1-proxy-fix.tgz","child-process-promise":"^2.2.1","cluster":"^0.7.7","fs-extra":"^5.0.0","googleapis":"^26.0.1","hot-shots":"^5.2.0","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","tar":"^4.3.3","tmp-promise":"^1.0.4","uuid":"^3.2.1","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/fs-extra":"^5.0.0","@types/google-cloud__storage":"^1.1.7","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","@types/tar":"^4.0.0","@types/uuid":"^3.4.3","axios-mock-adapter":"^1.13.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"450f91a29be99f06bba0f7f832e09802452d4f86","_id":"@atomist/k8-automation@0.6.3","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-BcYAsq5TkVii03Fl4o+QCbDiqIgHsD8/R/d4TdMqLxFdflbd+MsRlk+oD6jPwhgogy4VVGnnvyWrfwJl5vO3jw==","shasum":"63e0c71ba47336ce715350ec07a85c6f597efc44","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.6.3.tgz","fileCount":55,"unpackedSize":212987,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB2DN+mF01aWm7og7Hg/tnT1ewGxwIveCNKdOw2nMRIPAiBj3Vtglay+I1w/NqYFZklfI5vW+T7X5DRqVSO5+k4igQ=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.6.3_1522963850130_0.4051450904259237"},"_hasShrinkwrap":false},"0.7.0":{"name":"@atomist/k8-automation","version":"0.7.0","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.13.1","@atomist/sdm":"https://r.atomist.com/BJ7HVKvv3M","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"6e813b5dc9f6f31063dd71201a1eb93be69bdd23","_id":"@atomist/k8-automation@0.7.0","_npmVersion":"5.8.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-2Gp0+k/uNtMGCxfR+JDuEat8phkgGfcoSDmDAh7fyCpLPYcazAmuuKLxnVHdX9olQvTKKB4SOnk/cs/VxlzR2w==","shasum":"e341f99eea16946c5bd8f7ceccaf2dccedbf4f4d","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.7.0.tgz","fileCount":36,"unpackedSize":163654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3fMrCRA9TVsSAnZWagAAPZYQAIwb1jyBvFwx1u1iQhEI\nnRPtKp+cYhh5PMNfEAq3Wv9ue1tMGYFHl9KVOelraP0C+hezC8q/CvSfEoNV\n4ULn4jZOxf4k75JfbrKExmnN2SsJG7dKYn13LADvIncCF5q5aHJe1PHk3U1g\nF4zshmpRE59RHR4cK5jG3saa4j8+cmJAK7lEg45l9XBrBYo2ZI5PLLGRBzBD\ntB8yHv8J2FPVDSTNxU85e72oJF4Nc+R70ci1MmdpGQSMJUTyaBNNFjtULgVU\nWjD8D5q3MYU7Y7YZkvAfLurNl8MCA3oHeR3Wf+vEJfpSgdS6D68U82Q7QFSi\ntQQ7Zv/ENcVBhdUc3oTNHzZ7P+FbpBkPCZW4bcG3xv4ROhJtR8H1NM+XFUUT\n2581cyrjPSv0p3p0/ia7pxYNVPH5n+w9kYb4Jbon9pJazDd5XxLm2BlCdhka\na5G1p+Ln0/D0/oSo8/tKV3BAtUfJ0lXLaAhPUikEMBWN8yHkldUltfZHvlrp\ndA1tcOtjhZAmhpQPLCJBK0JSeWPyf5Rc0zBwA31i37qkuNU79rP+t7NLKGlu\nwCo/0fcmb+vCe7F9roJ10BN35dECXsR0YyCuFejbVES8RMI+udXPqWcxZJSD\n7q9bo8VOBkk4GmOZiS1h8wwrf0lULMBxq0ZFSzD68ZEy0QTKc6cGC9/cTfYW\nNPEW\r\n=nEop\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8pLitQgqCBYb58xDS2J6DpRD/Y07/GKOb0aWlJkCTBAIhAOEidM4k7AHpDEuVFN9Fx1agC95bmc1r0JwPQEMAokXs"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.7.0_1524495145321_0.032316004768522255"},"_hasShrinkwrap":false},"0.7.1":{"name":"@atomist/k8-automation","version":"0.7.1","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.14.0","@atomist/sdm":"https://r.atomist.com/BJ7HVKvv3M","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"772084d4aa1ffb946e2305ad1cbc0507059b46e1","_id":"@atomist/k8-automation@0.7.1","_npmVersion":"5.8.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-JzYh6oI0s/RMd+B/+SGbL8D9Rhub45SD6+NvTpmAYQ8LuJVPlFdzX0ESpwxt8tCRf9TJEKkOOe+1v1BhGPhbtg==","shasum":"e61df686bb385b6d5166095e33c7b6e841bec1b5","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.7.1.tgz","fileCount":36,"unpackedSize":163590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4yhVCRA9TVsSAnZWagAAYNcP/3xY7wbAN1xeJlLn9dYW\nqvb31qJb1FUDNVX+pPKVEYhQPnHypS0VKWqhrHEOaAv4SNV2is8fMAhxU0ka\nv0D2OPVooVSfL8D1VHUEx9WAR72aT5X/SJE0AcwmALkEhzU+mx6/ZqeWQzFs\npDNif6JEtDvpYA1s1qaOcM221soda49Xtw1OACxn+mtR3i1W6ZudppZmRKhf\nchIWIN4uKSlPjP4+abI2cb3xr4oYsPdn0sExT35xigMJh9EdcJ+jQjI71nkp\nhHqbtOEapW0O6/vuTYGjvCKilnXYf7vPnL3hBiUpr5qkpTnch5RccI/qXEZo\nHZSQeiUdB+8tZWd/4twsPLhT7x9vPrYDsUimpGXeC97uHVpC4nNYJi9CVJOs\nDADcnmNjT2FCDTekW6q8XM6RPTsfsoXSCkVfvQ1OlNeNNaV73mTFSRnnoS7x\n9PAvNL0TdIa2R5hBLDuDaPj7QYoUJ1lGunNuWgyH+9Y2Rb5i1T2yje3YglWe\nSvSE6bwzY7N9PPHeLRqjRiLpZlSBqBuh3wgh7/OZe6UJWayoIehuBP0JQyxt\nlD9DFbir+rF69nnTcUq9GpQI5G8cM56NZJMXQQ464RBm5FA2SUp+vifWkklJ\nsk20qa46pS6CfJQTTIAnfx5M4I+sGT32MfgAx8XcSIEj/Jm46ARigtE6sln7\nvo51\r\n=/buu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBFK8WnkE5pQeVJbFUGwqSWYjkP7TZxmGdq+PugjfHukAiArne69xyeU3S8OZF3cyN567tB0R5CgzaMh0MC8jPACSg=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.7.1_1524836435192_0.29055863659061654"},"_hasShrinkwrap":false},"0.7.2":{"name":"@atomist/k8-automation","version":"0.7.2","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.14.0","@atomist/sdm":"https://r.atomist.com/BJ7HVKvv3M","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"23f9df7606c2cc2772737b8b43128d14ae457b59","_id":"@atomist/k8-automation@0.7.2","_npmVersion":"5.8.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-VWZmCcgXiGB6XRNwIQiOvjOjQ1dET4nwEkAmN+XrZeaVMLFNTQLD+yxzcQd6SZ7auW+12Z7o3/t2+HV83lnK5w==","shasum":"d66ef8cd5d51127159864d59fee7554dcc1fa8b8","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.7.2.tgz","fileCount":36,"unpackedSize":163183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4zNLCRA9TVsSAnZWagAAB6MQAIM7Bx1ii4mrGQNX8ZnA\noMyd+6uh2RBOqaiUkrwQqyUezvr/pVI729wQ/yaaBuGPUhWJyeSAjH3yPwSM\ns4bE6axGOWnQdUJoZ39ul+47AIt6EwGKJUi12maKUZ48R7yOrCsgBNtT3WQJ\nyGq5DrRIMHXcLawkaj34zJYdYg9cuFpP9MaD9qzVhlfBxT4jrYdWMD3U5Q91\nah65jtXBUgqFSWkPQMIvqhZ1IP7CBuSgyIk5rIwh/nuXcUnGWXa9KXHy19so\nAlA8lxoy69f8LZ7f2FOBHadf8E1xkZ83lMLJpXdjGvdJhDflM1uzVhlA/mLW\n3etHwl7de7SVJZk/IOrwpVJOiRwRMS4w1Rp9eXKiFKcPqQadRF4ZTZczIzou\nH6zNioZV7UIcfOaWiVYyUaDu+wa5UkmTSFA2yi1OUb9me0Wia81WZ9Dc0IG3\n03m0EyCwigugwYIn34b1D/Q/7JcSPX4/tqfcCvqFP3miNIRJt7JWa56BU4x/\nbYrxQ1IEgR3Ok/w8V/Ap0i+8GDcwEv7A1ULtfB/GU6Y2Q5utYOIRzhtqi3R6\nU5zzlSxjSYHQkti1Xs7J35Hyf1fwkp588GSWnYGLmPhaaMO8XqqTYncb561t\n7RxOrNigtwn5Lfgw/Ux1cFykkBLW3REu13DEpldGdhKnc6QgkUjUgZ8S0wvb\nByuN\r\n=75p4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCq7qSwOi0YdTJ0iHDsfI1dfszv6AJrf12hyGX6vdN7kwIgEjRlZePWpYImN7Q3nB0HE2haezvfCK9zex2ztuq7cW0="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.7.2_1524839241812_0.48560087451104517"},"_hasShrinkwrap":false},"0.7.3":{"name":"@atomist/k8-automation","version":"0.7.3","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"^0.14.1","@atomist/sdm":"https://r.atomist.com/BJ7HVKvv3M","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.10.0","typescript":"^2.7.1","typescript-formatter":"^7.0.1"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"4585ca42ed55708a18e3d1afaea825d04e5be3fc","_id":"@atomist/k8-automation@0.7.3","_npmVersion":"5.8.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-Kw4ndcadoPGgu/K2w/7bkz9c0P9AQcqx+OGFGPc3zuZaGXj2EoGwJA59ad/JztC+7QL4sVfgt56lTlasAVW+aQ==","shasum":"a6dae1a5ea76fd21523ac75c5eac781c431314aa","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.7.3.tgz","fileCount":36,"unpackedSize":160206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6HQ+CRA9TVsSAnZWagAAwnYP/0WP9EvXAQ+URYtJvBTK\nvpCEzz/i0LPu+Vj3ZjNDdb/hhS1x8Ex2j53aJ+6lYmsO1UVk65kF/u47ImOt\ng7coB8DjohJS80xmaHXbbnYagfdY3fyI/7TAEvL3R4M7xgezggKLu/V3qNLg\nRDzsXsCzBE+fmPjL0EgumESs5W07Fd9rUFy+piJ4eJ/cL7tLIBQd7/5GEw+m\nS9JJ5EkLtk7bhjc0bxR5tAXdKh79iygG7kA/aPdAJPsLFqkAoS6AveCLVoIL\nP8819mc0dXQaUGiVdAO8vuH3boq6cRFYDfLo1eJGLzQhrJcvVj6+VsbDdUzT\nHrC4uQXCc00+OgU6hKe/1fF0WPQF8x5FR23GQqILh9LrWa0xO9oqdkuDTKSb\nd1SGVDjuZ2WcmmWSK3ujwBsK4dVPGhD6F9BJ/isCwge8W7rF/N0MaaCEYDgU\n3ZTFts92OgwGtGVuSRjNEMoHomAgc5ADGaDh/9f055T4AUkqli3pJpAKxqW7\nwhVH/QKxPvzunu8OumddYdkU7N16F/V2rUAHd5FKURmrebcZhADR/FXHpTHt\nBcKp8e/haRQGTYOjU1yVRbcjN4xdNy3MC1Op/X0pbZ368nZylkuszMoJMENm\nkLV/iZHUCfzBjk7o6Qvh8hNnOfmzqjg4THOCRO2TG7WlkAKaSHMrik9FnBBM\ns6YC\r\n=zCyH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE2YcPad/IsPuIji6xtiDM1KBkOpz/tKHyerVAUrCHPhAiANBgnF4HzT2Ds1cc+Zp6aSZZyKx04l7uoMK1ItPgRBZA=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.7.3_1525183548158_0.730970729590878"},"_hasShrinkwrap":false},"0.8.0-20180518221907":{"name":"@atomist/k8-automation","version":"0.8.0-20180518221907","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"0.1.0-20180518141306","@atomist/sdm":"https://r.atomist.com/r1NJweUdaz","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:kube-fix compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:kube-fix":"copyfiles --flat assets/kubernetes-client/index.d.ts node_modules/kubernetes-client/typings","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"42d75529e600837c32b2630b6b07884e2e8ebfe5","_id":"@atomist/k8-automation@0.8.0-20180518221907","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-5k0YyVdzKczpgDu2K/QQq+mFJAIp+lMCnPqdwKao9DsALkF8SUwsgA1AAaUtdU1Je2/o1Kpv/IBNxSGLvhE9Nw==","shasum":"802220108c63f958049d82c1e3e5b74c4a7c74b6","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180518221907.tgz","fileCount":28,"unpackedSize":203648,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/1ICCRA9TVsSAnZWagAAaDwQAIzzIYkJXX7f1AOzGj3w\n/3FDA1c5sxc4bo4bF5NaCiCOEI24lgwsqZf17I0ZrvCzJHeY8cftD024E2/h\nuch1jGzz7RSGISiTq/ChbW96uFjq4NUKC0QIcAMiRwQl6wZp8pHjX2sB9L7k\nYLQlBuawZRL1CXQtRMlMeQkVC1kt3LG3cpoCx9NLyL6pTU5YLJt2G8Xk/7NP\nQNPFdfAm+1Rr4Cwm9EzD/FJnX2MR/PI3CCTilw50OtYuHFifxPT6Gu4s1vXX\nkwvpgcosXGZPQbXVZcNRdz309TTb98UHj+REEIWIc6+k1QLqnYCjDOBRih36\nd5rCklG7sEpGOMlRmsCAadIFycrOnOpuOEM1Qu2vUYFkaQLlHWrebS4s45Gn\nGEBa6TRJwFMryhstgjNrsaCZ6/QwE0IpNvVWfcYH1zdRUfJvMKC5IlWLgxp9\n5sswmEVe6nBjF16g4JmPKfRxV8Hi/syBcDRHSoYxHbgX+3bUrMUiuLX5W+zK\nEx3M2yv0X38mbROW1+y5sqE1Dxt3P55xFJwiq63DCGs5Id769TmMt8ydnoVx\nsphsGVvsvuY0h+Yu0v8KkIqDPVt8MmWSP/R7zdL5OgeSY0vyL0VgdSRV3MAf\n7pW22nhFoiUXAhGVUWoz7DsG1Uc4t7asOIe5Jx25wf6NSAuhXaGfc/x5cVC5\nC0oy\r\n=xRgR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDvC3iFDFQjLtPbrG7v2Pdk23R8yvMorR4ULp7Ft6O2iAiBs6zqz67BUagyul3KmvlKpgBnUE3n5FB1Vm86B9utsLw=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180518221907_1526682112013_0.017971775666426826"},"_hasShrinkwrap":false},"0.8.0-20180518230410":{"name":"@atomist/k8-automation","version":"0.8.0-20180518230410","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:kube-fix compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:kube-fix":"copyfiles --flat assets/kubernetes-client/index.d.ts node_modules/kubernetes-client/typings","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"5e48972442ecf3dfdc6779b000dfac987b93de61","_id":"@atomist/k8-automation@0.8.0-20180518230410","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-L04b5At8PlVxMczfvXIB+G1KSzsq/rU2UUZvzjBE2wknBBM14wuBgW7dbk1QeQSe0osKz96RytJhOE46lzNk/A==","shasum":"96d0f61d97b3a5333264d363352922ef076407cd","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180518230410.tgz","fileCount":28,"unpackedSize":203662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/1yMCRA9TVsSAnZWagAAeCoQAJnt8PNU+Wat2eUno3Zc\nTt+sBaPZ37eIWYb38KZFKb939K4NJ9Os6NjeF4wo5fRhUeWoKR/4Eg5ufY9l\nZ2rES3HGc9ZmrFJUSmJOAVDodvwbyXk26/Hux/zhm2tP3sJ37ySVC14avW6Q\nOK8/rKAyJ+y9wWNjPP6PuabVJZdffjWF3ms9GK7RI5s9WNpvfQWDTMy/sdcW\nQwNi9EfSZJQt1Cjo6R7MnT7BPdYiQ5fmE4K+spv3Mf0/6Aw6MJ3YbVLy7Pxn\n9iIzfTk/0WVnKfDZmTeE04riLfh+F9DHWR0yoptJuvOaXCw7PfuY2xUUSgxR\nAT0EuPBEpmCvHPb+eoMvWvcCkhz0IKDJFpsnC5fpsmsue8yIulHf9x41rrfT\nSEcK38krlkdBkK8gkJ2bUVMRt7uTgEVe7M2RjtF879EqzDgd28BXxGNrvi3Z\n8Z630rWViRZ8QF9tjGAS5CWZWONw6ryME3rdv6Dd+nZ4bjTNcU6UTf/j94Xf\npQU36rD5e+pXMuI1zP19X6tVYyztB9W4tQzyl7d2nnRUHTQlm6QzoRf+gEmp\n46/2wRxd/FulxsDAfbs26SZrcJbyJx0SpXeG0meKv4XvVuGx02xNI1cj2sGJ\nwuG/Q4i3fkL0P+jf+mKmuQyEbkjA7LmOmLkd2QnWyaCaQ3eM6h5zW4N+rMdN\niZIf\r\n=+4EJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHeJlAQjp5VBfT46WS8YBKDVmLvzsWEIrkMYzLtjQyqgIgO8558SkZgLuEs5s+Qs3kjJyxo9kmD0UtjSTJ0OF4Daw="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180518230410_1526684810933_0.2758981812695249"},"_hasShrinkwrap":false},"0.8.0-20180519111510":{"name":"@atomist/k8-automation","version":"0.8.0-20180519111510","description":"Automations for deploying, updating, reporting resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:kube-fix compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:kube-fix":"copyfiles --flat assets/kubernetes-client/index.d.ts node_modules/kubernetes-client/typings","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"c3f506ec34016e72f6a052d9559482fc161fa100","_id":"@atomist/k8-automation@0.8.0-20180519111510","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-BQJz9V7eXxUak3QAcvuIoXk09xVb2qZYOcgzNfPYOB/tv8fqiJM/D4Zu7YMRP5f6pqz45A4s6YxAsQJzzThnwQ==","shasum":"586e868f06b538c2a33820442ec7b0e98ba5ec0a","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180519111510.tgz","fileCount":28,"unpackedSize":203662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAAfYCRA9TVsSAnZWagAAX+QP/3UpuhvlqmUMf7NW02Y/\n4r5AVXmMs1Tyvtsm09LXAPPTmu5UfPx17jlhVlJN+d2elfgWjvyIgKd8yVo1\niWEzqkf14zX9pfKoKmtOVEMJpn6bvHXnTlZnmy8O4CX6eBAljmSU+KXKp6u+\n6L0j8VfcT21eQtTa8oraOObR3vuVitdCBClA6ZKcfutYHWZRUKFPAVEXmVPd\njIAUK8XXdFVGuQCJsyGpqu7j4qCAAnEfAxaZyhfTK4MkNgZpTeWiKHertGao\nJKgxw44IsQrYDB9IDMh1X6r2KHboSYYUfMY+rETOyuf+5JQrnHnVGxiq1YB2\n78U/0d70xHQ0E59RhDb+c7Tg9uY/uE1FfCkqaDhP5vsVpl9F+NN2FkIR+dOz\npjesJACLaN9ceZyYKqckg1Y0H/BLmh0HmAZylbqLQGW1v3rhSg/8bOJNkjw3\nQiCNMiffzy6F0YyV7K+lVbukFDqcUQl0PByVlcTZJkS9KJdr/+xGcqoq+CZW\nT7xDuf0ZZ7+ami5Cj61RNfYJF86uuERNmeYebRHlc3UKcCCDuJhzTXvMbl9v\nmKZzq1o4yGcZdtGR5a9X0wN5HbMqxbKoIEgmOkUrShI7bHLdnF6dhWviR8qJ\ntQ6GOT+cRHGxCquxqn7QHoAJqCZQwUmk23ZsIsV/REhGoyF5UesM941v3PNS\nqVPQ\r\n=vYny\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyujqSQKXAJI3Tb/kUdGhwGMhNEUlW8DW1PY/kb08JdgIhAP0Q/d9hUd1+wm0AdBHh0q4rpmx15GNTV182OYIvdtUe"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180519111510_1526728663256_0.04862561455484937"},"_hasShrinkwrap":false},"0.8.0-20180521205143":{"name":"@atomist/k8-automation","version":"0.8.0-20180521205143","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^4.0.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:kube-fix compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:kube-fix":"copyfiles --flat assets/kubernetes-client/index.d.ts node_modules/kubernetes-client/typings","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"e1dc3f0b02034a7479a265a0355bfdbd1a9be8d9","_id":"@atomist/k8-automation@0.8.0-20180521205143","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-8WMXq+HIODJEFe1qpqpegC4WZt7nIesFRJrkv79I5KPqeYKv4NP4QPhZB2V9hQKJGJ1f9BPhPU5aXqRt2qUcwA==","shasum":"a0a806ccef7ad9f653cfa75368a2619c4db441bf","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180521205143.tgz","fileCount":28,"unpackedSize":203662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAzH2CRA9TVsSAnZWagAA8h0QAJL9+X5q7SsvHx7gPneb\nFFzfPd+LWh04BWVwHpFnFqrxPtK/VfLQaegzkLgoLu1HAs/Py+2mjWtB59lQ\nCfkoh3jeW0hEJPWRsw185M+HUTAHK0d8Qqt+c8rnPDYMuLLVGLIRTj9PhZXL\nrvWX8M0iNzEDMutcMnDpjDudr6U9I0uKJ30cO/u44xWtgQ/pBYYOgNP3hiEu\nN3NbWIcZlhDVFpyuL5rFdzDWCuFPjn527N7p/cOHr3l9xh3VJPn86HF27MG5\ndCyiY4Q8UcRzhnbMh0NhuhoAw/nS79m2zkd9kxREHekffTJLsHU8i0uGGk+S\nPZlMp0iWQT0wbrDMpqe0zTcfOFRqXZFHDYP8AC9EiFRyIO0IKyUw3qId/f2h\n4rdiHRuCICku3KNeG0z1H2UM7d2U2xrNJbEfbi9p3ii/JtoDRipGQ66A09ff\nK594w9ZpXKMa5KSt+qHtmKHVIBYL0/t3UnOTEMDC9LLb32NXxpdqSESQC1DJ\nzYZuq5eMk0Wxg16ab1mMfcnPkZXoxGc7kF4FgUtq/MV25OoRriEmW23Yj+tW\nYndvikHk7Ce2op1FnGiC61GIOni7bVMVVr0hLhVcGDnzQK1utsbyIU0G9V72\nuvreDu29MJjqiR6unx1d+SwrHMMC4DRrPxUVAM5jjOmzbS4o4eccYRzId3YV\nsS12\r\n=Xx+h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUxUXDv1akOv6TP36au6XJDiiRq3YO6qEsTVPjBo1gUAIhALBDQQDFtNB+zl+YmhxsSbsSfklXKEJKj2SmjkIYMF4/"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180521205143_1526936052541_0.9736067422297541"},"_hasShrinkwrap":false},"0.8.0-20180522135337":{"name":"@atomist/k8-automation","version":"0.8.0-20180522135337","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"f7ed5d77e4aa196e0833dec34b577077060e4160","_id":"@atomist/k8-automation@0.8.0-20180522135337","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-KoyPZlGnYf76zXWhlfHR88BlZO8aMaC7Cat5aCTWsDEXjFZ7dey4DtC21XToA27bhIN58AFsWUf1G59ynLYF7Q==","shasum":"cbc56efd8b840b030445fc23cc4e101344ab1687","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180522135337.tgz","fileCount":28,"unpackedSize":203526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbBCF5CRA9TVsSAnZWagAAoIIP/2b+f8Bre8N0GrIjB5m8\ncpf2BtVOyHvNAIZgwy1GeERJw+pgSoU1238//9qDLo5rs4DWZqwGWoh2oNMS\nlsABuqM9+NjD/I5hKAolphcxbeNUdJ3jtZiQlaG8+l5lzrvy4w/qK6LTcfC+\nTGNQBZV6LF5OFaKqo1e76BLJ2CsvTZzq0vDY/o0+u/WYV9hA6BgPih44dwRL\n50BhHMUXvJaYZVeCG0ISt+dAzbwncb957Kh8Gz8wezSqbADmAx3tzBGlKOyF\n7aD54zYABYDPrlCnFk5PUAiAFbSmhF0oW4NY2NVc+OD+kaMLxbzwNyIVwLf5\npZPtEPhmP9Baws9KSgvlm6WtWG6sybhPtZtK1uPIwItLKurTSiiK7th95M9W\n44J8QtSmhHEFT1li1Y14oqqqX0KJHap1JRu6+cqU8fLTG/p1FgNu7uH4qIu/\nu9UOKfpuZG2tsX/aARYP7lh4ATeHPf8O52GkWhPonP7wwx1jBDZyMBPzQVab\nSU0dKI5zxhvRe9BHsz5oSJ5kh+CRmiyhz73P4t+4V8Z/Tumq/VPpvMHQ5nle\nvEbCP7P/nSEwx1+hHDMVeFcpxttzwe4jOLkDC9cvaZ7xwVoEeCGJ2+/McdLd\n7VWMbemk97HnR6fWaUpRbIZnXTMqXfodNAUTuTIv/Wmpbv4nVdyHC+0LcEtZ\nuaQd\r\n=Gt4R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAbjY16zJ5TFrkhTb1Flq0ArTfCiX1r0saVYqd40C/HqAiEAgw/6Pf0Eu4jnKp5//LbjWWgAvY5KuTSuR5ACoQ580so="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180522135337_1526997368513_0.1396895422211648"},"_hasShrinkwrap":false},"0.8.0-20180528163804":{"name":"@atomist/k8-automation","version":"0.8.0-20180528163804","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"b56d238a6ff4660844f18a9fadebd7772bd5addb","_id":"@atomist/k8-automation@0.8.0-20180528163804","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-cMieNizJ0tc1/pvFfCJzywBMzzUPgYmrRkNdJ/Wuz7dIQ/XNNHO6KLBm6wd3yJaUjTvvF3UBlAmYOtsMLDBh9g==","shasum":"eeb11f363f84469a4af71e2f7fc502677fa1f464","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180528163804.tgz","fileCount":28,"unpackedSize":203529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDDD6CRA9TVsSAnZWagAA09YQAKFk0UygG3mVP2UgZ0VN\nIDgbwXMJZIGEvhc0lET8GjtHo/DArUVD9kPyzB9cvs7VSRV/EcYspqunOw/n\nY8WYqhiZO0Eh3jdUefmnWM/ddOUEiq/jgL7je791uAV5P89mkA1ao5GDb319\nOGQh7li1K8AYZOQGV4fAuq0eJSf7vWj+OVPPsFuhG6eOEdd6wpz/4ONznspo\nOIFOupH64YOhi54/LS2N3AxTOSAihbYPBEnbAvANKyQYqUmRNkyjoyWMKNvl\neWTm9ep5kcyAaRqTvodBBhym467V2gnKoW/JH91bd90gQ8tcYN2L6n/gUzUH\nasFifiYWmkjg686cDgiVm12J11LE/GKIV9frTLKiGkLubi4PS8e4vgNsihnp\n6aWujpmWQ0KxCjUfJcuQr+4ogrLOXAuXDRDMpzv9U5EYkJM3SYxuoZ994uDs\nY67aizZLGLVS/etsiTpO5GhM3fZv01Ors9fRFU0aBnzsy55SB7KMNtMSbves\nR3iVpbU8xJgYN/0/MYiKREUf+gQcW/+9VEoiWl9nWgN6dNpADtJ3/DLNPDjs\nl7vfFof9ywTMBac2+SUugFypX/R8aL/2TKpIq5SA2MJ5H+OjcOaXsfdF/RSH\nFUi96GYtb8a3q4htgPVI8HEIapwO4PSFWt+A6N0MwsaRbEj4UmavAsR5cJUt\nMrk4\r\n=sSLQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB8PiNycAzzN9WKFZeJIe2/ynZJyFlUzcIIpU6CYmxsBAiAoQKlf3cSDMXK10LYH8rgmKry/xneMhQAQlVF7VgA3Vw=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180528163804_1527525624773_0.4422948282613255"},"_hasShrinkwrap":false},"0.8.0-20180528235257":{"name":"@atomist/k8-automation","version":"0.8.0-20180528235257","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"d6c02da8791f77b871b5896a43d85372dcf8b1cf","_id":"@atomist/k8-automation@0.8.0-20180528235257","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-0tuTOjYZW4umsPW0zgQRgyzH0ZS+R8KUODVPZFHnjCrWCb5RFfOZvvb5po41yPqXB1aMCnpHPTRlICe4WZXoig==","shasum":"0cb23e785c9a44de8f023cf6a526752161759196","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180528235257.tgz","fileCount":28,"unpackedSize":204096,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDJbaCRA9TVsSAnZWagAAAlwP/1TP+YEfZ87x/j1uMFon\nqcwBxFFerg7R1lvuc5FUoXqcsqN/SueyAH+bd0AlhUwygr6hQPmqLIXCn9K/\nFWgicFG9LN5AAyfYOvqh7l+O4Buis6YVc8hlGeLiTGDYW1oUVFEWb1Ega41c\nv07d1J81nwKMTGJXNz03r+IhOEZAZ8bBZhssSL7fDGBT9RjkCfFwYoJnmLNd\nPCJPo/oZj8DS1pLwleVhbf6ZbFrIgLcHcxPkjqww+7tJ7OYhY6YfJvPAfakP\nMmXTyhIMbkAuMtBVMmPB84xb1KYVjosSWkyD5zpBBmLfB0i7BJdWA5+pT85S\nQEfCnG72K7Kngu+Ov8seohAAU/8lLcZnX4C9Zxg4x286CozwRI1lMauQlhVz\ncHGD/V4pdg4YG1C2sypb5QOD8e4NRmyDdc0gNqnt/LndD5taSTnQs5GggUMU\nBRDsuxeuQoogmUunzJeftDlZNMC+IZPrefRNMNjmye4LX53BO2YhNw0ddT5r\n+4bDYZwjIyjpQX3u4nQOfsyDIHhJ0wWYCQEPfbv4cXxQHaYgfxPw8ofUuaxr\nEs9Nuxx9lragdtpz7s45c5hcSRi4ZMfnxh9xSVXyNacqh3iiZyBNM2dfRoUa\ny6vfAnmilIO5/zUeRpVOaq2tMUSQ/l+0BExFdaaSO398oXMOeJAkcvpr5HIu\n7kPn\r\n=OQWB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF3JToOAJosS0MjzA4TyFk11sgIGvQ7BaP/k6J+cgQ+dAiEA1EhYnp1O1MXfXeCIVzCfFBkbH+kmEE9hfdlqB2b6taE="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180528235257_1527551705710_0.8412241023589673"},"_hasShrinkwrap":false},"0.8.0-20180529012208":{"name":"@atomist/k8-automation","version":"0.8.0-20180529012208","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"b992298161069f76dd3461035066322ee271532f","_id":"@atomist/k8-automation@0.8.0-20180529012208","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-mPx01T5uMz3tSdWUePbuVLSc0yLu4lPouW6VFuAjo4BX7G/ow1ZFUmfEYWEBCI4nIor7Zd33G9HxzMZQdIkEIg==","shasum":"f135982d26100a3784b5f93f8437e88a506dcaae","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180529012208.tgz","fileCount":28,"unpackedSize":205558,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDKu9CRA9TVsSAnZWagAAhgYP/1hqbDTJkP1wEbUNERfV\nc+vJHMZvEtVtZ3eZyj9YRabFlzAFQVguhpVgd8KWSzbwpSja7YAKFFScw/Ez\neFQBbgEUstWOIebiWT0XlM5BHS5vXhjS9dVwjaGDGMiWERosi/ZSeF5Yyx8z\n8JuqGtzjMLFafq8FjB5oexsnAxbsFkiJg1SPg5GhJCXd41QS1xo8CZQSWVVf\nXgrlgdwDxzaS6Pa8qnJok/Z3qdCipL4FIJcsRWYWLTveGsjGeZ5AeVtaoF/E\nFEvyEHBNnGWu6J8kG99MZPgobMuwujSK7OQu7g3j2CSyFl4IFCNf8dlPa+Ft\nFsDyuAXvJfkysIeOVtE7PLUELolzY183Jmza7M0ILX9CCrcO/wdtxwLRBVUY\nTq6sSYSQ//A5Fp9GDrRPhqylRiQyTxifrHSpfnN2RlZKapmvUSawcKK4NvfS\nNeRuX9WPxSUDMBo3BiLJvrfPTuiexQAKjGy7uHuXKKecNIDRuwbpXPPEI2t8\nL5PQXAVY4PG6tQ7xbXV0C5+5oS0JSmFl3pnDOvK2PzLWD6sAChlA3tbH7vAR\nys21DHSrnFdOyG/DVD1ZlBYmOUGwMoLAjDGEfoBc0OhaGjUwvxQyI4RtXyoh\nggLOQEXVQUxN9KRmSkKPqpM+Fc+j1pRu6tN8Zus9ja4IzYYntGl7qQKZOvLb\nQ0e+\r\n=vZDN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDOlLyZ1FktGT8trtSnBSmjyPrgegzsikcrFng+fLgg6AiAubEqRzyYoFCNONnABfCAfqKIIfL5ZW/pxv+L2HggFiA=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180529012208_1527557053166_0.11278010044563302"},"_hasShrinkwrap":false},"0.8.0-20180529021029":{"name":"@atomist/k8-automation","version":"0.8.0-20180529021029","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"8da82387a6eb85d94297bbf6c2bb2be40fcc2cec","_id":"@atomist/k8-automation@0.8.0-20180529021029","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-9n36mBBTYrgSpDbWyARxK9qG2h6s/699PH5cCAqB/ejxIWJMedQ0pQE+WJRAR0lmW3FxOSeYHangn5tzACEfbA==","shasum":"1dacd134e4c6a1561c869b3d44819bcee9531735","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180529021029.tgz","fileCount":28,"unpackedSize":206087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDLciCRA9TVsSAnZWagAA65IP/RVwfxiS+w8N5sQHPGuU\ndduFm3G9lbNLHAFgcVxJMOdifqDJw3d7gZjy/CStNxRxcBl6I0AiJC0EzeMM\nzQNJ0BKIyRW7QbM0sJjc2wo4mIsB6dieJn1KnpUdoWv9vjANtZWcLVQmaZe/\nshbFysc4WxcbgX5YkZ1ImkSCJ+mLAOhmI3G3nSOrPKqmkLVYV1/v6H2EFXyk\n9RVuKNQJunZ05RljyCnLYJt8OL1/25SzKWKUiGw82VGrnTH5Uqhm10nm5Xu8\nL8NqJxeRFcWdFpvn756BbtYx4gGS9Ed2+SbXRwuIHBjootCbes3vN9RN73/L\nvLjpgQJ9qm0kKEswiXDbyjhbQKQHvi/H6w1eoax9eIlvfLI/KdPjMNJ+y64P\n77r2oLqLt/iwCDvyzfAPucBix/8SpbsvVkUV+vRiYrtxVpzhEqk8Uf/04I+j\nxPM7/S4Z2Jvyl3katpGED47u2n2ztJ/C2ojtfO466tAGZNecTzwmTuF+r+37\ncMQFArfm16uRoykXIjZWUJoU75IOxk0p3P3mGImqSzNTBQAost0/6HEGxnIX\nyX4HnUR1PtlEbl/HD00LjCzg+KXuZvo9lHP3pNcNcyAOMjxrDAyRZrzbYfBn\nSNk4VlFo4kTCWgElf2i3U5M/v/W/jzeHy4IFJQlFD5j74cCfHG3tmp4luuyx\nGVSB\r\n=Pl7D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoX6jK4v5eUu0Y0EU0MfHDpFaFb6T+6KHs1HH7gC+i5gIgfaMXkKHu1At1KzBcoT4ZGzFocaYnYcf6FaS+LGordXg="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180529021029_1527559969522_0.41917186700121123"},"_hasShrinkwrap":false},"0.8.0-namespace-deploy.20180604181413":{"name":"@atomist/k8-automation","version":"0.8.0-namespace-deploy.20180604181413","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"a875611d3dce10999c794c3335e3b4274292674a","_id":"@atomist/k8-automation@0.8.0-namespace-deploy.20180604181413","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-cSPHgGgHt3HfrzK+vJcmx5sXpNMmOnm16m9n99gkGCRgwsEiZbplkIig75oRjQW5lF8fsKapNOzWyge7bVW7dg==","shasum":"93a15526ffeefcac80f4b68b5a2f321353b664d1","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-namespace-deploy.20180604181413.tgz","fileCount":31,"unpackedSize":210820,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFYHtCRA9TVsSAnZWagAACJwP/0GerVEiHO78BBv8nX2y\nrm8qg5E6jON5eDyepO0VZ0WIHdZZQMx3rpp+6taMWzsdxxlGjweECAKmSmrI\nlK2IWthHp+eqWp1ZTffWjT3P9Rz2ORfmBHQHr6iAZ9VCJKMXSO7kCO91/tG4\noXYkvZ6a3sfY+bdEPC2VWLEqcsXNMghpLgUXGDVSuGvZaltqVfKCF1vGuPkZ\nN4wBEZKrUaP+vaKIgoFxT9zAT/RCtQgWCE3xedQeRvDKe5Bgalqg2jhsEIeo\ndiGy8pLglGPV8xRG2Z5v2oybvm+9lDHBtWEyh3RGmgZoUAu1K3OcavYowBth\nYb47ZTzPQMThwKMlCtMmcnmBszp+HcFS48kfv+oVCGeoxfCrFXqIOp3JT+wX\n9rokDsPug+cuF+f57pDmhhp+G50N/G3DMxXPFnhm4ougHnsksNy/NzFxSZ2q\nyFklp1iHqp+b73US1WtFp8YuOeytyk+5xIzrkBKSX3nTnU1uBPs8saTbKQuc\nVuMAbEjmY8mnlFQMsJvRRlgIvBVV7niiqrsx8JfwsgfCkIZ1pMq6kgFE5zjL\nvWrL0E6RYmNN6rbr+NUNeXfaI0M2wP7POGfbz/Ww4jg4KuYlgT+DVOu7nYWD\nUQ6LlKsM2CbBorR6Ke5MHwqpp8oPez4xBegI/NtDAQCNzzWGvsddnFED9iEE\nnvsg\r\n=DAkD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpbWjg98WLt0OFCvqryQQwe1Ou9NMPEATOzGNTU7FazAIhAP4M3vUnoDuLwLjY/ZNmrw3v19m5ZHQiXCdE8pkC0nkO"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-namespace-deploy.20180604181413_1528136172147_0.840638968721251"},"_hasShrinkwrap":false},"0.8.0-20180605192538":{"name":"@atomist/k8-automation","version":"0.8.0-20180605192538","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"1678bd6b01322701c6ed12b66541e23ae237b332","_id":"@atomist/k8-automation@0.8.0-20180605192538","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-1Xa5F07LZ3cOhv94u6qJ7hJ4Eg7+nnW/QMa6MN0XFIonRSsLyzJx/Rxz9rGkE0Q1xp0I211ZidS4fia2vbdJZw==","shasum":"897c56c246a616218d1178c00d0c463c20ef6776","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180605192538.tgz","fileCount":31,"unpackedSize":210760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFuR6CRA9TVsSAnZWagAAqR8QAJ7SJvnOefmdj5tgjoYI\nIXqqfDRpHNBDcE37MrzgnpN4R9JMPOkv/+BsZfQfvKw2l0zf8N4HF/Mqu7wx\n1wmDbsXdeMpETK0NcsZcnA4LgpbpoPaZ769kS8QiQLwnVmkhHe3b3HHOT9NK\nu8yr2kzwdZ1T6A2JrWUt/QN8inTP+SDDY9bEQTSH/TFhQJfGEYZjQXdWv7p+\nKADUm3uWYdnh10AJGQM9R/nRhGkPMN+2WfBF66FQo2w7Zre2iMPIumYOBdey\npnzFQzdmh9k6ra6llAHdU6UKevNsuLg8RIS/6l9lAv+akY6eM4yupsJ/vbAM\nDbQUqdge1lrFlTUx9HtQbwiD5aj2znCiCUumcAPpl1bOgjkbgdmBN7oAYw3E\ncbenLfAxQiZAt1i7aTFno7XfSYrtydjlJWoX/rLmfUB8Q/IAz/4Vtmlybnc7\nrJuUayv7/x/ymDI5sfa0AkljXi38AZMKl2gi31e6K08H9NO6aPT2ItKRz20d\n8ztIkt/a0ucBxQewQgJNDfN2A1xC8pIZFystJW9GcpBfNg7ULPvKVzFq51am\nbfz6VQhcK210yHaBJPU/2oN7Hrsm5ZFx5AuvFwfCnhNR/ZK9+DVhE+O7MIW2\npodk1neRmTMZGmU0V3kdb5L8uwAD098/BxPfJnxdg1yu/QdtgKRbI9TUxJ1I\nW+9U\r\n=/9Lj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNBGhYaeYcuPP88ne/uGU9kqmLo6CDS9ZmcONAav+LtgIhAPVoJlzcWanY6U1p3HV5IytCgUv8esZLlYWaiQUj1FXm"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180605192538_1528226936638_0.3412232873050054"},"_hasShrinkwrap":false},"0.8.0-20180605221641":{"name":"@atomist/k8-automation","version":"0.8.0-20180605221641","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"98b289bed20387845ff83612d0c8c86084e555fb","_id":"@atomist/k8-automation@0.8.0-20180605221641","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-aSaQr6DX3M7dNHpUKRg+5E/ESXi6XoGV9fKQ42kB64dCOGeUVTvA4Xt+M6gBsXcuntaX1ndsRhP7hkZCuKcSTg==","shasum":"6fee1672ca9aa194208c482e33b859fef6d3ca62","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180605221641.tgz","fileCount":31,"unpackedSize":211108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFwxICRA9TVsSAnZWagAA5WkP/1FhdkZu1EP5HsZBjZbB\nYRX4irxJqOkQTMjfdKRzgoeceB1HJPc+CS4AA9Mfje65Re4lTs2HEkb0atCK\ncTABs+otJmR+1Ks4ZN/wKy5/yEqIuyWvMQBLcGy4P0c26dpdu6Rm8IGRSsIZ\nE8Wbkdw2bSUTFFt5g+Mm1WRTkfxgJGV95EpcCi9OziND70a4zKTQ1mSBJrMj\n/5KarAqYxkS0XEr6rEs17m3lp9gLNcYBHpcgaJg3714jUgh3c8XLpplOptPx\nrtFz8QaCVt8kog8CK3GHNag0SzosHIfdE7TKUEHNKCqouYR1aui42zO5myQn\nUtR7+LWxIFyct9CdAxyi7K0Ald6j+Kqs4eJvoe1OGQXPUuMCslZckPKN7Arb\nkEz2MLjlUNp52UQ15Tkiomx72NJJQaomtmNMsDGVVtAMZyaMyQsggOiBXMSJ\nRpDFNbt9M//7Ap5GpQsL7WyURadyPyNS8tCin8qsjXlOO5ph8bgKpVXOVRn9\nnRq4vbcvbwFQ69igAcGmqaoUXSsaiktRHa5rQhqdXKyK0ybZKMOsZx0Vw5yg\nn7OxzEWiEy5apREziQvckpt6ZO+OsVa76obsFG/HcTmDWTXoovaIAyyljXwp\nyzEzyT6OagbzH0cRjh1Z3rS5YsAKdy3+EKGTmJ6VPkfNjUHOWW/qCGFAGEnl\n2Nws\r\n=yUid\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDz/1ncFUbqvE0mcp/DsBOhRM/2rBgIGdts73kx1E1nqQIhAO/O0UtwWk4zqBCp+RIlqLC2u5fx4PYA5w50Vti8cTGb"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180605221641_1528237127554_0.7088984169400525"},"_hasShrinkwrap":false},"0.8.0-20180606141314":{"name":"@atomist/k8-automation","version":"0.8.0-20180606141314","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"998d7ff84dba0c42fd3d9995d4113d44cafe9cf0","_id":"@atomist/k8-automation@0.8.0-20180606141314","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-UtU5rQdTGxid21X2mMHaDRkgt+GTln1rSWhHHbip484Jvf6o+IUCKNkrp9n5xdDreACMnrSOTfJvnYntFbu/EQ==","shasum":"45813d206e7f85ec6fa636b63670fd7496e7248f","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0-20180606141314.tgz","fileCount":31,"unpackedSize":211108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbF+zeCRA9TVsSAnZWagAAygMP/RKTcPyktrt18lS309Jp\nSp6CKZ7JSw/Os7htTZ07iAtBux1aQ9JooJO8uKWLd59BNVebmG5w9kt7goAt\nByailULZN1Jw2hr4NuEBwV6WKklyHxunXLQdNHCDgkvw9kD5Gq40KPvn9zKg\nSzyJDwDkqNkN3Q8gl8m09Cy9MohqXc3LO32XNzN2HiA2zv23YGE2FzFCNK9C\n2sdcqktgXOViudomn9WVBRO3QZ8Zr7uhVSccVEexejxSEsaqYoulfKwiBQiF\nH69+c7ck1TbMllGp4Ft0JmPV6iRSo5Ur1QrON5kge3v2c1H6R5AkM9VZh5Dp\nb7c40SlneNufXgeBzeRBnbjyATcguXJ/rdmqagdmmz0UlppyohdJQHDV7c+D\nZZibtUgMHWJUbeG6f6o8qkL+UkxYb6RcdR3cOK89cRMeslF0IgWkHQhIWfua\ng9y6o1MXN6f96kgq0HqzM2pddQEk8V1N5ctVoracQDBI+DzRStpKgDhZGpyx\nM4BemCXQArfRu1of5MHGTJuTt7JHVfRhtAuq245WNc9froUC4bj5N1P/TpiM\n1Of0FujsE9X+caLZXXJmbxbiHVle21pNeOPqBYJmIQ6FKG5U4W1Ta4gHmh1E\nKslsZ/plQxAj1BzGqIBWMocS7ZrKSk0hukERPsPBhVrRKlQ9O7cnUCvmORQA\nDTQt\r\n=5w07\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBwhRW8hd15zQ9B4cMFRmNOv0AnaYDND+7zBYuJhgZ1bAiEAsp6WXhdFHs9E6Q/Q4AyCIlo5CPtF4G0Fmo5PEPzdH0Y="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0-20180606141314_1528294622080_0.4170682606862006"},"_hasShrinkwrap":false},"0.8.0":{"name":"@atomist/k8-automation","version":"0.8.0","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"998d7ff84dba0c42fd3d9995d4113d44cafe9cf0","_id":"@atomist/k8-automation@0.8.0","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-jJAuybRB0SrC1upwYr462Qn6x3u9ORmOMX+pChr5UeKZ+grT0Jmw1E2Fx9JS1FZAC7cdKVC+eaO40U+IxoxC5Q==","shasum":"b7232341123f166dab1f9068d09d78dea5847588","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.0.tgz","fileCount":31,"unpackedSize":211093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbF+59CRA9TVsSAnZWagAAzDEP/0f5TFy1ReVIemQ7KRfX\nghMGZF40f1yMUXMNbRFd8KBDcFORbtuqlB3a5Afgqm9eiPSvn+3JK5x6iwb5\ne7URW2PptpTHqzp1CiWuaxdsYnHv/GRDgccRX/xKkNx6EvhnPpC0LfU3L08h\nGDWRSbZrQX90+hdrE+Yv5zHJ8Lv3XawroQGImHPAAkkxWO+E5skzgN/jhNTj\nYVUOr29tESZY+XT8Wd8cbKADId+38m/tNWm1rHh9YZQgkggM3LCWDR8XEaar\nm7Trt5JVML2RFyLEFbHuGpD8ki9tpejNM2n1XA2/t2yDYTjqy6DEndv8CbB8\nmnyWOjMSLnuyEDdiSVY51GW5TCaGgOto3kSVgwYZAHJ/p67aDYkrj/gTSN+G\nPLEU9Wd8yd+D+BOnQHvep0/xgfzt84ABfiwI1Zbdbi56sSjLRpPsA11LscJP\nHNpgbq9xvArppt/ktzh/yiXjxNrmGcDZD1jZWESWLTyu2dsepvnQjWWB7INK\ngvL0eQtgcgPhRw3EFVsdO3x2dC3GzmanTU28Jt0Qnd07U0dyXvVl6ZynAt+k\nmHUMUwkb7oUbdsJz7wNYF/CNZkp1AGLvRVGJv3QvDKJXKLuulfxU04Gd1fyO\n2XrAu56pj87It5KGGSSbe7ZwMsAwr6XirffHHbGco0VbwlBeD4ttw1mtSRSI\nW5uY\r\n=/Rl5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9QIBPBBWwvCWX3mQAOj24DN3ISp/lJUut7WzFWsbm2gIgDyJaSSOYepttemg3GDTwDoOcluL9UGItXcnL/TTiB3c="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.0_1528295036369_0.0015247539251321829"},"_hasShrinkwrap":false},"0.8.1-20180606142152":{"name":"@atomist/k8-automation","version":"0.8.1-20180606142152","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"2ae8139b840c9dfd4493f7d11b03fd583e3e7a76","_id":"@atomist/k8-automation@0.8.1-20180606142152","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-iSaKKZm3ys5gJ+9MMIy13sVb7enigQxytth4rMuO8mjAmtblTZZWrSbdrKni1fC3hBgtKuKnNc2OircCBq/B8w==","shasum":"314e5fe19eb77a35bd31588ba0daaf05f4ae8322","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.1-20180606142152.tgz","fileCount":31,"unpackedSize":211108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbF+7sCRA9TVsSAnZWagAA+4YP/2uclkf9CXz5/523bqss\nJxkKMIVjYbU65g/EzyUvTzXInoAKTykB6PhYMYScqkL1zZjmjoHc/V4gUoJs\nJNp8OEc4ES2SD7yw2O5MmWDQu225xPVOpuGCmdFOi9nQneY9V3a54GhW6xuW\nMMPeNpBBwYUnYfdZrKgFmyvKIXNQKntWZGrzdOjThZAMzvFFr1DZzpu7h1Gc\nGCzBoT46fCkXXt7A8egk7xDYV2duY+ls9eW1nptEXbSJjHGsZaAKNtp+6pdO\nqWxTSpChB5w18gys42dEvFSnrvYXJICBzQIBTkBOrEyjd6H60tJjCMN8SK0p\njQ6IZFvh2VBT2gH0NkvAAT4ZA3nhNLX28H5D3GF5nEhPngO7dz2tlrjxTdWa\nTXsC8mSIY8EhTbH/8Rvs3jrZ2eLXln30FoK6ldSziTOVHNzxjYwTel+itVHe\n3oey7PPseyBV2CNqqFz941BVOFfHO8GEePbEevdrSZaunN0MZUx33kBdc3t8\n+BH9pKB/H3DTfGgoCrtV/gyxVFDYBwSx3x4Lu3v6RGvTRuGJBEG14SH4yfD4\nm+MYgElWjgorpjzdy2wIwIqgp2fX4I1/tsrms1+DraZcb4ndHmqKoN/FLlYn\nNfL7mWUECF7bSQbw7owbQcuYjBQaDUOJltpvA24VULe58n7XPL1tLB1EhD6a\n5M5l\r\n=OsRb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAmT6SyPPP2YY+FYlyivuh/+yT6xp73AquMI5UMgRKtpAiEAjjbo8QyhpK2lONbPKLsrJKucljgcKjLiP+/RcLkMb08="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.1-20180606142152_1528295147464_0.9344065003330857"},"_hasShrinkwrap":false},"0.8.1-20180606143023":{"name":"@atomist/k8-automation","version":"0.8.1-20180606143023","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"84ba2122012ef057f97c6412f8953cde486012aa","_id":"@atomist/k8-automation@0.8.1-20180606143023","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-xeu8yKu1TE3K0P1bA0KhL4CNrvzWyDOQ83/nzw8chPNpTqI6AyYU+R4OXoJsoxT20TJ3FpA7p29Zsy1L6TatmQ==","shasum":"6478560c830dc6dcec360fad35c714566c0dd4c5","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.1-20180606143023.tgz","fileCount":31,"unpackedSize":211108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbF/DQCRA9TVsSAnZWagAA7hEP+QGafhLq10Jq63yY2J8J\nq84zHGMu/ZbM856yHpBXdc1jqfX2KFlvJFaWjBOFaPRlCZZUTT0EW4sgLyXM\nF6XO+MyY+b0k9m2qDwsduGOAhZXWySi/6jr7N+gsO0RZiZ15eQFxlqR6W0t0\n/AzQyH+7ittq044UJeuftJAB6cLiYidgNu5TfJtbvnXRKtJVxIS3f1aeJgJB\nmiiO0DN6zuG2TY/1tpgBqju+WTPtAcTtZtyWeFdZoslv3/+VzwawnEmtdBCW\noUp9tU9oRcme6keKN5GPPENzKdoMpGGWtgQw1bQE08d35Ryoar9fX0/kBYX3\nKiCgrawdDG9682hT9lbVVcw/RWraVWqu+/NNA7RjsgDuz2ZgsG67/GfeOdDw\nTeGojIPhx3Ma6QSV5MUlhiV8p9DMkp1eqmQx/HwNFeViv73JF/BTls28ZHqJ\nRbJOY/YRUsIXsdDhXUnMDxuocWb8isZUlXAULjIGT6BLldMuujsAnMlgaLed\n6B4J1bDJcmD8a9jO2g4eLgiGPJ94qChMdPglR4m5a930BR7wvIQfHYhxyX2S\n2P3qW9m8cHC40qD7LqSGaMxxA94UVAVPg2sumoSaXSfxLAQMT5SEbt2u56qc\nNHNtbFqojX4qxQtfv+obnxzXdJO5TyioZpa5uom9kv7Z7ACruTGsF/S8pAK6\nS6qY\r\n=xMna\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHQd2IPqPcrsYz+lYSBzbaaRuJMpwa5roIW+bwrySfrUAiEA5QMpXSsyz6I3FvXooQ88fAmwrv/MvMohKSQt+y06jpA="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.1-20180606143023_1528295631238_0.6911927271059126"},"_hasShrinkwrap":false},"0.8.1-nortissej.break-out-api.20180625184130":{"name":"@atomist/k8-automation","version":"0.8.1-nortissej.break-out-api.20180625184130","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"0.3.0-nortissej.break-out-api.20180622000216","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6","@atomist/sdm-core":"0.3.1-20180622172537"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"daa483e06da47c9a61c2e41667af9e2b4c32e3aa","readme":"# @atomist/k8-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fk8-automation.svg)](https://badge.fury.io/js/%40atomist%2Fk8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API and executes goals on behalf of a software\ndelivery machine.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/github-sdm (@atomist/sdm Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"http\"\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/k8-automation.git\n$ cd k8-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/k8-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/k8-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nReleases are managed by the [Atomist SDM][atomist-sdm].  Press the\n\"Release\" button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@0.8.1-nortissej.break-out-api.20180625184130","_npmVersion":"6.1.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-FpCqSZTrrMEOrvWH5c3UQrh202xByNRDJbOdpo6eXKtPDOphHlPXwxohm6Xo9d+cVR4jgpoOoQ+K5m+52xndBQ==","shasum":"1820d63e7349a23dc7b31e78986f01309a6084c0","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.1-nortissej.break-out-api.20180625184130.tgz","fileCount":32,"unpackedSize":324853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbMTfjCRA9TVsSAnZWagAAgTIP/jofoGkVwGB4RWtPpquE\nGQCiKFwyiM3wMbTXNY1AaU2aDdZd4d0GK36b32P5v+C5sdtMVkWef+Z7nUQj\n5lq5/2+O/cAn2LkP53FOD+yKyBe2WscW1i+lM7IXgDXjN0Zuc0o6n7qAzaG0\nd2n9yS7cM8gulRAL2YNqzIRnNOODeaLlQcGJqZkQUJj6Z6r5loT0xomWhJAs\nf22QTzW//U3NaLicPW0NdWRvmmbdXnlRAxwCncR7WMCZHUEKoyO/2QBo94di\nNaUgk7loMNzuPHDtAKCXDuugNegzL9ABXiBSrpMIHwYjW8K0CytW/IDYhDZ+\nxwzC7dxo0pUDrVZsVvKxH6VLy9qkYHYZBLZPjiAw1sEDIO29zNik4BctCzt8\nc+Hx60avag68LpY8wmoUO5hltsi41Mjd2p6F0dGJM1RbeYx0OVOBzCgLXb5Z\nnpVbO5YNENhKtpYL8nmnnlIV33/+lEXv34V5b8tPF27bpTu3UB7XDIFbqtAk\nxZrGNgrHFW5aFz/89o0YhquK4saCOw21OnEsoHBK5lfLrhen8Q81lpa8l5Q4\nVjBgfr0JhjmE9X3WypbyO1t2YJ4c/q6OA1bx8RbCNknuQ71ZS+/rkLlMu/Zs\nHz1K8cTOuwM1F0Jk4MGLM0tri/+RCR/zR9QiXmNi2bIH93n71zIdB9Alj2lR\nmJK4\r\n=ttoM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkAfcsU2IcjzbbOGojbANPB5NN8kmV8R8NBtNyKiw4IgIhANbHGMoDpW5rvT4lgm/38G8G0Xj4HwkuA0u8ZteAXTOn"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.1-nortissej.break-out-api.20180625184130_1529952227451_0.5858174509254459"},"_hasShrinkwrap":false},"0.8.1-20180725101723":{"name":"@atomist/k8-automation","version":"0.8.1-20180725101723","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"dependencies":{"@atomist/automation-client":"https://r.atomist.com/BJxzuM1V20G","@atomist/automation-client-ext-logzio":"https://r.atomist.com/BJvleYiC20f","@atomist/sdm":"https://r.atomist.com/B1IW6KqC3Cf","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^2.2.48","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.0.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --exit --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --exit --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"f92767fe44f0b93d35beeeab80205227db27e13e","readme":"# @atomist/k8-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fk8-automation.svg)](https://badge.fury.io/js/%40atomist%2Fk8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API and executes goals on behalf of a software\ndelivery machine.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/github-sdm (@atomist/sdm Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"http\"\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/k8-automation.git\n$ cd k8-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/k8-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/k8-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nReleases are managed by the [Atomist SDM][atomist-sdm].  Press the\n\"Release\" button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@0.8.1-20180725101723","_npmVersion":"6.2.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-wfU/ap8Lzxo6BVn8dopu53g3vTMnmRINTWHr+HjIa5HQ875jJtz7OimA1lP5CISXBvtJE+dmJW8jS+C3xBBUfA==","shasum":"1db12830da909cbe742abeef193d4c26cca9415e","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.8.1-20180725101723.tgz","fileCount":33,"unpackedSize":329368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWE+DCRA9TVsSAnZWagAA0wMP/2Gcy4nrCUCtjvLGx9c8\n01+peQNWRhke+hmE+d+O018upcbDqLH7lb8YTnEvxkD9ovR1hgl/kq85STQa\nYVmYkADITMLLBqhzs60jCSU2tVjB6ivp01Twv0+E8JKPfSiwikvE+nhUGPt0\nyyGS9D+KWDvg4KGqEEAkAaXWbUspB03RnJmBcthlU9sdd76hMx2BAWF7PvNW\n/+TdTv9s916Sa3pi6qcQYgs1D78YlCeAvsRo3BNK+ahxen1xEUry4PhMrLAJ\nboBa9AozzimKoNvw21XpNzzewLVi2UfHN2LV8WjQNhwsAmmKC/ENwpSEwlvU\n9mAe/nFdNRE7I6/Lgmk2HPPzXz4wRpJcWn9urBkW4yVCdOeIIBGY1T2nDimy\n0gSqpjyyhfO/1Vjyzxw4xz2tyIrDk8WZnyfvDW4jGurzwAKEzh0UAWxGAbQv\nKSei4sQAk+HUePEffNqxz9UfYty8cR+waL597alU0DOP3iBSQWBW2drj5kx9\nElZf+WOie57TZ8wb5fBstimmU7MZbh8gEucAatWaPixeJKJcmPvwzyt2nqB0\n+uQOhy6rzR/scGt9lFoGh7zI4Q/CYFZf2/wfsXbqLs2ImX+wZs4rktEMjCEy\n1x2bC63FFb3MkGjQV6wZ13rFAmFy16v99dwRAOkc8AjmfT0e4eVuSKphCfwd\nR4qU\r\n=P0VT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLHeRR5NJwNCmhfJwYr4qNgvrutNitogOdPmrTphj1pwIgVW6hEh/822fV3Io1wYcUl9evfP1ogSpKZvu6YZSIX6I="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.8.1-20180725101723_1532514179634_0.8314354278898981"},"_hasShrinkwrap":false},"0.9.0-20180802210016":{"name":"@atomist/k8-automation","version":"0.9.0-20180802210016","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"0.1.0-20180628224529","@atomist/sdm":"^0.3.2-20180801121109","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^5.2.5","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"3ad08ba13e576826e28f7f2256faec0b77d67bdb","readme":"# @atomist/k8-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fk8-automation.svg)](https://badge.fury.io/js/%40atomist%2Fk8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API and executes goals on behalf of a software\ndelivery machine.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/github-sdm (@atomist/sdm Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"http\"\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/k8-automation.git\n$ cd k8-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/k8-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/k8-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nReleases are managed by the [Atomist SDM][atomist-sdm].  Press the\n\"Release\" button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@0.9.0-20180802210016","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-nSHv4Srifz1sqYkEVAdtb5uMSWSK18OC3hnTUsA4Q+58tSD7KBSniO8yHUI9zV+G6hCar2Yi5qsZaLI/vP7fFQ==","shasum":"fd9bf6fb3914ece57295e28709454f9fd0fba328","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.9.0-20180802210016.tgz","fileCount":41,"unpackedSize":354895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY3G+CRA9TVsSAnZWagAApPcP/R+toOYFNIAO7rgeRBzc\nMx+k5uNVmcWXEa+UVHaQMzjf4IW92MGow9X8/MKbWQKCkuu61wL9TerXdyQi\nLpA4vX7Wlnjya8FPwgyQ88o2x0f/vsj/8v0bGzMegBc88BqC6OVfBEeWuZLK\nzQNOFcOYLJfgHM1sWOMmZOGX/pDD9FfXd1/9RWLQRYXhsjFvCtWNhKCDtBCo\no6OX4cXvhZH0sLRr6G4Atmgiu7RRVlZDvU2G3LKuufBe0p1Wix3nz1yjVLIB\n9xkfaL+t0cpXZALUPtmilGizoq3ugq79Ey9dngZr8NB9Ud33htsrwNGPEmAt\nN4rMv/D2j42IRpxe337KOxZugTBvf8o7NIGtkay9Sk8RmOlMgBwygWAT4Ik4\n+KBMOya9vh9xKWaGKkouJVXpJL6QRLtgRSo9WC7ly+K7+s1+ePVAbfJMe0Z5\nGswc+4spn8LHt329yKUtxDVtbgKpA0SQFyuq1jQ7uwjbPutLUzsSE044rWJx\ng/os7mYx8Q6lb2pi+FVVIh8tXt8bDALKP7Bz1p7bTo555BNfEKwQI1o9l2PY\nGYbxCQYJAQPKWS5i07WE81mS8Ltse4EJfVsUD+R/OJKFmrRutiol8N1jrmB0\novXPr5NxRasky/KDrSN2GUx3CinOtpWw0+mHt3iWXAvbzXN/PtOnCIooea8F\n8WWs\r\n=r6Mm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAuJP9fA+rzsghed0yFzVPQjyju9NE+9Wlm2wbTkUzf9AiB0LPWX0oGLEKCvaNQzakO51RqHFcj+wjlctc8hdjYrsg=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.9.0-20180802210016_1533243836924_0.3852494468243368"},"_hasShrinkwrap":false},"0.9.0-20180803172723":{"name":"@atomist/k8-automation","version":"0.9.0-20180803172723","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@atomist/sdm":"^0.4.0-20180803134505","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.0","lodash":"^4.17.5","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.106","@types/mocha":"^5.2.5","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"e915c764e0a05d2703a774217da53d0c39052cc2","readme":"# @atomist/k8-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fk8-automation.svg)](https://badge.fury.io/js/%40atomist%2Fk8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API and executes goals on behalf of a software\ndelivery machine.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/github-sdm (@atomist/sdm Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"http\"\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/k8-automation.git\n$ cd k8-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/k8-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/k8-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nReleases are managed by the [Atomist SDM][atomist-sdm].  Press the\n\"Release\" button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@0.9.0-20180803172723","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-1dihyIUUcg/kLwQkrkZZR5eIYpQzthtb9dfEcWGXCxHgmEH73SgdsvkXPVIi5uSp3gS+50yqVyrkHEQRXjtBMg==","shasum":"e1605f975c78d70b2451bf644a59e6d3f683da48","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.9.0-20180803172723.tgz","fileCount":41,"unpackedSize":356278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZJF0CRA9TVsSAnZWagAAP0gP/2DBTEE4QmATeeGe1BRH\najru7rF7m2czYGMdTbtb0bwSdbhuJHVa+TbkM8/1x4fiAd5A2/ayoTxNGETz\nFNCfrxvlY22SxvYboDlIgKjIj6lgXlNCNPazDAyOFTh3YJ7OQAqSBoaYw2ed\nEfTl+esVhpnbbJwuIY8armTFWGvm2dx+hh1I34rj9AP9qZNctRQAg/Q6j2lv\nx8d1qCES6OcAyOBy5OYOT5MiKB9bBrwnjZfloTl82h5cHbQFcS1dMr8DSqbx\noDQMwRHPHHxJn/sHlex1m7SEhQRqY6PkEfqUwDvpuh49ohoPX1AsOKACsL6g\nzkkL39NGbwPqB4fD/In+UfjWdnEcmIN2iCgiwrOrwaw7logLwOMP/HiryUUI\nNfy7/oD8vMYOeGr28RXMbN23plVHwPuP2SfDS34jKOvaJoE9n+rHKvA8o7AV\n5umv33MobRyEl2Azjz2ZeRzrJEtKgj1VYlmFIWVUIsCbtZ77B6jyAUE4T9u4\nRqiHsn6KsesL4a478uUT2rwhPXEh7PVkwMdN076gOUMwCpRBa9oOXGgp68bE\nZYT/bdtQhnhbN/I4w/PblqMOT/T5fKVsWfRmjcEYoU2RO6Xszc7bKzZkZ3nB\nLQYnvgh85n/NTpH6JvofvTkEsdu/5HF2vMvY72LlYRF1RLe0UVa1ybRQr/R9\n6eMG\r\n=Ht5t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXcWZjuJ8fEeflbnYEOU+01t67lIuTPMRZdkhLEJQ+JAIgKGLKlCf2QIGFRx7H0Z6RAlHmm/mJlvbz9nbT6KGJTck="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.9.0-20180803172723_1533317490765_0.16119467593170644"},"_hasShrinkwrap":false},"0.9.0-20180803210939":{"name":"@atomist/k8-automation","version":"0.9.0-20180803210939","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@atomist/sdm":"^0.4.0-20180803134505","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.1","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.116","@types/mocha":"^5.2.5","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"eacc3a528bbfd50c5ef9e2fbdddc0c3b9a6cb19a","readme":"# @atomist/k8-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fk8-automation.svg)](https://badge.fury.io/js/%40atomist%2Fk8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API and executes goals on behalf of a software\ndelivery machine.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/github-sdm (@atomist/sdm Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"http\"\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/k8-automation.git\n$ cd k8-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/k8-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/k8-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nReleases are managed by the [Atomist SDM][atomist-sdm].  Press the\n\"Release\" button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@0.9.0-20180803210939","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-JpKgIHU1LUsvS53it7uCN/A2M2ijQrV6OiZoKtwX9gXwMhPGkZ31bbKKO8QtjC4c1Krx7MQy3LGoA8lMJhikuQ==","shasum":"99c1614fcbfa5f6f2e87bb53dd5bb28d4d2fa332","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.9.0-20180803210939.tgz","fileCount":41,"unpackedSize":356909,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZMi3CRA9TVsSAnZWagAARz4P/1Gqy6OfQjpAnInYku3F\nOo2xC+g8M9IWbWn8kp987NzjQtlej8/d4uBMR4qhOrts59vZ2vM79Yq9qSHE\nIXjWF5Ervou+IC8/9Y4jlxF1E/+6jETAseR+jViibU0R0ZJIjQPt8E0UhYdK\nqZUq9vBwkUxCcKjPGX91nv7F/gBAXLxhzkte4MGdu+EHn3lcknrBbI7XUDeL\nWuug5cd3ZmUAAHx4BrXNEahlCGYZCMZ5PK0s/MljR1g96xu03ApuJCcErda8\nl0LjMyoVZFwGA+rt0Eq4/1TkbZ6DmcP457OTvOMD0i/k0euU1hF+fERa4DY9\nWKSsO/4v49XKnpgPvq9wE/auG2vpbNCaMJ6kUnYx6Hh0wtg4AUGJcWtWQPPx\nYizmkWDxiyFv6RSyLWPzwcqp5PMxMPiijN4cYaKDsoiQCrlGDTrWyq+AjHOR\nGm6w2iku8qdMZ7n6RnKfAaqTaOgB2JnIswPvq0xXfA0xVHdMaN884zJZQzfq\nNg7sCodmyyW4LbfiVqMi4U7JQshWQWkpKXWZ4Ri41ypg12LOtPuQvGeyO98o\nhKwhnmrLfwCyyTn8mXeiVtE669I1DMVOZoedZDFQ8Z7G/vlQbCj3pbSpOg+/\niszQpbx4tgXGvXoFLC4qDBZwlPL7NwM+1B/7aFaP2ejz16LQIAH5jNKyxDWA\njFEy\r\n=gVRv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGIr/gM03pOrJAmaSC0qOF0RD4XmuhYQL84Q0lZAHu7DAiEAnl0uhLpsJbJbiFwXJVqJMCH4V2M3NQ70GBx+U+Dg7ps="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.9.0-20180803210939_1533331638608_0.0719121228699644"},"_hasShrinkwrap":false},"0.9.0-20180803223018":{"name":"@atomist/k8-automation","version":"0.9.0-20180803223018","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@atomist/sdm":"^0.4.0-20180803134505","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.1","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.116","@types/mocha":"^5.2.5","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"0000df3b18d02dd1f5233c1882beb76dd7812b59","readme":"# @atomist/k8-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fk8-automation.svg)](https://badge.fury.io/js/%40atomist%2Fk8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API and executes goals on behalf of a software\ndelivery machine.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/github-sdm (@atomist/sdm Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"https\" if `tlsSecret` is provided, \"http\" otherwise\n`replicas` | No | Number of replicas (pods) deployment should have\n`tlsSecret` | No | Name of existing [Kubernetes TLS secret][kube-tls] to use when configuring the ingress\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\n[kube-tls]: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls (Kubernetes Ingress TLS)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/k8-automation.git\n$ cd k8-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/k8-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/k8-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nReleases are managed by the [Atomist SDM][atomist-sdm].  Press the\n\"Release\" button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@0.9.0-20180803223018","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-yxOhtGSalm709Eaatn63BS6cjsDF/6EjX0Y+LprSbG852reGPjLIjmjXu6fCWanddQKqWez9L0gb/mE0YE08Qg==","shasum":"e99d612df7002bddbda116fc4ad2b3249cdfcb1e","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.9.0-20180803223018.tgz","fileCount":41,"unpackedSize":357497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZNh3CRA9TVsSAnZWagAAsHIP/RZPVkg2EmRESVubmmzm\nPcIBnZj53wosjC4yeosM24AduxODq7ZjT3bBmTY+Kr5Lbs7MOD4Mo2F2FhTg\nDlRGEJdIdvGHyOXRwpcGc9I8AlSPxvHpl+did/uTjk9xyoNScjuTxCNy6lcx\nKj4XbaGQ1D11OhFsC37/tpA2HOdoMQ9MkPBmJi8TbwpETlHy8vaQ6GOW1Vtz\nxtkxE/3+L0OvhD0bTJ5/QBs7QQ4O7PdnHCwXfk9w81HWggd3FuSCqtRkf6pi\nrHfIn26RrTo6pjMB6bK/oBWtE8TrUZBdwj/N2PVdrpaTQibcvkg5RApYvCac\noBlSEgB08D1/7T2GguXOZIDvS1KmeQMY10B1IVc+9aj9DqhfS1DcuK6hAlVk\nOtzCAHGkLr5gQKPuuyayPFZ9kdPr+a9b22V0tfeun00FifUDwyYBqf2vnFKE\nUu5DW6vjkD0mOWa4JRvQnNaFuAF1Lbzx0AGcvKy/qz59ZSaHje3mBUzUjgjO\nDNyIGXxKz4HW0V5pafxrz6/BI6YZ4X9qgRX7fZmhfEfKWjuDgO3ziYzipY5J\nwIp5h8bvAjvKGb05/jpCdUNe8ni/jp4/u4fpeBzdVL+OKXEJ5lxUBZxueNYG\nGQhyGmao2x3R82y+D6Ubp+3qzHWYAi9Wo8CKjofOcf8CD9ieu7tJXZshJg32\nUJFv\r\n=8RQO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjDlQ1wPP8j+fisj2yJij6M8BA/UkbDBR/xkTThAEBLAIgcNRb1AMzkf4+F3AI/qjNZHIYtBi8qbpGhBRHo/sUcmc="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.9.0-20180803223018_1533335670863_0.17239048706097027"},"_hasShrinkwrap":false},"0.9.0-20180803223231":{"name":"@atomist/k8-automation","version":"0.9.0-20180803223231","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@atomist/sdm":"^0.4.0-20180803134505","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.1","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.116","@types/mocha":"^5.2.5","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"292760a987fda7df7191e3020e258cdd8321fc69","readme":"# @atomist/k8-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fk8-automation.svg)](https://badge.fury.io/js/%40atomist%2Fk8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API and executes goals on behalf of a software\ndelivery machine.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/github-sdm (@atomist/sdm Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"https\" if `tlsSecret` is provided, \"http\" otherwise\n`replicas` | No | Number of replicas (pods) deployment should have\n`tlsSecret` | No | Name of existing [Kubernetes TLS secret][kube-tls] to use when configuring the ingress\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\n[kube-tls]: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls (Kubernetes Ingress TLS)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/k8-automation.git\n$ cd k8-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/k8-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/k8-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nReleases are managed by the [Atomist SDM][atomist-sdm].  Press the\n\"Release\" button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@0.9.0-20180803223231","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-zE7mQqioWga3xECnA6ggCNoAbyb+5tUJifyKu+I494ebw9OGsFH1h6VduDjmUjLbvEupxGPMk09bifyDXz1x+Q==","shasum":"15b0d49cd11278194a77129f4ad435d3335531e0","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.9.0-20180803223231.tgz","fileCount":41,"unpackedSize":357478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZNj0CRA9TVsSAnZWagAAHQ8P/A+2lGFDmUVyd/84job7\nUcLyESYau9iMo0C8eX5HT5QLbbbWRJ5H+khwtL6OLAVh0hJ5CB8mQwhJInJi\n5sXVzua73oshfwhlobCS7G6bGDxssQO5myZyQ91n1qZrKAOG3tyCnVrdWCrn\nOttxHYqro/aFyjKrNKhXlpG4Oh29GEa3bKDRGDSimn5P8E1Z7DfH1aIVsuVo\na/kqHmN0HF0yDuU8lMuLNv8oLuUbxf6wXIYqeaxgoID9BAiWOGVCShzIRk/J\nDQWNX9xYHhm1CVXwsSCP2Cg5Hd3WOtH/7qFR/BEQyJSFeuOpUk4PgJO7RE3k\n8HwyeUwFy6hPgvO/UKW0FL6KjiAIqElnGT/cYcACrshPwhkso0hE0zh97FkJ\nnI8h/OMJqsR7AEF+9Z/lF3Hk/upcWW39ANMgFTmNI502wsRDiQwyN3xj7R7O\nzFqE0HVI03Xc3YfkkUFnA7hNwS/AdFKtElWw7OFxKfk/r4TKLu9BKAV+aLa/\niIN1N1wb3289cf/XMXMHbw7yfaseLm6Dh8s+C6MLFkUTcIcu2F2INV9yamAD\ns+PTWccopIi3zu6t2KBebV7S6etjIrf2dvVMTzpaiS5wqkEQiVOJUrEd39eu\n5LLFIRpyMGm4FrZAepKEpz0vDVKbVR+oJEHFn1z6fdjaxb0w+kmuuoOFiH3g\nAxli\r\n=0cnU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+lk4FkAjLKyPYI98Zhmbz22R9t0wPUKskQwm15e/+ygIhAJga91bAx0uNtMD8MUD5uqkrKs/M5PUEn/3G3Gz8xgvi"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.9.0-20180803223231_1533335796236_0.902116157336269"},"_hasShrinkwrap":false},"0.9.0":{"name":"@atomist/k8-automation","version":"0.9.0","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@atomist/sdm":"^0.4.0-20180803134505","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.1","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.116","@types/mocha":"^5.2.5","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"292760a987fda7df7191e3020e258cdd8321fc69","_id":"@atomist/k8-automation@0.9.0","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-ez+aXsXg8V3/f2tQvaz1ncjMX46396CZyLcpqAkOONfx67tohMqiIlXqVDZBydtzm91RFQC8enG7oxPwIb0gkA==","shasum":"0ed5d9359f0cee9e3f096f08e12ef13035a4d047","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.9.0.tgz","fileCount":41,"unpackedSize":357463,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZbTVCRA9TVsSAnZWagAAp9kP/09hHud00F1XLooVkncO\n3Sxgtr4R5igjlhGd9dkEQAQcgmzKSCnkk4UDq54lWw1rXidpNxFGUugx1XzP\nC6SVnOOZq56s5r1kiQN/y3Y8CUxCfvB/Kps1NaHwlwvt3MX0MTLY1soENSPe\nDGPgbDVW5DL/ag4nJlZxq1fcOgyxvymAA044C8Rue9ZKySfzTaUijgdMI6K8\nGkjad5RUHig2+WFFfizWy0A2cOHXAgDTtF2EiStBeBMSGqYzeznTNHcWQFly\nBQI8aI6dABd68eJmnZAr+wDDkOODTo/qFKh1TarWj3jXHoO4RvOFQseUAHlz\nr8NI5XTUhWtRwxrVwU2lBI/3zUECfW5rHM2CNqm7XCpbr408eO+HS8yeAljd\ngfm1cc3oYkTvxgH1IAak9MlgiMr4rG4yqkWg4TUINRRJa3lKOkpo7JmXyj5c\nvgKyVvk8mD+ygS+mHzPd5e4SBerBJaJ+JKMJ1qoGa0/uOWvCRMvZlvahGMk8\ntUzI12yZQN9BLcdHVs9EfN1r+b5zb9xNuRGuyi3wdSu/JfXE+dzJOk8FBlQV\n6txd3d5bbuaJFOodPqe5NSKTfYp2YH4gZv5thh+OuCKFEG0mVmyEYuwgAq9W\nVVznjg2dLYLOM8LnnrtOLPFAzsIKzHvRJ5uv0KvGGMjwpmcdSviqrc80dGy6\ngHPc\r\n=k2M6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2PSO956bhIOWP6K68iEsDMvhXqYkqhszFGX6zti72gQIhALaEA7LTbOgHdFX1xjuABcvqVHJvWYxi7EX3KxOXW/RM"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.9.0_1533392084895_0.1198214417426855"},"_hasShrinkwrap":false},"0.9.1-20180804141551":{"name":"@atomist/k8-automation","version":"0.9.1-20180804141551","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@atomist/sdm":"^0.4.0-20180803134505","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.1","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.116","@types/mocha":"^5.2.5","@types/node":"^9.4.1","@types/power-assert":"^1.4.29","@types/promise-retry":"^1.1.1","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.14.12","npm-run-all":"^4.1.2","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^4.1.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"67f1842422f6c9650692d85a7562684e86df3aa7","readme":"# @atomist/k8-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fk8-automation.svg)](https://badge.fury.io/js/%40atomist%2Fk8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API and executes goals on behalf of a software\ndelivery machine.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/github-sdm (@atomist/sdm Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"https\" if `tlsSecret` is provided, \"http\" otherwise\n`replicas` | No | Number of replicas (pods) deployment should have\n`tlsSecret` | No | Name of existing [Kubernetes TLS secret][kube-tls] to use when configuring the ingress\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\n[kube-tls]: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls (Kubernetes Ingress TLS)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/k8-automation.git\n$ cd k8-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/k8-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/k8-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nReleases are managed by the [Atomist SDM][atomist-sdm].  Press the\n\"Release\" button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@0.9.1-20180804141551","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-TrgIcYo+Tfg6tE5Pw/cZnwlnI5UPPKTHQiMNWD2ZTV2Medmbszoqz7xFtCgtmLwfsthN2tiFFPbSRIK0E7yBHw==","shasum":"e9a6ffe7116c3b737384151eaf4e612a9dd8be9c","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.9.1-20180804141551.tgz","fileCount":41,"unpackedSize":357578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZbYFCRA9TVsSAnZWagAAax4P+QFQ+rqt27FBqbE/HXWk\nSPHv0nd+1I5aUwYMPlPjsIKQKEnGHt4pSZ8wY09NrdvknLnHKbHM33WcJI3U\nnjrcXPtObyJvnPcJxZb2BxungMO6BbF2FwmZbcCB0kSQZksqBEzfB2ojAMqK\nzVGAXFdZjwA8iFGschg8d/0YaexmDHtnPC2nfgFFvN/vxEzVQ279A5o3/U9V\n18FpmwIu4cXS5LPY4+SRs1YbcXN2OIMSzMWw/JjncbE6ExpDxEJh5NZ/Df6o\nFFce39B/qgq5ZTWtJspUr0GU7xAanb5I74TTvJgq7Vdj0fNxipR/ebsOyZYv\nhhQxf+PH3xPZ8cgGThB3766UjXitabhCQocc3gJLISRuRdSscNFmmBmnBLtp\nR7dsOSZLugcxUl5RypPXxhMUiE5VeIpLvYIgremzsLzi0Msk9efQYVo3H2z/\nNO8znPwTJtYHqNW7x44OeRsEhwduq3p6lBVEQTMuGQQ02EPOPI5aLb3+AHnS\nWkl3fmX7uTicENqrmYBg5R9prMX/22Yo2s1ga8oJeStvm8qTQAxalAe0a3Io\nmZpKruAEhBndBheVUhmZJ6SBtH1Y0oNsxlGLZlTqNHk8d9oDumcIw8uy/kIS\nCow1jWejOfOR1eIP1GhJp4jDtyvEQ1l4ukShO9DhjvLFPA2nqTtTJUu0FU8v\nurE+\r\n=gBcM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGTT/uGg+QKLcTeQjpkteukxPGTxc17BUrYjpTC4ytBYAiEAy51NNn6/Bvc7J1z8MkeBMKKWf8EU25RaAsSpczDAtS0="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.9.1-20180804141551_1533392389031_0.09383314893441885"},"_hasShrinkwrap":false},"0.9.1-20180808184413":{"name":"@atomist/k8-automation","version":"0.9.1-20180808184413","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@atomist/sdm":"^0.4.0","@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.116","@types/promise-retry":"^1.1.1","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.1","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/mocha":"^5.2.5","@types/node":"^10.5.7","@types/power-assert":"^1.5.0","copyfiles":"^2.0.0","espower-typescript":"^9.0.0","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.18.3","npm-run-all":"^4.1.3","power-assert":"^1.6.0","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --ignoreCompilerErrors --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"5.x.x"},"gitHead":"88276544292770f1832b749709855c07d6fe9443","readme":"# @atomist/k8-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fk8-automation.svg)](https://badge.fury.io/js/%40atomist%2Fk8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API and executes goals on behalf of a software\ndelivery machine.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/github-sdm (@atomist/sdm Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"https\" if `tlsSecret` is provided, \"http\" otherwise\n`replicas` | No | Number of replicas (pods) deployment should have\n`tlsSecret` | No | Name of existing [Kubernetes TLS secret][kube-tls] to use when configuring the ingress\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\n[kube-tls]: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls (Kubernetes Ingress TLS)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/k8-automation.git\n$ cd k8-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/k8-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/k8-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nReleases are managed by the [Atomist SDM][atomist-sdm].  Press the\n\"Release\" button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@0.9.1-20180808184413","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-4Nw5SqyBVQjL+lmA1zXCLq9IMOYILn/o+5Jrk1sNIgXOKApDAUbWG40d5FEvl7r/d5tt2XvsVyUYAxtlGuNU8A==","shasum":"90cad3de36944c277750c7fdc2b67a134b6e81ee","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.9.1-20180808184413.tgz","fileCount":34,"unpackedSize":303276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbazr0CRA9TVsSAnZWagAA/UcP/32salgQmeb7+G0HmZhv\nUISo4CPLMTWxam3YccwlZaLXoAML6o/vHcIw5H1nqyIILZpCUYEEm8G+8zuw\ngjGUzu+IdqwuxRtXY568OW4kRqIS5zYfK3sPMA0wV2DNmsvUcB0DE/ct4dcA\nK18f2xW4TTGiCp6uGDp/SVlu1dZPcYzGrSH2WQbCU2fl5ZdmkZGIX0dSmA9e\nZyLGM1JOJclgIh/O8p/PhQTpMhM9pjchusp2y9bFCZpxkXgCkbnpMRMBmciA\n34qFBhsMKgJreeGxRas8DSf8nQtYmVFHSTUcGg158pqhficfr0eBZO6GB4L1\nvDKz7HuLWo9MSu9v70+0XFif2zpoefJbbtvTpXTZdZZ5u2O5XDdg0Hu1nl3G\nbxfgskzNRa65V6S4MMi5Kwww7/gldCIdLdcaOpekilZq7uR0Fn27nEkOAl2q\nZOCkKVOfr5b4bz71IY7aYYNpfUHd58P+TJzS2Qxb7jTg1GtC+vtyFgEiyYO/\nNyDc7Sqqp0fa0c62prsShJSK4OiZxzFrZBdT2cyXMuUyjLgKLYUmv25ZO5Y+\nikizNIXtWNjwcG3n/axum4eWanFQG2+2RhntevNb166KR1kXtq2mpVV83EOc\n+8MLCrL7kk9mWIIJ3OAJalgMcttzjcVpWdVUd8sRAWRqykfys1wKCiFYOcOI\nz31g\r\n=xP1I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpqBRR8vdRaQD3sIwRfi1cITU94HHcZIYjcAGbM30uiQIhANyVJmXpd9n1xBLueWdgX8nK/JBYDapL2oRUgUzSJn2R"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.9.1-20180808184413_1533754100610_0.011129829877498887"},"_hasShrinkwrap":false},"0.9.1-20180808184713":{"name":"@atomist/k8-automation","version":"0.9.1-20180808184713","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@atomist/sdm":"^0.4.0","@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.116","@types/promise-retry":"^1.1.1","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.1","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/mocha":"^5.2.5","@types/node":"^10.5.7","@types/power-assert":"^1.5.0","espower-typescript":"^9.0.0","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.18.3","npm-run-all":"^4.1.3","power-assert":"^1.6.0","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --ignoreCompilerErrors --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":">=8.0.0","npm":">=5.0.0"},"gitHead":"b24a9e8e41e2fa121196ef337509b9fb1ebe9c11","readme":"# @atomist/k8-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fk8-automation.svg)](https://badge.fury.io/js/%40atomist%2Fk8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API and executes goals on behalf of a software\ndelivery machine.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/github-sdm (@atomist/sdm Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"https\" if `tlsSecret` is provided, \"http\" otherwise\n`replicas` | No | Number of replicas (pods) deployment should have\n`tlsSecret` | No | Name of existing [Kubernetes TLS secret][kube-tls] to use when configuring the ingress\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\n[kube-tls]: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls (Kubernetes Ingress TLS)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/k8-automation.git\n$ cd k8-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/k8-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/k8-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nReleases are managed by the [Atomist SDM][atomist-sdm].  Press the\n\"Release\" button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@0.9.1-20180808184713","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-HhVj0MpBIOfzU2/Q+BVX157WCJnA4icpX/VI0dIVtDHBmoKLrbFBUzJpJXBwYNOzS3l5IJps/o+ns9arrjzCVQ==","shasum":"f8edffaff8852bea41161066bfcf3f8048a3575e","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-0.9.1-20180808184713.tgz","fileCount":34,"unpackedSize":303253,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbazuzCRA9TVsSAnZWagAAeFkP/1xoQLxpbq7vo05POvJs\ny1PSSZLEp9HdujtF4gh8Dssj6ttOQhw7alZsTzY7qE4PR2S6XvTNW1faRgDi\nimmTGDVxeSAxaFxbyvrPgupdA3RVo6GMC4niwDF1v8BYspxrb5x8CX1WmcWV\nKCm4zpBMzb0PWylUFcB9ryuKXF0JZ9N/9j4vujznzlLi2Sw8bfH53UVV0Ro1\nBdV3oeZH7t9PiFE4/hKGGgeETbWNvpVckJCa25z9rDjFKab8Pz6cNuG2M8hk\nfziKxayZa12obR+JjLttU7IhyfHCElkp41X2ETOkdx0jxxjFQhhVHl3ITc18\nHgNv/HYgql/XkC9ESGRR8+rTMC4v/xnIIhPbsyFWdk26QvHDb4pcssa4Bv6c\npgH4vLtOhzv+ZPc/IIOIFmoDKn9269yNmTHIo+p8/6ZV4SXQbWZXgO26IuCX\nufTqbknRBWqLYxBEHcA6BSLQ0g0E0LpoKMZ8PxNzKKECGvre+vw1xEVpg4FC\n16YRcfOztBFbWznv3iarbLehA3oa4qE/XC6P108Y9wXu0wqBztakYYjIvqWw\nl7e4gzL/5832miKTl3szHpTtpmmu4g0wJFdttuPkFZey+DHP1o3ZUZ7A+zBG\ns2Erwy/Bc0TE5ouXN9/W9GGUf8dSGdDi2yA74EUYLeZA1KKjaJRtsKXq65+A\nEMIR\r\n=n6Sr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+vHEVbjtS5lR+7P00YDgtdCq2MOyufQ57kkjZ9+TXOgIgQ4sZDkJLblBKoVOytcnr40Shr9P5bu7gzTL/tQm4768="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_0.9.1-20180808184713_1533754291870_0.9172787005447449"},"_hasShrinkwrap":false},"1.0.0-master.20180829160736":{"name":"@atomist/k8-automation","version":"1.0.0-master.20180829160736","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^1.0.0-M.2","@atomist/automation-client-ext-logzio":"^1.0.0-M.1","@atomist/sdm":"^1.0.0-M.1","@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.116","@types/node":"^10.5.7","@types/promise-retry":"^1.1.1","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.1","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/mocha":"^5.2.5","@types/power-assert":"^1.5.0","espower-typescript":"^9.0.0","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.18.3","npm-run-all":"^4.1.3","power-assert":"^1.6.0","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts --watch lib --ext ts --delay 4 --exec ts-node -- node_modules/@atomist/automation-client/bin/start.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"run-s compile test lint doc","clean":"run-p clean:compile clean:doc clean:run","clean:compile":"rimraf git-info.json \"index.{d.ts,js{,.map}}\" \"{lib,test}/**/*.{d.ts,js{,.map}}\" lib/typings/types.ts","clean:dist":"run-s clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"run-s git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --excludeExternals --ignoreCompilerErrors --exclude \"**/*.d.ts\" --out doc index.ts lib","git:info":"atm-git-info","gql:gen":"atm-gql-gen","lint":"tslint --format verbose --project . --exclude \"node_modules/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atm-start","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":">=8.0.0","npm":">=5.0.0"},"gitHead":"02f96386479f44a16830c2e4b9470f4e6e0c7913","readme":"# @atomist/k8-automation\n\n[![atomist sdm goals](http://badge.atomist.com/T29E48P34/atomist/k8-automation/7f92c63a-cd89-448e-8360-e9c507f87099)](https://app.atomist.com/workspace/T29E48P34)\n[![npm version](https://img.shields.io/npm/v/@atomist/k8-automation.svg)](https://www.npmjs.com/package/@atomist/k8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API for software and executes goals on behalf\nof a software delivery machine (SDM).\n\nSee the [Atomist documentation][atomist-doc] for more information on\nwhat SDMs are and what they can do for you using the Atomist API for\nsoftware.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/sdm (@atomist/sdm Node Module)\n[atomist-doc]: https://docs.atomist.com/ (Atomist Documentation)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][atomist-doc].\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"https\" if `tlsSecret` is provided, \"http\" otherwise\n`replicas` | No | Number of replicas (pods) deployment should have\n`tlsSecret` | No | Name of existing [Kubernetes TLS secret][kube-tls] to use when configuring the ingress\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\nFull details for the `kubernetes` property can be found in the TypeDoc\nfor [`KubeApplication`][kube-app].\n\n[kube-tls]: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls (Kubernetes Ingress TLS)\n[kube-app]: https://atomist.github.io/k8-automation/interfaces/_lib_k8_.kubeapplication.html (Atomist - KubeApplication - TypeDoc)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in the [Atomist community Slack workspace][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nYou will need to install [Node.js][node] to build and test this\nproject.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Build and test\n\nInstall dependencies.\n\n```\n$ npm install\n```\n\nUse the `build` package script to compile, test, lint, and build the\ndocumentation.\n\n```\n$ npm run build\n```\n\n### Release\n\nReleases are handled via the [Atomist SDM][atomist-sdm].  Just press\nthe 'Approve' button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack workspace][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/k8-automation@1.0.0-master.20180829160736","_npmVersion":"6.4.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-ZHZLASIUvaCAtvqZ5oqaUQx4wCe8ydv6SkeDLp2ehatPU1ip8swUXzey27IugLynCPMabnd0sUyTzH/R7TW7nQ==","shasum":"7097dc3de360b047a9073c66f6e3388038a00ac6","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-1.0.0-master.20180829160736.tgz","fileCount":33,"unpackedSize":261505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbhsWjCRA9TVsSAnZWagAA2wQP/0VLWc4aybxI0u6+xVsa\nkg7KcOAPaS+WkMO7++nmMiIrk6WEwtsJb03D8D7zqPxUFP7KXEPY5DDQQOkq\nj7a/BZQ0lTO17K/o+ljqodkfwUQLaQRcnm7l5p4bUqdJNb210wqnPD6admRu\nVBdVVLqQeO1TC0amdXHqPlT6NiHnaiikoGW+0K5KC0Xh7SFx9wjopdNVAlXM\nGBP+yOO/i6gZnYaLe1sydcQoN777C5fQ2y6pBzZTEoelOO8yFy2CyXj4g09X\n3Bg7HzOJ/OdmquRDrrF2JfffG8Wul9pNOkUSmfEBpgFAmwOWOZJ8CJSVR5ZT\n2oWJllDno4D8dML0FxG0ddhsHw+K5EQR0WovEqlPCqei114riCmhN+j4/F2H\niIi8o87mGmQ2QeWC26WNLXBP7gTmly4Ip6V7COyziMzQEW9jozaBIUmDyXkv\nuDlFOW6mvkmnHobBi6rptjkxLcKKeyAz93CYBTUpyNrfOw8QhKmsRE8NfpqQ\nkE0ewbFNs/zj2GCwKmmK7zp5VKNmhzILRbWUyWUAOQ/GD3q1BCxhgZnf1Zsc\n8Eb0R7ixtEo0yrhnT0bOQV/nacbOjDfWJdk5Geza+WSb7QdMpdGEJqQDEL2P\nWARVEnCZT3QSt2+jp/S+TC6ydq+9Qh5YID1IFKrnSukc2JefSlm0ZZIeitfr\nCk8v\r\n=/gBk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICd/XlnszxfoIB1IALXSxLiTlw39r1rxvhjlI9lUFlNlAiB+joGSxdSTuwhh4gml5gFWthMoiSdaTafxI/ir2Hyjew=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_1.0.0-master.20180829160736_1535559075052_0.7085492311161834"},"_hasShrinkwrap":false},"1.0.0-master.20181007212944":{"name":"@atomist/k8-automation","version":"1.0.0-master.20181007212944","description":"Automations for deploying, updating, and removing resources in Kubernetes","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"homepage":"https://github.com/atomist/k8-automation#readme","bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"keywords":["atomist","automation","kubernetes"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"1.0.0-master.20181006002158","@atomist/automation-client-ext-logzio":"1.0.0-master.20180926175305","@atomist/sdm":"1.0.0-master.20181007193107","@types/app-root-path":"^1.2.4","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.116","@types/node":"^10.5.7","@types/promise-retry":"^1.1.1","app-root-path":"^2.0.1","json-stringify-safe":"^5.0.1","kubernetes-client":"^5.3.1","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","promise-retry":"^1.1.1","serialize-error":"^2.1.0","winston-logzio":"^1.0.6"},"devDependencies":{"@types/mocha":"^5.2.5","@types/power-assert":"^1.5.0","espower-typescript":"^9.0.0","graphql-code-generator":"^0.8.14","mocha":"^5.2.0","nodemon":"^1.18.3","npm-run-all":"^4.1.3","power-assert":"^1.6.0","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts --watch lib --ext ts --delay 4 --exec ts-node -- node_modules/@atomist/automation-client/bin/start.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"run-s compile test lint doc","clean":"run-p clean:compile clean:doc clean:run","clean:compile":"rimraf git-info.json \"index.{d.ts,js{,.map}}\" \"{lib,test}/**/*.{d.ts,js{,.map}}\" lib/typings/types.ts","clean:dist":"run-s clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"run-s git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --excludeExternals --ignoreCompilerErrors --exclude \"**/*.d.ts\" --out doc index.ts lib","git:info":"atm-git-info","gql:gen":"atm-gql-gen","lint":"tslint --format verbose --project . --exclude \"node_modules/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atm-start","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":">=8.0.0","npm":">=5.0.0"},"readme":"# @atomist/k8-automation\n\n[![atomist sdm goals](http://badge.atomist.com/T29E48P34/atomist/k8-automation/7f92c63a-cd89-448e-8360-e9c507f87099)](https://app.atomist.com/workspace/T29E48P34)\n[![npm version](https://img.shields.io/npm/v/@atomist/k8-automation.svg)](https://www.npmjs.com/package/@atomist/k8-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/k8-automation.svg)](https://hub.docker.com/r/atomist/k8-automation/)\n\nThis repository contains automations for deploying applications to\nKubernetes using the [Atomist][atomist] API.  Currently, deploying\nDocker images as deployments with optional services and ingress rules\nis supported.\n\nThis project uses the [`@atomist/automation-client`][client] and\n[`@atomist/sdm`][sdm] node modules to implement a local client that\nconnects to the Atomist API for software and executes goals on behalf\nof a software delivery machine (SDM).\n\nSee the [Atomist documentation][atomist-doc] for more information on\nwhat SDMs are and what they can do for you using the Atomist API for\nsoftware.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[sdm]: https://github.com/atomist/sdm (@atomist/sdm Node Module)\n[atomist-doc]: https://docs.atomist.com/ (Atomist Documentation)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][atomist-doc].\n\n### Atomist workspace\n\nYou need an Atomist workspace.  If you do not already have an Atomist\nworkspace, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  See the [Atomist User\nGuide][atm-user] for detailed instructions on how to sign up with\nAtomist.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n[atm-user]: https://docs.atomist.com/user/ (Atomist User Guide)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n## Configuration\n\nYou can run k8-automation in either \"cluster-wide\" mode or\n\"namespace-scoped\" mode.  In cluster-wide mode, k8-automation is able\nto deploy and update applications in any namespace but it requires a\nuser with cluster-admin role privileges to install it.  If you only\nhave access to admin role privileges in a namespace, you can install\nk8-automation in namespace-scoped mode, where it will only be able to\ndeploy and update resources in that namespace.\n\n## Running\n\nSee the [Atomist Kubernetes documentation][atomist-kube] for detailed\ninstructions on using Atomist with Kubernetes.  Briefly, if you\nalready have an [Atomist workspace][atomist-getting-started], you can\nrun the following commands to create the necessary resources in your\nKubernetes cluster.  Replace `WORKSPACE_ID` with your Atomist\nworkspace/team ID and `TOKEN` with a GitHub token with \"read:org\"\nscopes for a user within the GitHub organization linked to your\nAtomist workspace.\n\n```\n$ kubectl apply --filename=https://raw.githubusercontent.com/atomist/k8-automation/master/assets/kubectl/cluster-wide.yaml\n$ kubectl create secret --namespace=k8-automation generic automation \\\n    --from-literal=config='{\"teamIds\":[\"WORKSPACE_ID\"],\"token\":\"TOKEN\"}'\n```\n\n[atomist-kube]: https://docs.atomist.com/user/kubernetes/ (Atomist - Kubernetes)\n[atomist-getting-started]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n\n## SDM interface\n\nThe KubeDeploy event handler triggers off an SDM Goal with the\nfollowing properties:\n\nJSON Path | Value\n----------|------\n`fulfillment.name` | @atomist/k8-automation\n`fulfillment.method` | side-effect\n`state` | requested\n\nIn addition, it expects the SDM Goal to have a `data` property that\nwhen parsed as JSON has a `kubernetes` property whose value is an\nobject with the following properties:\n\nProperty | Required | Description\n---------|----------|------------\n`name` | Yes | Name of the resources that will be created\n`environment` | Yes | Must equal the value of the running k8-automation instance's `configuration.environment`\n`ns` | No | Namespace to create the resources in, default is \"default\"\n`imagePullSecret` | No | Name of the Kubernetes image pull secret, if omitted the deployment spec is not provided an image pull secret\n`port` | No | Port the container service listens on, if omitted the deployment spec will have no configured liveness or readiness probe and no service will be created\n`path` | No | Absolute path under the hostname the ingress controller should use for this service, if omitted no ingress rule is created\n`host` | No | Host name to use in ingress rule, only has effect if `path` is provided, if omitted when `path` is provided, the rule is created under the wildcard host\n`protocol` | No | Scheme to use when setting the URL for the service endpoint, \"https\" or \"http\", default is \"https\" if `tlsSecret` is provided, \"http\" otherwise\n`replicas` | No | Number of replicas (pods) deployment should have\n`tlsSecret` | No | Name of existing [Kubernetes TLS secret][kube-tls] to use when configuring the ingress\n`deploymentSpec` | No | Stringified JSON Kubernetes deployment spec to overlay on top of default deployment spec, it only needs to contain the properties you want to add or override from the default\n`serviceSpec` | No | Stringified JSON Kubernetes service spec to overlay on top of default service spec, it only needs to contain the properties you want to add or override from the default\n\nFull details for the `kubernetes` property can be found in the TypeDoc\nfor [`KubeApplication`][kube-app].\n\n[kube-tls]: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls (Kubernetes Ingress TLS)\n[kube-app]: https://atomist.github.io/k8-automation/interfaces/_lib_k8_.kubeapplication.html (Atomist - KubeApplication - TypeDoc)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in the [Atomist community Slack workspace][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/k8-automation/issues\n\n## Development\n\nYou will need to install [Node.js][node] to build and test this\nproject.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Build and test\n\nInstall dependencies.\n\n```\n$ npm install\n```\n\nUse the `build` package script to compile, test, lint, and build the\ndocumentation.\n\n```\n$ npm run build\n```\n\n### Release\n\nReleases are handled via the [Atomist SDM][atomist-sdm].  Just press\nthe 'Approve' button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack workspace][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","gitHead":"68cdb42d220287f035ab7505cc33fdba61c1c7ad","_id":"@atomist/k8-automation@1.0.0-master.20181007212944","_npmVersion":"6.4.1","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-4+MFP+Pyp4RTCFby6Aovc+WPrYLWc1X8tDPxewzxzQ8TJHRhCANxeq7UEeMU7c9EtuDBh+uxZSJ1m54gcQzQ2Q==","shasum":"ed58795d8a75ef419ef713411671169316024d0a","tarball":"https://registry.npmjs.org/@atomist/k8-automation/-/k8-automation-1.0.0-master.20181007212944.tgz","fileCount":35,"unpackedSize":303264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbuns/CRA9TVsSAnZWagAAWbcQAKQnOFAuwEpNeMlt6pf8\nm0troKQHV3JtMMziB27wpzCLbTY2fTRrIvB++pVFjh1qw60dfoVCgwmxGZpO\nCLJZBpEkyAZdo1O0Hn53c82V2lgWiOQyVip7Y1IDIAIh8pk5aSkrCAsRWR9E\naDM7ArL7pRori9xR32nP5VQ8aDOkt3pKyr4go7k0dNGREwDyX/Imxoe6KkWt\nS2iKS3Fd+cWJL1gpKZ4GBiLRYA9bwBKnP4ApXAHsHsLDSOFT8oVanB2VgTIe\nBQiGJtY1cAn5Srst993GvrNvApc9wKAaw/sDeU1WdFDilUuW2AYTR1WFvTFd\nBN+d6r5thWmveARDtpXRtKaHI0eCxO5Kuzb4KmCvWc9c12zOgHP2Bk0Utdpa\n8Eaa91CAGg1BUytAaOcIfrvAfmgb6dwWnZuA097j4DTvrZNfAuFTd9NwyWYx\n4uJXf10xtP2tL90aPhbUS5cRRwGbbCuJT+5bU4mqa3S9fnnXRhqWeV10uHHc\n31f9Lfe7hpNHG0ARhj11wilhb5X/C5M2fAsdBjlW+tOPnUs72H5X9CHxdkPT\n53WuVa3ONzhS5SEwgWMH03SCso9JMdcnhFFG4fvnoKySujSwlowLFGn2f00k\nsLLIuLRcmOtuIF3rhQUDtWNGaP/vFzGdwn3CTRYSPUR0WTfBPmAPzANSQ7N/\ncL94\r\n=KySr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDK4dJrRyYdCMmk2hxIfWJJ8VcJhjL8i1vvjr/lN7px3AiB/1E6s+Uw2k3NyzyZGUUYVgSCWBSy831W+zVaDMmwnJw=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k8-automation_1.0.0-master.20181007212944_1538947902567_0.2384515808508465"},"_hasShrinkwrap":false}},"time":{"created":"2018-02-23T03:32:48.598Z","0.1.0":"2018-02-23T03:32:48.713Z","modified":"2023-02-23T17:59:12.267Z","0.1.1":"2018-02-23T04:26:01.435Z","0.2.0":"2018-02-23T21:18:41.505Z","0.2.1":"2018-02-23T22:17:57.416Z","0.2.2":"2018-02-23T23:03:01.695Z","0.2.3":"2018-02-24T15:15:32.702Z","0.2.4":"2018-02-24T15:57:55.376Z","0.2.5":"2018-02-26T20:18:51.074Z","0.2.6":"2018-02-27T21:05:51.659Z","0.3.0":"2018-03-01T12:50:02.668Z","0.4.0":"2018-03-02T16:40:05.379Z","0.5.0":"2018-03-02T23:31:54.797Z","0.5.1":"2018-03-03T05:51:48.897Z","0.5.2":"2018-03-03T20:46:13.847Z","0.5.3":"2018-03-06T02:30:25.905Z","0.6.0":"2018-03-28T19:23:31.540Z","0.6.1":"2018-03-30T16:34:33.476Z","0.6.2":"2018-04-05T17:46:14.022Z","0.6.3":"2018-04-05T21:30:50.231Z","0.7.0":"2018-04-23T14:52:25.378Z","0.7.1":"2018-04-27T13:40:35.291Z","0.7.2":"2018-04-27T14:27:21.926Z","0.7.3":"2018-05-01T14:05:48.262Z","0.8.0-20180518221907":"2018-05-18T22:21:52.176Z","0.8.0-20180518230410":"2018-05-18T23:06:51.041Z","0.8.0-20180519111510":"2018-05-19T11:17:43.375Z","0.8.0-20180521205143":"2018-05-21T20:54:13.032Z","0.8.0-20180522135337":"2018-05-22T13:56:08.580Z","0.8.0-20180528163804":"2018-05-28T16:40:25.028Z","0.8.0-20180528235257":"2018-05-28T23:55:05.764Z","0.8.0-20180529012208":"2018-05-29T01:24:13.246Z","0.8.0-20180529021029":"2018-05-29T02:12:49.587Z","0.8.0-namespace-deploy.20180604181413":"2018-06-04T18:16:12.245Z","0.8.0-20180605192538":"2018-06-05T19:28:56.949Z","0.8.0-20180605221641":"2018-06-05T22:18:47.801Z","0.8.0-20180606141314":"2018-06-06T14:17:02.226Z","0.8.0":"2018-06-06T14:23:56.939Z","0.8.1-20180606142152":"2018-06-06T14:25:47.631Z","0.8.1-20180606143023":"2018-06-06T14:33:51.592Z","0.8.1-nortissej.break-out-api.20180625184130":"2018-06-25T18:43:47.570Z","0.8.1-20180725101723":"2018-07-25T10:22:59.757Z","0.9.0-20180802210016":"2018-08-02T21:03:57.717Z","0.9.0-20180803172723":"2018-08-03T17:31:32.081Z","0.9.0-20180803210939":"2018-08-03T21:27:18.766Z","0.9.0-20180803223018":"2018-08-03T22:34:30.987Z","0.9.0-20180803223231":"2018-08-03T22:36:36.338Z","0.9.0":"2018-08-04T14:14:45.066Z","0.9.1-20180804141551":"2018-08-04T14:19:49.125Z","0.9.1-20180808184413":"2018-08-08T18:48:20.790Z","0.9.1-20180808184713":"2018-08-08T18:51:31.942Z","1.0.0-master.20180829160736":"2018-08-29T16:11:15.287Z","1.0.0-master.20181007212944":"2018-10-07T21:31:42.713Z"},"maintainers":[{"email":"neil.prosser+npmjs@gmail.com","name":"neilprosser"},{"email":"npm@atomist.com","name":"atomist-bot"},{"email":"cd@atomist.com","name":"cdupuis"},{"email":"slimslenderslacks@gmail.com","name":"slimslenderslacks"}],"description":"Automations for deploying, updating, and removing resources in Kubernetes","homepage":"https://github.com/atomist/k8-automation#readme","keywords":["atomist","automation","kubernetes"],"repository":{"type":"git","url":"git+https://github.com/atomist/k8-automation.git"},"author":{"name":"Atomist"},"bugs":{"url":"https://github.com/atomist/k8-automation/issues"},"license":"Apache-2.0","readme":"","readmeFilename":""}