Aller au contenu principal
Page traduite

Cette page a été traduite de l'anglais avec l'aide de l'IA. En cas de divergence, la version anglaise fait référence.

Options globales

Les options globales déterminent le comportement de l'application StackQL à l'exécution ; elles sont définies sur la ligne de commande au lancement de l'application StackQL (en mode interactif/shell ou en mode exec non interactif) ou sont lues depuis le fichier d'initialisation de StackQL (.stackqlrc). Les options comprennent :

OptionType de donnéesDescriptionValeur par défaut
--access.configstringConfiguration de l'accès des appelants, une enveloppe JSON {"path": "/path/to/access.json"} (un simple chemin de fichier est également accepté). Active la gestion des accès : les appelants sont authentifiés par JWT, jeton bearer statique, TLS mutuel ou identité locale de l'OS, et les instructions sont autorisées au regard de règles de politique. Les identifiants locaux de type jeton sont lus depuis STACKQL_CALLER_TOKEN. Disponible à partir de StackQL v1.0.
--acidstringChaîne JSON / YAML représentant la configuration ACID{}
--allow-persistent-secretsflagAutorise une session à sélectionner un magasin de secrets persistant du système d'exploitation (macOS Keychain, Linux Secret Service ou Windows Credential Manager) avec SET "$.secret_store". Les magasins sous forme de fichier plat sont refusés même avec cette option. Consultez Sessions de provider et secrets. Disponible à partir de StackQL v1.0.false
--allow-secret-dereferenceflagAutorise le déréférencement des valeurs de secrets et d'identifiants dans les expressions SQL ("$secrets.name", "$auth.provider.field"), avec pour conséquence qu'elles peuvent se retrouver dans les résultats, les journaux et les artefacts de requête persistés. Inutile pour l'authentification normale des providers. Consultez Valeurs de secrets dans SQL. Disponible à partir de StackQL v1.0.false
--apirequesttimeoutintegerDélai d'expiration des appels d'API en secondes, 0 pour aucun délai d'expiration45
--approotstringChemin racine de la configuration et du cache de l'application{cwd}/.stackql
--approotfilemodeuint32Mode de fichier de la configuration et du cache de l'application493
--authstringPaires clé-valeur du contexte auth au format json
--cachekeycountintegerNombre initial de clés du cache100
--configfilestringChemin complet du fichier de configuration{cwd}/.stackqlrc
--cpuprofilestringFichier cpuprofile, aucun si videnull
--dataflow.dependency.maxintProfondeur maximale des dépendances de flux de données pour une requête donnée50
--dataflow.components.maxintNombre maximal de composantes faiblement connexes du flux de données pour une requête donnée50
--dbInternalstringChaîne JSON / YAML configurant le traitement des requêtes de maintenance du SGBD{}
-d, --delimiterstringDélimiteur de la sortie csv. Un seul caractère. Ignoré pour toute sortie autre que csv,
--dryrunflagOption dryrun ; exécute uniquement le préprocesseur, la sortie issue des modèles est renvoyéefalse
--env.filestringFichier facultatif de type dotenv chargé dans l'environnement du processus au démarrage (toutes les commandes) ; l'outil MCP reload_credentials le recharge à la demande. Un fichier manquant est toléré ; les clés dont la valeur est vide sont ignorées ; les variables existantes sont écrasées. Cette option n'est pas lue depuis .stackqlrc. Disponible dans les versions de StackQL postérieures à v0.10.542.null
--execution.concurrency.limitintLimite de concurrence pour l'exécution des requêtes1
--export.aliasstringPréfixe d'alias d'export (espace de noms ou schéma)
--gcstringChaîne JSON / YAML représentant la configuration du GC{}
-H, --hideheadersflagDésactive les en-têtes de colonnes, valide uniquement avec --output csv ou --output textfalse
--http.log.enabledflagAffiche les informations des requêtes http dans le terminalfalse
--http.proxy.hoststringHôte du proxy (laisser vide pour ne pas utiliser de proxy)null
--http.proxy.passwordstringMot de passe du proxynull
--http.proxy.portintegerPort du proxy, tout nombre inférieur ou égal à 0 donne le port par défaut du schéma concerné (par exemple http -> 80)-1
--http.proxy.schemestringSchéma du proxy, http ou httpshttp
--http.proxy.userstringUtilisateur du proxynull
--http.response.maxResultsintegerNombre maximal de résultats par requête http, tout nombre inférieur ou égal à 0 supprime la limite-1
--http.response.pageLimitintegerNombre maximal de pages de résultats renvoyées par ressource, tout nombre inférieur ou égal à 0 supprime la limite20
--indirect.depth.maxintegerProfondeur maximale des requêtes indirectes : vues et sous-requêtes5
-i, --infilestringFichier d'entrée (fichier IQL) à partir duquel les requêtes sont lues{stdin}
-q, --iqldatastringFichier de contexte (données) pour le templating (fichier json ou jsonnet)
--loglevelstringNiveau de journalisation, doit être l'un de fatalfatal
--mcp.configstringObjet de configuration JSON / YAML du serveur MCP (stackql mcp et stackql srv){}
--mcp.log.formatstringEncodage du journal d'audit MCP, jsonl ou otel (enregistrements de journal OTLP/JSON) ; prévaut sur server.audit.format dans --mcp.config. Consultez Format de journal. Disponible à partir de StackQL v0.11.660.jsonl
--mcp.protocol.versionstringRévision du protocole MCP la plus récente annoncée, auto, 2026-07-28 (sans session uniquement) ou une révision plus ancienne telle que 2025-11-25 ; prévaut sur server.protocol_version dans --mcp.config. Consultez Fixer la révision. Disponible à partir de StackQL v0.12.732.auto
--mcp.server.typestringType de serveur MCP, l'un de reverse_proxy. Consultez Type de serveur MCP.http
--metadatattlintegerTTL des documents de métadonnées mis en cache, en secondes3600
--namespacesstringChaîne JSON / YAML représentant les espaces de noms pour la mise en cache, les vues, etc.{}
--offlineflagFonctionne hors ligne, avec les données en cachefalse
-f, --outfilestringFichier de sortie dans lequel les résultats sont écrits{stdout}
-o, --outputstringFormat de sortie, doit être l'un de otel (ndjson est accepté comme alias de jsonl). otel émet des enregistrements de journal OpenTelemetry, consultez Modes de sortie ; disponible dans les versions de StackQL à partir de v0.11.660. Lorsqu'un exportateur est configuré dans --otel.config, les enregistrements otel sont également poussés vers ce point de terminaisontable
--otel.configstringChaîne JSON / YAML configurant le format de sortie otel ; exporter.endpoint, exporter.headers, exporter.timeout_ms et exporter.batch_size poussent les enregistrements vers un point de terminaison de journaux OTLP/HTTP, consultez Pousser vers un point de terminaison OTLP. Disponible à partir de StackQL v0.12.732{}
--previewstringChaîne JSON activant les fonctionnalités en préversion. {"unstable": true} expose les relations stackql_unstable_<provider>.<service>.<resource> pilotées par les documents, qui sont résolues et exécutées par omnisdk directement à partir des documents de provider, les lignes étant diffusées au fur et à mesure de leur production ; les autres clés (batchSize, flushInterval, endpoint, insecureSkipTLSVerify) ajustent ce backend. Les fonctionnalités en préversion ne sont pas stables : le comportement, la syntaxe et la sortie peuvent changer ou cesser de fonctionner d'une version à l'autre sans préavis, ne vous y fiez donc pas en production. À partir de v1.0, la même activation explicite expose les relations stackql_preview.iac.run et stackql_preview.iac.destroy, qui appliquent et détruisent un ensemble de ressources déclaré par l'intermédiaire de omnisdk, l'état étant conservé sous la racine de l'application. Consultez Fonctionnalités en préversion{}
--querycachesizeintegerTaille, en nombre d'entrées, du cache LRU des plans de requête10000
--registrystringChaîne JSON / YAML configurant l'emplacement du registre de providers et la vérification de signature des documents de providerconsultez --registry
--sessionstringChaîne JSON / YAML représentant la configuration de session{}
--sqlBackendstringChaîne JSON / YAML représentant la configuration système du backend SQLconsultez --sqlBackend
--store.txnstringChaîne JSON / YAML représentant la configuration du magasin Txn{}
--tls.CABundlestringChemin du bundle de CA ; s'il n'est pas spécifié, les valeurs par défaut du système sont utilisées
--tls.allowInsecureflagAutorise la confiance envers des certificats non sécurisés (non recommandé)
--varstringVariables externes fournies sous forme de paires clé/valeur pour être utilisées dans les requêtes StackQL par l'intermédiaire de fichiers de données jsonnet
-v, --verboseflagSortie détailléefalse
-h, --helpAide contextuelle pour stackql
--versionAffiche la version du programme StackQL

