No description
Find a file
2025-12-05 22:54:02 +01:00
group_vars Aanpassingen voor gebruik subdomeinen en HTTPS 2025-12-05 22:54:02 +01:00
roles/postgresql Aanpassingen Forgejo en toevoegen Superset + afhankelijkheden 2025-12-03 23:12:12 +01:00
tasks Aanpassingen voor gebruik subdomeinen en HTTPS 2025-12-05 22:54:02 +01:00
templates Aanpassingen voor gebruik subdomeinen en HTTPS 2025-12-05 22:54:02 +01:00
.gitignore Eerste commit: Dataplatform Ansible setup 2025-11-30 12:47:22 +01:00
ansible.cfg Eerste commit: Dataplatform Ansible setup 2025-11-30 12:47:22 +01:00
hosts.yml Eerste commit: Dataplatform Ansible setup 2025-11-30 12:47:22 +01:00
README.md Eerste commit: Dataplatform Ansible setup 2025-11-30 12:47:22 +01:00
site.yml Aanpassingen voor gebruik subdomeinen en HTTPS 2025-12-05 22:54:02 +01:00

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 RAM
  • effective_cache_size: 75% van RAM
  • work_mem: 2% van RAM
  • maintenance_work_mem: 5% van RAM
  • max_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)