flexway
FRENParler à un expert

Passer en Kubernetes

GuideExploitationDepuis la version 0.1.0

Markdown

Guide d'exploitation : configurer, déployer et observer la passerelle. Ce que fait la capacité côté produit : guide produit ; l'appeler : guide développeur.

Objectif : le même contrat, en cluster, en une commande - sans rien installer d'autre avant.

Commande (parcours court : un contrat, une URL d'amont)

helm install orders oci://ghcr.io/flexwiz/charts/flexway --version <version> \
  --set-file openapi=examples/rest-minimal/openapi.yaml \
  --set upstream=http://orders.internal:8080

Parcours complet : le flexway.yaml entier en config, les fichiers qu'il nomme en contracts.

# values.yaml
config:
  version: 1
  contracts: { openapi: ./orders.yaml }
  upstreams:
    default: { url: "http://orders.internal:8080" }
contracts:
  orders.yaml: |
    openapi: 3.1.0
    ...
secretMounts:
  - name: llm-keys          # lu par file:/etc/flexway-secrets/llm-keys/<clé>
helm install orders oci://ghcr.io/flexwiz/charts/flexway --version <version> -f values.yaml

Vérif

kubectl port-forward svc/orders-flexway 8080:8080 &
curl -i http://localhost:8080/orders          # relayé à l'amont
curl -i http://localhost:8080/nope            # 404 : fermé par défaut
kubectl port-forward svc/orders-flexway-admin 9090:9090 &
curl -s http://localhost:9090/readyz          # {"status":"ready","operations":3}

/readyz au vert veut dire : contrat chargé, routes, chaînes, expressions et schémas de validation compilés pour tous les modes - aucune compilation n'attend la première requête (1.6.0). Il ne dit pas qu'une connexion amont est ouverte (la première requête vers un amont l'ouvre : DNS, TCP, TLS) ni que les clés d'un émetteur OIDC sont déjà lues (découverte en arrière-plan).

Sans contrat, l'installation échoue dans le terminal, avec la commande à taper - jamais un pod qui ne démarre pas.

Le contrat et la configuration sont un ConfigMap monté en répertoire : un helm upgrade avec un contrat modifié est servi sans redémarrage (Changer la configuration sans redémarrer). Les secrets sont des Secret que le chart ne crée pas. Le port d'administration a son propre Service, ClusterIP : ne jamais l'exposer. Rien de Kubernetes-spécifique n'est requis par le coeur : le même fichier tourne sur une VM.

5 s. Tant que l'image est privée, ajouter imagePullSecrets.*

Étapes suivantes