Bereitstellen von Services
Dieser Leitfaden bietet einen umfassenden Überblick über den Lebenszyklus eines Managed Service in Codesphere. Er behandelt die praktischen Schritte für die Bereitstellung, Konfiguration, Pflege und das spätere Löschen von Services.
Bereitstellen von Managed Services
Die Bereitstellung eines Managed Service kann über die Codesphere-UI oder die öffentliche API erfolgen.
Ein Managed Service kann entweder eine eigenständige Deployment sein oder in den Lebenszyklus eines Landscapes integriert werden. Dieser Leitfaden behandelt die Bereitstellung eines eigenständigen Services. Informationen zur Bereitstellung von Services als Teil eines Landscapes findest du im Abschnitt Managed Services in Landscapes.
- UI
- API
-
Navigieren: Gehe zum Tab Managed Services.

-
Auswählen: Wähle den gewünschten Service-Provider aus dem Katalog. Services sind mit Kategorien gekennzeichnet (z. B. Database, Cache). In diesem Beispiel wählen wir PostgreSQL. Klicke auf „Start Setup“.
-
Konfigurieren: Ein Konfigurationsdialog wird angezeigt. Lege die anfänglichen Parameter fest. Nicht erforderliche Parameter kannst du auf den Standardwerten lassen und bei Bedarf später anpassen. Einige Parameter (wie der Benutzername in diesem PostgreSQL-Beispiel) haben spezifische Anforderungen. Bewege den Mauszeiger über das Info-Symbol, um mehr zu erfahren. Klicke auf „Define Secrets“, um fortzufahren.

-
Secrets: Die meisten Services benötigen Secrets. Generiere sie auf deinem Rechner und gib sie hier ein. Codesphere zeigt dir diese Secrets nach diesem Schritt nicht erneut an, also stelle sicher, dass du sie sicher speicherst. Falls du sie verlierst, musst du die Secrets zurücksetzen, was zu einer Downtime des Services führt. Klicke auf „Create Service“, um fortzufahren.

-
Bereitstellen: Nach dem Klick auf „Deploy“ beginnt Codesphere mit der Bereitstellung der Ressourcen. Wechsle in der linken Seitenleiste zum Tab Managed Services, um den Fortschritt zu verfolgen. Die Statusanzeigen aktualisieren sich, während der Service von
CreatingzuSynchronizedwechselt.
Nutze das Event-Log, um weitere Details zum Bereitstellungsprozess zu erhalten. Falls während der Bereitstellung Probleme auftreten, liefert das Event-Log Hinweise darauf, was schiefgelaufen ist und wie es behoben werden kann.

Du kannst einen Managed Service über den Endpunkt POST /managed-services erstellen.
curl -X POST "<your-codesphere-instance-url>/api/managed-services" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"teamId": 123,
"name": "my-postgres-db",
"provider": {
"name": "postgresql",
"version": "15"
},
"plan": {
"id": 1,
"parameters": {
"storage": 10
}
},
"config": {
"max_connections": "100"
},
"secrets": {
"password": "secure-password",
"username": "admin"
},
"backups": {
"enabled": true,
"intervalH": 24,
"deleteRetentionDays": 7,
"config": {
"endpointUrl": "https://s3.eu-central-1.amazonaws.com",
"destinationPath": "s3://my-codesphere-backups/"
},
"secrets": {
"accessKey": "YOUR_S3_ACCESS_KEY",
"secretKey": "YOUR_S3_SECRET_KEY"
}
}
}'
Parameter:
teamId(integer, erforderlich): Die ID des Teams, in dem der Service erstellt wird.name(string, erforderlich): Ein eindeutiger Name für deinen Service.provider(object, erforderlich):name: Der Name des Service-Providers (z. B.postgresql,redis).version: Der Versions-Tag (z. B.15).
plan(object, erforderlich):id: Die Plan-ID.parameters: Plan-spezifische Parameter (z. B. Speichergröße in GB).
secrets(object): Schlüssel-Wert-Paare der geheimen Service-Zugangsdaten.backups(object): Konfiguriere automatische Backups. Für Provider, die dies unterstützen. Details siehe Managed Service Backups.recoverFrom(object): Instanz automatisch über ein Point-in-Time-Backup-Objekt oder ein bestimmtes Backup bootstrappen. Erfordert diebackups-Konfiguration und die entsprechenden Secrets. Siehe Managed Service Backups.
Vollständige Details zum Schema findest du in der API-Dokumentation.
info
API-Endpunkte stehen für alle Lebenszyklus-Operationen zur Verfügung, einschließlich Deployment, Konfigurationsaktualisierungen, Pausieren und Löschen.
info
Die Bereitstellungszeit variiert je nach Service. Komplexe Datenbanken können einige Minuten benötigen, bis sie vollständig einsatzbereit sind.
Wie geht es weiter?
Sobald dein Service läuft, fahre mit dem Leitfaden Verbindung zu Services herstellen fort, um zu erfahren, wie du von deinem Workspace aus auf deine Datenbank oder deinen Object Storage zugreifst.
Aktualisieren / Konfigurieren
Du kannst die Konfiguration eines laufenden Services ändern, um sie an veränderte Anforderungen anzupassen.
- UI
- API
- Finden: Suche den bereitgestellten Service, den du aktualisieren möchtest.
- Einstellungen öffnen: Klicke auf das Zahnrad-Symbol rechts in der Tabellenzeile, um die Detailansicht des Services zu öffnen.
- Ändern: Navigiere zum Tab Configuration und klicke auf „Edit Configuration“. Dadurch werden die konfigurierbaren Parameter bearbeitbar. Beachte, dass nicht jede Option, die im Erstellungsvorgang verfügbar war, auch für Updates verfügbar ist. Wenn du einen nicht editierbaren Parameter ändern musst, musst du den Service löschen und mit der gewünschten Konfiguration neu erstellen.

