Variables d’environnement

Référence des variables d’environnement qui configurent le serveur RustFS, la Console, TLS, le KMS, l’observabilité, le scanner, la réparation des données, les classes de stockage, les identifiants et les cibles d’événements.

Cette page répertorie les variables d’environnement reconnues par le binaire serveur rustfs. Elle couvre le sous-ensemble pertinent pour l’exploitation, vérifié par rapport au code source de RustFS ; certains réglages internes sont omis volontairement. Chaque variable peut aussi être fournie par l’indicateur de ligne de commande correspondant, lorsqu’il existe (voir la référence CLI).

Valeurs booléennes

Les variables booléennes acceptent true/false. Les valeurs indiquées comme « non définie » n’ont pas de valeur par défaut, et la fonctionnalité correspondante reste désactivée ou revient au comportement intégré.

Serveur principal

VariableValeur par défautDescription
RUSTFS_VOLUMESnon définie (obligatoire)Volumes ou points de terminaison de stockage, séparés par des espaces. Prend en charge l’expansion d’ellipses {N...M}, par exemple /data/rustfs{0...3} ou http://node{1...4}:9000/data/rustfs{0...3}. L’image Docker utilise /data par défaut.
RUSTFS_ADDRESS:9000Adresse et port d’écoute de l’API S3 (porte aussi le RPC interne entre nœuds).
RUSTFS_SERVER_DOMAINSnon définieNoms de domaine séparés par des virgules pour les requêtes S3 en adressage de type hôte virtuel, par exemple s3.example.com, afin que bucket.s3.example.com corresponde au compartiment (bucket) bucket. Lorsqu’elle n’est pas définie, seul l’adressage de type chemin (path-style) fonctionne.
RUSTFS_REGIONnon définieRégion signalée aux clients S3. Lorsqu’elle n’est pas définie, le serveur revient à us-east-1.
RUSTFS_LICENSEnon définieChaîne de licence.
RUSTFS_BUFFER_PROFILEGeneralPurposeProfil de charge pour le dimensionnement adaptatif des tampons. Options : GeneralPurpose, AiTraining, DataAnalytics, WebWorkload, IndustrialIoT, SecureStorage.
RUSTFS_BUFFER_PROFILE_DISABLEfalseDésactive le dimensionnement adaptatif des tampons et utilise les tampons de taille fixe historiques.
RUSTFS_HEALTH_ENDPOINT_ENABLEtrueEnregistre les points de terminaison de sonde non authentifiés /health et /health/ready.
RUSTFS_HEALTH_READINESS_CACHE_TTL_MS1000Durée de vie du cache des résultats de la sonde d’état de préparation, en millisecondes.
RUSTFS_HEALTH_CLUSTER_TIMEOUT_MS2000Délai d’expiration des sondes d’intégrité du cluster (/minio/health/cluster), en millisecondes.
RUSTFS_STARTUP_READINESS_MAX_WAIT_SECS120Durée maximale pendant laquelle la sonde d’état de préparation indique « starting » avant que le démarrage soit considéré comme échoué.
RUSTFS_CHECK_UPDATEtrueVérifie l’existence d’une version plus récente de RustFS au démarrage en envoyant une requête HTTPS vers version.rustfs.com ; l’agent utilisateur porte la version actuelle. Le résultat est seulement journalisé, et RustFS ne se met jamais à jour lui-même. Définissez false pour ignorer la requête sortante, par exemple dans les déploiements isolés (air-gapped) ; les valeurs non reconnues reviennent à true.

Console

VariableValeur par défautDescription
RUSTFS_CONSOLE_ENABLEtrueActive la console web intégrée (servie sur un écouteur distinct).
RUSTFS_CONSOLE_ADDRESS:9001Adresse et port d’écoute de la Console.

CORS

VariableValeur par défautDescription
RUSTFS_CORS_ALLOWED_ORIGINSvideOrigines séparées par des virgules, autorisées à accéder à l’API S3 depuis un navigateur. Définissez * pour des origines génériques sans identifiants.
RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS*Origines séparées par des virgules, autorisées à accéder à la Console depuis un navigateur, ou * pour toutes les origines.

Consultez la configuration CORS pour les étapes de configuration et de vérification.

TLS et KMS

VariableValeur par défautDescription
RUSTFS_TLS_PATHnon définieRépertoire contenant le certificat et la clé TLS (rustfs_cert.pem / rustfs_key.pem) pour l’API S3 et la Console. TLS est activé lorsque la variable est définie.
RUSTFS_TLS_RELOAD_ENABLEfalseSurveille le répertoire TLS et recharge les certificats à chaud.
RUSTFS_TLS_KEYLOGfalseÉcrit les clés de session TLS dans un fichier keylog pour le débogage. Ne l’activez pas en production.
RUSTFS_TRUST_SYSTEM_CAfalseFait aussi confiance au magasin d’autorités de certification du système d’exploitation pour les connexions TLS sortantes.
RUSTFS_TRUST_LEAF_CERT_AS_CAfalseFait confiance à un certificat feuille comme s’il s’agissait d’une autorité de certification (configurations auto-signées).
RUSTFS_SERVER_MTLS_ENABLEfalseExige des certificats client (TLS mutuel) sur les écouteurs du serveur.
RUSTFS_MTLS_CLIENT_CERTnon définieCertificat client présenté pour les connexions mTLS entre nœuds.
RUSTFS_MTLS_CLIENT_KEYnon définieClé privée client pour les connexions mTLS entre nœuds.
RUSTFS_KMS_ENABLEfalseActive le chiffrement côté serveur reposant sur le KMS.
RUSTFS_KMS_BACKENDlocalBackend KMS : local, vault / vault-kv2 (stockage Vault KV2 avec enveloppement local des clés de données), ou vault-transit.
RUSTFS_KMS_KEY_DIRnon définieRépertoire de clés du backend local.
RUSTFS_KMS_LOCAL_MASTER_KEYnon définieClé principale qui protège les fichiers de clés du KMS local.
RUSTFS_KMS_VAULT_ADDRESSnon définieAdresse du serveur Vault pour les backends Vault.
RUSTFS_KMS_VAULT_TOKENnon définieJeton Vault pour les backends Vault.
RUSTFS_KMS_VAULT_MOUNT_PATHtransitPoint de montage Transit pour vault-transit ; obsolète et inutilisé pour vault / vault-kv2.
RUSTFS_KMS_VAULT_KV_MOUNTsecretPoint de montage KV v2 pour le backend vault / vault-kv2.
RUSTFS_KMS_VAULT_KEY_PREFIXrustfs/kms/keysPréfixe des enregistrements de clés dans le point de montage KV v2 pour vault / vault-kv2.
RUSTFS_KMS_DEFAULT_KEY_IDnon définieID de clé KMS par défaut utilisé pour le chiffrement.
RUSTFS_KMS_ALLOW_INSECURE_DEV_DEFAULTSfalseAutorise les valeurs par défaut KMS non sécurisées, réservées au développement. Ne l’activez jamais en production.

Observabilité

Le pipeline d’observabilité exporte les traces, les métriques et les journaux via OTLP/HTTP.

VariableValeur par défautDescription
RUSTFS_OBS_ENDPOINTvideURL de base OTLP/HTTP racine pour les traces, les métriques et les journaux, par exemple http://otel-collector:4318. Lorsqu’elle est vide, les journaux vont vers stdout ou des fichiers locaux.
RUSTFS_OBS_TRACE_ENDPOINTnon définieRemplacement par signal pour le point de terminaison des traces.
RUSTFS_OBS_METRIC_ENDPOINTnon définieRemplacement par signal pour le point de terminaison des métriques.
RUSTFS_OBS_LOG_ENDPOINTnon définieRemplacement par signal pour le point de terminaison des journaux.
RUSTFS_OBS_TRACES_EXPORT_ENABLEDtrueExporte les traces vers le point de terminaison OTLP.
RUSTFS_OBS_METRICS_EXPORT_ENABLEDtrueExporte les métriques vers le point de terminaison OTLP.
RUSTFS_OBS_LOGS_EXPORT_ENABLEDtrueExporte les journaux vers le point de terminaison OTLP.
RUSTFS_OBS_USE_STDOUTnon définieForce la sortie de télémétrie vers stdout.
RUSTFS_OBS_SAMPLE_RATIOnon définieTaux d’échantillonnage des traces (0.0–1.0).
RUSTFS_OBS_METER_INTERVALnon définieIntervalle d’export des métriques, en secondes.
RUSTFS_OBS_SERVICE_NAMEnon définieNom du service indiqué dans les attributs de ressource de télémétrie.
RUSTFS_OBS_ENVIRONMENTnon définieLibellé d’environnement de déploiement (production, development, test, staging).
RUSTFS_OBS_LOGGER_LEVELnon définieFiltre de niveau de journal (par exemple info, debug).
RUSTFS_OBS_LOG_STDOUT_ENABLEDnon définieRecopie aussi les journaux vers stdout lorsque la journalisation fichier ou OTLP est active.
RUSTFS_OBS_LOG_DIRECTORYnon définieRépertoire de journaux local. Lorsqu’elle n’est pas définie, les journaux vont vers stdout ; une valeur d’URL envoie les journaux vers un point de terminaison distant.
RUSTFS_OBS_LOG_FILENAMErustfs.logNom du fichier journal dans le répertoire de journaux.
RUSTFS_OBS_LOG_ROTATION_TIMEhourlyRotation des journaux selon le temps : daily, hourly, minutely.
RUSTFS_OBS_LOG_KEEP_FILES30Nombre de fichiers journaux rotés à conserver.
RUSTFS_OBS_LOG_MAX_TOTAL_SIZE_BYTES2147483648Budget de taille totale (2 GiB) du répertoire de journaux avant nettoyage.
RUSTFS_OBS_LOG_COMPRESS_OLD_FILEStrueCompresse les fichiers journaux rotés (zstd par défaut, réglable via RUSTFS_OBS_LOG_COMPRESSION_ALGORITHM).

Les intervalles de collecte des métriques suivent le modèle RUSTFS_METRICS_<SCOPE>_INTERVAL_SEC, avec les portées DEFAULT, SYSTEM, CLUSTER, BUCKET, NODE, RESOURCE, AUDIT, NOTIFICATION et BUCKET_REPLICATION_BANDWIDTH — par exemple RUSTFS_METRICS_CLUSTER_INTERVAL_SEC=60.

Scanner et réparation des données

VariableValeur par défautDescription
RUSTFS_SCANNER_SPEEDdefaultPréréglage de vitesse du scanner : fastest, fast, default, slow, slowest. Contrôle le facteur de pause, la pause maximale et l’intervalle de cycle.
RUSTFS_SCANNER_DELAYpréréglageRemplace le multiplicateur de pause du scanner (par exemple 30.0).
RUSTFS_SCANNER_MAX_WAIT_SECSpréréglageRemplace la pause maximale du scanner, en secondes.
RUSTFS_SCANNER_CYCLEpréréglageRemplace l’intervalle du cycle d’analyse, en secondes (par exemple 3600).
RUSTFS_SCANNER_START_DELAY_SECSnon définieDélai de démarrage, en secondes, avant le premier cycle d’analyse.
RUSTFS_SCANNER_CYCLE_MAX_DURATION_SECS1800Plafonne la durée d’un cycle, en secondes ; 0 désactive le budget.
RUSTFS_SCANNER_CYCLE_MAX_OBJECTS0Plafonne le nombre d’objets traités par cycle ; 0 désactive le budget.
RUSTFS_SCANNER_CYCLE_MAX_DIRECTORIES0Plafonne le nombre de répertoires parcourus par cycle ; 0 désactive le budget.
RUSTFS_SCANNER_BITROT_CYCLE_SECS2592000Cycle d’analyse approfondie (bitrot) périodique, en secondes (30 jours). 0/true/on rend chaque cycle approfondi ; false/off désactive les analyses approfondies.
RUSTFS_SCANNER_IDLE_MODEtrueLorsque la valeur est true, le scanner se limite lui-même ; false le fait tourner à pleine vitesse.
RUSTFS_SCANNER_CACHE_SAVE_TIMEOUT_SECS14Délai d’expiration de l’enregistrement du cache du scanner, en secondes (minimum 1).
RUSTFS_SCANNER_MAX_CONCURRENT_SET_SCANS4Plafonne les tâches d’analyse simultanées d’ensembles de codage d’effacement ; 0 conserve la concurrence fondée sur la topologie.
RUSTFS_SCANNER_MAX_CONCURRENT_DISK_SCANS4Plafonne les parcours simultanés de compartiments sur disque par ensemble ; 0 conserve la concurrence fondée sur le nombre de disques.
RUSTFS_SCANNER_YIELD_EVERY_N_OBJECTS128Fréquence à laquelle les boucles d’objets du scanner rendent la main à l’environnement d’exécution asynchrone ; 0 désactive cette cession supplémentaire.
RUSTFS_SCANNER_ALERT_EXCESS_VERSIONS100Nombre de versions d’objet qui déclenche les alertes du scanner.
RUSTFS_SCANNER_ALERT_EXCESS_VERSION_SIZE1099511627776Nombre cumulé d’octets de versions (1 TiB) qui déclenche les alertes du scanner.
RUSTFS_SCANNER_ALERT_EXCESS_FOLDERS65538Nombre de sous-dossiers directs qui déclenche les alertes du scanner.
RUSTFS_HEAL_AUTO_HEAL_ENABLEtrueActive la réparation automatique en arrière-plan des objets dégradés.
RUSTFS_HEAL_QUEUE_SIZE10000Capacité de la file des candidats à la réparation.
RUSTFS_HEAL_INTERVAL_SECS10Intervalle entre les exécutions du planificateur de réparation, en secondes.
RUSTFS_HEAL_TASK_TIMEOUT_SECS300Délai d’expiration d’une tâche de réparation, en secondes.
RUSTFS_HEAL_MAX_CONCURRENT_HEALS4Nombre maximal de tâches de réparation simultanées.
RUSTFS_HEAL_MAX_CONCURRENT_PER_SET1Nombre maximal de tâches de réparation simultanées par ensemble de codage d’effacement.

