Umgebungsvariable oder Secret wählen
Umgebungsvariablen und Secrets speichern benannte Werte für dein Netzwerk. Verwende ihre Referenzen in Templates, Configurators oder Workflows, damit du einen Wert ändern kannst, ohne jede betroffene Datei zu bearbeiten.
Beide stehen jedem Serverhost im Netzwerk zur Verfügung. Verwende getrennte Netzwerke, wenn Werte nicht zwischen Serverhosts geteilt werden dürfen.
Beide in einer Plugin-Konfiguration verwenden
Dieses Beispiel speichert einen Datenbankhost als Umgebungsvariable und das Passwort als Secret. Du brauchst einen verbundenen Serverhost, einen Datenbankzugang und ein Plugin, das diese Datenbank verwendet.1
Umgebungsvariable erstellen
Öffne im Dashboard Settings > Variables & Secrets. Wähle unter Network variables die Aktion Add variable.Trage
DATABASE_HOST als Key und deinen Datenbankhost als Wert ein, etwa db.internal.example. Wähle Add variable, um den Wert zu speichern. Über das Augensymbol kannst du ihn danach wieder anzeigen.2
Secret erstellen
Wähle unter Network secrets die Aktion Add secret. Trage
DATABASE_PASSWORD als Key und dein Datenbankpasswort als Wert ein. Wähle danach Encrypt & save.Ein Serverhost muss den Verschlüsselungsschlüssel des Netzwerks registrieren, bevor du Secrets hinzufügen kannst. Falls das Dashboard einen Serverhost verlangt, starte oder verbinde einen. Nach dem Speichern siehst du den Key, kannst den Wert aber nicht mehr anzeigen.3
Referenzen in das Template einfügen
Öffne Files, wähle den Serverhost aus und bearbeite die Plugin-Konfiguration im passenden Template. Lege diese Datei beispielsweise unter Passe den Pfad und die Datenbankeinstellungen an dein Plugin und deinen Zugang an. Übernimm die beiden Referenzen wie gezeigt. Verwende Referenzen in textbasierten Konfigurationsdateien, nicht in JAR-Dateien, Welten, Datenbanken oder Archiven.Prüfe, ob das Template diese Referenzen auf jedem Serverhost enthält, der deine Lobby-Server ausführen kann.Stoppe einen persistenten Server, auf dem diese Datei bereits vorhanden ist, und bearbeite seine bestehende Konfiguration über die Seite Files des Servers. Ein Template ersetzt keine vorhandene Datei eines persistenten Servers.
templates/lobby/plugins/DatabasePlugin/config.yml ab:templates/lobby/plugins/DatabasePlugin/config.yml
4
Server starten und Verbindung prüfen
Starte einen neuen
lobby-Server, der dieses Template verwendet. Wenn du einen persistenten Server bearbeitet hast, starte ihn wieder.SimpleCloud setzt beide Werte in die Konfiguration des Servers ein, bevor der Prozess startet. Das ursprüngliche Template behält seine Referenzen.Prüfe, ob das Plugin die Datenbankverbindung herstellt. Der Datei-Editor im Dashboard zeigt in der laufenden Datei weiterhin die Referenzen. Prüfe den Verbindungsstatus des Plugins, um festzustellen, ob es die Werte erhalten hat.Referenzen in Configurators und Workflows verwenden
Beide Referenztypen funktionieren auch als Werte in einem Configurator. Ergänze diesen Eintrag unterpaths in deinem eigenen Configurator, um dieselben Datenbankeinstellungen zu verwalten:
path werden sie nicht unterstützt.
Verwende in Workflows die Referenzen {{ env.KEY }} oder {{ secrets.KEY }} in den with-Parametern eines Steps. SimpleCloud ersetzt sie, wenn der Workflow läuft. Erstelle die entsprechende Umgebungsvariable oder das Secret vor der Ausführung.
Wert ändern oder löschen
Öffne unter Settings > Variables & Secrets das Aktionsmenü neben dem Key:- Wähle für eine Umgebungsvariable Edit variable, ändere den Wert und wähle Save changes.
- Wähle für ein Secret Rotate secret, trage den neuen Wert ein und wähle zum Speichern erneut Rotate secret.
DATABASE_PASSWORD ändert nur den in SimpleCloud gespeicherten Wert. Ändere das Passwort des Datenbankkontos separat und halte beide Werte gleich. Server mit dem alten Passwort können den Zugriff verlieren, bis du sie mit dem neuen Wert startest.
Entferne die Referenzen, bevor du Delete variable oder Delete secret wählst. Ein Server startet nicht, wenn eine seiner Konfigurationsdateien einen fehlenden Wert benötigt.
So werden Werte gespeichert und verwendet
Der Controller speichert beide Arten von Werten verschlüsselt. Er kann Umgebungsvariablen entschlüsseln, damit Mitglieder mit Zugriff sie im Dashboard lesen können. Secrets werden in deinem Browser mit dem öffentlichen Schlüssel des Netzwerks verschlüsselt. Der Controller kann sie nicht entschlüsseln. Deine Serverhosts teilen sich den zugehörigen privaten Schlüssel und entschlüsseln Secrets, wenn ein Server oder Workflow sie benötigt. Der laufende Server erhält die echten Werte in seinen Konfigurationsdateien. Benutzer und Prozesse mit direktem Zugriff auf den Serverhost oder das Serververzeichnis können diese Dateien einschließlich der Passwörter lesen. Der Editor und Downloads im Dashboard zeigen anstelle der verwalteten Werte ihre Referenzen.Keys und Werte
- Keys unterscheiden zwischen Groß- und Kleinschreibung und dürfen bis zu 64 Buchstaben, Zahlen oder Unterstriche enthalten. Beginne mit einem Buchstaben oder Unterstrich. Secret-Keys dürfen auch Bindestriche enthalten.
- Umgebungsvariablen und Secrets haben getrennte Keys.
{{ env.HOST }}und{{ secrets.HOST }}verweisen auf unterschiedliche Werte, auch wenn beide KeysHOSTheißen. - Werte dürfen bis zu 16 KiB umfassen. Umgebungsvariablen dürfen leer sein, Secrets nicht. Beide behalten Leerzeichen und Zeilenumbrüche bei.
Fehlerbehebung
Eine Referenz fehlt oder der Server startet nicht
Eine Referenz fehlt oder der Server startet nicht
Suche im Serverhost-Log nach dem fehlenden Key. Prüfe unter Settings > Variables & Secrets, ob er im richtigen Abschnitt existiert. Achte auf die Groß- und Kleinschreibung und verwende
env für eine Umgebungsvariable oder secrets für ein Secret.Erstelle den fehlenden Wert oder korrigiere die Referenz. Starte den Server danach erneut.Ein geänderter Wert wird nicht verwendet
Ein geänderter Wert wird nicht verwendet
Starte jeden Server neu, der den Wert verwendet, und führe betroffene manuelle Workflows erneut aus. Prüfe bei einem persistenten Server seine bestehende Konfiguration unter Files. Eine Änderung am Template ersetzt diese Datei nicht.
Die laufende Datei zeigt weiterhin eine Referenz
Die laufende Datei zeigt weiterhin eine Referenz
Der Datei-Editor und Downloads im Dashboard ersetzen verwaltete Werte durch ihre Referenzen, bevor die Datei an deinen Browser gesendet wird. Prüfe das Verhalten oder den Verbindungsstatus des Plugins, um festzustellen, ob es den Wert verwendet.