conjurer: napraw drogę powrotną librarian/musician → bot (znikające wyniki) #8

Merged
gitea merged 1 commits from conjurer-fix-bot-return-path into master 2026-08-02 15:30:00 +00:00
Owner

Problem

Wyniki 8-godzinnych wyszukań librariana (i eventy 'now playing' musiciana) POST-owane do bota ginęły — droga powrotna do bota była krucha.

Przyczyny + fix

  1. Service bot był NodePort bez przypiętego nodePort → k8s losuje port z 30000–32767 przy każdym (od)tworzeniu Service. Musician/betoniarka z Dockera adresują bota na sztywno http://192.168.1.73:32442. Rozjazd = każdy POST leci w zamknięty port. → przypinam nodePort: 32442.
  2. Librarian jest w tym samym klastrze/namespace co bot, a mimo to gadał przez nodePort węzła. → przełączam na DNS Service'u http://bot:5000 (odporne na przetasowania; nodePort zostaje tylko dla zewnętrznych z Dockera).

Po zmianie sprawdź

kubectl -n conjurer get svc bot -o jsonpath='{.spec.ports[0].nodePort}'   # = 32442

Uwaga: jeśli port 32442 jest akurat zajęty przez inny Service w klastrze, apply się odbije — wtedy trzeba wybrać wolny i zsynchronizować z adresami musiciana/betoniarki.

Osobno: utwardzenie samej komunikacji (retry + trwały outbox/inbox, żeby wynik nie ginął nawet przy chwilowej awarii) leci osobnym PR-em w repo aplikacji.

🤖 Generated with Claude Code

## Problem Wyniki 8-godzinnych wyszukań librariana (i eventy 'now playing' musiciana) POST-owane do bota **ginęły** — droga powrotna do bota była krucha. ## Przyczyny + fix 1. **Service `bot` był `NodePort` bez przypiętego `nodePort`** → k8s losuje port z 30000–32767 przy każdym (od)tworzeniu Service. Musician/betoniarka z Dockera adresują bota na sztywno `http://192.168.1.73:32442`. Rozjazd = każdy POST leci w zamknięty port. → **przypinam `nodePort: 32442`**. 2. **Librarian jest w tym samym klastrze/namespace co bot**, a mimo to gadał przez nodePort węzła. → **przełączam na DNS Service'u `http://bot:5000`** (odporne na przetasowania; nodePort zostaje tylko dla zewnętrznych z Dockera). ## Po zmianie sprawdź ```bash kubectl -n conjurer get svc bot -o jsonpath='{.spec.ports[0].nodePort}' # = 32442 ``` Uwaga: jeśli port 32442 jest akurat zajęty przez inny Service w klastrze, apply się odbije — wtedy trzeba wybrać wolny i zsynchronizować z adresami musiciana/betoniarki. Osobno: utwardzenie samej komunikacji (retry + trwały outbox/inbox, żeby wynik nie ginął nawet przy chwilowej awarii) leci osobnym PR-em w repo aplikacji. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
gitea self-assigned this 2026-08-02 15:05:15 +00:00
gitea added 1 commit 2026-08-02 15:05:16 +00:00
Wyniki wyszukań (librarian) i eventy 'now playing' (musician) POST-owane do
bota ginęły, bo droga powrotna do bota była krucha:

* Service 'bot' był NodePort BEZ przypiętego nodePort -> k8s losował port z
  30000-32767 przy każdym (od)tworzeniu Service, a musician/betoniarka z
  Dockera adresują bota na sztywno http://192.168.1.73:32442. Rozjazd = każdy
  POST leci w zamknięty port. Przypinam nodePort: 32442.
* Librarian jest w tym samym klastrze co bot, a mimo to szedł przez nodePort
  węzła. Przełączam na DNS Service'u http://bot:5000 - odporne na
  przetasowania nodePortu (nodePort zostaje tylko dla zewnętrznych z Dockera).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea merged commit b7f226062c into master 2026-08-02 15:30:00 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gitea/deploy#8