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

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).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013FmcxGsyXZXogiAHQLjnZT
This commit is contained in:
Claude 2026-06-17 14:37:53 +00:00
parent 815beaf37c
commit 036ad67654
No known key found for this signature in database
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`.