src/dlw/marvin_api.py hinzugefügt

This commit is contained in:
Kim Diallo 2026-01-03 01:04:06 +01:00
parent f184986ec9
commit eae860d0cd
1 changed files with 28 additions and 0 deletions

28
src/dlw/marvin_api.py Normal file
View File

@ -0,0 +1,28 @@
import requests
class MarvinClient:
def __init__(self, api_key, asteroid_name):
self.api_key = api_key
self.asteroid = asteroid_name
self.base_url = "https://api.uberspace.de/api/v1/external"
self.headers = {"Authorization": f"Api-Key {api_key}"}
def setup_webapp_backend(self, port):
"""Registriert das Flask-Interface in der Marvin API."""
url = f"{self.base_url}/asteroids/{self.asteroid}/webbackends/"
data = {
"asteroid": self.asteroid,
"domain": None,
"path": "/admin", # Optionaler Pfad für das Interface
"destination": "PORT",
"port": port
}
res = requests.post(url, headers=self.headers, json=data)
return res.status_code in [201, 200]
def add_domain(self, domain_name):
"""Fügt eine neue Web-Domain hinzu."""
url = f"{self.base_url}/asteroids/{self.asteroid}/webdomains/"
data = {"name": domain_name, "asteroid": self.asteroid}
res = requests.post(url, headers=self.headers, json=data)
return res.json()