Config as Code
Die Konfiguration eines Projekts kann in einer einzigen Datei liegen, die Sie committen und pushen. Die Produktion ändert sich, wenn Sie ein Release veröffentlichen, und dieselbe Datei kann Staging und Produktion beschreiben.
Was die Datei deklariert
foir.config.ts deklariert Modelle, API-Schlüssel, Hooks und Anmeldeanbieter. Sie umfasst außerdem Operationen, Zeitpläne, Platzierungen, Segmente, Rollen für Ihre Nutzer, App-Installationen, Design-Tokens, Locales, Kontextdimensionen, den Variantenkatalog, E-Mail-Texte und Projekteinstellungen. Für einen API-Schlüssel: Die committete Datei enthält die Deklaration, also Name, Typ, Scopes und die zu verwendende Umgebungsvariable. Die CLI stellt den Schlüssel bei einem Push bereit und schreibt seinen Wert unter dieser Variable in Ihre env-Datei.
Ein Push legt einen Entwurf an
foir push beginnt mit einem Probelauf auf dem Server, sodass eine Ablehnung eintrifft, bevor etwas geschrieben wird. Danach schreibt es Entwürfe, und die Produktion liefert weiter die veröffentlichte Kopie aus, bis zum nächsten Release. Neue Modelle, neue Operationen und hinzugefügte optionale Felder werden mit dem Push released. Alles andere wartet, bis Sie es veröffentlichen.
Ein Push ist ein Drei-Wege-Merge aus der Datei, dem aktuellen Stand des Projekts und Ihrem letzten Push. Wurde dasselbe Feld in der Datei und in der Konsole geändert, hält er an und meldet den Konflikt.
Staging und Produktion aus einer Config
Eine Config kann mehrere benannte Projekte aus einem Manifest deklarieren, so werden Staging und Produktion identisch gehalten. Nur als Ziele deklarierte Werte dürfen abweichen: Endpunkte, Redirect-URIs, Origins, Domains und Absenderadressen. Jede andere Abweichung lehnt den Push ab und nennt das Feld und beide Werte. Ein Push schlägt auch fehl, wenn das Projekt ein Modell, eine Operation, einen Hook, einen Zeitplan oder eine Kontextdimension enthält, die die Config nicht deklariert.
Ein Feld entfernen
Wird ein Feld aus der Config genommen, verschwinden seine Daten nicht sofort. Das Feld bleibt 30 Tage als veraltet erhalten, und der Push schreibt eine Entscheidungsdatei, die fragt, was mit den gespeicherten Werten geschehen soll: umbenennen, konvertieren oder verwerfen.
Details nachlesen
Die Config-Dokumentation behandelt das Dateiformat, jede Familie, die sie deklarieren kann, Pushen, Veröffentlichen und benannte Projekte.