- Übernehmen: Klicke auf Save, um die Änderungen anzuwenden. Der Service-Status wechselt von
SynchronizedzuUpdating, während die Änderungen angewendet werden. Nach Abschluss kehrt er zuSynchronizedzurück. Weitere Details zum Update-Prozess findest du im Event-Log.
Du kannst einen Managed Service über den Endpunkt PATCH /managed-services/{id} aktualisieren.
curl -X PATCH "<your-codesphere-instance-url>/api/managed-services/YOUR_SERVICE_ID" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"config": {
"max_connections": "200"
},
"plan": {
"id": 2,
"parameters": {
"storage": 20
}
},
"secrets": {
"password": "new-secure-password"
},
"backups": {
"enabled": true,
"intervalH": 12,
"deleteRetentionDays": 30,
"config": {
"endpointUrl": "https://s3.eu-central-1.amazonaws.com",
"destinationPath": "s3://my-codesphere-backups/"
},
"secrets": {
"accessKey": "YOUR_S3_ACCESS_KEY",
"secretKey": "YOUR_S3_SECRET_KEY"
}
}
}'
Parameter:
id(string, Pfadparameter): Die UUID des zu aktualisierenden Managed Service.config(object, optional): Konfigurationsaktualisierungen.plan(object, optional):id: Die neue Plan-ID.parameters: Aktualisierte Plan-Parameter (z. B. Speicher).
secrets(object, optional): Aktualisierte Secrets.backups(object, optional): Konfigurationen für automatische Backups.name(string, optional): Neuer Name für den Service.pause(boolean, optional): Auftruesetzen, um den Service zu pausieren.
Vollständige Details zum Schema findest du in der API-Dokumentation.
warnung
Manche Konfigurationsaktualisierungen können einen Neustart des Services auslösen, was zu einer kurzen Downtime führt.
Pausieren
Codesphere ermöglicht es, bestimmte Managed Services zu pausieren, wenn sie nicht aktiv genutzt werden. Das ist ideal für Entwicklungsumgebungen oder Prototypen.
Funktionsweise
Nicht jeder Service unterstützt das Pausieren. Falls ein Service pausiert werden kann, findest du diese Option unter den capabilities des Services. Die Capabilities können über den GET providers Endpunkt der öffentlichen API abgerufen werden.
- Pausieren: Nimmt den Service offline und gibt die Compute-Ressourcen (CPU & RAM) frei. Der Service-Status wechselt zu
PausedoderStopped. - Fortsetzen: Stellt die Compute-Ressourcen erneut bereit und bringt den Service wieder online.
Landscapes pausieren ihre eigenen Services automatisch, wenn sie abgebaut werden.
- UI
- API
Derzeit wird das Pausieren von Managed Services nur über die Public API unterstützt. Nutze den API-Tab für die entsprechenden Anweisungen.
Du kannst einen Managed Service pausieren, indem du dessen Eigenschaft pause mit dem Endpunkt PATCH /managed-services/{id} auf true setzt.
Service pausieren:
curl -X PATCH "<your-codesphere-instance-url>/api/managed-services/YOUR_SERVICE_ID" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pause": true
}'
Service fortsetzen:
curl -X PATCH "<your-codesphere-instance-url>/api/managed-services/YOUR_SERVICE_ID" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pause": false
}'
Datenpersistenz
Bei Codesphere-verwalteten Services wie Managed Storage oder Object Store bleiben deine Daten während einer Pause sicher. Das persistente Volume (Disk), das dem Service zugeordnet ist, wird nicht gelöscht. Wenn du den Service fortsetzt, wird er wieder mit demselben Volume verbunden, sodass alle deine Daten erhalten bleiben.
Landscape-basierte und benutzerdefinierte Provider
Dieses Verhalten gilt derzeit für eigenständige Managed Services. Bei Services, die in Landscape-Lebenszyklen integriert sind, oder bei benutzerdefinierten Service-Providern hängt die Datenpersistenz während einer Pause von der jeweiligen Implementierung ab.
tipp
Das Pausieren von nicht genutzten Services ist eine gute Möglichkeit, Ressourcennutzung und Kosten zu optimieren.
Backups
Codesphere unterstützt automatische Backups und Point-in-Time-Recovery für bestimmte Managed-Service-Provider (wie PostgreSQL und Babelfish). Damit kannst du deine Daten sicher in einem externen S3-kompatiblen Service speichern.
Vollständige Anweisungen zur Konfiguration automatischer Backups, zum manuellen Ausführen von Backups und zur Wiederherstellung eines Services aus einem früheren Zeitpunkt oder einer Backup-ID findest du im dedizierten Leitfaden Managed Service Backups.
Managed Services löschen
Das Löschen eines Services ruft den Löschendpunkt eines Managed-Service-Backends auf. Bei von Codesphere angebotenen Managed Services werden dabei alle mit diesem Service verbundenen Ressourcen entfernt.
Wenn du eine Löschung auslöst, beginnt Codesphere immer mit einem Soft Delete. Der Service wird mit einem deletedAt-Zeitstempel markiert und wechselt in den Zustand Deleting.
Löschablauf
- Soft Delete: Der Service wird mit einem
deletedAt-Zeitstempel markiert. Der Service-Status wechselt zuDeleting. - Finales Backup (falls aktiviert): Falls der Provider Backups unterstützt und Backups für den Service aktiviert sind, stellt der Reconciler sicher, dass nach der Einleitung der Löschung ein Backup eingeplant wird, und wartet, bis dieses Backup bestätigt ist, bevor er fortfährt.
- Löschung beim Provider: Der Reconciler sendet die Löschanfrage an das Provider-Backend, das die Compute-Ressourcen und persistenten Daten entfernt.
- Aufbewahrungsfrist: Der Soft-gelöschte Service-Datensatz bleibt für eine Aufbewahrungsfrist sichtbar und wird später vom Cleanup-Prozess endgültig gelöscht (Hard Delete). Während dieses Zeitraums kannst du den Service weiterhin sehen, indem du in der Service-Tabelle „Show recently Deleted“ aktivierst.
- UI
- API
- Navigieren: Gehe zur Seite der Service-Tabelle.
- Löschen: Finde die Schaltfläche „Delete“ im 3-Punkte-Menü.

- Bestätigen: Du wirst gebeten, die Aktion zu bestätigen, indem du den Namen des Services eingibst.
Du kannst einen Managed Service über den Endpunkt DELETE /managed-services/{id} löschen.
curl -X DELETE "<your-codesphere-api-endpoint>/managed-services/YOUR_SERVICE_ID" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Parameter:
id(string, Pfadparameter): Die UUID des zu löschenden Managed Service.
Vollständige Details zum Schema findest du in der API-Dokumentation.
warnung
Das Löschen eines Managed Service ist endgültig. Dabei werden sowohl die Compute-Ressourcen als auch das persistente Datenvolume entfernt. Diese Aktion kann nicht rückgängig gemacht werden. Kürzlich gelöschte Services kannst du über das Kontrollkästchen „Show recently Deleted“ einsehen, sie können jedoch nicht wiederhergestellt werden.