This app is the Complete the deputy report service. It provides an online reporting service that has a publicly available frontend used by deputies to submit their reports, and a VPN restricted admin area for case managers to review submitted reports.
If you have make and brew installed it is suggested that you run the following command;
make setup-mac-development-toolsCurrently only the pre-commit setup steps are automated.
Please add further automation to Makefile.devsetup.mk and update the documentation to reflect the changes.
You must have Docker installed.
N.B. If you have an M1 macOS running Monterey 12.2 or higher, or you have an Intel based macOS running Monterey 12.3 or higher then there are some Docker setting you can enable which improves I/O performance for operations on volumes.
Docker settings -> General -> make sure 'Use the new Virtualization framework' is tickedDocker settings -> General -> tick 'VirtioFS' for file sharingDocker settings -> General -> untick 'Use Rosetta'
Also in Docker settings -> Resources, make sure that you have at least 10gb of memory allocated or you may get performance issues.
Once both boxes are checked click Apply & Restart then continue to follow the instructions below.
If developing the app then ensure you have pre-commit installed to take advantage of the pre-commit hooks we've added to the project to make PRs a more consistent and enjoyable experience.
- Add
127.0.0.1 digideps.local admin.digideps.local api.digideps.local www.digideps.localto/etc/hosts - Make sure you have docker desktop installed.
- Follow the instructions for creating your own self-signed certificates here: self-signed-certificate-instructions
- Make sure you are in the root directory of this repository and run:
make create-app
This will build the app, start it up and reset the DB and install fixtures so you may not want to use this for a simple rebuild.
- If you followed all the instructions correctly you should be able to navigate to
https://digideps.localfor the frontend andhttps://admin.digideps.localfor the admin app.
Have a read through:
make help
This is a full list of functions for administering our local environment. All information provided in the make file
should be considered the most up to date source of truth. For bringing your app back up use: up-app and up-app-rebuild
instead of create-app after your initial build of everything as those commands will be considerably faster.
This diagram can be updated in traffic_flow_diagram.puml and then rendered to PNG using plantuml ./docs/traffic_flow_diagram.puml -o ..
To develop with Terraform, you must have the following installed:
- Docker
- Make
- IDE plugin for HCL/terraform
- jq
- aws-vault for credentials handling (optional)
- direnv (to set shell exports, see .envrc) (optional)
You can then use the make files in environment and account to set up the environment.
# ensure your environment is setup:
export TF_WORKSPACE=myawesomeenvironment
export TF_VAR_OPG_DOCKER_TAG=mybranch-githash
export AWS_ACCESS_KEY_ID=AKIAEXAMPLE
export AWS_SECRET_ACCESS_KEY=cbeamsglittering
cd environment
make
# alternatively, using aws-vault:
export TF_WORKSPACE=myawesomeenvironment
export TF_VAR_OPG_DOCKER_TAG=mybranch-githash
cd environment
aws-vault exec identity makeSee testing and debugging documentation.
See managing environment variables
- Terraform
- PHP
- Symfony
- Doctrine
- Twig
- Behat
- PHPUnit
- GOV.UK Design System
- GOV.UK Notify
The OPG Digideps Client is released under the MIT license, a copy of which can be found in LICENSE.
Our runbook, incident response process and other OPG technical guidance can be found here.
