Store/search cases and provide workbaskets
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. |
The project uses Gradle.
To build project please execute the following command:
./gradlew clean buildIf 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 buildThe 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-apiWhen the project has been packaged in target/ directory,
you can run it by executing following command:
docker-compose upAs a result the following containers will get created and started:
- Database exposing port
5452 - API exposing ports
4452
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.
This project is licensed under the MIT License - see the LICENSE file for details.