Passer en Kubernetes
GuideExploitationDepuis la version 0.1.0
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:8080Parcours 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.yamlVé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}
/readyzau 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
ConfigMapmonté en répertoire : unhelm upgradeavec un contrat modifié est servi sans redémarrage (Changer la configuration sans redémarrer). Les secrets sont desSecretque le chart ne crée pas. Le port d'administration a son propreService,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.*