Loading content/handbook/engineering/architecture/design-documents/omnibus_adjacent_kubernetes/decisions/004_multi_node_omnibus_support.md +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 Loading @@ -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** Loading Loading @@ -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) Loading
content/handbook/engineering/architecture/design-documents/omnibus_adjacent_kubernetes/decisions/004_multi_node_omnibus_support.md +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 Loading @@ -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** Loading Loading @@ -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)