Skip to content

Repository files navigation

Company Accounts API Service

The Companies House API for handling company accounts. This application is written using the Spring Boot Java framework.

Requirements

In order to run the API locally you'll need the following installed on your machine:

Getting Started

  1. Run make
  2. Run ./start.sh

Environment Variables

The supported environmental variables have been categorised by use case and are as follows.

Code Analysis Variables

Name Description Mandatory Default Example
CODE_ANALYSIS_HOST_URL The host URL of the code analysis server. See here http://HOST:PORT
CODE_ANALYSIS_LOGIN The analysis server account to use when analysing or publishing. See here login
CODE_ANALYSIS_PASSWORD The analysis server account password. See here password

Deployment Variables

Name Description Mandatory Default Example
COMPANY_ACCOUNTS_API_PORT Configured port application runs on. 10095
MONGODB_URL Mongo database URL. mongodb://HOST:PORT/DATABASE
MONGO_CONNECTION_POOL_MIN_SIZE Mongo Database connection pool size (Min) 0 1
MONGO_CONNECTION_MAX_IDLE_TIME Mongo Database connection idle time, 0 for no ideal time 0 0
MONGO_CONNECTION_MAX_LIFE_TIME Mongo Database connection life time, 0 for infinite life time. 0 0
IMAGE_CLOUD_PROXY_HOST Proxy host. Used to determine if a proxy is required. empty string foo.bar
HTTP_URL_CONNECTION_PROXY_PORT Proxy port empty string 10023
CLOUD_AWS_S3_PROXY_PROTOCOL Proxy Protocol https https

Terraform ECS

What does this code do?

The code present in this repository is used to define and deploy a dockerised container in AWS ECS. This is done by calling a module from terraform-modules. Application specific attributes are injected and the service is then deployed using Terraform via the CICD platform 'Concourse'.

Application specific attributes Value Description
ECS Cluster filing-maintain ECS cluster (stack) the service belongs to
Load balancer {env}-chs-apichgovuk
{env}-chs-apichgovuk-private
The load balancer that sits in front of the service
Concourse pipeline Pipeline link
Pipeline code
Concourse pipeline link in shared services

Contributing

Testing

  • Ensure the terraform runner local plan executes without issues. For information on terraform runners please see the Terraform Runner Quickstart guide.
  • If you encounter any issues or have questions, reach out to the team on the #platform slack channel.

Vault Configuration Updates

  • 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.

Useful Links

About

The Companies House API for handling company accounts

Resources

Stars

4 stars

Watchers

55 watching

Forks

Releases

Packages

Used by

Contributors

Languages