No description
| group_vars | ||
| roles/postgresql | ||
| tasks | ||
| templates | ||
| .gitignore | ||
| ansible.cfg | ||
| hosts.yml | ||
| README.md | ||
| site.yml | ||
Dataplatform Ansible
Ansible playbooks voor het opzetten van een gemeentelijk dataplatform volgens de referentie-architectuur.
Componenten
Deze playbooks installeren:
- Common: Ubuntu desktop, xrdp (remote desktop), DBeaver, VSCodium, firewall
- PostgreSQL 18: Database met PostGIS, pg_duckdb en pgaudit extensies
- Forgejo: Git server voor versiebeheer
Mappenstructuur
dataplatform/
├── ansible.cfg
├── hosts.yml
├── site.yml
├── README.md
├── group_vars/
│ ├── all.yml
│ └── all.vault.yml.example
├── tasks/
│ ├── common.yml
│ └── forgejo.yml
└── roles/
└── postgresql/
├── tasks/
│ └── main.yml
└── templates/
└── postgresql.conf.j2
Vereisten
- Ubuntu 24.04 LTS server
- Ansible 2.14 of hoger op je lokale machine
- SSH toegang tot de server
Installatie
1. Configureer de inventory
Pas hosts.yml aan met het IP-adres van je server.
2. Configureer de variabelen
Pas group_vars/all.yml aan indien nodig.
3. Maak de vault aan
cp group_vars/all.vault.yml.example group_vars/all.vault.yml
Bewerk group_vars/all.vault.yml en vul de wachtwoorden in.
Versleutel de vault:
ansible-vault encrypt group_vars/all.vault.yml
4. Voer de playbook uit
ansible-playbook site.yml --ask-vault-pass
Of voor specifieke onderdelen:
ansible-playbook site.yml --tags common --ask-vault-pass
ansible-playbook site.yml --tags postgresql --ask-vault-pass
ansible-playbook site.yml --tags forgejo --ask-vault-pass
Toegang na installatie
- Remote Desktop (RDP):
IP_ADRES:3389 - Forgejo:
http://IP_ADRES:3001 - PostgreSQL: localhost:5432 (alleen lokaal, via DBeaver)
Database structuur
Er wordt één PostgreSQL database aangemaakt met drie schema's:
dw_stg- Staging (tijdelijke brongegevens)dw_dv- Data Vault (integratie en historie)dw_dm- Data Marts (dimensionele modellen voor rapportage)
PostgreSQL tuning
De PostgreSQL configuratie wordt automatisch afgestemd op de beschikbare hardware:
shared_buffers: 25% van RAMeffective_cache_size: 75% van RAMwork_mem: 2% van RAMmaintenance_work_mem: 5% van RAMmax_parallel_workers: aantal vCPUs
Extensies
- PostGIS: Geografische gegevens (BAG, wijken, kaarten)
- pg_duckdb: Snellere analytische queries (5-50x voor OLAP)
- pgaudit: Audit logging (BIO compliance)