Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
chao-xian committed May 17, 2023
1 parent 29d60ce commit 083b2c1
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions docs/ADR/001-porting-to-postgresql.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,31 @@
# ADR 001 - How we migrate Router/Router-API from Mongo to Postgres

## Context

We need to migrate router (and [router-api](https://github.com/alphagov/router-api)) off of MongoDB as its datastore. The majority of GOV.UK platform is on PosgreSQL and there is no longer a strong enough case for being on MongoDB for router data.

Even the [content-store is migrating from MongoDB to PostgreSQL](https://github.com/alphagov/govuk-rfcs/pull/158).

This ADR is to outline our decisions and rationale on the steps we take for that migration:

### The outline
* Spin up a completely separate stack of router and router-api (govuk-docker first) that will talk to a PostgreSQL db only (as forks)
* Provision in EKS a new PostgreSQL db
* Provision the new p-router/p-router-api apps
* Amend messages to router-api to be duplicated to p-router-api within content-store

### Benefits of doing it this way
* As updates are being made to the two databases, we can backfill data previous to that point in time without loss of service or downtime to the live (old) service
* We can test traffic going to the new p-router stack insolation
* Switchover would mean a change in DNS
* We can rename p-router once we decommission old router

## Decision

* https://trello.com/c/nQcpWnD5/1788-provision-new-apps-in-govuk-docker-for-prouter-and-prouter-api
* https://trello.com/c/dOXADTQP/1802-spin-up-a-separate-stack-of-router-api-l
* https://trello.com/c/YJro3BGj/1790-spin-up-a-separate-stack-of-router-l

## Status

Accepted

0 comments on commit 083b2c1

Please sign in to comment.