CLI · BefehleDienste

Dienste

Dienste auflisten, inspizieren, deployen und betreiben.

eqs services ls

Listet die Dienste eines Space auf, mit Status und Quelle: dem Image oder dem Repository, aus dem der Dienst gebaut wird.

--space <slug>Der Space (Standard: der aktive Space, gesetzt mit eqs spaces use). Jeder Befehl auf dieser Seite akzeptiert ihn
shell
eqs services ls --space my-space
eqs services get <svc>

Details eines Dienstes: Quelle, Port, Skalierung, sein Health Check (der Health Path oder eine TCP-Probe) und wo er antwortet: seine Domains, die Adresse des Dienstes zuerst (der unter der Domain der Plattform gewählte Name, falls es einen gibt), jede markiert als Adresse, generiert oder eigene, verifiziert oder nicht verifiziert, mit oder ohne TLS, und die generierte mit dem Ziel ihrer Weiterleitung und, bei einem auf einem TCP-Port veröffentlichten Dienst, Host:Port.

shell
eqs services get api-gateway
eqs services create <name>

Erstellt einen Dienst und deployt ihn aus einer Quelle: einem verbundenen Repository (der Stack wird erkannt, oder ein Dockerfile bzw. eine Compose-Datei darin wird gebaut), einem fertigen Image oder einem Dienst aus dem Marketplace.

--repo <owner/name>Ein verbundenes Repository, gebaut aus --branch (Standard: main)
--dockerfile [path]Mit --repo: aus einem Dockerfile bauen (Standardpfad: Dockerfile)
--composeMit --repo: aus einer docker-compose-Datei bauen
--image <ref>Ein fertiges Image
--catalog <code>Ein Dienst aus dem Marketplace: eqs services catalog listet sie auf, und --catalog-version wählt die Version
--set <key=value>Mit --catalog: der Wert eines Feldes. Wiederholbar
--port <n>Der Port, auf dem die App lauscht
--internalNur intern, ohne öffentliche Domain
--min <n>Mindestanzahl an Instanzen (0 = Scale-to-Zero)
--max <n>Höchstanzahl an Instanzen
--domain <host>Verknüpft eine eigene Domain, sobald der Dienst erstellt ist
--health-path <path>Der Pfad des Health Checks: ein HTTP-GET darauf sagt, ob eine Instanz bereit ist. Ohne ihn eine TCP-Probe auf dem Port
shell
eqs services create api --image registry.example/api:1.4 --port 8080 --health-path /healthz
eqs services update <svc>

Ändert das Image oder den Health Path eines Dienstes und startet einen Rollout. Nur die angegebenen Optionen ändern sich, und ohne eine von beiden wird der Befehl abgelehnt. Ein Image lässt sich nur bei einem Dienst setzen, der aus einem Image deployt wird.

--image <ref>Das auszuführende Image
--health-path <path>Der Pfad des Health Checks; "" stellt den Dienst wieder auf die TCP-Probe um
shell
eqs services update api --health-path /healthz
eqs deploy <svc>

Löst ein neues Deployment des Dienstes aus: ein aus einem Repository gebauter Dienst wird neu gebaut (Build → Push → Rollout), ein aus einem Image deployter Dienst rollt es erneut aus. Kehrt zurück, sobald der Rollout eingereiht ist, außer mit --wait.

--image <ref>Macht dieses Image zum Image des Dienstes und rollt es aus (ein aus einem Image deployter Dienst)
--waitVerfolgt das Deployment, das der Befehl gestartet hat, und meldet jeden Zustand, den es durchläuft. Endet mit 0, sobald es läuft, und mit einem Fehler, wenn es fehlschlägt (mit Ausgabe seines Logs) oder wenn innerhalb einer Minute keins startet
--timeout <minutes>Mit --wait: wie viele Minuten das Deployment dauern darf (Standard: 30). Danach nennt der Befehl das Deployment und seinen Zustand und endet mit einem Fehler
shell
eqs deploy api --image registry.example/api:1.5 --wait
eqs restart <svc>

Startet die Instanzen des Dienstes neu.

shell
eqs restart web-frontend
eqs scale <svc>

Passt die Instanzgrenzen an (min–max). v2.

--min <n>Minimum (0 = Scale-to-Zero)
--max <n>Maximum
shell
eqs scale worker --min 1 --max 6
eqs env ls <svc> · eqs env set <svc> K=V · eqs env rm <svc> K · eqs env apply <svc>

Listet die Umgebungsvariablen des Dienstes auf (nur die Namen: Werte werden nie zurückgegeben), setzt oder entfernt eine und rollt sie aus.

--secretMit set: speichert den Wert verschlüsselt in einem Secret
--applyMit set: rollt den Dienst sofort aus, statt die Änderung ausstehend zu lassen
shell
eqs env set api-gateway LOG_LEVEL=debug
Eine Variable zu speichern startet NICHTS neu: die laufenden Instanzen behalten das Secret, mit dem sie gerendert wurden, und das ändert sich erst bei einem Rollout. Setzen Sie die ganze Gruppe und rollen Sie dann einmal mit eqs env apply <svc> — bei jedem Speichern zu rollen würde den Service mitten in einer Connection-String neu starten. eqs env pending <svc> sagt, ob noch ein Rollout aussteht, und leert sich, sobald irgendein Rollout die Variablen übernimmt.