# config.yml

Die Datei **config.yml** ist der Einstieg in die API-Konfiguration eines Projekts. Die Datei kann sich an einem beliebigen Ort befinden. Die einzige Bedingung ist, dass sie durch den tibi-server lesbar ist.

Es hat sich jedoch als günstig erwiesen bei Webprojekten die Datei und alle anderen Datein, die zur API-Konfiguration gehören, im ordner [api/](./ordnerstruktur.md) unterhalb des eigentlichen Webprojektes anzuordnen. Die Quellen des Frontends und der API können somit in ein Mono-Repo eingecheckt werden.

## Aufbau

!!!include(../api/config.yml)!!!
Der Namespace legt die eigentliche Projektbezeichnung und den Datenbankkontext fest.
Er sollte nach Projektinitialisierung auf dem tibi-server nicht mehr angepasst werden.
In den Projekteinstellungen im tibi-server kann der Namespace durch einen Datenbankeintrag
Überschrieben werden.
Über die Bezeichnung des Namespace plus einen Prefix der in der globalen Server-Konfig
hinterlegt ist, definiert sich der Datenbank-Name innerhalb der MongoDB.

Das "meta"-Objekt ist frei definierbar, wird aber vom tibi-admin in spezieller Form erwartet.
Mögliche Angaben, die der tibi-admin versteht, sind hier mit aufgeführt.

Das imageUrl objekt definiert den Pfad zu einer Bilddatei die als Projektbild im tibi-admin verwendet wird

"collections" ist eine Auflistung von Kollektions-Konfigurationen.
Hier bietet sich eine Auslagerung und Einbindung via YAML-Tag "!include" an.

Unter "jobs" können Jobs definiert werden, die regelmäßig ausgeführt werden sollen.
Werden Dateien innerhalb vom tibi-admin benötigt, bietet es sich an diese über
"assets"-Pfade erreichbar zu machen

### siehe

-   [dashboard](./dashboard.md)
-   [collections](./collections.md)
-   [jobs](./jobs.md)
-   [assets](./assets.md)