--registry​

L'option --registry configure l'emplacement depuis lequel les documents de provider sont lus et la vérification éventuelle de leurs signatures. La valeur est une chaîne JSON avec les clés suivantes :

CléDescriptionValeur par défaut
urlURL du registre. Le registre public de providers StackQL est utilisé si elle est omise.registre public
localDocRootRépertoire local contenant des documents de provider, lus sur place au lieu d'être téléchargés depuis le registre. Utilisé lors du développement d'un provider.
srcPrefixPréfixe de chemin, sous la racine du registre, où se trouvent les documents source des providers.src
verifyConfig.nopVerifytrue désactive la vérification de signature. Définissez false pour exiger une signature ML-DSA-65 (FIPS 204) embarquée à chaque lecture d'un document de provider ou de service, y compris pour les relations en préversion adossées aux documents.true
verifyConfig.publicKeysObjet JSON associant des ID de clé à des clés publiques ML-DSA-65 encodées en hexadécimal, pour les registres privés. Il remplace les clés de production embarquées ; un objet vide explicite est une erreur.clés embarquées

Exemple : exiger des documents de provider signés​

Active la vérification pour chaque document de provider et de service lu depuis le registre public, au regard des clés de production embarquées :

stackql --registry '{"verifyConfig": {"nopVerify": false}}' shell

