Multi-Stack Produkte
Definiere komplexe Anwendungen mit mehreren Docker Stacks und gemeinsamen Variablen in einem einzigen Manifest.
Was sind Multi-Stack Produkte?
Multi-Stack Produkte ermöglichen es, komplexe Anwendungen zu definieren, die aus mehreren Docker Stacks bestehen. Statt jeden Stack einzeln zu verwalten, werden sie in einem einzigen RSGo Manifest zusammengefasst.
Typische Anwendungsfälle
- Microservices-Architekturen: Frontend, Backend und Datenbank als separate Stacks mit gemeinsamer Konfiguration
- Multi-Tenant Setups: Basis-Stack mit kundenspezifischen Erweiterungen
- Development Environments: Entwicklungs-Tools und Abhängigkeiten in einem Produkt gebündelt
Gemeinsame Variablen
Ein zentrales Feature ist die Möglichkeit, Variablen auf Produkt-Ebene zu definieren, die von allen Stacks genutzt werden können:
product:
name: my-application
variables:
- name: DATABASE_HOST
type: String
description: Shared database hostname
stacks:
- name: backend
variables:
- name: DATABASE_HOST # Übernimmt Definition vom Produkt
- name: frontend
variables:
- name: API_URL
type: String Variable Override Behavior
Wenn eine Variable sowohl auf Produkt- als auch auf Stack-Ebene definiert ist, werden die Definitionen intelligent zusammengeführt:
Merge-Regeln:
- Stack-spezifische Werte überschreiben Produkt-Werte
- Typ und Validierung werden vom Produkt vererbt
- Beschreibungen können auf Stack-Ebene angepasst werden
Vorteile
- Konsistenz: Einheitliche Konfiguration über alle Stacks
- Wiederverwendbarkeit: Gemeinsame Variablen nur einmal definieren
- Übersichtlichkeit: Alle Komponenten in einem Manifest
- Deployment: Ein-Klick Installation des gesamten Produkts