Anleitungen im Zusammenhang mit Beach

So fügst du benutzerdefinierte Einstellungen für Beach Instanzen hinzu

Wenn du eine Konfiguration für Instanzen haben möchtest, die auf Beach gehostet werden, gibt es ein paar Dinge, die du vielleicht wissen möchtest..

Übersicht

Generell gibt es zwei Möglichkeiten, die Konfiguration für die Verwendung in Beach hinzuzufügen:

  • durch Umgebungsvariablen und das Setzen dieser Variablen als Instanzvariablen
  • durch Einstellungsdateien, die mit dem Code eingecheckt werden

Beide Ansätze können natürlich nach Bedarf kombiniert werden.

Umgebungsvariablen verwenden

Wenn du etwas pro Instanz konfigurieren musst oder nicht mit dem Code in dein VCS einchecken willst (z. B. Anmeldedaten für etwas), kannst du eine Instanzvariable definieren und diese in deiner Einstellungsdatei aus einer Umgebungsvariablen lesen.

Hier ist ein Beispiel, bei dem die Einstellungsdatei eine Variable namens API_KEY verwendet, die als Instanzvariable gesetzt wird:

AcmeCom:
  ApiIntegration:
    accessKey: '%env:API_KEY%'

Einstellungsdateien verwenden

Natürlich kannst du Konfigurationsdateien mit deinem Code einchecken. Das Einzige, was du dabei beachten musst: Beach selbst stellt einige Standardeinstellungen (für die Datenbank) in einer Datei bereit, die automatisch erstellt wird, wenn du den Container deines Projekts erstellst. So funktioniert es:

  • Configuration/Production/Settings.yaml kann nach Belieben verwendet werden, um Einstellungen für den Produktionskontext im Allgemeinen vorzunehmen.
  • Configuration/Production/Beach/Settings.yaml wird von Beach geschrieben. Was immer du dort einträgst, wird in der bereitgestellten Instanz einfach verschwinden.
  • Configuration/Production/Beach/Instance/Settings.yaml ist das, was die Instanz verwenden wird, wenn sie existiert. Sie kann also verwendet werden, um Einstellungen speziell für Beach vorzunehmen.

Einen benutzerdefinierten Sub-Kontext verwenden

Falls du umfangreiche Einstellungen hast, die du zwischen den Instanzen unterscheiden musst, kannst du die Instanzvariable BEACH_FLOW_SUB_CONTEXT so setzen, dass sie den Standard-Subkontext der Instanz außer Kraft setzt. Auf diese Weise kannst du größere Einstellungsblöcke pro Instanz haben.