Initial import with GitLab CI/CD and registry deploy flow

This commit is contained in:
Yera All
2026-04-02 17:05:45 +05:00
commit 5374c202d9
338 changed files with 81297 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
from __future__ import annotations
import asyncio
import sys
import httpx
REQUIRED_SERVICES = [
"auth",
"audit",
"customer",
"interaction",
"routing",
"voice",
"telegram",
"kb",
"reporting",
"supervisor",
]
async def check_gateway(base_url: str) -> bool:
async with httpx.AsyncClient(base_url=base_url, timeout=5) as client:
try:
health = await client.get("/health")
if health.status_code != 200:
print(f"[FAIL] gateway /health status={health.status_code}")
return False
registry = await client.get("/registry")
if registry.status_code != 200:
print(f"[FAIL] gateway /registry status={registry.status_code}")
return False
data = registry.json()
services = data.get("services", {})
missing = [s for s in REQUIRED_SERVICES if s not in services]
if missing:
print(f"[FAIL] registry missing services: {missing}")
return False
login = await client.post(
"/proxy/auth/auth/login",
json={"username": "admin", "password": "admin123"},
)
if login.status_code != 200:
print(f"[FAIL] auth login status={login.status_code}")
return False
print("[PASS] Stage 1 gateway/auth health checks passed")
return True
except Exception as exc:
print(f"[FAIL] exception: {exc}")
return False
async def main() -> None:
base_url = "http://localhost:8080"
ok = await check_gateway(base_url)
sys.exit(0 if ok else 1)
if __name__ == "__main__":
asyncio.run(main())