Zum Inhalt springen

Variablentypen

Das RSGo Manifest Format unterstützt typisierte Variablen mit automatischer UI-Generierung und Validierung. Jeder Typ hat spezifische Eigenschaften und einen passenden Editor in der Web-UI.

Einfache Texteingabe mit optionaler Pattern-Validierung.

EMAIL:
label: E-Mail Adresse
type: String
pattern: "^[^@]+@[^@]+\\.[^@]+$"
patternError: Bitte geben Sie eine gültige E-Mail ein
required: true
placeholder: user@example.com
EigenschaftBeschreibung
patternRegulärer Ausdruck für Validierung
patternErrorFehlermeldung bei Pattern-Verletzung
placeholderPlatzhalter-Text im Eingabefeld

UI: Einzeiliges Textfeld


Numerische Eingabe mit optionalen Min/Max-Grenzen.

WORKERS:
label: Worker-Threads
type: Number
default: "4"
min: 1
max: 32
description: Anzahl paralleler Worker (1-32)
EigenschaftBeschreibung
minMinimalwert
maxMaximalwert

UI: Zahlenfeld mit Validierung


Schalter für Ja/Nein-Werte.

DEBUG:
label: Debug-Modus
type: Boolean
default: "false"
description: Aktiviert erweiterte Logging-Ausgabe

Gültige Werte: "true" oder "false" (als Strings)

UI: Toggle-Schalter


Passwort-Eingabe mit verdeckter Anzeige.

DB_PASSWORD:
label: Datenbank-Passwort
type: Password
required: true
description: Mindestens 8 Zeichen

UI: Passwortfeld mit Auge-Symbol zum Ein-/Ausblenden

Umgang mit dem Wert: Werte von Password-Variablen und von allen Connection-String-Typen gelten als Secret. Sie werden von der API nie zurückgeliefert — die Deployment-Detailseite zeigt nur, ob ein Wert gespeichert ist (••••••••), nicht den Wert selbst. Beim Deploy und beim Upgrade lässt sich pro Variable über „Save value” entscheiden, ob der Wert überhaupt gespeichert wird; ohne Speicherung muss er beim nächsten Redeploy oder Upgrade erneut eingegeben werden. Ist ein Secret gespeichert, bleibt das Feld beim Upgrade leer — leer lassen behält den gespeicherten Wert, eine Eingabe ersetzt ihn.


Netzwerk-Port mit automatischer Validierung (1-65535).

WEB_PORT:
label: Web Port
type: Port
default: "8080"
description: HTTP-Port der Anwendung
EigenschaftBeschreibung
minMinimaler Port (Standard: 1)
maxMaximaler Port (Standard: 65535)

UI: Zahlenfeld mit Port-Validierung


Dropdown-Auswahl aus vordefinierten Optionen.

ENVIRONMENT:
label: Umgebung
type: Select
default: development
options:
- value: development
label: Entwicklung
description: Lokale Entwicklungsumgebung
- value: staging
label: Staging
description: Testumgebung
- value: production
label: Produktion
description: Live-System
Options-EigenschaftBeschreibung
valueTechnischer Wert (erforderlich)
labelAnzeigetext
descriptionZusätzliche Beschreibung

UI: Dropdown-Menü


URL-Eingabe mit Format-Validierung.

API_ENDPOINT:
label: API Endpoint
description: Externe API-URL
type: Url
default: "https://api.example.com"
placeholder: "https://..."

UI: Textfeld mit URL-Validierung


E-Mail-Adresse mit Format-Validierung.

ADMIN_EMAIL:
label: Admin E-Mail
description: E-Mail-Adresse für Benachrichtigungen
type: Email
default: admin@example.com
placeholder: admin@ihredomain.de

UI: Textfeld mit E-Mail-Validierung


Dateisystem-Pfad Eingabe.

DATA_PATH:
label: Daten-Pfad
description: Pfad für Datenspeicherung
type: Path
default: /data

UI: Textfeld für Pfade


Mehrzeilige Texteingabe für größeren Inhalt.

SSL_CERTIFICATE:
label: SSL-Zertifikat
description: PEM-kodiertes SSL-Zertifikat
type: MultiLine
placeholder: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

UI: Textarea mit mehreren Zeilen


Diese Typen bieten spezialisierte Builder-Dialoge für Datenbankverbindungen.

Microsoft SQL Server Connection String.

DB_CONNECTION:
label: SQL Server Verbindung
type: SqlServerConnectionString
required: true
group: Database

Builder-Dialog Features:

  • Server und Port separat konfigurieren
  • Windows-Authentifizierung oder SQL-Login
  • Optionen: Encrypt, TrustServerCertificate, MARS
  • Live-Vorschau des Connection Strings
  • Verbindung testen Button

Generiertes Format:

Server=myserver,1433;Database=mydb;User Id=sa;Password=***;TrustServerCertificate=true

PostgreSQL Connection String.

PG_CONNECTION:
label: PostgreSQL Verbindung
type: PostgresConnectionString
required: true

