This commit is contained in:
oliver
2026-06-19 13:06:18 -03:00
parent b74d2312c3
commit 43d2a16ac4
2 changed files with 4 additions and 46 deletions
-36
View File
@@ -396,42 +396,6 @@ def server_audit():
return {"raw_output": output} return {"raw_output": output}
@app.get("/system/info", dependencies=[Depends(verify_api_key)])
def get_system_info():
try:
alpine_version = None
last_update = None
bump_dates = execute_db(
"SELECT MAX(bump) AS latest_bump FROM containers", fetch=True
)[0]["latest_bump"]
if os.path.exists("/4server/data/update"):
with open("/4server/data/update") as f:
last_update = f.read().strip()
if os.path.exists("/etc/alpine-release"):
with open("/etc/alpine-release") as f:
alpine_version = f.read().strip()
mem = psutil.virtual_memory()
disk = psutil.disk_usage("/")
cpu_count = psutil.cpu_count(logical=True)
return {
"alpine_version": alpine_version,
"last_update": last_update,
"latest_bump": bump_dates,
"version": VERSION,
"resources": {
"memory": {
"total": mem.total,
"available": mem.available,
"used": mem.used,
},
"disk": {"total": disk.total, "used": disk.used, "free": disk.free},
"cpu_count": cpu_count,
},
}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@app.post("/system/pull", dependencies=[Depends(verify_api_key)]) @app.post("/system/pull", dependencies=[Depends(verify_api_key)])
def pull_all_images(): def pull_all_images():
return {"message": run_command([f"{BIN_PATH}/pullAllContainers"])} return {"message": run_command([f"{BIN_PATH}/pullAllContainers"])}
+4 -10
View File
@@ -41,7 +41,6 @@ def main():
# Container identity # Container identity
audit["container_id"] = os.environ.get("HOSTNAME") audit["container_id"] = os.environ.get("HOSTNAME")
audit["environment"] = dict(os.environ)
# OS information inside container # OS information inside container
audit["os_release"] = read_file("/etc/os-release") audit["os_release"] = read_file("/etc/os-release")
@@ -52,9 +51,7 @@ def main():
if os.path.exists("/etc/alpine-release"): if os.path.exists("/etc/alpine-release"):
audit["packages"]["manager"] = "apk" audit["packages"]["manager"] = "apk"
audit["packages"]["installed"] = cmd( audit["packages"]["installed"] = cmd(["apk", "info", "-v"]).splitlines()
["apk", "info", "-v"]
).splitlines()
audit["packages"]["upgradeable"] = cmd( audit["packages"]["upgradeable"] = cmd(
["apk", "version", "-l", "<"] ["apk", "version", "-l", "<"]
).splitlines() ).splitlines()
@@ -67,9 +64,7 @@ def main():
elif os.path.exists("/etc/redhat-release"): elif os.path.exists("/etc/redhat-release"):
audit["packages"]["manager"] = "rpm" audit["packages"]["manager"] = "rpm"
audit["packages"]["installed"] = cmd( audit["packages"]["installed"] = cmd(["rpm", "-qa"]).splitlines()
["rpm", "-qa"]
).splitlines()
# Docker engine information # Docker engine information
audit["docker_version"] = cmd( audit["docker_version"] = cmd(
@@ -132,15 +127,14 @@ def main():
audit["docker_logs"] = logs audit["docker_logs"] = logs
# SSH config if present # SSH config if present
audit["sshd_config"] = cmd( audit["sshd_config"] = cmd(["sshd", "-T"]).splitlines()
["sshd", "-T"]
).splitlines()
# Users # Users
audit["passwd"] = read_file("/etc/passwd") audit["passwd"] = read_file("/etc/passwd")
# Runtime info # Runtime info
audit["uptime"] = cmd(["uptime"]) audit["uptime"] = cmd(["uptime"])
audit["top"] = cmd(["top", "-b", "-n", "1"]).splitlines()
# cgroups (useful in Docker) # cgroups (useful in Docker)
audit["cgroup"] = read_file("/proc/self/cgroup") audit["cgroup"] = read_file("/proc/self/cgroup")