[k8s] Ingress + TLS (cert-manager) для webhook и Web #73

Open
opened 2026-05-13 22:07:49 +03:00 by Toutsu · 0 comments
Owner

Контекст

Для работы webhook Telegram требует HTTPS. В Kubernetes нужен Ingress с автоматическим TLS от Let's Encrypt.

Что нужно

  1. cert-manager в кластер (Helm: jetstack/cert-manager)
  2. ClusterIssuer letsencrypt-prod и letsencrypt-staging
  3. Ingress для бота (bot.gmrelay.ru или api.gmrelay.ru/bot/webhook)
  4. Ingress для Web (gmrelay.ru, www.gmrelay.ru)
  5. Webhook path в Telegram Bot API зарегистрирован на https://<domain>/webhook

Технические детали

  • Ingress controller: nginx или traefik (рекомендую nginx — проще с Telegram)
  • Certificate ресурс с dnsNames или secretName
  • Проверка: curl -v https://api.telegram.org/bot<token>/getWebhookInfo

Критерии приёмки

  • cert-manager поднимает сертификаты автоматически
  • getWebhookInfo показывает активный URL с HTTPS
  • Ingress route работает и проксирует POST на pod бота
  • Staging и prod используют разные домены/сертификаты
## Контекст Для работы webhook Telegram требует HTTPS. В Kubernetes нужен Ingress с автоматическим TLS от Let's Encrypt. ## Что нужно 1. **cert-manager** в кластер (Helm: `jetstack/cert-manager`) 2. **ClusterIssuer** `letsencrypt-prod` и `letsencrypt-staging` 3. **Ingress** для бота (`bot.gmrelay.ru` или `api.gmrelay.ru/bot/webhook`) 4. **Ingress** для Web (`gmrelay.ru`, `www.gmrelay.ru`) 5. **Webhook path** в Telegram Bot API зарегистрирован на `https://<domain>/webhook` ## Технические детали - Ingress controller: nginx или traefik (рекомендую nginx — проще с Telegram) - Certificate ресурс с `dnsNames` или `secretName` - Проверка: `curl -v https://api.telegram.org/bot<token>/getWebhookInfo` ## Критерии приёмки - [ ] cert-manager поднимает сертификаты автоматически - [ ] `getWebhookInfo` показывает активный URL с HTTPS - [ ] Ingress route работает и проксирует POST на pod бота - [ ] Staging и prod используют разные домены/сертификаты
Toutsu added this to the Этап — Kubernetes / k8s Production milestone 2026-05-13 22:07:49 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Toutsu/GmRelayBot#73