Micro API: mongodb API
This API uses named mongodb queried to create a API adapter into the Governance Graph.
It's implemented as a microservice that maps URL sub-paths to named mongodb queries.
The config/default.yaml is used to configure the chassis, specificially the 'mongdb' plugin.
The built-in "openapi" plugin is used to map /:query/ requests to the 'mongdb' operation.
The "mongdb" options can be specified as a global config or within relevent the "openapi" definition.
mongdb: database: "example" host: "localhost" port: 27017 username: "me" password: "secret"
The "database" refers to an external mongodb database. The "host" points to the hostname of mongodb instance. Alternatively, "hosts" points to an array of hostnames for a mongodb cluster. The "port" refers to the mongodb instance port.
The chassis is configured by an OpenAPI definition. The "operationId" fields must be mapped to a valid plugin.
The "operationId" can be used in more than one path - which is different from the Swagger/Open API specification.
openapi: paths: /healthz: get: chassis: operationId: heartbeat /swagger: get: chassis: operationId: apidocs "/mongodb/example/:collection": get: chassis: operationId: mongdb post: chassis: operationId: mongdb "/mongodb/:collection/:id": get: chassis: operationId: mongdb post: chassis: operationId: mongdb put: chassis: operationId: mongdb
$ npm install && npm start $ curl -v http://localhost:7001/mongodb/example/
docker run -p 27017:27017 mongo:latest