Configurer et exploiter Flexway
ConceptExploitationDepuis la version 0.1.0
Sur cette page
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.
Chaque page dit ce qui en est construit et depuis quelle version. Les versions citées sont des jalons de la feuille de route, pas des tags de release : une release livre tous les jalons fusionnés avant elle, et le contenu d'un tag se lit dans les releases.
1. Prérequis
- Un contrat OpenAPI 3.1 valide. C'est la seule entrée obligatoire.
- Un moteur de conteneurs, ou le binaire seul - avec
cosignpour vérifier ce que vous téléchargez.- Pour l'identité : l'URL de découverte de votre fournisseur OIDC.
- Pour des débits partagés entre répliques et des quotas de tenant : un Redis, Dragonfly ou Valkey. Facultatif - sans lui, les compteurs sont locaux à chaque réplique et aucun quota de tenant ne se déclare.
Rien d'autre. Pas de base de données, pas de plan de contrôle, pas d'inscription préalable.
Le binaire (VM, bare métal) : chaque release porte flexway_<version>_linux_<arch>.tar.gz
(amd64, arm64) - les octets mêmes de son image, copiés depuis elle - et SHA256SUMS, signé.
v=$(gh release view -R flexwiz/flexway --json tagName -q .tagName | sed 's/^v//'); arch=amd64 # la dernière
gh release download "v$v" -R flexwiz/flexway -p "flexway_${v}_linux_${arch}.tar.gz" -p 'SHA256SUMS*'
cosign verify-blob --bundle SHA256SUMS.sigstore.json \
--certificate-identity-regexp '^https://github.com/flexwiz/flexway/.github/workflows/release.yml@' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
tar -xzf "flexway_${v}_linux_${arch}.tar.gz" && sudo install "flexway_${v}_linux_${arch}/flexway" /usr/local/bin/Une fois un flexway.yaml écrit (Servir sa première API), le binaire est le service - sous systemd ou tout
superviseur, configuré par son seul environnement :
| Variable | Défaut | Rôle |
|---|---|---|
FLEXWAY_CONFIG |
- (obligatoire) | Le flexway.yaml à servir ; sans lui, le processus refuse de démarrer |
FLEXWAY_ADDR |
:8080 |
Écouteur de trafic |
FLEXWAY_ADMIN_ADDR |
:9090 |
Écouteur d'administration : /healthz, /readyz, /metrics, /config - jamais routable de l'extérieur |
FLEXWAY_TLS_ADDR |
:8443 |
L'écouteur TLS propre à la passerelle, quand server.tls est posé |
FLEXWAY_CONFIG=/etc/flexway/flexway.yaml flexway # SIGTERM draine, SIGHUP recharge2. La séquence
%%{init: {'theme':'base','themeVariables':{'fontSize':'13px','lineColor':'#94a3b8'}}}%%
sequenceDiagram
participant U as Vous
participant C as flexway (CLI)
participant G as flexway (service)
participant A as Amont
U->>C: flexway validate
Note over C: hors ligne - contrat + configuration
C-->>U: chaque opération a un amont, ou échec
U->>G: démarrage
Note over G: mêmes contrôles, refus de démarrer si partiel
U->>G: appel d'une opération déclarée
G->>A: relais
A-->>G: réponse
G-->>U: réponse + trace + métriques
Cette séquence tourne depuis
0.2.0:flexway validatehors ligne, refus de démarrer sur une configuration partielle, relais sans tampon, trace et métriques, et depuis0.3.0l'identité. La ligne d'audit du plan API est le journal chaîné des décisions, livré en1.0.0(audit.decisions) ; sans lui, les refus sont journalisés avec un sujet haché.