Test CI
Some checks failed
Build / build-backend (push) Failing after 4s
Build / build-web (push) Failing after 11s
Build / release (push) Has been skipped

This commit is contained in:
2026-04-22 11:39:25 +02:00
parent 3d5ba249a3
commit 0c673ab5f1
3 changed files with 84 additions and 6 deletions

2
backend/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
__pycache__/
venv/

26
backend/main.py Normal file
View File

@@ -0,0 +1,26 @@
from fastapi import FastAPI, HTTPException
import subprocess
app = FastAPI()
# Whitelist allowed actions (VERY important)
COMMANDS = {
"restart_nginx": ["sudo", "systemctl", "restart", "nginx"],
"uptime": ["uptime"],
"update": ["sudo", "apt", "update"]
}
@app.post("/run")
def run_task(task: str, token: str):
# simple auth check (replace with real auth later)
if token != "MY_SECRET_TOKEN":
raise HTTPException(status_code=403, detail="Unauthorized")
if task not in COMMANDS:
raise HTTPException(status_code=400, detail="Invalid task")
try:
result = subprocess.check_output(COMMANDS[task], text=True)
return {"output": result}
except subprocess.CalledProcessError as e:
return {"error": e.output}