qontract (Queryable cONTRACT) is a collection of tools used to SREs to expose available managed services to application developer teams. This repository compromises the server component, which is implemented as a GraphQL API.
Although it is not required, it's recommended that you use yarn for install dependencies and running development scripts.
To install this projects dependencies to a local node_modules
directory:
yarn install
To run a process that watches for edits and rebuilds JavaScript from TypeScript:
yarn run watch
Or alternatively, you can run the TypeScript compilation once:
yarn build
To run an instance of the qontract GraphQL console:
LOAD_METHOD=fs DATAFILES_FILE=your_test_datafile yarn run server
Specific instructions for CentOS 7:
# Install node10
sudo yum install centos-release-scl-rh
sudo yum install rh-nodejs10
# Install yarn (as root)
scl enable rh-nodejs10 bash
npm install -g yarn
# Enable node10 (as user in qontract-server git repo)
scl enable rh-nodejs10 bash
# Install qontract-server yarn modules
yarn install
# Build the JavaScript
yarn build
# Start the server
make run
The bundle is required to start the server.
make bundle
APP_INTERFACE_PATH
- (optional) path to a local app-interface repo (Default:$PWD/../../service/app-interface
).
All code should follow the airbnb style guide, which is enforced by this projects lint script:
yarn run lint