FAQ | This is a LIVE service | Changelog

Commit e94b2a9a authored by Sam Wenham's avatar Sam Wenham
Browse files

Merge branch 'covid-pools-service-page' into 'master'

Covid pools service page

Closes #99

See merge request !84
parents 2ea8b432 efc2544c
Pipeline #93743 passed with stage
in 29 seconds
title: Covid-19 Pools
# Covid-19 Testing Pools Management # Covid-19 Testing Pools Management
This page documents key information about the Covid-19 Testing Pools Management service. This page gives an overview of the Covid-19 Testing Pools Management service, describing its
current status, where and how it's developed and deployed, and who is responsible for maintaining
it.
## Service Description
A way for College administrators to be able to rapidly assign students to pools and households was
required for the [Asymptomatic COVID-19 screening programme](https://www.cam.ac.uk/coronavirus/stay-safe-cambridge-uni/asymptomatic-covid-19-screening-programme).
The quickest solution was to create Google Sheets for each College, each with a `Pools` and a
`Households` worksheet. Additionally, a `Contacts` worksheet was added for notification of failures
when processing the Sheet. College administrators were given permission to access these Google
Sheets and fill in rows for each pool and household, and continue to make adjustments throughout
the year.
This service is a combination of a GitLab Schedule calling endpoints in a webapp to cause the
Google Sheet for a College to be read, parsed and stored in a database.
The webapp also has an endpoint exposing the current state of pools and households in the database.
This is pulled from periodically and imported in to the Azure DB system managed by the
[Collaboration Team](mailto:collab.management@uis.cam.ac.uk).
## Service Status
The service is currently **live**.
> The Asymptomatic COVID-19 Screening Programme will continue to operate as normal until the end of
Easter term, with the last days of pooled screening on Monday-Wednesday 28-30 June. It will NOT
operate over the summer vacation.
It yet to be confirmed whether this service will be required for the next and academic year. If
not, this it will be decommission.
## Contact
Technical queries and support should be directed to [devops@uis.cam.ac.uk](mailto:devops@uis.cam.ac.uk)
and will be picked up by a member of the team working on the service. To ensure that you receive a
response, always direct requests to [devops@uis.cam.ac.uk](mailto:devops@uis.cam.ac.uk) rather than
reaching out to team members directly.
Issues discovered in the service or new feature requests should be opened as
[GitLab issues in the administration repository](https://gitlab.developers.cam.ac.uk/uis/devops/covid-pool/administration/-/issues)
(DevOps team only).
## Environments
The `Covid-19 Testing Pools Management Service` is currently deployed to the following environments:
| Name | URL |
| ----------- | -------------------------------------------------- |
| Production | https://webapp.prod.covid-pool.gcp.uis.cam.ac.uk/ |
| Staging | https://webapp.test.covid-pool.gcp.uis.cam.ac.uk/ |
| Development | https://webapp.devel.covid-pool.gcp.uis.cam.ac.uk/ |
## Source code
The source code for the Covid-19 Testing Pools Management service is spread over the following
repositories:
| Repository | Description |
| ----------- | ------------------ |
| [Application Server](https://gitlab.developers.cam.ac.uk/uis/devops/covid-pool/webapp) | The source code for the main webapp server |
| [Infrastructure](https://gitlab.developers.cam.ac.uk/uis/devops/covid-pool/infrastructure) | The Terraform code for the GCP infrastructure |
| [Deployment](https://gitlab.developers.cam.ac.uk/uis/devops/covid-pool/deploy) | The GitLab CI for deploying the webapp onto the infrastructure |
| [Scheduled Tasks](https://gitlab.developers.cam.ac.uk/uis/devops/covid-pool/sched-tasks) | The GitLab CI and python scripts to call the webapp |
## Technologies used
The following gives an overview of the technologies the `<service_name>` is built on.
| Category | Language | Framework(s) |
| ------------------ | ---------- | ------------ |
| Application Server | Python 3.7 | Django 2.2 |
| Infrastructure | Terraform | |
| Deployment | GitLab CI | |
| Scheduled Tasks | Python 3.7 | Requests |
| | GitLab CI | |
## Operational documentation
### How and where the service is deployed
See [Deployment](https://gitlab.developers.cam.ac.uk/uis/devops/covid-pool/deploy) Gitlab project
that deploys on to infrastructure created by [Infrastructure](https://gitlab.developers.cam.ac.uk/uis/devops/covid-pool/infrastructure).
### Deploying a new release
Updates to the master branch in the [Application Server](https://gitlab.developers.cam.ac.uk/uis/devops/covid-pool/webapp)
repository will automatically by deployed to the `staging` instance. After testing this can be
pushed to `production` via GitLab CI manual trigger.
### Monitoring
Failures of the [Scheduled Tasks](https://gitlab.developers.cam.ac.uk/uis/devops/covid-pool/sched-tasks)
Gitlab CI pipeline will cause automatic notification to the schedule owner (UIS DevOps Division Robot).
Additionally, failures to process an individual College's sheet will notify the members of the
`Contacts` worksheet with details of the failure (such as more than 10 students in a pool).
Environments and Servers they run on ### Debugging
------------------------------------
- [Production]({link to application}) {link to api if applicable (see information-asset-register.md)} Standard boilerplate `compose.sh` scripts existing the [Application Server](https://gitlab.developers.cam.ac.uk/uis/devops/covid-pool/webapp)
- {list the servers the application is deployed to (see self-service-gateway.md) or link to cluster management (see information-asset-register.md)} in order to bring up a local development instance.
- [Test]({link to application}) {include link to api if applicable see information-asset-register.md}
- {list the servers the application is deployed to (see self-service-gateway.md) or link to cluster management (see information-asset-register.md)}
- {any other environments}
Application repositories "Dry-run" attempts to parse a College sheet may be made using the `?dry_run=1` query string
------------------------ parameter.
- [{application component 1}]({link to repo})
- [{application component 2}]({link to repo})
Technology ### Further Documentation
----------
| Category | Language | Framework | Little other documentation exists outside the `README.md` files in each of the repositories
| -------- | -------- | --------- | listed [above](#source-code).
| Server | {name and version} | {name and version} |
| Client | {name and version} | {name and version} |
| {other} | {name and version} | {name and version} |
Deployment ## Service Management and tech lead
----------
{brief description of technologies involved - links where appropriate (use completed templates as guide)}
Deployment repository The **service owner** for the service is [Jon Holgate](https://www.lookup.cam.ac.uk/person/crsid/jh535).
---------------------
- [{application deployment repo 1}]({link to repo})
- [{application deployment repo 2}]({link to repo})
Service Owner The **service manager** for the service is [Rich Wareham](https://www.lookup.cam.ac.uk/person/crsid/rjw57).
-------------
[{Full Name}](https://www.lookup.cam.ac.uk/person/crsid/{crsid})
Service Managers The **tech lead** for the service is [Robin Goodall](https://www.lookup.cam.ac.uk/person/crsid/rjg21).
----------------
[{Full Name}](https://www.lookup.cam.ac.uk/person/crsid/{crsid})
Current Status The following engineers have operational experience with the service and are able to respond to
-------------- support requests or incidents:
Alpha
Documentation * [Sam Wenham](https://www.lookup.cam.ac.uk/person/crsid/sdw37)
------------- * [Stephen Ison](https://www.lookup.cam.ac.uk/person/crsid/si202)
- [{description of documentation 1}]({link to documentation})
- [{description of documentation 2}]({link to documentation})
title: Network Tokens
# Network Access Tokens Service # Network Access Tokens Service
This page gives an overview of the Network Access Tokens service, describing its current status, where and how it's developed and deployed, and who is responsible for maintaining it. This page gives an overview of the Network Access Tokens service, describing its current status, where and how it's developed and deployed, and who is responsible for maintaining it.
......
title: ESSM Sync
# Education Space Scheduling and Modelling Sync # Education Space Scheduling and Modelling Sync
This page gives an overview of the Education Space Scheduling and Modelling synchronisation service, This page gives an overview of the Education Space Scheduling and Modelling synchronisation service,
......
title: GitLab
# GitLab service for the Developers' Hub # GitLab service for the Developers' Hub
## Service Description ## Service Description
......
title: MWS v3
# Managed Web Service - Version 3 # Managed Web Service - Version 3
This page documents key information about version 3 of the Managed Web Service. This page documents key information about version 3 of the Managed Web Service.
...@@ -8,7 +10,7 @@ Environments and Servers they run on ...@@ -8,7 +10,7 @@ Environments and Servers they run on
- [Production](https://panel.mws3.csx.cam.ac.uk/) - [Production](https://panel.mws3.csx.cam.ac.uk/)
- The panel VM is mws3-live-panel1.srv.uis.private.cam.ac.uk - The panel VM is mws3-live-panel1.srv.uis.private.cam.ac.uk
- The VM cluster is composed by the nodes that you can find in https://github.com/uisautomation/mws-ansible/blob/master/production - The VM cluster is composed by the nodes that you can find in https://github.com/uisautomation/mws-ansible/blob/master/production
- [Test](https://test.dev.mws3.csx.cam.ac.uk/) - [Test](https://test.dev.mws3.csx.cam.ac.uk/)
- The panel VM is test.dev.mws3.csx.cam.ac.uk - The panel VM is test.dev.mws3.csx.cam.ac.uk
- The VM cluster is composed by the nodes that you can find in https://github.com/uisautomation/mws-ansible/blob/master/test - The VM cluster is composed by the nodes that you can find in https://github.com/uisautomation/mws-ansible/blob/master/test
......
# OAuth2 title: OAuth2
# Raven OAuth2
Raven is the web authentication service for the University. This page documents Raven is the web authentication service for the University. This page documents
the OAuth2 personality for the Raven service. the OAuth2 personality for the Raven service.
......
title: UTBS
# University Training Booking System # University Training Booking System
This page gives an overview of the University Training Booking System (UTBS), describing its current status, where and how it's developed and deployed, and who is responsible for maintaining it. This page gives an overview of the University Training Booking System (UTBS), describing its current status, where and how it's developed and deployed, and who is responsible for maintaining it.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment