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.
| Section | Ce qu’elle regle | Page |
|---|---|---|
[server] | ce que toutes les portes partagent : arret, sessions par utilisateur, ecritures atomiques, port des sondes | Arret, Uploads, Console et API |
[sftp] | la porte SSH, ses algorithmes, ses bans | Porte SFTP, Bans |
[auth] | qui entre, et sous quel nom | Authentification |
[[users]], [[roles]] | les comptes locaux, les roles et leurs montages | Utilisateurs, roles et montages |
[[backends]] | les stockages | Les backends |
[uploads], [tcp_keepalive] | les delais | Delais, Uploads |
[log], [telemetry] | journaux, piste d’audit, traces | Journaux, Telemetrie |
[admin], [api] | la console, l’API d’administration, l’API de fichiers, leurs bans | Console et API, Bans |
[reload] | le rechargement a chaud | Rechargement |
[security] | le jugement des fichiers de confiance | Fichiers 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 ecrire | Effet |
|---|---|
[[users]], [[roles]], [[backends]] a la racine de config.toml | lus au demarrage |
les memes sous [auth] ([[auth.users]], …) | idem ; la racine l’emporte si les deux existent |
auth.users_file, auth.roles_file | relus a chaque modification du fichier |
| rien de tout cela | users.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.
| Commande | Effet |
|---|---|
craft-file-gate hash-password | lit 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 schema | verifier une configuration sans demarrer, ecrire son schema JSON : Verifier une configuration |
craft-file-gate healthcheck | interroge /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
| Quand | Ligne |
|---|---|
| un fichier declare est lu | INFO auth source loaded, champs kind (roles, users) et path |
| un fichier non declare est trouve a cote | INFO found next to the config and used; declare it explicitly to pin it |
| une variable remplace une cle | INFO config override from env, champs env et value ; (value hidden) pour un secret |