"""Periodic audit cycle via Ops API.""" from __future__ import annotations import os import time import httpx API_URL = os.getenv("OPS_API_URL", "http://api:8080") AUDIT_INTERVAL_SEC = int(os.getenv("AUDIT_INTERVAL_SEC", "600")) OPS_INTERNAL_TOKEN = os.getenv("OPS_INTERNAL_TOKEN", "") def run_cycle() -> None: try: headers = {} if OPS_INTERNAL_TOKEN: headers["X-Ops-Internal-Token"] = OPS_INTERNAL_TOKEN with httpx.Client(timeout=120.0) as client: response = client.post( f"{API_URL.rstrip('/')}/api/v1/audit/cycle", headers=headers, ) print(f"[audit] cycle {response.status_code}: {response.text[:300]}", flush=True) except Exception as exc: print(f"[audit] cycle ERROR: {exc}", flush=True)