mirror of
https://gitlab.kube.huskypup.net/Scooby/Homelabv4.git
synced 2026-08-20 23:16:49 +00:00
Initial commit
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
---
|
||||
# PgBouncer Pooler for GitLab PostgreSQL
|
||||
# Managed by CloudNativePG Operator
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Pooler
|
||||
metadata:
|
||||
name: pgbouncer-gitlab
|
||||
namespace: gitlab
|
||||
spec:
|
||||
cluster:
|
||||
name: pg-gitlab
|
||||
|
||||
# Number of PgBouncer instances (keep small; GitLab points directly at CNPG RW service)
|
||||
instances: 1
|
||||
|
||||
# PgBouncer configuration
|
||||
type: rw # Read-Write pooler (connects to primary)
|
||||
|
||||
pgbouncer:
|
||||
poolMode: transaction
|
||||
authQuerySecret:
|
||||
name: pg-gitlab-app
|
||||
# Use custom user_search function for SCRAM-SHA-256 authentication
|
||||
# This function is created by gitlab-bootstrap.sh script
|
||||
authQuery: "SELECT usename, passwd FROM public.user_search($1)"
|
||||
|
||||
parameters:
|
||||
max_client_conn: "2000"
|
||||
default_pool_size: "50"
|
||||
reserve_pool_size: "10"
|
||||
server_idle_timeout: "600" # Keep connections alive for 10 minutes
|
||||
log_connections: "1"
|
||||
log_disconnections: "1"
|
||||
log_pooler_errors: "1"
|
||||
stats_period: "60"
|
||||
|
||||
# Template for PgBouncer pods
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: pgbouncer-gitlab
|
||||
spec:
|
||||
containers:
|
||||
- name: pgbouncer
|
||||
resources:
|
||||
requests:
|
||||
cpu: 25m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
memory: 512Mi
|
||||
|
||||
# Anti-affinity to spread PgBouncer pods across nodes
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- weight: 100
|
||||
podAffinityTerm:
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
app: pgbouncer-gitlab
|
||||
topologyKey: kubernetes.io/hostname
|
||||
---
|
||||
# Read-only Pooler for Database Load Balancing
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Pooler
|
||||
metadata:
|
||||
name: pgbouncer-gitlab-ro
|
||||
namespace: gitlab
|
||||
spec:
|
||||
cluster:
|
||||
name: pg-gitlab
|
||||
|
||||
instances: 3
|
||||
|
||||
type: ro # Read-Only pooler (connects to replicas)
|
||||
|
||||
pgbouncer:
|
||||
poolMode: transaction
|
||||
authQuerySecret:
|
||||
name: pg-gitlab-app
|
||||
# Use custom user_search function for SCRAM-SHA-256 authentication
|
||||
# This function is created by gitlab-bootstrap.sh script
|
||||
authQuery: "SELECT usename, passwd FROM public.user_search($1)"
|
||||
|
||||
parameters:
|
||||
max_client_conn: "2000"
|
||||
default_pool_size: "50"
|
||||
reserve_pool_size: "10"
|
||||
max_db_connections: "100"
|
||||
server_idle_timeout: "600" # Keep connections alive for 10 minutes
|
||||
log_connections: "1"
|
||||
log_disconnections: "1"
|
||||
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: pgbouncer-gitlab-ro
|
||||
spec:
|
||||
containers:
|
||||
- name: pgbouncer
|
||||
resources:
|
||||
requests:
|
||||
cpu: 25m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
memory: 512Mi
|
||||
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- weight: 100
|
||||
podAffinityTerm:
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
app: pgbouncer-gitlab-ro
|
||||
topologyKey: kubernetes.io/hostname
|
||||
Reference in New Issue
Block a user