Ansible playbook:
Instaliramo postgres data bazu preko apt modua- postgresql
instaliramo bazu podataka- postgresql-contrib
sadrži različite module proširenja koji su uključen u PostgreSQL distribuciju.- libpq-dev
biblioteka radi komunikacije s pozadinom baze podataka- python3-psycopg2
adapter baze podataka za programski jezik Python treba nam da mozemo upravljati sa ansiblomwhen:
na kraju taska znaci filtriranje hosta u ovom slucaju kontejnera
tasks:
- name: install postgres databse
apt:
name:
- postgresql
- postgresql-contrib
- libpq-dev
- python3-psycopg2
state: present
update_cache: yes
when: ansible_facts['hostname'] == 'backend'
Kreiranje usera baze i posavljanje šifre
name:
ime usera bazepassword:
šifra bazebecome: yes
sudo komadabecome_user:
standardni admin user baze podataka
- name: Create DB user
community.postgresql.postgresql_user:
state: present
name: dbUser
password: dbPassword
become: yes
become_user: postgres
when: ansible_facts['hostname'] == 'backend'
Task za otvaranje porta kontejnera preko kojeg se spajamo na bazu
- name: Open DB Firewall
ansible.builtin.ufw:
rule: allow
port: '5432'
proto: tcp
when: ansible_facts['hostname'] == 'backend'
Postavljanje listen adrese baze podataka
- name: Set listen address
community.postgresql.postgresql_set:
name: listen_addresses
value: '*'
become: yes
become_user: postgres
register: set
when: ansible_facts['hostname'] == 'backend'
Restartanje servisa baze systemd:
ansible modul za systemd (kao task manager u windowsima)state: restarted
znaci da restartaname: postgresql
koji servis da restarta
- name: Restart PQ Service
systemd:
state: restarted
name: postgresql
when: ansible_facts['hostname'] == 'backend'
Za spajanje pgAdmin
pravimo tunel u ssh config
fajli tako da dodajemo LocalForward 10001 localhost:5432
i kao host
u connectionu
pišemo localhost
.
nano ~/.ssh/config

Host bk
Hostname backend.truss
IdentityFile ~/.ssh/proxmox
User root
LocalForward 10001 localhost:5432


