Deployments und Secrets
Änderungen über Git ausliefern und Passwörter und Tokens da heraushalten.
Deine Anwendung ändert sich über Git. Ein Commit in dem Repository, das du verbunden hast, beschreibt den Zustand, den du willst; die Plattform bringt die Laufzeit dorthin und hält sie dort.
Das ist der einzige unterstützte Weg, und der Grund dafür ist praktischer Natur: Wenn der gewünschte Zustand in deinem Repository steht, beantwortest du „was hat sich geändert und wer wollte das" aus deiner eigenen Historie. Eine Änderung, die jemand von Hand am Cluster vorbeigeschoben hat, hätte diese Historie nicht — und wäre beim nächsten Abgleich ohnehin wieder weg.
Repository verbinden
Im Portal unter Projekte & Namespaces findest du die Stelle, an der du dein Repository einträgst: Adresse, Branch, Pfad und wie zugegriffen wird. Bevor du speicherst, zeigt dir das Portal, was es verstanden hat — sieh dort einmal drüber, das erspart die erste fehlgeschlagene Übernahme.
Als strukturelle Vorlage kannst du gh0stservice/ghc-gitops-example ansehen. Kopiere daraus die Struktur, nicht die Werte.
Wie du das Repository aufbaust
Fang klein an:
kustomize/
base/
app/
overlays/
gh0stcloud/
kustomization.yaml
Mehr Ebenen lohnen sich erst, wenn der erste Weg von Commit zu laufender Anwendung tatsächlich funktioniert. Eine ausgefeilte Overlay-Struktur, die noch nie deployt hat, verbirgt nur, an welcher Stelle es klemmt.
Secrets gehören nicht nach Git
Passwörter, Tokens und Schlüssel kommen nicht ins Repository — auch nicht in einem privaten, auch nicht base64-kodiert. Was einmal in einer Git-Historie steht, bleibt dort, und es entfernen zu wollen ist deutlich mehr Arbeit, als es gar nicht erst hineinzuschreiben.
Stattdessen: Der Wert wird an der Stelle hinterlegt, die dir das Portal zeigt. In Git steht nur der Name, unter dem darauf verwiesen wird. Die Plattform stellt der Anwendung daraus zur Laufzeit das eigentliche Secret bereit.
gh0stcli kann dich durch das Hinterlegen führen, ohne dass der Wert im Gespräch mit deinem KI-Assistenten auftaucht. Nutze das — ein Secret, das du in einen Chat kopierst, ist nicht mehr geheim.
Bevor dein Assistent Manifeste schreibt
Er kann nichts erfinden, was nur in deinem Konto steht. Gib ihm vorher, was er braucht: den Namespace aus dem Portal, den Namen deiner Anwendung und das Image-Tag, den Port, unter dem sie antwortet, den Hostnamen falls sie öffentlich sein soll, Name und Größe des Volumes falls sie Daten behält, und die Namen der Secrets — niemals deren Werte.