Coder Social home page Coder Social logo

aliveni / ccd-data-store-api Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hmcts/ccd-data-store-api

0.0 0.0 0.0 2.89 MB

Store/search cases and provide workbaskets

License: MIT License

Dockerfile 0.05% Groovy 0.13% Shell 0.02% HCL 0.53% Java 99.22% PLpgSQL 0.05%

ccd-data-store-api's Introduction

ccd-data-store-api

API Docs License: MIT Build Status Docker Build Status codecov Codacy Badge Codacy Badge Known Vulnerabilities HitCount

Store/search cases and provide workbaskets

Prerequisites

Environment variables

The following environment variables are required:

Name Default Description
DATA_STORE_DB_HOST localhost Host for database
DATA_STORE_DB_PORT 5432 Port for database
DATA_STORE_DB_USERNAME - Username for database
DATA_STORE_DB_PASSWORD - Password for database
DATA_STORE_TOKEN_SECRET <random string> Secret for generating internal JWT tokens for events
DATA_STORE_IDAM_KEY - Definition store's IDAM S2S micro-service secret key. This must match the IDAM instance it's being run against.
DATA_STORE_S2S_AUTHORISED_SERVICES ccd_gw Authorised micro-service names for S2S calls
IDAM_USER_URL - Base URL for IdAM's User API service (idam-app). http://localhost:4501 for the dockerised local instance or tunneled dev instance.
IDAM_S2S_URL - Base URL for IdAM's S2S API service (service-auth-provider). http://localhost:4502 for the dockerised local instance or tunneled dev instance.
USER_PROFILE_HOST - Base URL for the User Profile service. http://localhost:4453 for the dockerised local instance.
DEFINITION_STORE_HOST - Base URL for the Definition Store service. http://localhost:4451 for the dockerised local instance.
CCD_DM_DOMAIN - Base URL for the Document Management domain.
APPINSIGHTS_INSTRUMENTATIONKEY - For CNP environment this is provided by the terraform scripts. However any value would do for your local environment.
DATA_STORE_DB_USE_SSL true Mandated by Cloud Native Platform. For local testing, set this variable to false
DATA_STORE_DEFAULT_LOG_LEVEL INFO Default log level for classes under package uk.gov.hmcts.ccd
HTTP_CLIENT_MAX_TOTAL 100 Used for Pooling connection manager; for further information, see https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html
HTTP_CLIENT_SECONDS_IDLE_CONNECTION 120 Used for Pooling connection manager; for further information, see https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html
HTTP_CLIENT_MAX_CLIENT_PER_ROUTE 20 Used for Pooling connection manager; for further information, see https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html
HTTP_CLIENT_VALIDATE_AFTER_INACTIVITY 0 Used for Pooling connection manager; for further information, see https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html
HTTP_CLIENT_CONNECTION_TIMEOUT 30000 30 seconds, Used for Pooling connection manager; for further information, see https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html
HTTP_CLIENT_CONNECTION_DRAFTS_CREATE_TIMEOUT 1000 1000 milliseconds, Used for Pooling connection manager for create operation for draft store; for further information, see https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html
HTTP_CLIENT_CONNECTION_DRAFTS_TIMEOUT 500 500 milliseconds, Used for Pooling connection manager for draft store; for further information, see https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html
DRAFT_STORE_URL - Base URL for Draft Store API service. http://localhost:8800 for the dockerised local instance.
DRAFT_ENCRYPTION_KEY - Draft encryption key. The encryption key used by draft store to encrypt documents with.
DRAFT_TTL_DAYS - Number of days after which the saved draft will be deleted if unmodified.

Building

The project uses Gradle.

To build project please execute the following:

./gradlew clean build

Running

If you want your code to become available to other Docker projects (e.g. for local environment testing), you need to build the image:

docker-compose build

The above will build both the application and database images.
If you want to build only one of them just specify the name assigned in docker compose file, e.g.:

docker-compose build ccd-data-store-api

When the project has been packaged in target/ directory, you can run it by executing following command:

docker-compose up

As a result the following containers will get created and started:

  • Database exposing port 5452
  • API exposing ports 4452

Handling database

Database will get initiated when you run docker-compose up for the first time by execute all scripts from database directory.

You don't need to migrate database manually since migrations are executed every time docker-compose up is executed.

You can connect to the database at http://localhost:5452 with the username and password set in the environment variables.

LICENSE

This project is licensed under the MIT License - see the LICENSE file for details.

ccd-data-store-api's People

Contributors

mario-paniccia avatar ngul avatar hemantt avatar agilks avatar dwaynebailey avatar mohammedanas avatar daniel-lam avatar adr1ancho avatar timja avatar tzarsmango avatar rafalkalita 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.