Migrate PgBouncer services to Ruby

What does this merge request do and why?

Migrate PgBouncer services to Ruby.

This MR removes PgBouncer from the Procfile and adds Ruby-based service classes with comprehensive test coverage. This allows for better management and configuration of PgBouncer services.

Relates to https://gitlab.com/gitlab-org/gitlab-development-kit/-/issues/904

How to set up and validate locally

  1. Ensure you have consul and pgbouncer installed, a described in the GDK HowTo
  2. Follow the instructions on howto set up replication
  3. Validate that the configuration work
  4. Visit https://gdk.test:300 (depending on your network config) and log in, indicating that the monolith works just fine.
  5. Run gdk status and notice that the pgbouncer services are named as expected.
  6. Try out gdk tail pgbouncer{1,2,2-1,2-2} to validate that the service are exact drop-in replacements for what was defined in the Procfile

Impacted categories

Merge request checklist

  • This MR references an issue describing the change.
  • This change is backward compatible. If not, include steps to communicate to users.
  • Tests added for new functionality. If not, raise an issue to follow-up.
  • Observability added/updated (logging, metrics, tracing).
  • Documentation added/updated.
  • Announcement added for notable changes.
  • gdk doctor test added.
Edited by Manuel Schönlaub

Merge request reports

Loading