f620c65794
CI - Test & Lint / lint (push) Failing after 1m11s
CI - Test & Lint / test-schema (push) Failing after 8s
🚀 Deploy to cPanel via Git / ci-check (push) Failing after 8s
🚀 Deploy to cPanel via Git / deploy-to-cpanel (push) Has been skipped
🚀 Deploy to cPanel via Git / deploy-fallback (push) Has been skipped
🚀 Deploy to cPanel via Git / verify (push) Has been skipped
🌊 Sync cPanel Git + WordPress / sync-cpanel (push) Failing after 9s
CI - Test & Lint / security (push) Successful in 1m42s
🌊 Sync cPanel Git + WordPress / sync-nextcloud (push) Failing after 10s
- CI workflow: PHP lint, security scan, schema validation - Deploy workflow: SSH -> cPanel git push + WP REST API fallback + verify - Sync workflow: cPanel sync + Nextcloud artifact upload - Health workflow: every 30min plugin health check - Scripts: verify-deploy, deploy-report, check-namespace, health-check, setup-secrets - README with full architecture documentation - Gitea Actions runner registered on Docker Swarm (contabo-swarm-runner)
31 lines
1010 B
Python
31 lines
1010 B
Python
#!/usr/bin/env python3
|
|
"""Verify Hermes cPanel Agent deployment and REST API availability."""
|
|
import json, sys, os
|
|
|
|
def check_plugins():
|
|
"""Verify plugin is installed and active via WP REST API."""
|
|
try:
|
|
data = json.load(sys.stdin)
|
|
except json.JSONDecodeError:
|
|
return False, "Cannot parse WP REST API response"
|
|
|
|
if isinstance(data, dict) and "code" in data:
|
|
return False, f"WP API error: {data.get('message', str(data))}"
|
|
|
|
if not isinstance(data, list):
|
|
return False, f"Unexpected response: {type(data).__name__}"
|
|
|
|
for p in data:
|
|
if isinstance(p, dict) and p.get("textdomain") == "hermes-ai-bridge":
|
|
status = p.get("status", "unknown")
|
|
name = p.get("name", "?")
|
|
ver = p.get("version", "?")
|
|
return True, f"OK: {name} v{ver} status={status}"
|
|
|
|
return False, "Plugin not found in WP plugins list"
|
|
|
|
if __name__ == "__main__":
|
|
ok, msg = check_plugins()
|
|
print(msg)
|
|
sys.exit(0 if ok else 1)
|