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

Le fichier de configuration

Un fichier, nomme au lancement

craft-file-gate --config /etc/craft-file-gate/config.toml

-c est la forme courte. Seule [auth] est obligatoire, avec au moins un role et une porte : [sftp], ou [api] avec [admin]. Toutes les cles : la reference.

SectionCe qu’elle reglePage
[server]ce que toutes les portes partagent : arret, sessions par utilisateur, ecritures atomiques, port des sondesArret, Uploads, Console et API
[sftp]la porte SSH, ses algorithmes, ses bansPorte SFTP, Bans
[auth]qui entre, et sous quel nomAuthentification
[[users]], [[roles]]les comptes locaux, les roles et leurs montagesUtilisateurs, roles et montages
[[backends]]les stockagesLes backends
[uploads], [tcp_keepalive]les delaisDelais, Uploads
[log], [telemetry]journaux, piste d’audit, tracesJournaux, Telemetrie
[admin], [api]la console, l’API d’administration, l’API de fichiers, leurs bansConsole et API, Bans
[reload]le rechargement a chaudRechargement
[security]le jugement des fichiers de confianceFichiers de confiance et TLS

Decouper : users_file et roles_file

Les utilisateurs, les roles et les backends peuvent vivre a part. Ces fichiers se rechargent a chaud ; config.toml presque pas.

[auth]
users_file = "users.toml"   # les [[users]]
roles_file = "roles.toml"   # les [[roles]] et les [[backends]]
Ou ecrireEffet
[[users]], [[roles]], [[backends]] a la racine de config.tomllus au demarrage
les memes sous [auth] ([[auth.users]], …)idem ; la racine l’emporte si les deux existent
auth.users_file, auth.roles_filerelus a chaque modification du fichier
rien de tout celausers.toml et roles.toml a cote de config.toml sont pris s’ils existent

users_file et des [[users]] en ligne ne se cumulent pas : quand users_file est donne, lui seul est lu.

Les chemins relatifs

Un chemin relatif des fichiers que le serveur lit (host_keys, users_file, roles_file, public_key_file, les persist_file, la paire et le repertoire de [admin.tls]) part du repertoire de config.toml, pas du repertoire de lancement : une configuration et ses fichiers voyagent ensemble, y compris dans un conteneur. Les autres chemins (root d’un backend local, log.dir, les fichiers d’un backend WebHDFS) partent du repertoire de lancement : ecrivez-les absolus.

L’environnement

Une variable CRAFT_FILE_GATE_* remplace la cle qu’elle surcharge, apres la lecture du fichier, au demarrage comme a chaque rechargement : la liste est dans Variables d’environnement. Pour un secret, preferez la forme _FILE : un fichier lu une fois, juge comme un fichier de confiance.

Les outils du binaire

hash-password et verify-password ne lisent ni la configuration ni les secrets ; healthcheck lit les ecouteurs de --config, rien d’autre.

CommandeEffet
craft-file-gate hash-passwordlit un mot de passe sur stdin, ecrit son hash argon2id ; --user <nom> ecrit un bloc [[users]] ; --profile choisit le cout (voir Authentification)
craft-file-gate verify-password '<hash>'lit un mot de passe sur stdin ; sortie 0 s’il produit ce hash, 1 sinon, 2 si le hash est illisible
craft-file-gate config check <fichier>, config schemaverifier une configuration sans demarrer, ecrire son schema JSON : Verifier une configuration
craft-file-gate healthcheckinterroge /livez la ou la configuration le sert : probes_listen (HTTP), sinon control_listen, sinon admin.listen (HTTPS sous [admin.tls]), lus dans --config (par defaut /config/config.toml) et l’environnement, une adresse 0.0.0.0 interrogee sur la boucle locale ; sans ce fichier, http://localhost:8080/livez ; --url pour une autre adresse ; sortie 0 sur 200 ; pour le HEALTHCHECK d’une image

Ce que vous verrez

QuandLigne
un fichier declare est luINFO auth source loaded, champs kind (roles, users) et path
un fichier non declare est trouve a coteINFO found next to the config and used; declare it explicitly to pin it
une variable remplace une cleINFO config override from env, champs env et value ; (value hidden) pour un secret