Métadonnées d’enrichissement pour les schémas liés à origin_pool. Voir Extensions OpenAPI pour les définitions des extensions.
Tous les schémas correspondant à origin_pool.*SpecType reçoivent des enrichissements :
origin_poolCreateSpecType
origin_poolReplaceSpecType
origin_poolGetSpecType
| Champ | Obligatoire pour | Notes |
|---|
metadata.name | Toutes les opérations | 1-63 caractères, alphanumérique minuscule, modèle : ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ |
metadata.namespace | Toutes les opérations | Identifiant de l’espace de noms |
spec.origin_servers | Création | Minimum 1 élément |
spec.port | Création | 1-65535, pas de valeur par défaut du serveur |
"name": "my-origin-pool",
"dns_name": "backend.example.com"
Les champs marqués avec x-f5xc-server-default: true ont leur valeur default appliquée par le serveur d’API F5 XC lorsqu’ils sont omis des requêtes.
| Champ | Valeur par défaut | Type | Description |
|---|
no_tls | {} | objet | TLS vers l’origine désactivé |
healthcheck | [] | tableau | Aucun contrôle de santé configuré |
loadbalancer_algorithm | ROUND_ROBIN | enum | Équilibrage de charge en tourniquet |
endpoint_selection | DISTRIBUTED | enum | Utilise tous les points de terminaison (locaux + distants) |
Lorsque advanced_options n’est pas spécifié, le serveur se comporte comme si ces valeurs étaient définies :
| Champ | Valeur par défaut | Type | Description |
|---|
connection_timeout | 2000 | entier | Délai de connexion en millisecondes |
http_idle_timeout | 300000 | entier | Délai d’inactivité HTTP en millisecondes (5 min) |
same_as_endpoint_port | {} | objet | Le contrôle de santé utilise le port du point de terminaison |
default_circuit_breaker | {} | objet | Paramètres du disjoncteur par défaut |
disable_outlier_detection | {} | objet | Détection des valeurs aberrantes désactivée |
no_panic_threshold | {} | objet | Aucun seuil de panique |
disable_subsets | {} | objet | Équilibrage de charge par sous-ensemble désactivé |
auto_http_config | {} | objet | Négociation automatique du protocole HTTP |
disable_proxy_protocol | {} | objet | Protocole proxy désactivé |
disable_lb_source_ip_persistance | {} | objet | Persistance de l’IP source de l’équilibreur de charge désactivée |
| Chemin | Valeur par défaut | Description |
|---|
origin_servers[].labels | {} | Objet d’étiquettes vide |
origin_servers[].public_name.refresh_interval | 0 | Utilise l’actualisation DNS par défaut du système |
L’interface web F5 XC présélectionne des valeurs différentes de celles appliquées par l’API lorsque des champs sont omis.
| Champ | Présélectionné par l’interface | Appliqué par le serveur | Note |
|---|
loadbalancer_algorithm | LB_OVERRIDE | ROUND_ROBIN | Les ressources créées via l’interface et via l’API diffèrent lorsque le champ est omis |
| Valeur | Description | Notes |
|---|
ROUND_ROBIN | Chaque point de terminaison sain est sélectionné en tourniquet | Valeur par défaut du serveur |
LEAST_REQUEST | Le point de terminaison avec le moins de requêtes actives est sélectionné | |
RING_HASH | Hachage cohérent utilisant le hachage en anneau des noms de points de terminaison | |
RANDOM | Sélection aléatoire d’un point de terminaison sain | |
LB_OVERRIDE | Politique de hachage héritée de l’équilibreur de charge parent | Valeur par défaut de l’interface |
| Valeur | Description | Notes |
|---|
DISTRIBUTED | Prend en compte les points de terminaison distants et locaux | Valeur par défaut du serveur |
LOCAL_ONLY | Seuls les points de terminaison locaux sont utilisés | |
LOCAL_PREFERRED | Préférence locale, bascule vers le distant si indisponible | |
Groupes de champs mutuellement exclusifs. Un SEUL champ de chaque groupe peut être spécifié :
| Groupe | Champs | Valeur par défaut du serveur |
|---|
| Configuration du port | port, automatic_port, lb_port | port (explicite) |
| TLS vers l’origine | no_tls, use_tls | no_tls |
| Port de contrôle de santé | same_as_endpoint_port, health_check_port | same_as_endpoint_port |
| Disjoncteur | default_circuit_breaker, disable_circuit_breaker, circuit_breaker | default_circuit_breaker |
| Détection des valeurs aberrantes | disable_outlier_detection, outlier_detection | disable_outlier_detection |
| Seuil de panique | no_panic_threshold, panic_threshold | no_panic_threshold |
| Équilibrage par sous-ensemble | disable_subsets, enable_subsets | disable_subsets |
| Protocole HTTP | auto_http_config, http1_config, http2_options | auto_http_config |
| Protocole proxy | disable_proxy_protocol, proxy_protocol_v1, proxy_protocol_v2 | disable_proxy_protocol |
| IP source de l’équilibreur | disable_lb_source_ip_persistance, enable_lb_source_ip_persistance | disable_lb_source_ip_persistance |
| Pool de connexions | enable_conn_pool_reuse, disable_conn_pool_reuse | enable_conn_pool_reuse |
| Champ | Type | Contrainte |
|---|
spec.port | entier | 1-65535 |
spec.advanced_options.connection_timeout | entier | 0-1 800 000 ms |
spec.advanced_options.http_idle_timeout | entier | 0-600 000 ms |
spec.advanced_options.panic_threshold | entier | 0-100 (pourcentage) |
metadata.name | chaîne | 1-63 caractères, modèle : ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ |
La console web F5 XC présente 15 options de configuration pour les pools d’origines :
| # | Libellé de l’interface | Chemin du champ API | Type | Valeur par défaut du serveur |
|---|
| 1 | Port du serveur d’origine | spec.[port|automatic_port|lb_port] | OneOf | port (explicite) |
| 2 | Réutilisation du pool de connexions | spec.[enable_conn_pool_reuse|disable_conn_pool_reuse] | OneOf | enable_conn_pool_reuse |
| 3 | Port de contrôle de santé | spec.advanced_options.[same_as_endpoint_port|health_check_port] | OneOf | same_as_endpoint_port |
| 4 | Algorithme de l’équilibreur de charge | spec.loadbalancer_algorithm | enum | ROUND_ROBIN |
| 5 | Sélection des points de terminaison | spec.endpoint_selection | enum | DISTRIBUTED |
| 6 | TLS vers l’origine | spec.[no_tls|use_tls] | OneOf | no_tls |
| 7 | Délai de connexion | spec.advanced_options.connection_timeout | entier | 2000 ms |
| 8 | Délai d’inactivité HTTP | spec.advanced_options.http_idle_timeout | entier | 300000 ms |
| 9 | Disjoncteur | spec.advanced_options.[default_circuit_breaker|disable_circuit_breaker|circuit_breaker] | OneOf | default_circuit_breaker |
| 10 | Détection des valeurs aberrantes | spec.advanced_options.[disable_outlier_detection|outlier_detection] | OneOf | disable_outlier_detection |
| 11 | Seuil de panique | spec.advanced_options.[no_panic_threshold|panic_threshold] | OneOf | no_panic_threshold |
| 12 | Équilibrage de charge par sous-ensemble | spec.advanced_options.[disable_subsets|enable_subsets] | OneOf | disable_subsets |
| 13 | Protocole HTTP | spec.advanced_options.[auto_http_config|http1_config|http2_options] | OneOf | auto_http_config |
| 14 | Protocole proxy | spec.advanced_options.[disable_proxy_protocol|proxy_protocol_v1|proxy_protocol_v2] | OneOf | disable_proxy_protocol |
| 15 | Persistance de l’IP source de l’équilibreur | spec.advanced_options.[disable_lb_source_ip_persistance|enable_lb_source_ip_persistance] | OneOf | disable_lb_source_ip_persistance |
| Fichier | Contenu |
|---|
docs/specifications/api/virtual.json | origin_poolCreateSpecType, origin_poolReplaceSpecType, origin_poolGetSpecType |
docs/specifications/api/openapi.json | Spécification fusionnée avec tous les schémas |
defaults.resources.origin_pool
├── server_applied # Champs avec x-f5xc-server-default: true
├── recommended # Champs avec x-f5xc-recommended-value
├── advanced_options # Valeurs par défaut des advanced_options imbriquées
├── oneof_choices # Sélections par défaut des OneOf
└── ui_vs_server # Divergences interface web / serveur
Les serveurs d’origine peuvent être spécifiés à l’aide de différentes variantes de type. Le type détermine les champs supplémentaires requis.
| Type | Description | Champs obligatoires | Statut |
|---|
public_name | Serveur d’origine avec nom DNS public | dns_name | ✅ Complet |
public_ip | Serveur d’origine avec adresse IP publique | ip (IPv4) | ✅ Complet |
"dns_name": "backend.example.com"
Les types de serveurs d’origine suivants nécessitent le développement d’une logique de ressource « site » avant leur implémentation :
| Type | Description | Champs obligatoires | Statut |
|---|
private_ip | Serveur d’origine avec IP privée/publique et informations de site | ip, site_locator, network_choice, snat_pool | 🔲 En attente de la logique de site |
private_name | Serveur d’origine avec nom DNS et informations de site | dns_name, site_locator, network_choice, snat_pool | 🔲 En attente de la logique de site |
k8s_service | Service Kubernetes avec informations de site | service_name, site_locator, network_choice | 🔲 En attente de la logique de site |
consul_service | Service HashiCorp Consul avec informations de site | service_name, site_locator, network_choice | 🔲 En attente de la logique de site |
Avant que ces types puissent être entièrement documentés :
- Découverte des ressources de site - Documenter le schéma de ressource
site et les modèles site_locator
- Énumération du choix réseau - Documenter les valeurs contraintes de
network_choice (site_local_inside, site_local_outside, etc.)
- Options du pool SNAT - Documenter les modèles de configuration du pool SNAT
- Références inter-ressources - Définir comment origin_pool référence les ressources de site
- Espace réservé de configuration :
config/discovered_defaults.yaml → origin_pool.origin_server_types.enums
- Sprint associé : Enrichissements du schéma de ressource de site
| Version | Date | Modifications |
|---|
| 2.1.2 | 2026-01-18 | Ajout de la section sur les types de serveurs d’origine avec public_name/public_ip ; marqueurs À FAIRE pour les types dépendant d’un site |
| 2.1.1 | 2026-01-18 | Réécrit comme référence API pure ; suppression des exemples de code en aval |
| 2.1.0 | 2026-01-18 | Mise à jour vers la structure de valeurs par défaut unifiée dans validation.json |
| 2.0.33 | 2026-01-17 | Documentation initiale des améliorations du pool d’origines |