Giter Club home page Giter Club logo

dvsa.cvs-tsk-edh-dispatcher's Introduction

cvs-tsk-edh-dispatcher

takes EDH updates from queues and sends them to the appropriate EDH endpoints

Prerequisites

  • NodeJS 8.10
  • Typescript - npm install -g typescript
  • Serverless - npm install -g serverless

Installing

  • Install dependencies - npm install

Building

  • Building without source maps - npm run build
  • Building with source maps - npm run build:dev

Configuration

The configuration file can be found under src/config/config.yml. Environment variable injection is possible with the syntax: ${BRANCH}, or you can specify a default value: ${BRANCH:local}.

Git Hooks

Please set up the following prepush git hook in .git/hooks/pre-push

#!/bin/sh
npm run prepush && git log -p | scanrepo

Security

Please install and run the following security programs as part of your testing process:

https://github.com/awslabs/git-secrets

  • After installing, do a one-time set up with git secrets --register-aws. Run with git secrets --scan.

https://github.com/UKHomeOffice/repo-security-scanner

  • After installing, run with git log -p | scanrepo.

These will be run as part of prepush so please make sure you set up the git hook above so you don't accidentally introduce any new security vulnerabilities.

Testing

In order to test, you need to run the following:

  • npm run test for unit tests,
  • npm run test-i for integration tests, or
  • npm run coverage all tests + coverage report

Environmental variables

  • The BRANCH environment variable indicates in which environment is this application running. Not setting this variable will result in defaulting to local.
  • The EDH environment variable is used as a feature flag, to switch to stub endpoints. A value of of STUB will use the stubApiKey and stubBaseUrl. Any other value will use the real key/url
  • The DEBUG environment variable is used as a feature flag, to enable more extensive logging. Does more logging if value is TRUE, otherwise off
  • The VALIDATION environment variable is used as a feature flag, to enable validation. Does validation if value is TRUE, otherwise off

Secrets and Feature Flags

The Secrets Configs should be structured as:

{
   baseUrl: string;
   apiKey: string;
   stubBaseUrl: string;
   stubApiKey: string;
}

baseUrl, stubBseURL, apiKey, and stubApiKey all go into the details for API calls.

dvsa.cvs-tsk-edh-dispatcher's People

Contributors

bfloreadvsa avatar castancu avatar dependabot[bot] avatar jonlazarinidd avatar khodderdvsa avatar martiuk avatar paulbenn-bjss avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.