-
Notifications
You must be signed in to change notification settings - Fork 0
Credentials
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
.
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>
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