Code repositories

Getting the code

Almost all HOCS code is open-source and publicly available on GitHub. This page lists the GitHub repos and a GitHub PR filter.

Core components

hocs-audit
Receives audit event messages from an SQS queue for persistent storage.

hocs-case-creator
Reads a message containing a JSON payload from an AWS SQS Queue, and creates a cases with associated data.

hocs-casework
Handles interactions with reference data specific to cases.

hocs-data 🔒️ (to be deprecated)
The CS schema.

hocs-data-wcs 🔒️ (to be deprecated)
The WCS schema.

hocs-docs
Handles interactions with documents stored in S3, document conversion, and virus scanning.

hocs-docs-converter
Accepts any document as a parameter and returns a .pdf document.

hocs-info-service
Handles various reference data interactions.

hocs-notify
Sends emails to users based on system events.

hocs-outbound-proxy
A transparent proxy using Squid, to be used in conjunction with kubernetes network policies, traffic is limited to whitelisted domains.

hocs-search
Serves the search functionality through the use of elasticsearch / opensearch.

hocs-templates
Handles templates stored in S3 for use within caseworking functions.

hocs-workflow
Handles interactions with the workflow engine, powered by Camunda.

UI components

hocs-frontend
React application and NodeJS Server for server rendered dynamic forms.

hocs-management-ui
React application for performing management utility functions.

Utility components

hocs
Contains documentation (this site) and bash scripts. Launch services locally via Docker Compose from hocs repo.

hocs-casework-search-indexer
Reindexs all data in hocs-casework to the hocs-search elasticsearch index.

hocs-toolbox
Tools to interact with an environment’s databases.

hocs-queue-tool
A utility to manage and purge queues - both SQS and DLQ.

Testing

hocs-serenity-automation
Automated Cucumber-JVM test pack for DECS built on the Serenity BDD framework

Deployment repos

hocs-deployments-notprod 🔒
Controls deployments to notprod environments.

hocs-deployments-prod 🔒
Controls deployments to prod environments.

hocs-deployments-base
A base for deployment helmfile projects.

Infrastructure

hocs-base-image
Minimal docker image for JVM based DECS services.

hocs-ci-infrastructure
Referenced by other repos to provide centrally configured, consistent and reusable CI pipeline components.

sas-github-workflows
Contains a set of centrally configured, consistent and reusable CI pipeline components.

hocs-helm-charts
Common place for helm charts used by the HOCS service.

hocs-helm-kubectl
Docker image for CI/CD pipelines on DECS.

match-label-action
Action that fails a GitHub job if specified labels are not present within Pull Requests.

semver-calculate-action
Action that identifies the latest SemVer tag and increments it.

semver-tag-action
Action that tags a commit with a valid SemVer tag.

update-helmfile-action
Action to update a version yaml file with the latest tagged semantic version of the repository.

Schemas

hocs-ukvi-complaint-schema
The JSON schema for the UKVI Complaints Management complaint schema.

hocs-migration-schema
The JSON schema for the case migration.

### Testing
hocs-serenity-automation
Test pack used for automation testing.

GitHub Pull Request filter

See all PRs with a GitHub PR filter. The filter has the rule:

is:open
repo:UKHomeOffice/hocs
repo:UKHomeOffice/hocs-audit
repo:UKHomeOffice/hocs-case-creator
repo:UKHomeOffice/hocs-casework
repo:UKHomeOffice/hocs-data
repo:UKHomeOffice/hocs-data-wcs
repo:UKHomeOffice/hocs-docs
repo:UKHomeOffice/hocs-docs-converter
repo:UKHomeOffice/hocs-info-service
repo:UKHomeOffice/hocs-notify
repo:UKHomeOffice/hocs-search
repo:UKHomeOffice/hocs-templates
repo:UKHomeOffice/hocs-workflow
repo:UKHomeOffice/hocs-frontend
repo:UKHomeOffice/hocs-management-ui
repo:UKHomeOffice/hocs-casework-search-indexer
repo:UKHomeOffice/hocs-toolbox
repo:UKHomeOffice/hocs-queue-tool
repo:UKHomeOffice/hocs-deployments-notprod
repo:UKHomeOffice/hocs-deployments-prod
repo:UKHomeOffice/hocs-deployments-base
repo:UKHomeOffice/hocs-base-image
repo:UKHomeOffice/hocs-ci-infrastructure
repo:UKHomeOffice/sas-github-workflows
repo:UKHomeOffice/hocs-helm-charts
repo:UKHomeOffice/hocs-helm-kubectl
repo:UKHomeOffice/match-label-action
repo:UKHomeOffice/semver-calculate-action
repo:UKHomeOffice/semver-tag-action
repo:UKHomeOffice/update-helmfile-action
repo:UKHomeOffice/hocs-ukvi-complaint-schema
repo:UKHomeOffice/hocs-migration-schema