Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Les backends

Un backend est un stockage nomme, decrit une fois dans [[backends]] ; les montages le citent par son nom.

[[backends]]
name = "disque"        # le nom que citent les montages
type = "local"         # local, sftp, s3 ou webhdfs
root = "/srv/sftp"     # les cles propres au type

[[roles]]
name = "utilisateurs"

[[roles.mounts]]
backend = "disque"
home_dir = "/{username}"
acl = [{ path = "/", rights = ["read", "write", "list"], recursive = true }]

Les [[backends]] s’ecrivent dans config.toml ou dans roles_file, ou ils se rechargent a chaud avec les roles.

Les types

Typetype =Le stockageCe que home_dir y designeEcritures
Local"local"un repertoire du serveurun sous-repertoire de rootoui
Proxy SFTP"sftp"un serveur SFTP amont, sous un compte de serviceun repertoire de l’amontoui
S3 et compatibles"s3"un bucket AWS S3, MinIO, Garage, Scaleway…un prefixe de cle, apres prefixoui
WebHDFS (Knox)"webhdfs"HDFS a travers Apache Knoxun repertoire HDFSlecture seule

Les binaires et images publies portent les quatre types (Les features du binaire).

Les cles de tout backend

Toutes les cles : Reference [[backends]].

Une sous-table ([backends.auth], [backends.credentials]) se rattache au [[backends]] qui la precede : ecrivez-la juste apres lui. GET /admin/config et l’onglet Configuration montrent chaque backend, secrets remplaces par ***.

Cles communes a tous les types

Ce qu’elles font sur chaque type est dans la page du type ; leur defaut et leur effet, dans la meme Reference.

hidden_stores se resout montage, puis backend, puis [server.hidden_stores] ; stale_partials backend, puis [uploads.stale_partials] ; cle par cle (Uploads).

Reservation entre instances

Le premier envoi vers une destination la garde jusqu’a sa fin (pourquoi). Entre instances, c’est un verrou <lock_prefix><nom> pose a cote de la destination. lock_prefix :

  • fait de 8 caracteres a 64 octets, sans / ni caractere de controle ;
  • nomme aussi les noms jetables du serveur (PPnew.<jeton>, PPprobe., PPstale. pour un prefixe P) ;
  • reserve au serveur tout nom qui commence par lui, sans egard a la casse, comme .craftfilegate-upload... : choisissez-en un qu’aucun fichier des utilisateurs ne porte.

Disponibilite

Chaque instance visite chaque backend en arriere-plan ([server.backend_probe]) : up, down apres failures_before_down visites en echec, unknown avant la premiere ; un WARN a chaque changement (Depannage), l’etat dans GET /admin/health, la vue Instances et craftfilegate_backend_up (Metriques). Sur S3, une visite est un ListObjectsV2 facture, toutes les 15 s par instance par defaut.