mirror of
http://172.20.10.11:3000/gitadmin/INSIGHT-MVP.git
synced 2026-06-25 00:16:41 +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"
|
- name: "INSIGHT-APS01 Setup"
|
||||||
hosts: insight_aps
|
hosts: insight_aps
|
||||||
become: true
|
become: true
|
||||||
|
vars_files:
|
||||||
|
- ../vault.yml
|
||||||
roles:
|
roles:
|
||||||
- role: common
|
- role: common
|
||||||
- role: disk_setup
|
- role: disk_setup
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@
|
||||||
- name: "INSIGHT-DBS01 Setup"
|
- name: "INSIGHT-DBS01 Setup"
|
||||||
hosts: insight_dbs
|
hosts: insight_dbs
|
||||||
become: true
|
become: true
|
||||||
|
vars_files:
|
||||||
|
- ../vault.yml
|
||||||
roles:
|
roles:
|
||||||
- role: common
|
- role: common
|
||||||
- role: disk_setup
|
- role: disk_setup
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@
|
||||||
- name: "INSIGHT-WEB01 Setup"
|
- name: "INSIGHT-WEB01 Setup"
|
||||||
hosts: insight_web
|
hosts: insight_web
|
||||||
become: true
|
become: true
|
||||||
|
vars_files:
|
||||||
|
- ../vault.yml
|
||||||
roles:
|
roles:
|
||||||
- role: common
|
- role: common
|
||||||
- role: disk_setup
|
- role: disk_setup
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,17 @@
|
||||||
---
|
---
|
||||||
# Role: postgresql
|
# Role: postgresql
|
||||||
# Installiert und konfiguriert PostgreSQL 16 auf DBS01
|
# 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"
|
- name: "PostgreSQL GPG Key hinzufügen"
|
||||||
apt_key:
|
apt_key:
|
||||||
|
|
@ -23,6 +34,19 @@
|
||||||
state: present
|
state: present
|
||||||
update_cache: true
|
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"
|
- name: "PostgreSQL Data-Verzeichnis anlegen"
|
||||||
file:
|
file:
|
||||||
path: "{{ postgresql_data_dir }}"
|
path: "{{ postgresql_data_dir }}"
|
||||||
|
|
@ -30,29 +54,28 @@
|
||||||
owner: postgres
|
owner: postgres
|
||||||
group: postgres
|
group: postgres
|
||||||
mode: '0700'
|
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:
|
when:
|
||||||
- postgresql_data_dir != '/var/lib/postgresql'
|
- postgresql_data_dir != '/var/lib/postgresql/' ~ postgresql_version ~ '/main'
|
||||||
- not pg_cluster_initialized.stat.exists
|
- 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:
|
template:
|
||||||
src: postgresql.conf.j2
|
src: postgresql.conf.j2
|
||||||
dest: "/etc/postgresql/{{ postgresql_version }}/main/postgresql.conf"
|
dest: "/etc/postgresql/{{ postgresql_version }}/main/postgresql.conf"
|
||||||
|
|
@ -76,6 +99,12 @@
|
||||||
state: started
|
state: started
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
- name: "Warten bis PostgreSQL bereit ist"
|
||||||
|
wait_for:
|
||||||
|
host: localhost
|
||||||
|
port: "{{ postgresql_port | default(5432) }}"
|
||||||
|
timeout: 30
|
||||||
|
|
||||||
- name: "PostgreSQL INSIGHT Datenbanken anlegen"
|
- name: "PostgreSQL INSIGHT Datenbanken anlegen"
|
||||||
become_user: postgres
|
become_user: postgres
|
||||||
postgresql_db:
|
postgresql_db:
|
||||||
|
|
@ -99,7 +128,7 @@
|
||||||
when: postgresql_users is defined
|
when: postgresql_users is defined
|
||||||
no_log: true
|
no_log: true
|
||||||
|
|
||||||
- name: "PostgreSQL Berechtigungen setzen"
|
- name: "PostgreSQL Datenbankberechtigungen setzen"
|
||||||
become_user: postgres
|
become_user: postgres
|
||||||
postgresql_privs:
|
postgresql_privs:
|
||||||
db: "{{ item.db }}"
|
db: "{{ item.db }}"
|
||||||
|
|
@ -110,12 +139,12 @@
|
||||||
loop: "{{ postgresql_grants }}"
|
loop: "{{ postgresql_grants }}"
|
||||||
when: postgresql_grants is defined
|
when: postgresql_grants is defined
|
||||||
|
|
||||||
- name: "PostgreSQL Version prüfen"
|
- name: "PostgreSQL Version ausgeben"
|
||||||
become_user: postgres
|
become_user: postgres
|
||||||
command: psql --version
|
command: psql --version
|
||||||
register: pg_version
|
register: pg_version
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
- name: "PostgreSQL Version ausgeben"
|
- name: "PostgreSQL bereit"
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ pg_version.stdout }}"
|
msg: "{{ pg_version.stdout }} — Data-Dir: {{ postgresql_data_dir }}"
|
||||||
|
|
|
||||||
|
|
@ -43,13 +43,14 @@
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
- name: "Redis Konnektivität prüfen"
|
- name: "Redis Konnektivität prüfen"
|
||||||
command: redis-cli ping
|
command: redis-cli -a {{ redis_password }} ping
|
||||||
register: redis_ping
|
register: redis_ping
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
no_log: true
|
||||||
retries: 3
|
retries: 3
|
||||||
delay: 2
|
delay: 2
|
||||||
until: redis_ping.stdout == "PONG"
|
until: redis_ping.stdout == "PONG"
|
||||||
|
|
||||||
- name: "Redis Status ausgeben"
|
- name: "Redis bereit"
|
||||||
debug:
|
debug:
|
||||||
msg: "Redis antwortet: {{ redis_ping.stdout }}"
|
msg: "Redis antwortet: PONG"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue