Reference : [server] et [cluster]
⟳ : rechargee a chaud ; sans marque : prise au redemarrage. Voir Rechargement.
Ce que toutes les portes partagent, et le canal entre instances. [server] peut manquer : chaque cle a son defaut.
[server]
Voir Arret, Kubernetes.
| Cle | Type | Defaut | Effet |
|---|---|---|---|
server | table | - | les reglages communs a toutes les portes |
server.shutdown_grace_period_secs | entier | 30 | secondes laissees au travail en cours de chaque porte a l’arret, une echeance pour toutes ; au moins 1 |
server.max_sessions_per_user | entier | illimite | sessions simultanees par utilisateur, sur une porte a sessions (SFTP) ; avec [cluster], celles de chaque instance joignable s’ajoutent |
server.probes_listen | adresse | absent : sondes sur [admin] | CRAFT_FILE_GATE_PROBES_LISTEN la remplace ; un port a part pour /livez, /readyz, /health et /metrics, servis la seulement, en HTTP, sans authentification ; sans [admin], le seul ecouteur HTTP |
[server.hidden_stores]
Voir Uploads et ecritures atomiques.
| Cle | Type | Defaut | Effet |
|---|---|---|---|
server.hidden_stores | table | - | ecritures atomiques, pour tout backend et tout montage qui ne dit rien |
server.hidden_stores.enabled | booleen | false | ecrire dans un fichier en cours de transfert, publie par renommage a la fin |
server.hidden_stores.prefix | chaine | .in. | le debut du nom de ce fichier |
server.hidden_stores.extension | chaine | . | la fin du nom de ce fichier |
[server.backend_probe]
Voir Les backends.
| Cle | Type | Defaut | Effet |
|---|---|---|---|
server.backend_probe | table | - | la sonde de disponibilite de chaque backend, en arriere-plan, jamais sur le chemin d’une operation |
server.backend_probe.enabled | booleen | true | false : aucune sonde, chaque backend reste unknown |
server.backend_probe.interval_secs | entier | 15 | secondes entre deux visites d’un backend, de 5 a 3600 |
server.backend_probe.timeout_secs | entier | 5 | duree maximale d’une visite, de 1 a 60, sous interval_secs (sinon refus du demarrage) |
server.backend_probe.failures_before_down | entier | 2 | visites en echec d’affilee avant down, de 1 a 10 ; une visite reussie suffit a revenir up. Detection au pire : interval_secs × failures_before_down + timeout_secs, 35 s par defaut |
[cluster]
Voir Plusieurs instances.
| Cle | Type | Defaut | Effet |
|---|---|---|---|
cluster | table | absente : chaque instance est seule | le canal entre les instances d’un deploiement ; CRAFT_FILE_GATE_CLUSTER_LISTEN la cree |
cluster.listen | adresse | - | le port du canal, a lui seul, en TLS 1.3 mutuel ; CRAFT_FILE_GATE_CLUSTER_LISTEN la remplace |
cluster.peers | chaine ou liste | - | dns:<nom>:<port> : chaque adresse du nom, relu toutes les 5 s (un Service headless rend chaque pod pret, Docker Compose chaque replique du service) ; ou des <hote>:<port>. Chacune est appelee chaque seconde ; celle qui repond l’identifiant de l’instance (<pod_name>/<boot_id>) est elle-meme ; CRAFT_FILE_GATE_CLUSTER_PEERS la remplace |
cluster.cert_file | chemin | - | le certificat partage ; quand lui et key_file manquent, generes (ECDSA P-256, 10 ans) par la premiere instance, lus par les autres sur un volume partage |
cluster.key_file | chemin | - | sa cle, creee en 0600 |
cluster.secret_name | chaine | - | ou le Secret Kubernetes partage, entrees tls.crt et tls.key (feature k8s) ; CRAFT_FILE_GATE_CLUSTER_SECRET_NAME la remplace |
cluster.peer_timeout_ms | entier | 2000 | delai d’un appel a un pair, de 100 a 10000 |
cluster.min_peers | entier | 1 | sous ce nombre de pairs joignables pendant isolated_after_secs, l’instance est isolee ; 0 : jamais ; de 0 a 1000 ; CRAFT_FILE_GATE_CLUSTER_MIN_PEERS la remplace |
cluster.unready_when | liste | [] : alerter seulement | les detecteurs qui retirent l’instance du service (/readyz non pret), en OU : storage_alone, isolated, isolated_and_storage_down ; CRAFT_FILE_GATE_CLUSTER_UNREADY_WHEN (separes par des virgules) la remplace |
cluster.isolated_after_secs | entier | 30 | duree sous min_peers avant d’etre isolee ; retour immediat ; de 5 a 3600 |
cluster.unready_after_secs | entier | 60 | duree d’un detecteur choisi avant le retrait, de 10 a 3600, au moins 2 × server.backend_probe.interval_secs |
cluster.ready_after_secs | entier | 30 | duree sans detecteur choisi avant le retour, de 5 a 3600, au moins server.backend_probe.interval_secs |