feat: isolate socket-activated webhook ingress - #238
Conversation
c00420c to
3d24bc8
Compare
ea45adf to
3343838
Compare
pilipilisbot
left a comment
There was a problem hiding this comment.
Thanks, the ingress split itself is directionally sound and the PR already covers the important parts: minimal FastAPI ingress, socket activation, nginx routing, autoupdate/service-status awareness, and focused webhook/systemd tests. I checked the PR metadata/diff, AGENTS.md, the webhook/backend/autoupdate/systemd changes, git diff --check, git merge-tree against current origin/main, and GitHub checks. CI is green on the PR head (pytest 3.11/3.12 and dashboard).
Blocking issue: this PR is not mergeable against current main. GitHub reports mergeStateStatus=DIRTY, and a local merge-tree shows real conflicts, at least in CHANGELOG.md, dashboard/src/main.tsx, and dashboard/src/main.test.tsx. The dashboard conflicts are not just release-changelog noise; they overlap with already-merged webhook delivery detail/update-badge work, so this needs a rebase/merge adaptation before I can approve the final integration.
Local note: I could not run pytest in the worktree because the local Python environment has no pytest installed, so I relied on the passing GitHub checks plus static/diff review. Once rebased on current main, rerun the existing CI set (pytest -q, dashboard tests/build) and I can re-review the resolved diff.
|
@giscebot revisa els canvis demanats |
|
He tornat a comprovar la PR contra el El bloqueig continua vigent i ara
Els checks verds corresponen al mateix |
pilipilisbot
left a comment
There was a problem hiding this comment.
He revisat de nou la PR contra el origin/main actual després de fer fetch. El head continua sent 33438387, GitHub marca mergeStateStatus=DIRTY / mergeable=false, i git merge-tree origin/main HEAD confirma conflictes reals en punts centrals de la PR:
dashboard/src/main.tsxdocs/ingestion.mdsrc/github_agent_bridge/backend.pysrc/github_agent_bridge/dashboard_static/index.htmlsrc/github_agent_bridge/queue.pysrc/github_agent_bridge/webhook.pysystemd/env.exampletests/test_webhook.py
Això continua sent bloquejant: els conflictes afecten l'ingrés webhook, la cua/esquema i tests, no només artefactes generats o documentació. Els checks verds del PR head són útils, però encara no validen la resolució contra el main actual.
També he mirat el diff rellevant de backend/webhook/autoupdate/systemd/tests i he passat git diff --check origin/main...HEAD sense incidències. No he pogut executar tests locals perquè aquest entorn no té pytest instal·lat (python3 -m pytest ... falla amb No module named pytest).
Cal actualitzar la branca amb main, resoldre aquests conflictes i tornar a executar la suite abans d'aprovar.
Serve GitHub deliveries through a minimal ingress process backed by a systemd-owned socket, so dashboard and ingress restarts do not create a connection-refused window. Route nginx independently and teach autoupdate and system status about the new service.\n\nRefs #191\n\nCo-authored-by: Eduard Carreras <ecarreras@gisce.net>
3343838 to
4fcabed
Compare
pilipilisbot
left a comment
There was a problem hiding this comment.
Reviewed the updated head 4fcabedbed4646cccae2d4839b2d0bd5a5f08976 after the rebase/conflict resolution. The PR is now cleanly mergeable against current main, and GitHub checks are green for dashboard, pytest (3.11), and pytest (3.12).
I re-checked the resolved diff around the dedicated FastAPI webhook ingress, socket-activated systemd units, nginx routing, autoupdate classification/restart planning, systemd status exposure, and the new/focused webhook tests. The dashboard keeps the legacy webhook route while production can route the exact delivery path to the minimal ingress, and the service split no longer conflicts with the already-merged webhook/dashboard work.
Local note: this host still has no system pytest, so I could not rerun the Python suite locally. I did run static merge/whitespace checks and systemd-analyze --user verify on the touched units; verify only failed on the expected not-installed console script path for github-agent-bridge-webhook, not on unit syntax.
No blocking findings from my side.
|
Verificació post-merge completada sobre el commit 8a96694 a main. El workflow de push ha acabat en verd (dashboard, pytest 3.11 i pytest 3.12), i també han passat release i dependency graph. El bloqueig anterior d’integració amb main havia quedat resolt abans del merge i no queden fils de review oberts. No cal cap acció addicional per aquesta PR. |
Summary
POST /api/webhooks/githubto the ingress while dashboard/OAuth remain on the dashboard serviceAvailability model
The listening socket remains open while the ingress process restarts. New connections wait in the kernel backlog instead of receiving connection refused. Dashboard and frontend restarts do not touch webhook ingress.
Validation
pytest -q— 404 passednpm test -- --run— 62 passednpm run build/api/healthreturned successfully through Uvicorn--fdsystemd-analyze --user verifyparsed the units; its only warning was the expected not-yet-installed console entrypointRefs #191
Requested by: @ecarreras