Builder-Dialog Features:

  • Host, Port, Datenbank
  • Benutzername und Passwort
  • SSL-Modus (Disable, Require, Prefer)
  • Connection Pooling Optionen
  • Verbindung testen

Generiertes Format:

Host=localhost;Port=5432;Database=mydb;Username=postgres;Password=***;SSL Mode=Prefer

MySQL/MariaDB Connection String.

MYSQL_CONNECTION:
label: MySQL Verbindung
type: MySqlConnectionString
required: true

Builder-Dialog Features:

  • Server und Port
  • Datenbank und Benutzer
  • SSL-Optionen
  • Charset-Konfiguration
  • Verbindung testen

Generiertes Format:

Server=localhost;Port=3306;Database=mydb;User=root;Password=***;SslMode=Required

MongoDB Connection String.

MONGO_CONNECTION:
label: MongoDB Verbindung
type: MongoConnectionString

Builder-Dialog Features:

  • Single Host oder Replica Set
  • Authentifizierung und AuthSource
  • SSL/TLS-Optionen
  • Read Preference
  • Verbindung testen

Generiertes Format:

mongodb://user:pass@host1:27017,host2:27017/mydb?replicaSet=rs0&authSource=admin

Redis Connection String.

REDIS_URL:
label: Redis Server
type: RedisConnectionString
default: redis://localhost:6379

Builder-Dialog Features:

  • Host und Port
  • Passwort (optional)
  • Datenbank-Nummer
  • SSL-Optionen
  • Sentinel-Konfiguration

Generiertes Format:

redis://user:password@host:6379/0?ssl=true

EventStoreDB gRPC Connection String.

EVENTSTORE_CONNECTION:
label: EventStore Verbindung
type: EventStoreConnectionString

Builder-Dialog Features:

  • gRPC Endpoint
  • TLS-Konfiguration
  • Cluster-Modus

Generiertes Format:

esdb://admin:changeit@localhost:2113?tls=true

Generischer Connection String ohne spezialisierten Builder.

CUSTOM_CONNECTION:
label: Custom Verbindung
type: ConnectionString

UI: Einfaches Textfeld (kein Builder)


Variablen können in logische Gruppen organisiert werden:

variables:
# Datenbank-Gruppe
DB_HOST:
type: String
group: Database
order: 1
DB_PORT:
type: Port
group: Database
order: 2
DB_PASSWORD:
type: Password
group: Database
order: 3
# Netzwerk-Gruppe
WEB_PORT:
type: Port
group: Network
order: 1
API_PORT:
type: Port
group: Network
order: 2
EigenschaftBeschreibung
groupName der Gruppe
orderReihenfolge innerhalb der Gruppe

UI: Variablen werden gruppiert mit Überschriften angezeigt.

Empfohlene Gruppen:

GruppeBeschreibung
GeneralAllgemeine Einstellungen
NetworkPorts, DNS, URLs
DatabaseDatenbankverbindungen
SecurityZertifikate, Passwörter
LoggingLog-Level, Ausgaben
PerformanceTimeouts, Pools, Threads
AdvancedErweiterte Konfiguration

Alle Typen unterstützen:

EigenschaftBeschreibung
requiredFeld muss ausgefüllt werden
defaultStandardwert
descriptionHilfetext unter dem Feld
  1. Required-Prüfung (wenn required: true)
  2. Typ-spezifische Validierung (z.B. Port-Bereich)
  3. Pattern-Validierung (wenn pattern definiert)

Validierungsfehler werden direkt unter dem Eingabefeld in Rot angezeigt.


variables:
# String mit Pattern
VERSION_TAG:
label: Version Tag
type: String
default: v1.0.0
pattern: "^v\\d+\\.\\d+\\.\\d+$"
patternError: Version muss Format v#.#.# haben (z.B. v1.0.0)
group: Versions
order: 1
# Number mit Bereich
MAX_CONNECTIONS:
label: Max Verbindungen
type: Number
default: "100"
min: 1
max: 1000
group: Performance
# Boolean
ENABLE_DEBUG:
label: Debug aktivieren
type: Boolean
default: "false"
group: General
# Password
ADMIN_PASSWORD:
label: Admin Passwort
type: Password
required: true
group: Security
# Port
HTTP_PORT:
label: HTTP Port
type: Port
default: "8080"
group: Network
# Select
ENVIRONMENT:
label: Umgebung
type: Select
default: development
options:
- value: development
label: Entwicklung
- value: staging
label: Staging
- value: production
label: Produktion
group: General
# URL
API_ENDPOINT:
label: API Endpoint
type: Url
default: "https://api.example.com"
group: External Services
# Email
ADMIN_EMAIL:
label: Admin E-Mail
type: Email
default: admin@example.com
group: Notifications
# MultiLine
SSL_CERTIFICATE:
label: SSL Zertifikat
type: MultiLine
placeholder: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
group: Security
# SQL Server Connection
DATABASE:
label: SQL Server Verbindung
type: SqlServerConnectionString
group: Database