Classic Services
(Original by: Dmytro Milashenko)
Github
Section titled “Github”Classic Services
Section titled “Classic Services”(depricated link) https://github.com/jiborobot
- 25 repositories (0 recovered)
- Each classic service/microservice is its own repository
- Developed by Alex and Dmytro
- Uses jibo-service-client (JSC) for communication
- account-service, loop-service , robot-service , mobile , etc.
All classic services (except UI) have the following structure:
Directory/src/
Directoryclients/ (code with clients for external systems. facebook , ifttt, other jibo classic services)
- …
Directorycontrollers/ (code with main logic in it aka. service layer)
- …
Directoryerrors/ (list of error codes)
- …
Directoryhandlers/ (code that maps webrequests to controller
servicelayer calls)- …
Directoryroutes/ (internal REST api consumed by other classic services NO AUTH performed here.)
- …
Directoryschemes/ (database Mongoose chemes. If you need to get what data each service stores, check here)
- …
Directoryutils/ (code snippets reused in multiple places within the same service)
- …
- index.js (service startup file for local Development. use
ts-node/registerto transpile Typescript on demand) - dst.js (production startup file. use
/dstfolder (created on build time) with code transpiled by TS transpiler) - Dockerfile (file used to build the docker image)
Pegasus Services
Section titled “Pegasus Services”(depricated link) https://github.com/jiboV2/pegasus/pulls
The Pegasus services do NOT use JSC. Instead they use a websocket to connect to the hub service , and the hub routes to everything else
| Service Name | Brief Description | Team | API | Src |
|---|---|---|---|---|
| account | Service that manages Account & Loop entities | Server | Account • AccountAdmin • Loop | srv-account-ws |
| app-toolkit-manager | Service to manage clientIds and ACOs for the oauthclients connecting using the App Toolkit | Server, Toolkit | Entrypoint URLs on DevOps Wiki | srv-app-toolkit-manager |
| backup | Service to let robot backups to cloud | Server | Backup | srv-backup-ws |
| chitchat-skill | N/A | Pegasus | N/A | chitchat-skill |
| cleanup | Unknown | Unknown | Unknown | Unknown |
| collision | Service that resolves user names collisions | Server | Collision | srv-collision-ws |
| customer-portal | Web front end for tasks like Reset Password, Confirm Email, etc. | Server | N/A | srv-customer-portal |
| entrypoint-socket | Endpoint that exposes WebSocket for robot works in integration with notifications service. | Server | N/A | srv-entrypoint-socket-ws |
| gqa | General Questions and Answers (Python) | Tom Donahue | N/A | srv-gqa-ws |
| hub | N/A | Pegasus | N/A | hub |
| ifttt | Service that provides integration with ifttt.com | Server | IFTTT | srv-ifttt-ws |
| key | Service that manages keys for robot-server-mobile data encryption | Server | Key | srv-key-ws |
| log | Service that provides ability to send robot logs to the cloud | Server | Log • LogAdmin | srv-log-ws |
| logparser | Service that parses ASR and NLU logs from robots (ES/S3) | Conversational Analytics | N/A | logparser |
| lps | Unknown | Unknown | Unknown | Unknown |
| media | Service to upload media from robot/mobile to the cloud | Server | Media • MediaAdmin | srv-media-ws |
| notification | Service that manages Robot and Mobile notifications in response to various events. | Server | Notification | srv-notification-ws |
| oauthclients | N/A | N/A | N/A | srv-oauth-clients-ws |
| parser | Unknown | Unknown | Unknown | Unknown |
| person | Service that manages various aspects of person-specific properties, e.g., holidays. | Server | Person | srv-person-ws |
| poll | Service that pulls AP News feed for use by GQA (pushes into MongoDB) | CAI/Conversation X-Team | Deprecated (Fajita update) | srv-poll-ws |
| push | Service to deliver mobile notifications | Server | Push | srv-push-ws |
| redis | Redis used to mediate events for robot to robotread services, and as a cache for security-gw | Server | N/A | N/A |
| robot | Service that consumes robot manufacturing/lifecycle events | Server | Robot • RobotAdmin | srv-robots-ws |
| robotread | Service that provides snapshot of robot states, based on manufacturing/lifecycle events | Server | N/A | srv-robots-read-ws |
| rom | Service that implements ROM | Server | ROM | srv-rom-ws |
| salesforce | Facade for integration with Salesforce | Server | N/A | srv-salesforce-ws |
| saml | SAML Auth endpoint | Server | N/A | srv-saml-ws |
| security | Authentication Gateway for APIs | Server | N/A | srv-security-gw |
| update | Service that provides robots information about available updates. | Server | Update • UpdateAdmin | srv-update-ws |
Service map captured with NewRelic
