mirror of
https://github.com/ansible/awx.git
synced 2026-03-09 05:29:26 -02:30
Add optional pgbouncer to dev environment (#14083)
Signed-off-by: Rick Elrod <rick@elrod.me>
This commit is contained in:
3
Makefile
3
Makefile
@@ -27,6 +27,8 @@ COLLECTION_TEMPLATE_VERSION ?= false
|
|||||||
# NOTE: This defaults the container image version to the branch that's active
|
# NOTE: This defaults the container image version to the branch that's active
|
||||||
COMPOSE_TAG ?= $(GIT_BRANCH)
|
COMPOSE_TAG ?= $(GIT_BRANCH)
|
||||||
MAIN_NODE_TYPE ?= hybrid
|
MAIN_NODE_TYPE ?= hybrid
|
||||||
|
# If set to true docker-compose will also start a pgbouncer instance and use it
|
||||||
|
PGBOUNCER ?= false
|
||||||
# If set to true docker-compose will also start a keycloak instance
|
# If set to true docker-compose will also start a keycloak instance
|
||||||
KEYCLOAK ?= false
|
KEYCLOAK ?= false
|
||||||
# If set to true docker-compose will also start an ldap instance
|
# If set to true docker-compose will also start an ldap instance
|
||||||
@@ -522,6 +524,7 @@ docker-compose-sources: .git/hooks/pre-commit
|
|||||||
-e control_plane_node_count=$(CONTROL_PLANE_NODE_COUNT) \
|
-e control_plane_node_count=$(CONTROL_PLANE_NODE_COUNT) \
|
||||||
-e execution_node_count=$(EXECUTION_NODE_COUNT) \
|
-e execution_node_count=$(EXECUTION_NODE_COUNT) \
|
||||||
-e minikube_container_group=$(MINIKUBE_CONTAINER_GROUP) \
|
-e minikube_container_group=$(MINIKUBE_CONTAINER_GROUP) \
|
||||||
|
-e enable_pgbouncer=$(PGBOUNCER) \
|
||||||
-e enable_keycloak=$(KEYCLOAK) \
|
-e enable_keycloak=$(KEYCLOAK) \
|
||||||
-e enable_ldap=$(LDAP) \
|
-e enable_ldap=$(LDAP) \
|
||||||
-e enable_splunk=$(SPLUNK) \
|
-e enable_splunk=$(SPLUNK) \
|
||||||
|
|||||||
@@ -35,3 +35,8 @@ enable_splunk: false
|
|||||||
enable_grafana: false
|
enable_grafana: false
|
||||||
enable_prometheus: false
|
enable_prometheus: false
|
||||||
scrape_interval: '5s'
|
scrape_interval: '5s'
|
||||||
|
|
||||||
|
# pgbouncer
|
||||||
|
enable_pgbouncer: false
|
||||||
|
pgbouncer_port: 6432
|
||||||
|
pgbouncer_max_pool_size: 70
|
||||||
|
|||||||
@@ -5,7 +5,12 @@ DATABASES = {
|
|||||||
'NAME': "{{ pg_database }}",
|
'NAME': "{{ pg_database }}",
|
||||||
'USER': "{{ pg_username }}",
|
'USER': "{{ pg_username }}",
|
||||||
'PASSWORD': "{{ pg_password }}",
|
'PASSWORD': "{{ pg_password }}",
|
||||||
|
{% if enable_pgbouncer|bool %}
|
||||||
|
'HOST': "pgbouncer",
|
||||||
|
'PORT': "{{ pgbouncer_port }}",
|
||||||
|
{% else %}
|
||||||
'HOST': "{{ pg_hostname | default('postgres') }}",
|
'HOST': "{{ pg_hostname | default('postgres') }}",
|
||||||
'PORT': "{{ pg_port }}",
|
'PORT': "{{ pg_port }}",
|
||||||
|
{% endif %}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -201,6 +201,25 @@ services:
|
|||||||
POSTGRES_PASSWORD: {{ pg_password }}
|
POSTGRES_PASSWORD: {{ pg_password }}
|
||||||
volumes:
|
volumes:
|
||||||
- "awx_db:/var/lib/postgresql/data"
|
- "awx_db:/var/lib/postgresql/data"
|
||||||
|
{% if enable_pgbouncer|bool %}
|
||||||
|
pgbouncer:
|
||||||
|
image: bitnami/pgbouncer:latest
|
||||||
|
container_name: tools_pgbouncer_1
|
||||||
|
hostname: pgbouncer
|
||||||
|
environment:
|
||||||
|
POSTGRESQL_USERNAME: {{ pg_username }}
|
||||||
|
POSTGRESQL_DATABASE: {{ pg_database }}
|
||||||
|
PGBOUNCER_DATABASE: {{ pg_database }}
|
||||||
|
POSTGRESQL_PASSWORD: {{ pg_password }}
|
||||||
|
POSTGRESQL_HOST: {{ pg_hostname | default('postgres') }}
|
||||||
|
POSTGRESQL_PORT: {{ pg_port }}
|
||||||
|
PGBOUNCER_AUTH_TYPE: trust
|
||||||
|
PGBOUNCER_PORT: {{ pgbouncer_port }}
|
||||||
|
PGBOUNCER_DEFAULT_POOL_SIZE: {{ pgbouncer_max_pool_size }}
|
||||||
|
# This is the default, but we're being explicit here because it's important:
|
||||||
|
# pg_notify will NOT work in transaction mode.
|
||||||
|
PGBOUNCER_POOL_MODE: session
|
||||||
|
{% endif %}
|
||||||
{% if execution_node_count|int > 0 %}
|
{% if execution_node_count|int > 0 %}
|
||||||
receptor-hop:
|
receptor-hop:
|
||||||
image: {{ receptor_image }}
|
image: {{ receptor_image }}
|
||||||
|
|||||||
Reference in New Issue
Block a user