ci(stt): images taguées par SHA + bump auto du manifest (fin du :latest) (#9)

La CI build l'image en sha-<commit> et, sur main, met à jour k8s/apps/stt/deployment.yaml
avec ce tag (commit [skip ci]). ArgoCD redéploie alors une image immuable et déterministe
— fini les races de timing et les 'kubectl rollout restart' manuels.

permissions: contents write (pour le bump). :latest gardé en parallèle sur main (fallback).


Claude-Session: https://claude.ai/code/session_013FmcxGsyXZXogiAHQLjnZT

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
ALI YESILKAYA 2026-06-17 16:39:14 +02:00 committed by GitHub
parent 815beaf37c
commit 70499b7d84
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 36 additions and 17 deletions

View file

@ -36,10 +36,11 @@ Prérequis voix : micro, Piper + voix dans `~/.local/share/piper/`, `aplay` (als
## Serveur — déploiement (cluster)
1. **Image** : poussée sur `ghcr.io/alkatrazz24/funk-stt-server` par le workflow
`.github/workflows/build-stt-server.yml` (sur push touchant `stt/server/`).
1. **Image** : le workflow `.github/workflows/build-stt-server.yml` (push touchant `stt/server/`)
build l'image taguée **`sha-<commit>`** et, sur `main`, **met à jour le manifest** avec ce
tag (commit `ci(stt): image → …`). Plus de `:latest` ni de `rollout restart` manuel.
2. **ArgoCD** : `k8s/apps-of-apps/apps/stt.yaml` → déploie `k8s/apps/stt/` **depuis `main`**.
Tant que ce n'est pas mergé sur `main`, le cluster ne le prend pas.
Le bump du tag par la CI suffit à déclencher un nouveau pod (déploiement déterministe).
3. Le serveur joint LiteLLM (s01, hors cluster) en **IP directe** `192.168.10.1:4000`
(même pattern qu'open-webui — pas de Service/Endpoints intermédiaire).
4. **Image privée** : le Deployment référence un `imagePullSecret` `ghcr-pull`.