Commit 6c6c105f authored by Nailia Iskhakova's avatar Nailia Iskhakova 3️⃣ Committed by João Alexandre Cunha
Browse files

Update OAK considerations for multi-node with Omnibus PG cluster

parent b048bc7f
Loading
Loading
Loading
Loading
+12 −9
Changes for content/handbook/engineering/architecture/design-documents/omnibus_adjacent_kubernetes/decisions/004_multi_node_omnibus_support.md: 12 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -55,14 +55,18 @@ firewall rules, CIDR allowlisting, and `postgresql['md5_auth_cidr_addresses']`.
For external PostgreSQL (PaaS or self-managed), standard network
configuration is sufficient.

For Omnibus PostgreSQL clusters using Patroni, customers must provision
a separate external database for advanced components.
The Patroni cluster exists solely to support
`gitlabhq_production`. After a failover, PgBouncer only updates that
connection pool — other logical databases on the same cluster will have
stale connections pointing to the old primary, causing silent failures.
This limitation is documented in
[ADR: No Omnibus HA support for databases beyond gitlabhq_production](https://gitlab.com/gitlab-com/content-sites/handbook/-/merge_requests/18927).
For Omnibus PostgreSQL clusters using Patroni, advanced components can
provision their own databases within the Omnibus cluster alongside the
main GitLab application database, and failovers propagate to those
databases automatically, as long as the component database usage is designed
to support a PostgreSQL WAL-based replication. The registry metadata database is
an example of a database that does not support PostgreSQL WAL-based replication
because it does its own database replication via application logic. So
components desiring to take advantage of the Omnibus support for multiple
databases in HA mode, must be PostgreSQL Wall replication compliant.
The same network access pattern as single-node Omnibus
PostgreSQL applies — firewall rules, CIDR allowlisting, and
`postgresql['md5_auth_cidr_addresses']`.

**Gitaly**

@@ -157,4 +161,3 @@ PostgreSQL.
- [OAK design document](../_index.md)
- [Multi-node Omnibus PoC — work item #9691](https://gitlab.com/gitlab-org/omnibus-gitlab/-/work_items/9691)
- PoC: [demo (internal link)](https://drive.google.com/file/d/1ZriEHz1Sjg-9rJLSi0EpUurmaHVscPTP/view) and [implementation details](https://gitlab.com/-/snippets/5974860)
- [ADR: No Omnibus HA support for databases beyond `gitlabhq_production`](https://gitlab.com/gitlab-com/content-sites/handbook/-/merge_requests/18927)