mirror of
http://172.20.10.11:3000/gitadmin/INSIGHT-MVP.git
synced 2026-06-24 22:46:39 +02:00
fix: PostgreSQL data migration, Redis auth, Vault-Loading in Playbooks
- PostgreSQL: initdb durch rsync-Ansatz ersetzt (Ubuntu/Debian kompatibel) Data-Dir wird via rsync vom Default-Cluster nach /data/postgresql migriert - PostgreSQL: de_DE.UTF-8 Locale-Generierung als ersten Task hinzugefügt - Redis: redis-cli ping mit Passwort-Auth (no_log: true) - Playbooks: vars_files: ../vault.yml in dbs01/aps01/web01 ergänzt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
d212a7623f
commit
8e235c584e
5 changed files with 64 additions and 28 deletions
|
|
@ -5,6 +5,8 @@
|
|||
- name: "INSIGHT-APS01 Setup"
|
||||
hosts: insight_aps
|
||||
become: true
|
||||
vars_files:
|
||||
- ../vault.yml
|
||||
roles:
|
||||
- role: common
|
||||
- role: disk_setup
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
- name: "INSIGHT-DBS01 Setup"
|
||||
hosts: insight_dbs
|
||||
become: true
|
||||
vars_files:
|
||||
- ../vault.yml
|
||||
roles:
|
||||
- role: common
|
||||
- role: disk_setup
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
- name: "INSIGHT-WEB01 Setup"
|
||||
hosts: insight_web
|
||||
become: true
|
||||
vars_files:
|
||||
- ../vault.yml
|
||||
roles:
|
||||
- role: common
|
||||
- role: disk_setup
|
||||
|
|
|
|||
|
|
@ -1,6 +1,17 @@
|
|||
---
|
||||
# Role: postgresql
|
||||
# Installiert und konfiguriert PostgreSQL 16 auf DBS01
|
||||
# Daten werden vom Default-Cluster nach {{ postgresql_data_dir }} verschoben
|
||||
|
||||
- name: "de_DE.UTF-8 Locale generieren"
|
||||
locale_gen:
|
||||
name: de_DE.UTF-8
|
||||
state: present
|
||||
|
||||
- name: "rsync installieren (für Datenmigration)"
|
||||
apt:
|
||||
name: rsync
|
||||
state: present
|
||||
|
||||
- name: "PostgreSQL GPG Key hinzufügen"
|
||||
apt_key:
|
||||
|
|
@ -23,6 +34,19 @@
|
|||
state: present
|
||||
update_cache: true
|
||||
|
||||
- name: "Prüfen ob Data-Dir bereits PostgreSQL-Daten enthält"
|
||||
stat:
|
||||
path: "{{ postgresql_data_dir }}/PG_VERSION"
|
||||
register: pg_data_exists
|
||||
|
||||
- name: "PostgreSQL Service stoppen (für Datenmigration in /data)"
|
||||
service:
|
||||
name: "postgresql@{{ postgresql_version }}-main"
|
||||
state: stopped
|
||||
when:
|
||||
- postgresql_data_dir != '/var/lib/postgresql/' ~ postgresql_version ~ '/main'
|
||||
- not pg_data_exists.stat.exists
|
||||
|
||||
- name: "PostgreSQL Data-Verzeichnis anlegen"
|
||||
file:
|
||||
path: "{{ postgresql_data_dir }}"
|
||||
|
|
@ -30,29 +54,28 @@
|
|||
owner: postgres
|
||||
group: postgres
|
||||
mode: '0700'
|
||||
when: postgresql_data_dir != '/var/lib/postgresql'
|
||||
|
||||
- name: "PostgreSQL Service stoppen (vor Konfiguration)"
|
||||
service:
|
||||
name: "postgresql@{{ postgresql_version }}-main"
|
||||
state: stopped
|
||||
when: postgresql_data_dir != '/var/lib/postgresql'
|
||||
|
||||
- name: "Prüfen ob PostgreSQL Cluster bereits initialisiert"
|
||||
stat:
|
||||
path: "{{ postgresql_data_dir }}/PG_VERSION"
|
||||
register: pg_cluster_initialized
|
||||
|
||||
- name: "PostgreSQL Cluster in Data-Dir initialisieren"
|
||||
become_user: postgres
|
||||
command: >
|
||||
/usr/lib/postgresql/{{ postgresql_version }}/bin/initdb
|
||||
-D {{ postgresql_data_dir }}
|
||||
when:
|
||||
- postgresql_data_dir != '/var/lib/postgresql'
|
||||
- not pg_cluster_initialized.stat.exists
|
||||
- postgresql_data_dir != '/var/lib/postgresql/' ~ postgresql_version ~ '/main'
|
||||
- not pg_data_exists.stat.exists
|
||||
|
||||
- name: "postgresql.conf konfigurieren"
|
||||
- name: "PostgreSQL Default-Cluster nach {{ postgresql_data_dir }} kopieren"
|
||||
command: >
|
||||
rsync -a --delete
|
||||
/var/lib/postgresql/{{ postgresql_version }}/main/
|
||||
{{ postgresql_data_dir }}/
|
||||
when:
|
||||
- postgresql_data_dir != '/var/lib/postgresql/' ~ postgresql_version ~ '/main'
|
||||
- not pg_data_exists.stat.exists
|
||||
|
||||
- name: "Berechtigungen auf Data-Dir sicherstellen"
|
||||
file:
|
||||
path: "{{ postgresql_data_dir }}"
|
||||
owner: postgres
|
||||
group: postgres
|
||||
mode: '0700'
|
||||
when: postgresql_data_dir != '/var/lib/postgresql/' ~ postgresql_version ~ '/main'
|
||||
|
||||
- name: "postgresql.conf konfigurieren (inkl. data_directory)"
|
||||
template:
|
||||
src: postgresql.conf.j2
|
||||
dest: "/etc/postgresql/{{ postgresql_version }}/main/postgresql.conf"
|
||||
|
|
@ -76,6 +99,12 @@
|
|||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: "Warten bis PostgreSQL bereit ist"
|
||||
wait_for:
|
||||
host: localhost
|
||||
port: "{{ postgresql_port | default(5432) }}"
|
||||
timeout: 30
|
||||
|
||||
- name: "PostgreSQL INSIGHT Datenbanken anlegen"
|
||||
become_user: postgres
|
||||
postgresql_db:
|
||||
|
|
@ -99,7 +128,7 @@
|
|||
when: postgresql_users is defined
|
||||
no_log: true
|
||||
|
||||
- name: "PostgreSQL Berechtigungen setzen"
|
||||
- name: "PostgreSQL Datenbankberechtigungen setzen"
|
||||
become_user: postgres
|
||||
postgresql_privs:
|
||||
db: "{{ item.db }}"
|
||||
|
|
@ -110,12 +139,12 @@
|
|||
loop: "{{ postgresql_grants }}"
|
||||
when: postgresql_grants is defined
|
||||
|
||||
- name: "PostgreSQL Version prüfen"
|
||||
- name: "PostgreSQL Version ausgeben"
|
||||
become_user: postgres
|
||||
command: psql --version
|
||||
register: pg_version
|
||||
changed_when: false
|
||||
|
||||
- name: "PostgreSQL Version ausgeben"
|
||||
- name: "PostgreSQL bereit"
|
||||
debug:
|
||||
msg: "{{ pg_version.stdout }}"
|
||||
msg: "{{ pg_version.stdout }} — Data-Dir: {{ postgresql_data_dir }}"
|
||||
|
|
|
|||
|
|
@ -43,13 +43,14 @@
|
|||
enabled: true
|
||||
|
||||
- name: "Redis Konnektivität prüfen"
|
||||
command: redis-cli ping
|
||||
command: redis-cli -a {{ redis_password }} ping
|
||||
register: redis_ping
|
||||
changed_when: false
|
||||
no_log: true
|
||||
retries: 3
|
||||
delay: 2
|
||||
until: redis_ping.stdout == "PONG"
|
||||
|
||||
- name: "Redis Status ausgeben"
|
||||
- name: "Redis bereit"
|
||||
debug:
|
||||
msg: "Redis antwortet: {{ redis_ping.stdout }}"
|
||||
msg: "Redis antwortet: PONG"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue