janus-cluster-manager

    0.2.5 • Public • Published

    janus-cluster-manager

    Managing a cluster of janus instances. First Register janus instances through an HTTP endpoint, then let handlers do the necessary wiring. Currently there's only one handler available for the cargomedia/janus-gateway-rtpbroadcast plugin.

    Installation

    Install as npm package:

    npm install janus-cluster-manager [-g]
    

    Run service using:

    bin/janus-cluster-manager --port <http-server-port>
    

    Development

    Clone project, install npm dependencies and run binary:

    npm install
    bin/janus-cluster-manager
    

    API

    Core

    Register new instance

    Used to register janus instances into the cluster. Each registered instance will also trigger events intercepted by handlers.

    POST /register
    
    Input
    Name Type Description
    id string instance identifier
    data string json encoded string containing instance's extra data

    Rtpbroadcast

    Get edge server

    Returns available edge server

    GET /rtpbroadcast/edge-server
    
    Response
    {
      "id": "<server-id>",
      "webSocketAddress": "<web-socket-address>",
      "httpAddress": "<http-address>"
    }

    Testing

    To run tests npm run-script test

    Publishing

    • update package.json with a new version
    • release a new git tag with the updated package.json

    After that the npm release should be done automatically. If it didn't happen then release it manually:

    npm publish https://github.com/cargomedia/janus-cluster-manager/archive/<GitTagWithUpdatedPackageJson>.tar.gz
    

    Keywords

    none

    Install

    npm i janus-cluster-manager

    DownloadsWeekly Downloads

    1

    Version

    0.2.5

    License

    MIT

    Last publish

    Collaborators

    • dlondero
    • cargomedia-old
    • njam
    • ppp0
    • tomaszdurka