INSIGHT-MVP/repos/INSIGHT-Infra/ansible/roles/pgbouncer/tasks/main.yml
Thomas Reitz 36196457ea feat(infra): vollständige Ansible-Struktur Phase 1
- Alle Ansible-Rollen erstellt: common, disk_setup, docker, postgresql,
  pgbouncer, redis, nginx, zabbix_agent
- ansible.cfg mit Pipeline-Optimierung
- hosts.yml mit echten IPs (DBS01=.20, APS01=.21, WEB01=.22)
- group_vars für alle Server (dbs, aps, web)
- Zabbix-Server auf sentinel.xinion.de gesetzt
- vault.yml.example als Vorlage für Secrets
- site.yml nutzt import_playbook (DBS01→APS01→WEB01)
- BRIEFING.md für alle 4 Repos angelegt (Platform, Apps, Infra, Shared)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 15:23:29 +01:00

43 lines
967 B
YAML

---
# Role: pgbouncer
# Installiert und konfiguriert PgBouncer als Connection Pooler vor PostgreSQL
- name: "PgBouncer installieren"
apt:
name: pgbouncer
state: present
update_cache: true
- name: "PgBouncer konfigurieren (pgbouncer.ini)"
template:
src: pgbouncer.ini.j2
dest: /etc/pgbouncer/pgbouncer.ini
owner: postgres
group: postgres
mode: '0640'
notify: restart pgbouncer
- name: "PgBouncer userlist.txt konfigurieren"
template:
src: userlist.txt.j2
dest: /etc/pgbouncer/userlist.txt
owner: postgres
group: postgres
mode: '0640'
notify: restart pgbouncer
no_log: true
- name: "PgBouncer Service aktivieren und starten"
service:
name: pgbouncer
state: started
enabled: true
- name: "PgBouncer Status prüfen"
command: pgbouncer --version
register: pgbouncer_version
changed_when: false
- name: "PgBouncer Version ausgeben"
debug:
msg: "{{ pgbouncer_version.stdout }}"