MongoDB

Für den Großteil der eGovernment Suite wird MongoDB vorausgesetzt. Aktuell ist zwingend die Version 8.0.x zu verwenden. Mit anderen Versionen ist die eGovermentSuite nicht freigegeben. Dieses sollte gemäß der Dokumentation für die jeweilige Distribution installiert werden.

Datenbankbenutzer und -passwörter

In der Standardkonfiguration von MongoDB wird kein Benutzername und -passwort für den Verbindungsaufbau zwischen den Anwendungen und dem Datenbankserver verwendet.

Falls die Verwendung von Datenbankbenutzern mit Passwörter vorgesehen ist, sollte die offizielle Dokumentation zur Datenbankabsicherung (https://docs.mongodb.com/manual/tutorial/#security) zu Rate gezogen werden.
Die genauen Punkte sind "Enable Authentication" und "Manage Users and Roles".

Um unsere automatischen Datenbankupdates nutzen zu können benötigt der Benutzer eine Rolle, welche ihm anyAction auf anyResource zusichert. Eine entsprechende Rolle kann z.B. wie folgt erzeugt werden:

db.createRole( {
 role: 'superAdmin',
 privileges: [
   {
      resource: { anyResource: true },
      actions: [ 'anyAction' ]
   }
  ],
  roles: []
} )

Log-Rotation

MongoDB rotiert automatisch nicht das Log. Ein Wechsel zu einer neuen Log-Datei lässt sich jedoch erzwingen, indem ein SIGUSR1-Signal an den Prozess gesendet wird. Dies kann zum Beispiel in Form eines Cron-Jobs erfolgen, z. B.:

0 0 * * * ps axf | grep mongod | grep -v grep | awk '{print "kill -SIGUSR1 " $1}' | bash

Das Löschen alter Logs lässt sich dann z. B. ebenfalls per cron bewerkstelligen:

0 1 * * * find /opt/docker/fs/logs -mtime {plus}14 -delete