Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
k8s
lib
test
.dockerignore
.eslintrc
.gitignore
.travis.yml
Dockerfile
LICENSE
README.md
config.json
index.js
myke.yml
package.json

README.md

DinoPark Profile Publisher Service

The profile publisher service is part of the DinoPark project. It is the broker between DinoPark services like the search service, orgchart service and mozillians and the CIS stack.

APIs

User Updates

/userupdate is an endpoint used by mozillians to publish profile updates to CIS.

Posting a profile update to this endpoint will trigger the following flow:

  1. Profile gets posted to the CIS endpoint, which will return an updateId (this will most likely be a Kinesis stream number).
  2. Poll the CIS status endpoint until the update was processed. This will return the user_id of the published profile.
  3. Get the updated profile from the person API and return it to mozillians.

External Updates

/externalupdate is an endpoint used by CIS to trigger profile updates for the DinoPark services.

Posting an update event to this endpoint will trigger the following flow:

  1. Get the updated profile from the person API.
  2. Publish the updated profile to the search service.
  3. Publish the updated profile to the orgchart service.

Configuration

Setting can be changed via config.js:

{
  "port": 8080,
  "shutdownTimeout": 5000,
  "cisUpdateUrl": "http://localhost:8888/cisUpdate",
  "cisStatusUrl": "http://localhost:8888/cisStatus/",
  "cisStatusTimeout": 1000,
  "cisStatusRetryDelay": 100,
  "cisStatusRetryCount": 10,
  "personApiUrl": "http://localhost:8888/personApi/",
  "orgchartApiUrl": "http://localhost:8888/orgchartApi",
  "searchApiUrl": "http://localhost:8888/searchApi"
}

Development

  • We use esm as module system and encourage the use of ES2017.
  • We enforce prettier/recommended with double quotes.

Run the Tests

npm install
npm test
npm run-script coverage

Run as a Development Server

npm install
CONFIG_FILE="config.json" npm run dev
You can’t perform that action at this time.