src/dlw/marvin_ops.py aktualisiert
This commit is contained in:
parent
1fc53588da
commit
fef09ead53
|
|
@ -1,28 +1,15 @@
|
|||
import requests
|
||||
import os
|
||||
|
||||
class MarvinClient:
|
||||
def __init__(self, api_key, asteroid_name):
|
||||
self.api_key = api_key
|
||||
self.asteroid = asteroid_name
|
||||
def __init__(self):
|
||||
self.api_key = os.getenv('MARVIN_API_KEY')
|
||||
self.asteroid = os.getenv('UBERSPACE_ASTEROID')
|
||||
self.base_url = "https://api.uberspace.de/api/v1/external"
|
||||
self.headers = {"Authorization": f"Api-Key {api_key}"}
|
||||
self.headers = {"Authorization": f"Api-Key {self.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()
|
||||
def get_status(self):
|
||||
"""Beispiel: Abfrage des Asteroid-Status."""
|
||||
url = f"{self.base_url}/asteroids/{self.asteroid}"
|
||||
res = requests.get(url, headers=self.headers)
|
||||
return res.json() if res.status_code == 200 else None
|
||||
Loading…
Reference in New Issue