feat: 초기 프로젝트 설정 및 룰.md 파일 추가
This commit is contained in:
95
api.hyungi.net/node_modules/@pm2/agent/README.md
generated
vendored
Normal file
95
api.hyungi.net/node_modules/@pm2/agent/README.md
generated
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
# pm2-io-agent
|
||||
|
||||
This module is used by [PM2](https://github.com/Unitech/pm2) to communicate with [PM2.io](https://pm2.io/plus)'s servers.
|
||||
|
||||
## Transporters
|
||||
|
||||
Two transporters are available now, AxonTransporter and WebsocketTransporter.
|
||||
|
||||
AxonTransporter is using [axon pub-emitter](https://github.com/tj/axon) to send data (PushInteractor) to interaction server and [nssocket](https://github.com/foreverjs/nssocket) to receive data from reverse interaction server.
|
||||
|
||||
WebsocketTransporter is using [websocket](https://github.com/websockets/ws) to send and receive data from websocket server.
|
||||
|
||||
## Launch
|
||||
|
||||
### Using daemon
|
||||
|
||||
To launch using daemon you need to run :
|
||||
|
||||
`node src/InteractorDaemon.js`
|
||||
|
||||
|
||||
Before, you need to set these environment vars
|
||||
|
||||
| Key | Value |
|
||||
|------------------|-------------------------------------------|
|
||||
| KEYMETRICS_NODE | Where bucket's endpoints will be resolved |
|
||||
| PM2_SECRET_KEY | Bucket's secret key |
|
||||
| PM2_PUBLIC_KEY | Bucket's public key |
|
||||
| PM2_MACHINE_NAME | Machine name |
|
||||
| PM2_VERSION | PM2 Version |
|
||||
|
||||
### Using client
|
||||
|
||||
You can use `src/InteractorClient.js` and method `launchAndInteract` with constants as first argument (empty object is authorized), options as second argument which is an object with key `secret_key`, `public_key`, `machine_name` and callback as third argument.
|
||||
|
||||
```js
|
||||
const InteractorClient = require('keymetrics-agent/src/InteractorClient')
|
||||
|
||||
InteractorClient.launchAndInteract({}, {
|
||||
secret_key: '',
|
||||
public_key: '',
|
||||
machine_name: ''
|
||||
}, (err, msg) => {
|
||||
})
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
To configure this agent you can use `config.json`.
|
||||
|
||||
### Default
|
||||
|
||||
By default `AxonTransporter` is enabled and using `push` and `reverse` bucket's endpoint.
|
||||
You can override this endpoints with `AGENT_PUSH_ENDPOINT` and `AGENT_REVERSE_ENDPOINT` environements' vars
|
||||
|
||||
By default `WebsocketTransporter` is disabled, you can enabled it with `AGENT_TRANSPORT_WEBSOCKET` environement's var, it's using `websocket` bucket's endpoint but you can override it with `AGENT_WEBSOCKET_ENDPOINT` environement's var.
|
||||
|
||||
### Transporters
|
||||
|
||||
Into this configuration you can put `transporter name` as key and for values, two keys are available `enabled` and `endpoints`.
|
||||
|
||||
The `enabled` key is using to disable or enable transporter.
|
||||
|
||||
The `endpoints` key can be a string or an object. It depends on what the connect method of the transporter needs.
|
||||
If you set a string, the connect method will be called with endpoint's value or raw value if no endpoint is matched.
|
||||
For objects, the connect method will be called with this object, and value of the keys will be replaced by endpoint's value or raw value if no endpoint is matched.
|
||||
|
||||
## Release
|
||||
|
||||
To release a new version, first install [gren](https://github.com/github-tools/github-release-notes) :
|
||||
```bash
|
||||
yarn global add github-release-notes
|
||||
```
|
||||
|
||||
Push a commit in github with the new version you want to release :
|
||||
```
|
||||
git commit -am "version: major|minor|patch bump to X.X.X"
|
||||
```
|
||||
|
||||
Care for the **versionning**, we use the [semver versioning](https://semver.org/) currently. Please be careful about the version when pushing a new package.
|
||||
|
||||
Then tag a version with git :
|
||||
```bash
|
||||
git tag -s vX.X.X
|
||||
```
|
||||
|
||||
Push the tag into github (this will trigger the publish to npm) :
|
||||
```
|
||||
git push origin vX.X.X
|
||||
```
|
||||
|
||||
To finish update the changelog of the release on github with `gren` (be sure that gren has selected the right tags):
|
||||
```
|
||||
gren release -o -D commits -u keymetrics -r pm2-io-agent
|
||||
```
|
||||
Reference in New Issue
Block a user