Stockage et codage d’effacement

VariableValeur par défautDescription
RUSTFS_STORAGE_CLASS_STANDARDautomatiqueParité de la classe de stockage STANDARD au format EC:n, par exemple EC:4. Lorsqu’elle n’est pas définie, la parité est déduite de la taille de l’ensemble de codage d’effacement.
RUSTFS_STORAGE_CLASS_RRSEC:1Parité de la classe de stockage REDUCED_REDUNDANCY au format EC:n.
RUSTFS_STORAGE_CLASS_OPTIMIZEavailabilityObjectif d’optimisation pour le choix de la parité.
RUSTFS_STORAGE_CLASS_INLINE_BLOCK131072Seuil (128 KiB) en dessous duquel les données d’objet sont intégrées dans les métadonnées.
RUSTFS_ERASURE_SET_DRIVE_COUNT0Force le nombre de disques par ensemble de codage d’effacement ; 0 sélectionne la disposition automatiquement.
RUSTFS_DURABILITY_MODEnon définieMode de durabilité des écritures : strict, relaxed ou none. Lorsqu’une valeur valide est définie, elle a priorité sur le commutateur historique de synchronisation des disques.

Identifiants et paramètres internes

VariableValeur par défautDescription
RUSTFS_ACCESS_KEYrustfsadminClé d’accès racine. Mutuellement exclusive avec RUSTFS_ACCESS_KEY_FILE.
RUSTFS_SECRET_KEYrustfsadminClé secrète racine. Mutuellement exclusive avec RUSTFS_SECRET_KEY_FILE.
RUSTFS_ACCESS_KEY_FILEnon définieChemin d’un fichier contenant la clé d’accès (par exemple un montage de secret Docker ou Kubernetes).
RUSTFS_SECRET_KEY_FILEnon définieChemin d’un fichier contenant la clé secrète.
RUSTFS_RPC_SECRETdérivéSecret utilisé pour authentifier le RPC entre nœuds. Lorsqu’il n’est pas défini, il est dérivé de la paire de clés d’accès et secrète active ; avec une paire d’identifiants entièrement par défaut, les clusters multi-nœuds doivent le définir explicitement.

Les identifiants par défaut intégrés rustfsadmin/rustfsadmin servent uniquement à faciliter le premier démarrage. Définissez toujours des identifiants autres que ceux par défaut pour les déploiements de production.

Cibles d’événements et d’audit

Commutateurs de module :

VariableValeur par défautDescription
RUSTFS_NOTIFY_ENABLEfalseActive le module de notification d’événements de compartiment.
RUSTFS_AUDIT_ENABLEfalseActive le module de journalisation d’audit.

La configuration des cibles suit un modèle : RUSTFS_NOTIFY_<TARGET>_<KEY> pour les notifications d’événements et RUSTFS_AUDIT_<TARGET>_<KEY> pour les journaux d’audit. Cibles prises en charge dans les deux familles : WEBHOOK, KAFKA, MQTT, MYSQL, POSTGRES, NATS, REDIS, AMQP, PULSAR.

Sous-clés de la cible webhook (les mêmes clés existent sous RUSTFS_AUDIT_WEBHOOK_*) :

