|
1 | 1 | # limited-partnerships-api |
2 | | -API for the Limited Partnerships service |
| 2 | + |
| 3 | +### Overview |
| 4 | +API service for limited partnerships |
| 5 | + |
| 6 | +### Requirements |
| 7 | +In order to run the service locally you will need the following: |
| 8 | +- [Java 21](https://www.oracle.com/java/technologies/downloads/#java21) |
| 9 | +- [Maven](https://maven.apache.org/download.cgi) |
| 10 | +- [Git](https://git-scm.com/downloads) |
| 11 | + |
| 12 | +### Getting started |
| 13 | +To check out and build the service: |
| 14 | +1. Clone [Docker CHS Development](https://github.com/companieshouse/docker-chs-development) and follow the steps in the README. |
| 15 | +2. Run chs-dev modules enable limited-partnerships |
| 16 | +3. Run chs-dev development enable limited-partnerships-api (this will allow you to make changes). |
| 17 | +4. Run docker using "chs-dev up" in the docker-chs-development directory. |
| 18 | +5. If you are using the api directly, then use this url: http://api.chs.local/limited-partnership |
| 19 | + |
| 20 | +### Endpoints |
| 21 | +The full path for each public endpoint begins with the url: |
| 22 | +`${API_URL}/limited-partnership` |
| 23 | + |
| 24 | +Localhost API_URL = http://localhost:8080 |
| 25 | +Docker API_URL = http://api.chs.local |
| 26 | + |
| 27 | +Method | Path | Description |
| 28 | +:---------|:-----------------------------------------------------------------------------|:----------- |
| 29 | +GET | /healthcheck | The health check endpoint for this service |
| 30 | + |
| 31 | + |
| 32 | +## Terraform ECS |
| 33 | + |
| 34 | +### What does this code do? |
| 35 | + |
| 36 | +The code present in this repository is used to define and deploy a dockerised container in AWS ECS. |
| 37 | +This is done by calling a [module](https://github.com/companieshouse/terraform-modules/tree/main/aws/ecs) from terraform-modules. Application specific attributes are injected and the service is then deployed using Terraform via the CICD platform 'Concourse'. |
| 38 | + |
| 39 | + |
| 40 | +Application specific attributes | Value | Description |
| 41 | +:---------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------- |
| 42 | +**ECS Cluster** | filing-maintain | ECS cluster (stack) the service belongs to |
| 43 | +**Load balancer** | {env}-chs-apichgovuk <br> {env}-chs-apichgovuk-private | The load balancer that sits in front of the service |
| 44 | +**Concourse pipeline** | [Pipeline link](https://ci-platform.companieshouse.gov.uk/teams/team-development/pipelines/limited-partnerships-api) <br> [Pipeline code](https://github.com/companieshouse/ci-pipelines/blob/master/pipelines/ssplatform/team-development/limited-partnerships-api) | Concourse pipeline link in shared services |
| 45 | + |
| 46 | + |
| 47 | +### Contributing |
| 48 | +- Please refer to the [ECS Development and Infrastructure Documentation](https://companieshouse.atlassian.net/wiki/spaces/DEVOPS/pages/4390649858/Copy+of+ECS+Development+and+Infrastructure+Documentation+Updated) for detailed information on the infrastructure being deployed. |
| 49 | + |
| 50 | +### Testing |
| 51 | +- Ensure the terraform runner local plan executes without issues. For information on terraform runners please see the [Terraform Runner Quickstart guide](https://companieshouse.atlassian.net/wiki/spaces/DEVOPS/pages/1694236886/Terraform+Runner+Quickstart). |
| 52 | +- If you encounter any issues or have questions, reach out to the team on the **#platform** slack channel. |
| 53 | + |
| 54 | +### Vault Configuration Updates |
| 55 | +- Any secrets required for this service will be stored in Vault. For any updates to the Vault configuration, please consult with the **#platform** team and submit a workflow request. |
| 56 | + |
| 57 | +### Useful Links |
| 58 | +- [ECS service config dev repository](https://github.com/companieshouse/ecs-service-configs-dev) |
| 59 | +- [ECS service config production repository](https://github.com/companieshouse/ecs-service-configs-production) |
0 commit comments