{"_id":"strong-liberty-pm","_rev":"33-9e0ee331413d4e7f63d5850f9b27077b","name":"strong-liberty-pm","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"strong-liberty-pm","version":"1.0.0","author":{"name":"Sam Roberts","email":"sam@strongloop.com"},"license":"SEE LICENSE IN LICENSE.md","_id":"strong-liberty-pm@1.0.0","maintainers":[{"name":"octet","email":"sam@strongloop.com"}],"homepage":"https://github.com/strongloop/apiconnect-collective-member#readme","bugs":{"url":"https://github.com/strongloop/apiconnect-collective-member/issues"},"bin":{"wlpn-server":"./bin/server.js","wlpn-collective":"./bin/collective.js"},"dist":{"shasum":"b42e98b2a3ac2758d31c9ecf90ca81606baa7790","tarball":"https://registry.npmjs.org/strong-liberty-pm/-/strong-liberty-pm-1.0.0.tgz","integrity":"sha512-jXcDi+l+ZSFNYK9Q8TyHFkLWQ2adMN0NGJtnzZrE0BCTF7egvRJUa3r9VP6xpqvMVDbQ59IXGbBZKFqzyGjL6Q==","signatures":[{"sig":"MEUCIQD8MLLq3XgvsY+d+Eo3B8wUibdb1OkcxFqdY1N6hEYHfQIgXEuvfMUfKjcKvvz1NYDqcusQASI1x+iVqQPLdth1FAY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"b42e98b2a3ac2758d31c9ecf90ca81606baa7790","gitHead":"c8f65913ca1b7ab33e50307484561df79f13f8d4","scripts":{"test":"tap --coverage --coverage-report=cobertura ./test/test-*","pretest":"eslint --ignore-path .gitignore ./","coverage":"tap --coverage-report=lcov","posttest":"tap --coverage-report"},"_npmUser":{"name":"octet","email":"sam@strongloop.com"},"repository":{"url":"git://github.com/strongloop/apiconnect-collective-member.git","type":"git"},"_npmVersion":"2.14.7","description":"A Liberty Collective member that runs Node.js servers","directories":{},"_nodeVersion":"4.2.1","dependencies":{"pump":"^1.0.1","async":"^1.4.2","debug":"^2.2.0","byline":"^4.2.1","lodash":"^3.10.1","mkdirp":"^0.5.1","express":"^4.13.3","winston":"^2.1.1","bluebird":"^3.0.5","body-parser":"^1.14.1","strong-pack":"^1.0.0","posix-getopt":"^1.2.0","strong-supervisor":"^4.0.0-1","strong-control-channel":"^2.1.1","apiconnect-collective-cli":"^1.0.0","apiconnect-collective-jmx":"^1.0.0","apiconnect-collective-unpack-cli":"^1.0.0"},"devDependencies":{"tap":"^2.1.1","sinon":"^1.17.2","eslint":"^1.6.0","supertest":"^1.1.0","tar-stream":"^1.3.1","concat-stream":"^1.5.0","sinon-as-promised":"^4.0.0","eslint-config-strongloop":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/strong-liberty-pm-1.0.0.tgz_1455767295637_0.11199482902884483","host":"packages-5-east.internal.npmjs.com"}},"1.0.1":{"name":"strong-liberty-pm","version":"1.0.1","author":{"name":"Sam Roberts","email":"sam@strongloop.com"},"license":"SEE LICENSE IN LICENSE.md","_id":"strong-liberty-pm@1.0.1","maintainers":[{"name":"octet","email":"sam@strongloop.com"}],"homepage":"https://github.com/strongloop/apiconnect-collective-member#readme","bugs":{"url":"https://github.com/strongloop/apiconnect-collective-member/issues"},"bin":{"wlpn-server":"./bin/server.js","wlpn-collective":"./bin/collective.js"},"dist":{"shasum":"b0d866ca113d97597e281c5e907fa7fa48725159","tarball":"https://registry.npmjs.org/strong-liberty-pm/-/strong-liberty-pm-1.0.1.tgz","integrity":"sha512-XGd+5ZhPb4GVYhssJW0id/mkZwqMuEGK3TWGkO/rSdJpm8JVBaNin0qNj6hX2cmWZiOXUNqmiy7ER7Zy0HaqVw==","signatures":[{"sig":"MEQCIAV+EuPjvn7ZNjdYRjr4GeXV8+Vq82QbqFUbUnFW7HKJAiAN3OdM9ukcyEDWx3cqlC2ZVRrQZIW10rkXeW53bVYiFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"b0d866ca113d97597e281c5e907fa7fa48725159","gitHead":"2160c20537fa1da2220ae3033fd70681f2e753f9","scripts":{"test":"tap --coverage --coverage-report=cobertura ./test/test-*","pretest":"eslint --ignore-path .gitignore ./","coverage":"tap --coverage-report=lcov","posttest":"tap --coverage-report"},"_npmUser":{"name":"octet","email":"sam@strongloop.com"},"repository":{"url":"git://github.com/strongloop/apiconnect-collective-member.git","type":"git"},"_npmVersion":"2.14.7","description":"A Liberty Collective member that runs Node.js servers","directories":{},"_nodeVersion":"4.2.2","dependencies":{"pump":"^1.0.1","async":"^1.4.2","debug":"^2.2.0","byline":"^4.2.1","lodash":"^3.10.1","mkdirp":"^0.5.1","express":"^4.13.3","winston":"^2.1.1","bluebird":"^3.0.5","body-parser":"^1.14.1","strong-pack":"^1.0.0","posix-getopt":"^1.2.0","strong-supervisor":"^4.0.0-1","strong-control-channel":"^2.1.1","apiconnect-collective-cli":"^1.0.0","apiconnect-collective-jmx":"^1.0.0","apiconnect-collective-unpack-cli":"^1.0.0"},"devDependencies":{"tap":"^2.1.1","sinon":"^1.17.2","eslint":"^1.6.0","supertest":"^1.1.0","tar-stream":"^1.3.1","concat-stream":"^1.5.0","sinon-as-promised":"^4.0.0","eslint-config-strongloop":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/strong-liberty-pm-1.0.1.tgz_1455806386906_0.698956441367045","host":"packages-9-west.internal.npmjs.com"}}},"time":{"created":"2016-02-18T03:48:19.102Z","modified":"2026-04-14T15:16:12.139Z","1.0.0":"2016-02-18T03:48:19.102Z","1.0.1":"2016-02-18T14:39:49.180Z"},"bugs":{"url":"https://github.com/strongloop/apiconnect-collective-member/issues"},"author":{"name":"Sam Roberts","email":"sam@strongloop.com"},"license":"SEE LICENSE IN LICENSE.md","homepage":"https://github.com/strongloop/apiconnect-collective-member#readme","repository":{"url":"git://github.com/strongloop/apiconnect-collective-member.git","type":"git"},"description":"A Liberty Collective member that runs Node.js servers","maintainers":[{"email":"johnbellessa@gmail.com","name":"johnbellessa"},{"email":"chris.dudley@gmail.com","name":"chrisdudley"},{"email":"anne.redwood@uk.ibm.com","name":"redlanne"},{"email":"scheu@us.ibm.com","name":"scheu"},{"email":"akshat.rastogi@ibm.com","name":"ibm-akshat-rastogi"},{"email":"Xuantong.Liu@ibm.com","name":"xuantong"},{"email":"johns.thomas1@ibm.com","name":"johns-thomas"}],"readme":"# apiconnect-collective-member\n\nA Liberty Collective process manager that runs Node.js servers.\n\nThis is a ***Beta*** release and the README is not up-to-date, for more information see:\n\n- [Managing a polyglot environment](https://developer.ibm.com/wasdev/blog/2016/02/17/managing-polyglot-environment-strongloop-liberty-docker-containers-liberty/)\n- [Deploying StrongLoop servers](http://www-01.ibm.com/support/knowledgecenter/was_beta_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/twlp_deployservice_strongloop.html?lang=en)\n- [CLI commands](http://www-01.ibm.com/support/knowledgecenter/was_beta_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/rwlp_command_strongloop.html?lang=en)\n\n\n\n## Usage\n\n- [wlpn-controller](https://github.com/strongloop/apiconnect-collective-controller/blob/master/bin/controller.txt)\n- [wlpn-server](https://github.com/strongloop/apiconnect-collective-member/blob/master/bin/server.txt)\n- [wlpn-collective](https://github.com/strongloop/apiconnect-collective-cli/blob/master/bin/collective.txt)\n  - [wlpn-collective join](https://github.com/strongloop/apiconnect-collective-cli/blob/master/bin/join.txt)\n  - [wlpn-collective remove](https://github.com/strongloop/apiconnect-collective-cli/blob/master/bin/remove.txt)\n\n***TBD***\n- should the above commands be in slc, or should only the API Mesh flow commands (`slc config`,\n  `slc build`, `slc deploy`) be in slc?\n\n### Controller installation\n\nInstall/upgrade with\n\n        npm install -g apiconnect-collective-controller\n\nSetup password (only on first time install, not on upgrade):\n\n        wlpn-controller setup --password=<PASSWORD>\n\nStart the controller:\n\n        wlpn-controller start\n\nOpen controller [admin UI](http://localhost:9443/adminCenter), login with user\nname and password that was set with the setup command.\n\n***TBD***\n\n- Install controller as a service (using strong-service-install)\n- Install secondary controllers... and join them to the collective\n\n\n### Router installation\n\n***TBD***\n- Install IHS... and join it to the collective; or\n- Install DataPower... and join it to the collective\n\n\n### Building a package\n\nPack an appliction for deployment:\n\n        npm install -g apiconnect-collective-member\n        wlpn-server pack .\n\nAlternatively, use slc:\n\n        slc build --npm\n\n\n### Deploying a package using scripting (or manually)\n\n1. Prepare the execution host:\n\n        npm install -g apiconnect-collective-controller\n\n2. Transport the package to the execution host\n\n3. Unpack the package for execution:\n\n        wlpn-server unpack <server name> <npm pack file>\n\n4. Join server to the collective:\n\n        wlpn-collective join <server name>\n          --host=<controller host name> --port=<controller port>\n          --user=<admin user> --password=<admin password>\n          ... hostname of this system, rpc/ssh credentials for this system, etc.\n\n  If you receive `Error: self signed certificate in certificate chain`, then add `--autoAcceptCertificates` to \n  the command line arguments.\n  \n5. Start the server:\n\n        wlpn-server start <server name>\n\n***TBD***\n- port should have a default for join\n- it shouldn't be necessary to hand-edit JSON to configure the server. Specifically, the\n  admin port, work port, cluster name, and the routing options (vhost, api root, port)\n  should be listable and configurable via CLI\n\n\n### Deploying a package using collective/controller\n\n***TBD***\n\n- Intended to use a CLI, or the admin centre UI, for the API Mesh flow, but\n  that's not ready yet. Basically, there would be a `wlpn-collective\n  registerHost` that would take many of the same options as `wlpn-collective\n  join`, but not identify a specific server to join, just the host information.\n","readmeFilename":"README.md"}