VariableValeur par défautDescription
RUSTFS_NOTIFY_WEBHOOK_ENABLEfalseActive la cible webhook.
RUSTFS_NOTIFY_WEBHOOK_ENDPOINTnon définieURL du point de terminaison HTTP(S) du webhook.
RUSTFS_NOTIFY_WEBHOOK_AUTH_TOKENnon définieJeton Bearer envoyé avec chaque livraison.
RUSTFS_NOTIFY_WEBHOOK_QUEUE_DIRnon définieRépertoire de la file de livraison persistante.
RUSTFS_NOTIFY_WEBHOOK_QUEUE_LIMITnon définieNombre maximal d’événements en file d’attente.
RUSTFS_NOTIFY_WEBHOOK_CLIENT_CERTnon définieCertificat client pour le mTLS vers le point de terminaison.
RUSTFS_NOTIFY_WEBHOOK_CLIENT_KEYnon définieClé privée client pour le mTLS vers le point de terminaison.
RUSTFS_NOTIFY_WEBHOOK_CLIENT_CAnon définieCertificat d’autorité de certification utilisé pour vérifier le point de terminaison.
RUSTFS_NOTIFY_WEBHOOK_SKIP_TLS_VERIFYnon définieIgnore la vérification TLS du point de terminaison (déconseillé).

Les autres cibles suivent la même forme avec des clés propres à chaque cible, par exemple RUSTFS_NOTIFY_KAFKA_BROKERS, RUSTFS_NOTIFY_KAFKA_TOPIC, RUSTFS_NOTIFY_MQTT_BROKER, RUSTFS_NOTIFY_MQTT_TOPIC, RUSTFS_NOTIFY_MYSQL_DSN_STRING, RUSTFS_NOTIFY_NATS_ADDRESS, RUSTFS_NOTIFY_REDIS_URL, RUSTFS_NOTIFY_AMQP_URL, RUSTFS_NOTIFY_PULSAR_BROKER.

Compatibilité historique

Correspondance des variables MINIO_*

Pour faciliter la migration, RustFS associe au démarrage une liste d’autorisation fixe de variables MINIO_* à leurs équivalents RUSTFS_* :

  • Si seule la variable préfixée par MINIO_ est définie, sa valeur est utilisée et un avertissement d’obsolescence est journalisé.
  • Si MINIO_* et RUSTFS_* sont toutes deux définies avec des valeurs différentes, la valeur RUSTFS_* l’emporte et un conflit est enregistré.

Les suffixes associés comprennent ACCESS_KEY, SECRET_KEY, ACCESS_KEY_FILE, SECRET_KEY_FILE, ROOT_USER, ROOT_PASSWORD, ADDRESS, CONSOLE_ADDRESS, VOLUMES, REGION, LICENSE, ERASURE_SET_DRIVE_COUNT, STORAGE_CLASS_STANDARD, STORAGE_CLASS_RRS, STORAGE_CLASS_OPTIMIZE, STORAGE_CLASS_INLINE_BLOCK, SCANNER_SPEED, SCANNER_CYCLE, COMPRESS_ENABLE, COMPRESS_EXTENSIONS, COMPRESS_MIME_TYPES, DRIVE_ACTIVE_MONITORING, ILM_EXPIRATION_WORKERS, API_XFF_HEADER, POLICY_PLUGIN_URL, POLICY_PLUGIN_AUTH_TOKEN, les clés IDENTITY_OPENID_*, ainsi que chaque variable qui commence par NOTIFY_WEBHOOK_, NOTIFY_MQTT_, AUDIT_WEBHOOK_ ou AUDIT_MQTT_. Par exemple, MINIO_ROOT_USER correspond à RUSTFS_ROOT_USER et MINIO_NOTIFY_WEBHOOK_ENDPOINT correspond à RUSTFS_NOTIFY_WEBHOOK_ENDPOINT.

Alias obsolètes

Variable obsolèteÀ utiliser à la place
RUSTFS_ROOT_USERRUSTFS_ACCESS_KEY
RUSTFS_ROOT_PASSWORDRUSTFS_SECRET_KEY
RUSTFS_DATA_SCANNER_START_DELAY_SECSRUSTFS_SCANNER_START_DELAY_SECS

Les alias obsolètes fonctionnent encore, mais journalisent un avertissement ; le nom canonique RUSTFS_* a toujours priorité lorsque les deux sont définis.

On this page