Govwifi Admin Application
This is the admin platform, a website where organisations can create and manage their GovWifi installation within their organisation.
The GovWifi developer documentation contains technical documentation for the Govwifi team in the Government Digital Service.
N.B. The GovWifi terraform repository contains information on how to build GovWifi end-to-end - the sites, services and infrastructure.
Table of Contents
- Govwifi Admin Application
The application allows users to perform the following tasks:
- Create an admin account.
- Invite team members to their account.
- View instructions on how to setup and configure GovWifi on their local network.
- Add IP addresses of their access points to the GovWifi system.
- View logs of authentication requests to GovWifi by IP and username.
- Make support ticket requests.
The application also includes a "Super Admin" login feature that allows a GDS administrator to:
- View all organisations signed up to GovWifi
- View all locations that use of GovWifi
- See specific information on each of these organisations
- Add custom organisation names to the allowed register
- Invite users to organisations
The application uses a few third party services, including:
GOV.UK Registers as a resource for Government organisations to select their names from a predetermined list of registered organisations as they create their accounts.
GOV.UK Notify to handle sending out situational emails to users.
GOV.UK Zendesk to handle forms submitted by the user within the app.
The application also provides the following data for the RADIUS configuration via an S3 bucket:
- IP addresses.
- RADIUS secret keys
Setup and serve the app locally
Running the tests
Using the Linter
Run a shell in the docker composed application
make serve make shell
Stop the application
Remove the application volumes
All deployments are run by the GDS Concourse.
The process amounts to:
- Test + Lint
- Build a deployment image
- Push deployment image to the GovWifi ECR
- Run migrations using the deployment image
- restart the ECS services using the new deployment image
Deployments to Staging are run automatically whenever a change to the
master branch is made.
Deployments to Production must be manually triggered. You can do this by going to the production deployment pipeline, and starting the "Confirm Deploy to Production" task.
You can start the task by clicking on it, and pressing the
+ icon in the top right of the screen.
This will do a few things:
- It ensures the tests have been run on the latest commit for master.
- It ensures Staging has already been deployed for the latest commit for master.
- It then allows production to deploy using the latest commit for master.
You do not need to wait the Tests and Staging deploy to finish before starting a Production deploy. The Production deploy will wait for the Tests and Staging deploy to finish before actually running.
How to contribute
- Fork the project
- Create a feature or fix branch
- Make your changes (with tests if possible)
- Run and linter
- Run and pass tests
- Raise a pull request
This codebase is released under the MIT License.