Zum Inhalt springen

Das Manifest eines Micros

Das Manifest beschreibt, wie ein Micro startet. MicroLab erkennt es automatisch beim Hinzufügen des Micros und hält es mit „Aus dem Repository aktualisieren“ aktuell. Sie bearbeiten es selten von Hand; um das echte eines Micros zu sehen, microlab service show <id>.

Dies sind die Dinge, die es deklariert. Identifikatoren und Schlüssel sind in Englisch (Projektstandard).

  • stack — die Technologie: kind (quarkus, spring-boot, node, angular, python) plus eine punktuelle Anpassung (zum Beispiel der Startbefehl, der ${port} akzeptiert). Den Rest des Wissens pro Technologie (Health-Pfad, Injektionsstil) liefert MicroLab über das kind.
  • Ports — der/die Ports, die der Micro deklariert (MicroLab bildet sie beim Start zu effektiven Ports um).
  • Infrastruktur — was er vom gemeinsamen Compose braucht (Kafka, Redis, Postgres).
  • datasource — seine Datenbank, mit einer optionalen devUrl für den „Cloud“-Modus.
  • Abhängigkeiten — für jeden Core, den er aufruft: seine Kennung, die Eigenschaft, die umgeschrieben wird bei der Injektion, die Cloud-URL und die OpenAPI-Spezifikation (um die Mock-Vorlage zu generieren).
  • requirements — was ein Micro über seinen Stack hinaus erfordert (ein anderes Werkzeug oder ein Pfad, der existieren muss), mit optional, damit es eine Warnung statt eines Fehlers ist.
  • Quick Toggles — vom Micro deklarierte Booleans (zum Beispiel „ohne Authentifizierung“), die als Kästchen aktiviert werden und sich beim Start zu Eigenschaften erweitern.
  • run.native.preCommands — was vor dem Start ausgeführt wird (versioniert, des Teams). Akzeptiert ${mvn} und kann ohne Löschen deaktiviert werden:
run:
native:
preCommands:
- command: ${mvn} -pl bootstrap -am install -DskipTests -T 1C
- command: npx ng build shared-ui
enabled: false # deklariert, aber aus
  • prepSteps — Bespoke-Schritte des Micros (zum Beispiel ein Datenbank-Seed), die auf Anforderung oder nach der ersten Migration ausgeführt werden („Datenbank vorbereiten“).

Die Startanpassung Ihrer Maschine (einzelne Eigenschaften, gewählte Datenbank, freier Befehl) lebt nicht im Manifest: Sie lebt in settings.local.yml, außerhalb von Git. Siehe Start anpassen.