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.
Installation
Les instructions d'installation de StackQL sur différentes plateformes sont fournies ici.
- macOS
- Linux
- Windows
- Docker
- stackql-deploy
- Shells cloud
macOS
StackQL est disponible sur macOS via Homebrew et le programme d'installation pkg ; les architectures ARM (M1/Apple Silicon) et AMD sont toutes deux prises en charge par un seul programme d'installation multi-architecture.
- Homebrew
- curl (binaire signé et notarisé)
- Téléchargement du paquet
Pour installer StackQL via Homebrew, exécutez la commande suivante dans votre terminal :
brew install stackql
Pour installer un binaire exécutable stackql signé et notarisé dans le répertoire courant, exécutez la commande suivante dans votre terminal :
curl -fsSL https://get-stackql.io/install | sh
StackQL est disponible sous la forme d'un programme d'installation pkg interactif, signé et notarisé, pour macOS.
Linux
StackQL est disponible pour toutes les architectures Linux.
- curl
- Téléchargement du paquet
Pour installer un binaire exécutable stackql dans le répertoire courant pour votre architecture Linux (amd64 ou arm64), exécutez la commande suivante dans votre terminal :
curl -fsSL https://get-stackql.io/install | sh
Vous pouvez aussi télécharger les binaires ici :
Windows
StackQL est disponible sur Windows via Chocolatey, un script d'installation PowerShell et le programme d'installation MSI. Des builds natifs AMD64 (x64) et ARM64 sont disponibles sous forme de programmes d'installation MSI et d'archives ZIP contenant stackql.exe. Le build AMD64 s'exécute aussi sur ARM64 par émulation. Tous les exécutables sont signés avec un certificat de signature de code Authenticode.
- Chocolatey
- Invoke-RestMethod
- Téléchargement MSI/ZIP
Pour installer StackQL via Chocolatey, exécutez la commande suivante dans votre terminal PowerShell ou cmd :
choco install stackql
Pour installer un exécutable Authenticode dans le répertoire courant, exécutez la commande suivante dans un terminal PowerShell :
Invoke-RestMethod https://get-stackql.io/install | Invoke-Expression
# or
irm https://get-stackql.io/install | iex
Téléchargez ci-dessous le programme d'installation ou l'exécutable stackql signé pour Windows. Un clic sur un bouton de téléchargement sélectionne AMD64 par défaut ; utilisez sa liste déroulante pour choisir AMD64 ou ARM64 natif.
Docker
Les builds de StackQL sont publiés sur DockerHub.
Docker Hub
Pour télécharger l'image de conteneur StackQL, exécutez la commande suivante :
docker pull stackql/stackql
À partir de v1.0, l'image est basée sur Ubuntu 26.04 LTS, et une variante avec Python 3.13 préinstallé est publiée avec le suffixe de tag -python3.13 (alias -python3), par exemple :
docker pull stackql/stackql:latest-python3.13
stackql-deploy
stackql-deploy est un framework IaC sans état construit sur StackQL. Pour la documentation complète, consultez la documentation de StackQL Deploy.
Linux / macOS
Télécharge et extrait le dernier binaire stackql-deploy en une seule étape. Le programme d'installation détecte votre système d'exploitation et votre architecture (y compris Apple Silicon et Intel via un binaire macOS universel) et récupère automatiquement le bon fichier de version.
curl -fsSL https://get-stackql-deploy.io/install.sh | sh
Windows
Télécharge et extrait le dernier binaire stackql-deploy dans le répertoire courant.
Le programme d'installation détecte votre plateforme et récupère automatiquement le bon fichier de version.
irm https://get-stackql-deploy.io/install.ps1 | iex
cargo
Si la chaîne d'outils Rust est installée, cette commande compile et installe le binaire directement depuis crates.io.
cargo install stackql-deploy
Shells cloud
StackQL peut être utilisé directement depuis les shells cloud et les terminaux web intégrés des principales plateformes cloud et de données. L'expérience est fluide, car ces environnements sont préautorisés avec l'identité sous laquelle vous êtes connecté, ce qui évite toute configuration d'authentification distincte.
- AWS
- Azure
- Databricks
AWS Cloud Shell
AWS CloudShell fournit un shell dans le navigateur avec l'AWS CLI préinstallée et authentifiée. Exécuter StackQL dans AWS CloudShell vous permet d'interroger et de gérer des ressources AWS sans étape d'authentification supplémentaire. Pour des instructions détaillées, consultez notre tutoriel AWS CloudShell.
Commencez par télécharger le paquet StackQL :
curl -fsSL https://get-stackql.io/install/aws | sh
Exécutez ensuite le script StackQL pour AWS CloudShell :
./stackql-aws-cloud-shell.sh
Ce script démarre un shell de commandes StackQL avec vos identifiants AWS CloudShell, ce qui vous permet d'interroger immédiatement des ressources AWS.
Azure Cloud Shell
Azure Cloud Shell fournit un environnement shell accessible depuis le navigateur, où l'Azure CLI est préauthentifiée avec votre compte Azure. Utiliser StackQL dans Azure Cloud Shell permet d'interroger vos ressources Azure de manière fluide, sans configuration supplémentaire. Pour tous les détails, consultez notre guide Azure Cloud Shell.
Commencez par télécharger le paquet StackQL :
curl -fsSL https://get-stackql.io/install/azure | sh
Exécutez ensuite le script StackQL pour Azure Cloud Shell :
./stackql-azure-cloud-shell.sh
Ce script configure automatiquement une session StackQL pour utiliser vos identifiants Azure Cloud Shell, ce qui vous permet d'interroger immédiatement vos ressources Azure.
Google Cloud Shell
Google Cloud Shell offre un environnement de développement et d'exploitation avec la Google Cloud CLI déjà authentifiée. Exécuter StackQL dans Google Cloud Shell vous permet d'interroger des ressources GCP avec votre authentification existante. Pour en savoir plus, consultez notre guide Google Cloud Shell.
Commencez par télécharger le paquet StackQL :
curl -fsSL https://get-stackql.io/install/google | sh
Exécutez ensuite le script StackQL pour Google Cloud Shell :
./stackql-google-cloud-shell.sh
Le script configure StackQL pour utiliser vos identifiants Google Cloud Shell, ce qui vous permet d'interroger immédiatement vos ressources GCP avec la syntaxe SQL.
Terminal web Databricks
Les espaces de travail Databricks incluent un terminal web qui s'exécute sous l'identité de l'utilisateur connecté. Y exécuter StackQL vous permet d'interroger votre espace de travail avec votre identité Databricks, sans configuration d'authentification distincte. Pour des exemples de requêtes et l'authentification au niveau du compte, consultez notre guide du terminal web Databricks.
Commencez par télécharger le paquet StackQL :
curl -fsSL https://get-stackql.io/install/databricks | sh
Exécutez ensuite le script shell StackQL pour Databricks :
./stackql-databricks-shell.sh
Cette commande démarre une session StackQL avec l'identité de votre espace de travail Databricks, ce qui vous permet d'interroger immédiatement des ressources propres à l'espace de travail, comme databricks_workspace.iam.vw_user_entitlements. Pour les requêtes au niveau du compte (provisionnement, facturation, IAM du compte), définissez les variables du principal de service OAuth2 Databricks comme décrit dans le guide.
Utiliser avec des clients MCP
Le serveur MCP StackQL s'exécute localement via stdio : les identifiants des providers restent donc sur votre machine, quel que soit le client utilisé. Choisissez votre client ci-dessous : chaque onglet indique d'abord l'installation depuis l'annuaire ou en un clic, puis la configuration manuelle comme solution de repli. Pour tous les canaux de distribution, y compris npx, Python, Docker et la CI, consultez Installer le serveur MCP.
- Claude Desktop
- ChatGPT
- Goose
Claude Desktop
La méthode recommandée pour installer le serveur MCP StackQL dans Claude Desktop passe par l'Anthropic Connector Directory (Settings -> Connectors -> Add -> Browse Connectors, recherchez StackQL) - Claude Desktop sélectionne automatiquement le binaire signé adapté à votre plateforme. Sinon, des MCP Bundles précompilés (.mcpb) sont joints à chaque version de StackQL pour une installation depuis un fichier téléchargé - dans les deux cas, aucune installation séparée de StackQL n'est nécessaire. Des bundles sont disponibles pour macOS, Windows et Linux.
Les téléchargements MCPB pour Linux et Windows utilisent amd64 (x64) par défaut. Utilisez les listes déroulantes pour sélectionner amd64 ou arm64.
Le serveur MCP StackQL est également référencé dans l'Official MCP Registry sous le nom io.github.stackql/stackql-mcp.
Le bundle est l'une des différentes façons d'exécuter le serveur MCP StackQL. Consultez Utiliser StackQL avec Claude Desktop pour le guide pas à pas complet de Claude Desktop, ou Installer le serveur MCP pour les options npx, Docker, Python, CI et manuelle.
ChatGPT et Codex
StackQL est distribué sous la forme d'un plugin local pour l'application de bureau ChatGPT et Codex CLI. Le plugin exécute le serveur MCP StackQL via stdio sur votre machine : les identifiants des providers ne la quittent donc jamais. Node.js 24.22.1 ou une version ultérieure est requis (22.23.4 ou 26.12.1 sur ces lignes de version) ; le plugin n'a besoin que des modules intégrés de Node.js, télécharge le binaire stackql signé à la première utilisation et vérifie son SHA-256.
Application de bureau ChatGPT (annuaire de plugins) :
ouvrez l'annuaire de plugins dans l'application de bureau ChatGPT, recherchez StackQL et cliquez sur Install, puis lancez la configuration du plugin ; le skill stackql-setup fourni vous guide pour les identifiants et une première requête. La fiche porte un badge Desktop only : le plugin s'installe uniquement depuis l'application de bureau, pas depuis ChatGPT web ou mobile, et ses outils sont disponibles en mode Work, dans les fils qui s'exécutent sur votre ordinateur. Si la fiche n'est pas encore visible dans votre annuaire, installez plutôt le plugin depuis la marketplace du dépôt.
Application de bureau ChatGPT (marketplace du dépôt) :
ouvrez Settings -> Plugins -> Add -> Add from GitHub, saisissez stackql/stackql, puis installez StackQL depuis la section Personal de l'annuaire de plugins et redémarrez l'application.
Codex CLI :
codex plugin marketplace add stackql/stackql --sparse .agents/plugins --sparse packaging/openai-plugin
codex plugin add stackql@stackql
Redémarrez l'application de bureau ChatGPT ou Codex, puis essayez : Utilisez StackQL pour installer le provider GitHub si nécessaire, puis listez les cinq premiers services GitHub. Les identifiants des providers se placent dans ~/.stackql/.env, sous les noms de variables d'environnement standard de chaque provider (par exemple AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY) ; après avoir modifié le fichier, demandez à l'agent d'appeler reload_credentials.
Sans le plugin :
sous Settings -> Plugins -> MCPs -> Connect to a custom MCP, choisissez STDIO, définissez la commande sur npx et ajoutez les arguments -y et @stackql/mcp-server. Fournissez les identifiants des providers sous forme de variables d'environnement dans ce formulaire.
ChatGPT web et mobile ne peuvent pas exécuter un serveur stdio local : le plugin est donc réservé à l'application de bureau et à Codex. Un bug ouvert de l'application de bureau ChatGPT (openai/codex#38162) peut masquer les outils MCP locaux dans les sessions Chat ; les fils en mode Work, les fils Codex et Codex CLI ne sont pas concernés.
Goose
Goose exécute directement les extensions stdio : le lanceur npx suffit donc (Node.js 18 ou version ultérieure).
Goose Desktop : cliquez sur le bouton ci-dessous. Goose s'ouvre, affiche la commande qu'il s'apprête à exécuter et vous demande de confirmer, puis ajoute StackQL comme extension.
Le bouton est un lien profond goose:// ; vous pouvez aussi le coller dans la barre d'adresse de votre navigateur, ou l'ouvrir depuis un terminal avec open (macOS), start (Windows) ou xdg-open (Linux) :
goose://extension?cmd=npx&arg=-y&arg=%40stackql%2Fmcp-server&id=stackql&name=StackQL&description=Query%20and%20provision%20cloud%20and%20SaaS%20resources%20with%20SQL
Goose CLI :
goose session --with-extension "npx -y @stackql/mcp-server"
ou exécutez goose configure, choisissez Add Extension -> Command-line Extension et saisissez la même commande. Fournissez les identifiants des providers comme variables d'environnement de l'extension lorsque cela vous est demandé.
Goose a retiré son annuaire d'extensions intégré à l'application au profit de l'Official MCP Registry, où StackQL est référencé sous le nom io.github.stackql/stackql-mcp. Dès que Goose proposera son import depuis le registre, StackQL y sera visible sans aucune autre action.
Installer le serveur MCP
Le serveur MCP StackQL permet aux agents IA d'interroger et de provisionner des ressources cloud avec StackQL. Il est distribué par plusieurs canaux - tous exécutent le même serveur, choisissez donc le canal qui correspond à votre client et à vos exigences de confiance. Les options ci-dessous sont classées approximativement par ordre de confiance et de facilité.
Marketplaces et annuaires
Le serveur est publié dans l'Official MCP Registry sous le nom io.github.stackql/stackql-mcp ; les registres de paquets ci-dessous hébergent les artefacts distribuables, et les annuaires en aval reprennent la fiche à partir de là.
- Registres
- Annuaires
| Registre | Type | Publié via | Fiche | Remarques |
|---|---|---|---|---|
| Official MCP Registry | Registre de métadonnées canonique | CLI mcp-publisher + server.json | modelcontextprotocol.io/searchmodelcontextprotocol.io/direct | annonce les 8 paquets (mcpb x5, oci, npm, pypi) |
| npm | Registre de paquets | npm publish | @stackql/mcp-server | lanceur npx |
| PyPI | Registre de paquets | twine upload | stackql-mcp-server | lanceur uvx / pip |
| Docker Hub | Registre de conteneurs | docker buildx --push | stackql/stackql-mcp | multi-architecture amd64 + arm64 |
| GitHub Actions Marketplace | Marketplace CI (action setup-stackql-mcp) | Dépôt public + version + fiche marketplace | setup-stackql-mcp-server | Éditeur vérifié ; stackql/setup-stackql-mcp |
Fiches dans les annuaires et les agrégateurs, classées approximativement par ordre d'importance pour la découverte :
| Annuaire | Type | Fiche |
|---|---|---|
| Anthropic Connector Directory | Annuaire intégré à l'application Claude Desktop | claude.ai/directory |
| OpenAI Plugin Directory | Annuaire intégré à l'application de bureau ChatGPT (bureau uniquement) | recherchez StackQL dans l'application de bureau ChatGPT ; consultez ChatGPT et Codex |
| Cursor Directory | Annuaire d'un client IDE | cursor.directory |
| mcp.so | Plus grand agrégateur | mcp.so |
| PulseMCP | Découverte, soutien du registre | pulsemcp |
| Glama.ai MCP | Marketplace avec recherche | glama.ai |
| mcpmarket.com | Agrégateur | mcpmarket |
| mcpservers.org | Site de type awesome-list | mcpservers.org |
Bundle .mcpb précompilé
Quand l'utiliser : Claude Desktop sans accès au Connector Directory, ou lorsque vous voulez épingler une version précise ou vérifier vous-même les sommes de contrôle avant l'installation. Pour la plupart des utilisateurs de Claude Desktop, l'Anthropic Connector Directory est la méthode d'installation recommandée.
Un MCP Bundle précompilé est joint à chaque version de StackQL pour chaque plateforme :
https://releases.stackql.io/stackql/latest/stackql-mcp-<platform>.mcpb
où <platform> vaut darwin-universal, windows-x64 (AMD64), windows-arm64, linux-x64 ou linux-arm64. Les boutons de téléchargement de chaque plateforme se trouvent dans l'onglet Claude Desktop sous Utiliser avec des clients MCP. Chaque bundle a une somme de contrôle .sha256 correspondante sur la page de la version. Vérifiez-la, puis installez le bundle via Settings -> Extensions dans Claude Desktop :
shasum -a 256 -c stackql-mcp-darwin-universal.mcpb.sha256
Consultez Utiliser StackQL avec Claude Desktop pour le guide pas à pas complet.
Configuration manuelle de claude_desktop_config.json
Quand l'utiliser : vous avez déjà le binaire stackql dans votre PATH et utilisez Claude Desktop ou tout autre client MCP stdio.
{
"mcpServers": {
"stackql": {
"command": "stackql",
"args": [
"mcp",
"--mcp.server.type=stdio",
"--approot", "/Users/you/.stackql",
"--mcp.config", "{\"server\": {\"audit\": {\"disabled\": true}}}"
]
}
}
}
Les trois arguments sont indispensables :
--mcp.server.type=stdiosélectionne le transport stdio qu'utilisent les clients intégrés aux éditeurs.--approotfait pointer le cache des providers vers un répertoire accessible en écriture. Les clients MCP peuvent lancer le serveur avec/comme répertoire de travail, qui n'est pas accessible en écriture.--mcp.config '{"server": {"audit": {"disabled": true}}}'désactive le journal d'audit, dont le répertoire par défaut est sinon le répertoire de travail (éventuellement non accessible en écriture).
Ajoutez les identifiants des providers avec un bloc "env" et ajustez le contrat de sécurité avec "mode" - consultez Modes du serveur.
npx (sans installation)
Quand l'utiliser : tout environnement Node, lorsque vous ne voulez pas d'installation globale de StackQL.
{ "mcpServers": { "stackql": { "command": "npx", "args": ["-y", "@stackql/mcp-server"] } } }
Le lanceur @stackql/mcp-server télécharge le binaire stackql signé au premier lancement, vérifie son SHA-256 et le met en cache pour les lancements suivants.
uvx / pip (Python)
Quand l'utiliser : un environnement Python - le même lanceur, empaqueté pour Python, qui partage le cache de binaires alimenté par le lanceur npx.
{ "mcpServers": { "stackql": { "command": "uvx", "args": ["stackql-mcp-server"] } } }
Ou installez-le dans l'environnement courant avec pip install stackql-mcp-server (Python 3.9+). Le paquet est stackql-mcp-server sur PyPI.
Docker
Quand l'utiliser : un runtime conteneurisé ou isolé d'une autre manière. L'image est multi-architecture (amd64 et arm64).
docker run -i --rm stackql/stackql-mcp
Sous forme de configuration client :
{ "mcpServers": { "stackql": { "command": "docker", "args": ["run", "-i", "--rm", "stackql/stackql-mcp"] } } }
L'image est stackql/stackql-mcp sur Docker Hub.
CI et workflows agentiques (GitHub Actions)
Quand l'utiliser : exécuter le serveur dans un job GitHub Actions pour qu'un agent puisse interroger votre cloud - et, si vous l'autorisez, agir dessus - dans le cadre de la CI.
stackql/setup-stackql-mcp@v1 installe le binaire et écrit une configuration MCP (en mode read_only par défaut). Transmettez cette configuration à anthropics/claude-code-action via claude_args :
- id: stackql
uses: stackql/setup-stackql-mcp@v1
with:
auth: '{"github":{"type":"null_auth"}}'
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
Using stackql, list the public repositories in the stackql org and
summarise them as a markdown table.
claude_args: |
--mcp-config ${{ steps.stackql.outputs.mcp-config-file }}
--allowedTools 'mcp__stackql__*'
Consultez le README de l'action pour d'autres recettes agentiques (audits cloud, estimations de coûts, etc.).
MCP embarqué
Quand l'utiliser : vous développez une application agentique et voulez embarquer le serveur MCP dans votre propre binaire - pas de npx, pas d'installation séparée, pas de dépendance à l'exécution.
Des bibliothèques natives lancent le binaire stackql signé via stdio derrière le client du SDK MCP officiel de chaque langage : votre application obtient ainsi la même interface SQL gouvernée vers chaque provider du registre. Chaque bibliothèque utilise read_only par défaut - le passage à un mode autorisant l'écriture est toujours explicite - et peut soit télécharger et vérifier le binaire au premier lancement, soit l'embarquer dans votre build pour obtenir un exécutable unique et autonome. L'API complète de chaque langage figure dans la référence du MCP embarqué.
- Rust
- Go
- Kotlin / JVM
- .NET
- Gleam
- Swift
La crate stackql-mcp lance le binaire derrière un client rmcp. La fonctionnalité sidecar, activée par défaut, télécharge et vérifie le binaire au premier lancement ; la fonctionnalité vendored l'embarque avec include_bytes! pour obtenir un binaire unique et autonome. MSRV Rust 1.88.
# Cargo.toml
stackql-mcp = "0.1"
use stackql_mcp::{Mode, StackqlMcp};
let server = StackqlMcp::builder()
.mode(Mode::ReadOnly)
.start()
.await?;
let tools = server.list_all_tools().await?;
Référence complète : MCP embarqué : Rust.
La bibliothèque stackql-mcp-go lance le binaire derrière le client du SDK MCP officiel pour Go. Embarquez le binaire avec go:embed pour obtenir un binaire unique et autonome, ou laissez la bibliothèque le télécharger et le vérifier au premier lancement. Démarre en mode read_only par défaut.
go get github.com/stackql/stackql-mcp-go
import (
"context"
stackqlmcp "github.com/stackql/stackql-mcp-go/embed"
)
client, err := stackqlmcp.StartServer(ctx, stackqlmcp.Options{
Binary: StackqlMCPBinary(),
})
defer client.Close()
Référence complète : MCP embarqué : Go.
La bibliothèque io.stackql:stackql-mcp lance le binaire derrière le client du SDK MCP officiel pour Kotlin, et un plugin Gradle associé intègre le même lancement à un build. Nécessite JDK 17 et Kotlin 2.x.
dependencies {
implementation("io.stackql:stackql-mcp:0.1.0")
}
import io.stackql.mcp.Mode
import io.stackql.mcp.StackqlMcp
val server = StackqlMcp.builder().mode(Mode.ReadOnly).start()
server.use {
val tools = server.client.listTools().tools
}
Référence complète : MCP embarqué : Kotlin / JVM.
Le paquet StackQL.Mcp lance le binaire derrière le client du SDK MCP officiel pour C#. Sidecar par défaut, ou embarquez le bundle comme ressource de build pour obtenir un exécutable autonome. Nécessite .NET 8 ou version ultérieure.
dotnet add package StackQL.Mcp
using StackQL.Mcp;
await using var server = await StackqlMcp.CreateBuilder()
.WithMode(StackqlMode.ReadOnly)
.StartAsync();
var tools = await server.ListToolsAsync();
Référence complète : MCP embarqué : .NET / C#.
La bibliothèque stackql_mcp cible le runtime Erlang/BEAM et expose le serveur comme processus enfant OTP via child_spec() : il peut ainsi s'insérer dans votre propre arbre de supervision. Démarre en mode read_only par défaut.
gleam add stackql_mcp
import envoy
import stackql_mcp
let assert Ok(server) =
stackql_mcp.start(
config: stackql_mcp.default_config(),
home: "/home/u", os: "linux", arch: "x86_64",
getenv: envoy.get,
)
let assert Ok(tools) = stackql_mcp.list_tools(server)
Référence complète : MCP embarqué : Gleam.
Le paquet stackql-mcp-swift lance le binaire derrière le client du SDK MCP officiel pour Swift. Le binaire darwin-universal est signé avec un Developer ID et notarisé par Apple : vous pouvez donc l'inclure dans une .app signée et conserver la validité de la notarisation de l'application. Nécessite macOS 13+ et Swift 6.1 (Xcode 16.3+).
// Package.swift
.package(url: "https://github.com/stackql/stackql-mcp-swift.git", from: "0.1.0")
import StackQLMCP
var options = Options()
options.mode = .readOnly
let server = try await StackQLServer.start(options)
let tools = try await server.listToolNames()
await server.stop()
Référence complète : MCP embarqué : Swift.
Modèle de confiance
Les mêmes propriétés de sécurité s'appliquent à tous les canaux :
- Le binaire
stackqlembarqué est signé Authenticode (Windows) et notarisé par Apple (macOS). - Chaque bundle
.mcpbest accompagné d'une somme de contrôle SHA-256 publiée sur la page de la version. - Les lanceurs
npxetuvxvérifient le SHA-256 du binaire téléchargé avant la première utilisation. - L'entrée du MCP Registry atteste les empreintes de chaque plateforme.
Utiliser GitHub Actions
Des actions GitHub StackQL sont disponibles pour vos workflows GitHub Actions. Les actions suivantes sont disponibles :
- stackql-deploy
- setup-stackql
- setup-stackql-mcp
- stackql-exec
- stackql-assert
stackql-deploy
Déployez ou testez des stacks d'infrastructure avec StackQL directement depuis vos workflows GitHub. Cette action permet des workflows d'infrastructure as code (IaC) avec une syntaxe proche de SQL, pour définir, déployer et gérer des ressources cloud de plusieurs providers dans un seul workflow.
Exemple d'utilisation
...
jobs:
stackql-actions-test:
name: StackQL Actions Test
runs-on: ubuntu-latest
env:
GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }} # add additional cloud provider creds here as needed
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Deploy a Stack
uses: stackql/stackql-deploy-action@v2
with:
command: 'build'
stack_dir: 'examples/k8s-the-hard-way'
stack_env: 'dev'
env_vars: |
GOOGLE_PROJECT=stackql-k8s-the-hard-way-demo
GOOGLE_REGION=australia-southeast1
setup-stackql
Configurez StackQL dans votre workflow GitHub Actions.
Exemple d'utilisation
- name: setup StackQL
uses: stackql/setup-stackql@v2
with:
use_wrapper: true
- name: Use GitHub Provider
run: |
stackql exec -i ./examples/github-example.iql
env:
STACKQL_GITHUB_USERNAME: ${{ secrets.STACKQL_GITHUB_USERNAME }}
STACKQL_GITHUB_PASSWORD: ${{ secrets.STACKQL_GITHUB_PASSWORD }}
setup-stackql-mcp
Installez le serveur MCP StackQL dans votre workflow GitHub Actions. L'action installe le binaire signé et écrit une configuration mcpServers (en mode read_only par défaut) qu'une étape agentique telle que anthropics/claude-code-action consomme via claude_args.
Exemple d'utilisation
- id: stackql
uses: stackql/setup-stackql-mcp@v1
with:
auth: '{"github":{"type":"null_auth"}}'
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
Using stackql, list the public repositories in the stackql org and
summarise them as a markdown table.
claude_args: |
--mcp-config ${{ steps.stackql.outputs.mcp-config-file }}
--allowedTools 'mcp__stackql__*'
stackql-exec
Exécutez des commandes StackQL dans votre workflow GitHub Actions. Les requêtes peuvent être fournies en ligne ou depuis un fichier du dépôt.
Exemple d'utilisation
- name: exec github example
uses: stackql/stackql-exec@v2
with:
query: |
select total_private_repos
from github.orgs.orgs
where org = 'stackql'"
env:
STACKQL_GITHUB_USERNAME: ${{ secrets.STACKQL_GITHUB_USERNAME }}
STACKQL_GITHUB_PASSWORD: ${{ secrets.STACKQL_GITHUB_PASSWORD }}
stackql-assert
Exécutez des tests unitaires dans votre workflow GitHub Actions (pour des contrôles d'assurance, de gouvernance ou de sécurité cloud).
Exemple d'utilisation
- name: Use test query string and expected rows
uses: stackql/stackql-assert@v2
with:
test_query: |
SELECT name
FROM google.compute.instances
WHERE project = 'stackql-demo' AND zone = 'australia-southeast1-a' AND name = 'stackql-demo-001';
expected_rows: 1
env:
GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }}
Autres bibliothèques
StackQL propose plusieurs méthodes d'intégration qui permettent de l'utiliser dans différents langages de programmation et environnements. Ces bibliothèques étendent les fonctionnalités de StackQL et facilitent l'intégration de l'interrogation et de la gestion des ressources cloud dans vos applications et workflows existants.
- pystackql
Paquet Python pystackql
Wrapper Python pour utiliser StackQL dans vos programmes Python. Le paquet pystackql est disponible sur PyPi ; la documentation du paquet pystackql est disponible sur Read the Docs. Pour installer le paquet pystackql, exécutez la commande suivante :
pip install pystackql
L'exemple suivant montre le paquet pystackql utilisé avec pandas pour exécuter des requêtes StackQL et renvoyer les résultats dans un pandas.DataFrame :
from pystackql import StackQL
import pandas as pd
region = "ap-southeast-2"
stackql = StackQL()
query = """
SELECT instance_type, COUNT(*) as num_instances
FROM aws.ec2.instances
WHERE region = '%s'
GROUP BY instance_type
""" % (region)
res = stackql.execute(query)
df = pd.read_json(res)
print(df)