Exemple : lire des documents non signés depuis un répertoire local​

Fait pointer le registre vers un répertoire de documents de provider en cours de développement. Ces documents ne sont pas signés, la vérification reste donc désactivée :

stackql --registry '{"localDocRoot": "/path/to/provider-dev/openapi", "verifyConfig": {"nopVerify": true}}' shell
remarque

La vérification de signature est disponible dans les versions de StackQL à partir de v1.0 et est désactivée par défaut. Les signatures couvrent les octets YAML exacts d'un document : toute modification, y compris un changement de mise en forme ou de saut de ligne, les invalide ; signez à nouveau avec l'outil pqsig sign-doc du registre. Les documents de développement locaux non signés doivent conserver nopVerify: true. Les anciennes options de certificat et les fichiers sidecar .sig ne sont plus utilisés, et les archives publiées uniquement avec des sidecars doivent être republiées avant toute utilisation vérifiée. La vérification authentifie les documents au moment de leur lecture ; le téléchargement et l'extraction des archives ne sont pas couverts.

--sqlBackend​

L'option --sqlBackend configure un backend SQL externe pour StackQL, ce qui vous permet d'utiliser un moteur de base de données externe (tel que PostgreSQL) à la place du moteur SQL embarqué par défaut. Cela permet de s'appuyer sur une base de données externe pour le traitement des requêtes, le stockage persistant ou l'intégration à une infrastructure de bases de données existante.

La valeur est une chaîne JSON avec les clés suivantes :

CléDescriptionExemples de valeurs
dbEngineLe type de moteur de base de donnéespostgres_tcp
sqlDialectLe dialecte SQL à utiliserpostgres
dsnLe nom de la source de données (chaîne de connexion) de la base de donnéesConsultez les exemples ci-dessous

Exemple : utiliser un backend PostgreSQL​

./stackql \
--sqlBackend='{"dbEngine": "postgres_tcp", "sqlDialect": "postgres", "dsn": "postgres://user:password@hostname:port/dbname?sslmode=require"}' \
shell

Exemple : utiliser l'interface PostgreSQL de Databricks​

Databricks expose une interface compatible PostgreSQL qui peut servir de backend SQL à StackQL. Le DSN utilise le format standard des chaînes de connexion PostgreSQL avec vos identifiants Databricks :

./stackql \
--sqlBackend='{"dbEngine": "postgres_tcp", "sqlDialect": "postgres", "dsn": "postgres://user%40domain.com:your-access-token@your-databricks-host.cloud.databricks.com/databricks_postgres?sslmode=require"}' \
shell

remarque

Les caractères spéciaux du nom d'utilisateur ou du mot de passe (tels que @) doivent être encodés pour URL dans le DSN (par exemple, @ devient %40).