Skip to content
/ droits Public

The UK Government service for reporting wreck material to the Maritime and Coastguard Agency

Notifications You must be signed in to change notification settings

mcagov/droits

Repository files navigation

CI/CD Pipeline Staging pipeline Production pipeline

Droits reporting service

The Droits reporting service enables:

  • Salvage owners to report their findings with the Maritime & CoastGuard Agency
  • Receivers of Wreck to manage these reports

It comprises two applications

  1. A public facing frontend etc in the webapp/ directory
  2. The backoffice API which handles the incoming registrations and is an admin application to handle the reports

Architecture

Architecture diagram

Infrastructure-as-code remains the single source-of-truth for Droits infrastructure! Always check terraform/ if unsure.

Local development

dependency version
dotnet 8.x
nvm 0.39.5
node 14.19.2
terraform 1.4.6
Docker desktop Latest

Infrastructure-as-code

The Terraform directory contains the Terraform code for managing the infrastructure for the Droits reporting service.

Deployment

Automated testing, building and deployment is performed using GitHub Actions with configuration held in .github/workflows.

Development environment

A build and deployment to the development environment is triggered on each push to main. Docker images are tagged with the hash of the triggering commit and published to AWS Elastic Container Registry. Images built and deployed to for the development environment are ephemeral and not used anywhere else.

Staging environment

A build and deployment to the staging environment is triggered on a manual release set to "pre-release". Docker images are tagged with the hash of the triggering commit and published to AWS Elastic Container Registry. Images built and deployed to for the staging environment are ephemeral and not used anywhere else.

Production environment

A build and deployment to the production environment is triggered on a manual release set to "release". Docker images are tagged with the hash of the triggering commit and published to AWS Elastic Container Registry. Images built and deployed to for the production environment are ephemeral and not used anywhere else.

Secrets

Secrets are set in the Repository and injected during deployment.

License

Unless stated otherwise, the codebase is released under the MIT License. This covers both the codebase and any sample code in the documentation.

The documentation is © Crown copyright and available under the terms of the Open Government 3.0 licence.