Skip to content

Credentials

RnoldR edited this page Mar 20, 2024 · 1 revision

Servers

DiDo kent een aantal wensites waarop kan worden ingelogd gedurende het gebruik. Dat komt omdat DiDo op verschillende servers moet inloggen. DiDo moet altijd kunnen inloggen op de ODL server en de data server. In sommige gevallen ook op een zogenaamde 'foreign' server.

Het gaat in alle gevallen om een database server. Dus in alle gevallen moet je weten wat de database is waar je gebruik van maakt, op welke server die staat (de ontwikkelingsserver of de produktieserver) en via welk port die bereikbaar is (vrijwel altijd 5432).

In je config.yaml file van je projekt specificeer je die servers als volgt:

SERVER_CONFIGS:
  ODL_SERVER_CONFIG:
    POSTGRES_PORT: 5432
    POSTGRES_DB: techniek
    POSTGRES_SCHEMA: datamanagement

  # database credentials for storing the data. _USER and _PW will be added from .env
  DATA_SERVER_CONFIG:
    POSTGRES_PORT: 5432
    POSTGRES_DB: ruimte
    POSTGRES_SCHEMA: geo

  # database credentials for xtracting the data. _USER and _PW will be added from .env
  FOREIGN_SERVER_CONFIG:
    POSTGRES_PORT: 5432
    POSTGRES_DB: ruimte
    POSTGRES_SCHEMA: geo

Zoals je ziet worden hier de drie servers gespecificeerd met de bedoelde database en port. De host wordt bepaald door een andere definitie:

# select server to use as POSTGRES_HOST
HOST: development

Het argument kan development of production zijn. In de dido configuratie file (config/dido.yaml) worden die nader gespecificeerd. Op dit moment zijn de IP-adressen 10.10.12.12 respectievelijk 10.10.12.6. Hier hoef je inprincipe niets aan te doen, je moet echter wel de juiste host kiezen: development of production.

POSTGRES_USER

Voor elke server moet je een username/password combinatie opgeven. Dat is in de meeste gevallen dezelfde. Mocht dat niet zo zijn dan weet je al drie gegevens per server: host, database en port. De username specificeer je in de config/.env file van je projekt als volgt:

POSTGRES_USER: <naam>

Als je geen .pgpass file hebt (waarover dadelijk meer) dan specificeer je ook het wachtwoord als volgt:

POSTGRES_USER: <naam>
POSTGRES_PASSWORD: <wachtwoord>

.pgpass

Een .pgpass file maakt het mogelijk om automatisch in te loggen met psql. En psql heb je vaak nodig in kombinatie met DiDo. De .pgpass file staat in je user directory (/data/<jouw username>) en heeft alleen een read/write permissie voor jezelf. Die permissie kun je als volgt realiseren als de file bestaat:

chmod 600 .pgpass

In .pgpass staan een of meer regels met de volgende struktuur:

<host>:<port>:<database>:<username>:<password>

Konkreet:

10.10.12.12:5432:personeel:janjansen:geheim

Je mag ook sterretjes invullen als alles mag matchen. Je hebt vermoedelijk hetzelfde wachtwoord voor alle databases en voor zowel de ontwikkel- als de produktieserver. In dat geval vul je in:

*:5432:*:janjansen:geheim

Dit is de situatie die voor de meeste van ons geldt. Heb je echter een ander wachtwoord voor de database bijvoorbeeld techniek dan personeel dan ziet .pgpass er als volgt uit:

*:5432:techniek:janjansen:geheim
*:5432:personeel:janjansen:eenandergeheim
Clone this wiki locally