Esta página se tradujo del inglés con ayuda de IA. Si hay diferencias entre ambas, la versión en inglés es la referencia.
Instalación
Aquí se proporcionan las instrucciones para instalar StackQL en distintas plataformas.
- macOS
- Linux
- Windows
- Docker
- stackql-deploy
- Shells en la nube
macOS
StackQL está disponible en macOS mediante Homebrew y el instalador pkg; se admiten tanto la arquitectura ARM (M1/Apple Silicon) como la AMD con un único instalador multiarquitectura.
- Homebrew
- curl (binario firmado y notarizado)
- Descarga del paquete
Para instalar mediante Homebrew, ejecute el siguiente comando en su terminal:
brew install stackql
Para instalar un binario ejecutable stackql firmado y notarizado en el directorio actual, ejecute el siguiente comando en su terminal:
curl -fsSL https://get-stackql.io/install | sh
StackQL está disponible como instalador pkg interactivo, firmado y notarizado, para macOS.
Linux
StackQL está disponible para todas las arquitecturas de Linux.
- curl
- Descarga del paquete
Para instalar un binario ejecutable stackql en el directorio actual para su arquitectura de Linux (amd64 o arm64), ejecute el siguiente comando en su terminal:
curl -fsSL https://get-stackql.io/install | sh
Como alternativa, puede descargar los binarios aquí:
Windows
StackQL está disponible en Windows mediante Chocolatey, el script de instalación de PowerShell y el instalador MSI. Los builds nativos para AMD64 (x64) y ARM64 están disponibles como instaladores MSI y archivos ZIP que contienen stackql.exe. El build para AMD64 también se ejecuta en ARM64 mediante emulación. Todos los ejecutables están firmados con un certificado de firma de código Authenticode.
- Chocolatey
- Invoke-RestMethod
- Descarga de MSI/ZIP
Para instalar mediante Chocolatey, ejecute el siguiente comando en su terminal de PowerShell o cmd:
choco install stackql
Para instalar un ejecutable firmado con Authenticode en el directorio actual, ejecute lo siguiente en un terminal de PowerShell:
Invoke-RestMethod https://get-stackql.io/install | Invoke-Expression
# or
irm https://get-stackql.io/install | iex
Descargue a continuación el instalador o el ejecutable firmado de stackql para Windows. Al hacer clic en un botón de descarga se selecciona AMD64 de forma predeterminada; use su menú desplegable para elegir AMD64 o ARM64 nativo.
Docker
Los builds de StackQL se publican en DockerHub.
Docker Hub
Para descargar la imagen de contenedor de StackQL, ejecute el siguiente comando:
docker pull stackql/stackql
A partir de v1.0, la imagen se basa en Ubuntu 26.04 LTS y se publica una variante con Python 3.13 preinstalado con el sufijo de tag -python3.13 (alias -python3), por ejemplo:
docker pull stackql/stackql:latest-python3.13
stackql-deploy
stackql-deploy es un marco de IaC sin estado construido sobre StackQL. Para ver la documentación completa, consulte la documentación de StackQL Deploy.
Linux / macOS
Descarga y extrae el binario más reciente de stackql-deploy en un solo paso. El instalador detecta su sistema operativo y su arquitectura (incluidos Apple Silicon e Intel mediante un binario universal para macOS) y obtiene automáticamente el archivo de versión correcto.
curl -fsSL https://get-stackql-deploy.io/install.sh | sh
Windows
Descarga y extrae el binario más reciente de stackql-deploy en el directorio actual.
El instalador detecta su plataforma y obtiene automáticamente el archivo de versión correcto.
irm https://get-stackql-deploy.io/install.ps1 | iex
cargo
Si tiene instalada la cadena de herramientas de Rust, este comando compila e instala el binario directamente desde crates.io.
cargo install stackql-deploy
Shells en la nube
StackQL se puede usar directamente desde los shells en la nube y los terminales web incorporados de las principales plataformas en la nube y de datos. Esto ofrece una experiencia fluida, ya que estos entornos están preautorizados con la identidad con la que ha iniciado sesión, lo que elimina la necesidad de configurar la autenticación por separado.
- AWS
- Azure
- Databricks
AWS Cloud Shell
AWS CloudShell proporciona un shell basado en navegador con la AWS CLI preinstalada y autenticada. Ejecutar StackQL en AWS CloudShell le permite consultar y gestionar recursos de AWS sin pasos de autenticación adicionales. Para obtener instrucciones detalladas, consulte nuestro tutorial de AWS CloudShell.
Primero, descargue el paquete de StackQL:
curl -fsSL https://get-stackql.io/install/aws | sh
A continuación, ejecute el script de StackQL para AWS CloudShell:
./stackql-aws-cloud-shell.sh
Este script inicia un shell de comandos de StackQL con sus credenciales de AWS CloudShell, lo que le permite empezar a consultar recursos de AWS de inmediato.
Azure Cloud Shell
Azure Cloud Shell proporciona un entorno de shell accesible desde el navegador con la Azure CLI autenticada previamente con su cuenta de Azure. Usar StackQL en Azure Cloud Shell permite consultar sus recursos de Azure de forma fluida y sin configuración adicional. Para conocer todos los detalles, consulte nuestra guía de Azure Cloud Shell.
Primero, descargue el paquete de StackQL:
curl -fsSL https://get-stackql.io/install/azure | sh
A continuación, ejecute el script de StackQL para Azure Cloud Shell:
./stackql-azure-cloud-shell.sh
Este script configura automáticamente una sesión de StackQL para que use sus credenciales de Azure Cloud Shell, lo que permite acceder de inmediato a consultar sus recursos de Azure.
Google Cloud Shell
Google Cloud Shell ofrece un entorno de desarrollo y operaciones con la Google Cloud CLI ya autenticada. Ejecutar StackQL en Google Cloud Shell le permite consultar recursos de GCP con su autenticación existente. Obtenga más información en nuestra guía de Google Cloud Shell.
Primero, descargue el paquete de StackQL:
curl -fsSL https://get-stackql.io/install/google | sh
A continuación, ejecute el script de StackQL para Google Cloud Shell:
./stackql-google-cloud-shell.sh
El script configura StackQL para que use sus credenciales de Google Cloud Shell, lo que le permite empezar a consultar de inmediato sus recursos de GCP con sintaxis SQL.
Databricks Web Terminal
Los espacios de trabajo de Databricks incluyen un terminal web que se ejecuta como el usuario que ha iniciado sesión. Ejecutar StackQL allí le permite consultar su espacio de trabajo con su identidad de Databricks, sin configurar la autenticación por separado. Para ver consultas de ejemplo y la autenticación a nivel de cuenta, consulte nuestra guía de Databricks Web Terminal.
Primero, descargue el paquete de StackQL:
curl -fsSL https://get-stackql.io/install/databricks | sh
A continuación, ejecute el script de shell de StackQL para Databricks:
./stackql-databricks-shell.sh
Esto inicia una sesión de StackQL con la identidad de su espacio de trabajo de Databricks, de modo que puede consultar de inmediato recursos con ámbito de espacio de trabajo, como databricks_workspace.iam.vw_user_entitlements. Para las consultas a nivel de cuenta (aprovisionamiento, facturación, IAM de la cuenta), establezca las variables del principal de servicio OAuth2 de Databricks como se describe en la guía.
Usar con clientes MCP
El servidor MCP de StackQL se ejecuta localmente sobre stdio, por lo que las credenciales de los providers permanecen en su equipo sea cual sea el cliente que use. Elija su cliente a continuación: cada pestaña presenta primero la vía del directorio o de un solo clic y la configuración manual como alternativa. Para ver todos los canales de distribución, incluidos npx, Python, Docker y CI, consulte Instalar el servidor MCP.
- Claude Desktop
- ChatGPT
- Goose
Claude Desktop
La forma recomendada de instalar el servidor MCP de StackQL en Claude Desktop es desde el Anthropic Connector Directory (Settings -> Connectors -> Add -> Browse Connectors, busque StackQL) - Claude Desktop selecciona automáticamente el binario firmado correcto para su plataforma. Como alternativa, a cada versión de StackQL se adjuntan MCP Bundles precompilados (.mcpb) para instalar desde un archivo descargado - en ninguno de los dos casos se requiere una instalación de StackQL por separado. Los bundles están disponibles para macOS, Windows y Linux.
Las descargas de MCPB para Linux y Windows usan amd64 (x64) de forma predeterminada. Use los menús desplegables para seleccionar amd64 o arm64.
El servidor MCP de StackQL también figura en el Official MCP Registry como io.github.stackql/stackql-mcp.
El bundle es una de las varias formas de ejecutar el servidor MCP de StackQL. Consulte Usar StackQL con Claude Desktop para ver la guía paso a paso completa de Claude Desktop, o Instalar el servidor MCP para las opciones de npx, Docker, Python, CI y manual.
ChatGPT y Codex
StackQL se distribuye como plugin local para la aplicación de escritorio de ChatGPT y la CLI de Codex. El plugin ejecuta el servidor MCP de StackQL sobre stdio en su equipo, por lo que las credenciales de los providers nunca salen de él. Se requiere Node.js 24.22.1 o posterior (22.23.4 o 26.12.1 en esas líneas de versiones); el plugin solo necesita los módulos incorporados de Node.js, descarga el binario stackql firmado en el primer uso y verifica su SHA-256.
Aplicación de escritorio de ChatGPT (directorio de plugins):
abra el directorio de plugins en la aplicación de escritorio de ChatGPT, busque StackQL y haga clic en Install, después ejecute la configuración del plugin; la skill stackql-setup incluida explica paso a paso las credenciales y una primera consulta. La entrada lleva una insignia Desktop only: el plugin solo se instala desde la aplicación de escritorio, no desde ChatGPT web ni móvil, y sus herramientas están disponibles en el modo Work, en los hilos que se ejecutan en su equipo. Si la entrada aún no aparece en su directorio, instale desde el marketplace del repositorio.
Aplicación de escritorio de ChatGPT (marketplace del repositorio):
abra Settings -> Plugins -> Add -> Add from GitHub, escriba stackql/stackql, después instale StackQL desde la sección Personal del directorio de plugins y reinicie la aplicación.
CLI de Codex:
codex plugin marketplace add stackql/stackql --sparse .agents/plugins --sparse packaging/openai-plugin
codex plugin add stackql@stackql
Reinicie ChatGPT de escritorio o Codex y después pruebe: Usa StackQL para instalar el provider de GitHub si hace falta y luego enumera los cinco primeros servicios de GitHub. Las credenciales de los providers van en ~/.stackql/.env con los nombres de variables de entorno estándar de cada provider (por ejemplo, AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY); después de editar el archivo, pida al agente que llame a reload_credentials.
Sin el plugin:
en Settings -> Plugins -> MCPs -> Connect to a custom MCP, elija STDIO, establezca el comando en npx y agregue los argumentos -y y @stackql/mcp-server. Proporcione las credenciales de los providers como variables de entorno en ese formulario.
ChatGPT web y móvil no pueden ejecutar un servidor stdio local, por lo que el plugin es solo para escritorio y Codex. Un error abierto de ChatGPT de escritorio (openai/codex#38162) puede ocultar las herramientas MCP locales en las sesiones de Chat; los hilos del modo Work, los hilos de Codex y la CLI de Codex no se ven afectados.
Goose
Goose ejecuta extensiones stdio directamente, por lo que el lanzador npx es todo lo que necesita (Node.js 18 o posterior).
Goose Desktop: haga clic en el botón siguiente. Goose se abre, muestra el comando que va a ejecutar y le pide que confirme; después agrega StackQL como extensión.
El botón es un enlace profundo goose://; también puede pegarlo en la barra de direcciones de su navegador o abrirlo desde un terminal con open (macOS), start (Windows) o 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"
o ejecute goose configure, elija Add Extension -> Command-line Extension y escriba el mismo comando. Proporcione las credenciales de los providers como variables de entorno de la extensión cuando se le soliciten.
Goose ha retirado su directorio de extensiones dentro de la aplicación en favor del Official MCP Registry, donde StackQL figura como io.github.stackql/stackql-mcp. Cuando Goose publique su importación desde el registro, StackQL se podrá encontrar allí sin ninguna otra acción.
Instalar el servidor MCP
El servidor MCP de StackQL permite a los agentes de IA consultar y aprovisionar recursos en la nube con StackQL. Se distribuye por varios canales - todos ejecutan el mismo servidor, así que elija el canal que se ajuste a su cliente y a sus requisitos de confianza. Las opciones siguientes se enumeran aproximadamente por orden de confianza y facilidad.
Marketplaces y directorios
El servidor está publicado en el Official MCP Registry como io.github.stackql/stackql-mcp; los registros de paquetes siguientes contienen los artefactos distribuibles, y los directorios derivados toman la entrada de allí.
- Registros
- Directorios
| Registro | Tipo | Publicado mediante | Entrada | Notas |
|---|---|---|---|---|
| Official MCP Registry | Registro canónico de metadatos | CLI mcp-publisher + server.json | modelcontextprotocol.io/searchmodelcontextprotocol.io/direct | anuncia los 8 paquetes (mcpb x5, oci, npm, pypi) |
| npm | Registro de paquetes | npm publish | @stackql/mcp-server | lanzador npx |
| PyPI | Registro de paquetes | twine upload | stackql-mcp-server | lanzador uvx / pip |
| Docker Hub | Registro de contenedores | docker buildx --push | stackql/stackql-mcp | multiarquitectura amd64 + arm64 |
| GitHub Actions Marketplace | Marketplace de CI (acción setup-stackql-mcp) | Repositorio público + versión + entrada del marketplace | setup-stackql-mcp-server | Editor verificado; stackql/setup-stackql-mcp |
Entradas en directorios y agregadores, aproximadamente por orden de importancia para el descubrimiento:
| Directorio | Tipo | Entrada |
|---|---|---|
| Anthropic Connector Directory | Directorio dentro de la aplicación Claude Desktop | claude.ai/directory |
| OpenAI Plugin Directory | Directorio dentro de la aplicación de escritorio de ChatGPT (solo escritorio) | busque StackQL en la aplicación de escritorio de ChatGPT; consulte ChatGPT y Codex |
| Cursor Directory | Directorio de un cliente IDE | cursor.directory |
| mcp.so | El mayor agregador | mcp.so |
| PulseMCP | Descubrimiento, impulsor del registro | pulsemcp |
| Glama.ai MCP | Marketplace con búsqueda | glama.ai |
| mcpmarket.com | Agregador | mcpmarket |
| mcpservers.org | Sitio de tipo awesome-list | mcpservers.org |
Bundle .mcpb precompilado
Cuándo usarlo: Claude Desktop sin acceso al Connector Directory, o cuando quiere fijar una versión específica o verificar usted mismo las sumas de comprobación antes de instalar. Para la mayoría de los usuarios de Claude Desktop, el Anthropic Connector Directory es el método de instalación recomendado.
A cada versión de StackQL se adjunta un MCP Bundle precompilado para cada plataforma:
https://releases.stackql.io/stackql/latest/stackql-mcp-<platform>.mcpb
donde <platform> es darwin-universal, windows-x64 (AMD64), windows-arm64, linux-x64 o linux-arm64. Los botones de descarga de cada plataforma están en la pestaña Claude Desktop, en Usar con clientes MCP. Cada bundle tiene su suma de comprobación .sha256 correspondiente en la página de la versión. Verifíquela y después instale mediante Settings -> Extensions en Claude Desktop:
shasum -a 256 -c stackql-mcp-darwin-universal.mcpb.sha256
Consulte Usar StackQL con Claude Desktop para ver la guía paso a paso completa.
claude_desktop_config.json manual
Cuándo usarlo: ya tiene el binario stackql en su PATH y usa Claude Desktop o cualquier otro cliente MCP stdio.
{
"mcpServers": {
"stackql": {
"command": "stackql",
"args": [
"mcp",
"--mcp.server.type=stdio",
"--approot", "/Users/you/.stackql",
"--mcp.config", "{\"server\": {\"audit\": {\"disabled\": true}}}"
]
}
}
}
Los tres argumentos son imprescindibles:
--mcp.server.type=stdioselecciona el transporte stdio que usan los clientes integrados en editores.--approotdirige la caché de providers a un directorio con permiso de escritura. Los clientes MCP pueden iniciar el servidor con el directorio de trabajo establecido en/, donde no se puede escribir.--mcp.config '{"server": {"audit": {"disabled": true}}}'deshabilita el log de auditoría, que de lo contrario usa como directorio predeterminado el directorio de trabajo (en el que quizá no se pueda escribir).
Agregue las credenciales de los providers con un bloque "env" y ajuste el contrato de seguridad con "mode" - consulte Modos del servidor.
npx (sin instalación)
Cuándo usarlo: cualquier entorno Node, cuando no quiere una instalación global de StackQL.
{ "mcpServers": { "stackql": { "command": "npx", "args": ["-y", "@stackql/mcp-server"] } } }
El lanzador @stackql/mcp-server descarga el binario stackql firmado en la primera ejecución, verifica su SHA-256 y lo guarda en caché para las ejecuciones posteriores.
uvx / pip (Python)
Cuándo usarlo: un entorno Python - el mismo lanzador empaquetado para Python, que comparte la caché de binarios que llena el lanzador npx.
{ "mcpServers": { "stackql": { "command": "uvx", "args": ["stackql-mcp-server"] } } }
O instálelo en el entorno actual con pip install stackql-mcp-server (Python 3.9+). El paquete es stackql-mcp-server en PyPI.
Docker
Cuándo usarlo: un runtime en contenedor o aislado de otra forma. La imagen es multiarquitectura (amd64 y arm64).
docker run -i --rm stackql/stackql-mcp
Como configuración de cliente:
{ "mcpServers": { "stackql": { "command": "docker", "args": ["run", "-i", "--rm", "stackql/stackql-mcp"] } } }
La imagen es stackql/stackql-mcp en Docker Hub.
CI y workflows agénticos (GitHub Actions)
Cuándo usarlo: ejecute el servidor dentro de un job de GitHub Actions para que un agente pueda consultar su nube (y, si usted lo permite, actuar sobre ella) como parte de la CI.
stackql/setup-stackql-mcp@v1 instala el binario y escribe una configuración de MCP (con el modo read_only de forma predeterminada). Pase esa configuración a anthropics/claude-code-action mediante 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__*'
Consulte el README de la acción para ver más recetas agénticas (auditorías de nube, estimaciones de costos, etc.).
MCP integrado
Cuándo usarlo: está creando una aplicación agéntica y quiere incorporar el servidor MCP a su propio binario mediante vendoring - sin npx, sin instalación por separado, sin dependencia de runtime.
Las bibliotecas nativas inician el binario stackql firmado sobre stdio detrás del cliente del SDK oficial de MCP de cada lenguaje, de modo que su aplicación obtiene la misma interfaz SQL gobernada para todos los providers del registro. Cada biblioteca usa read_only de forma predeterminada (el paso a un modo con escritura siempre es explícito) y puede descargar y verificar el binario en la primera ejecución o incorporarlo a su build mediante vendoring para obtener un único ejecutable autónomo. La API completa por lenguaje está en la referencia de MCP integrado.
- Rust
- Go
- Kotlin / JVM
- .NET
- Gleam
- Swift
El crate stackql-mcp inicia el binario detrás de un cliente rmcp. La funcionalidad predeterminada sidecar descarga y verifica el binario en la primera ejecución; la funcionalidad vendored lo integra con include_bytes! para obtener un único binario autónomo. 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?;
Referencia completa: MCP integrado: Rust.
La biblioteca stackql-mcp-go inicia el binario detrás del cliente del SDK oficial de MCP para Go. Incorpore el binario mediante vendoring con go:embed para obtener un único binario autónomo, o deje que lo descargue y verifique en la primera ejecución. Se inicia en modo read_only de forma predeterminada.
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()
Referencia completa: MCP integrado: Go.
La biblioteca io.stackql:stackql-mcp inicia el binario detrás del cliente del SDK oficial de MCP para Kotlin, y un plugin de Gradle complementario conecta ese mismo inicio a un build. Requiere JDK 17 y 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
}
Referencia completa: MCP integrado: Kotlin / JVM.
El paquete StackQL.Mcp inicia el binario detrás del cliente del SDK oficial de MCP para C#. Sidecar de forma predeterminada, o incorpore el bundle mediante vendoring como recurso de build para obtener un ejecutable autónomo. Requiere .NET 8 o posterior.
dotnet add package StackQL.Mcp
using StackQL.Mcp;
await using var server = await StackqlMcp.CreateBuilder()
.WithMode(StackqlMode.ReadOnly)
.StartAsync();
var tools = await server.ListToolsAsync();
Referencia completa: MCP integrado: .NET / C#.
La biblioteca stackql_mcp está dirigida al runtime Erlang/BEAM y expone el servidor como un hijo de OTP mediante child_spec(), de modo que puede formar parte de su propio árbol de supervisión. Se inicia en modo read_only de forma predeterminada.
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)
Referencia completa: MCP integrado: Gleam.
El paquete stackql-mcp-swift inicia el binario detrás del cliente del SDK oficial de MCP para Swift. El binario darwin-universal está firmado con Developer ID y notarizado por Apple, por lo que puede incluirlo dentro de una .app firmada y mantener válida la notarización de la aplicación. Requiere macOS 13+ y 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()
Referencia completa: MCP integrado: Swift.
Modelo de confianza
Las mismas propiedades de seguridad se cumplen en todos los canales:
- El binario
stackqlintegrado está firmado con Authenticode (Windows) y notarizado por Apple (macOS). - Cada bundle
.mcpbse distribuye con una suma de comprobación SHA-256 publicada en la página de la versión. - Los lanzadores
npxyuvxverifican el SHA-256 del binario descargado antes del primer uso. - La entrada del MCP Registry certifica los hashes por plataforma.
Usar GitHub Actions
Las GitHub Actions de StackQL están disponibles para usarlas en sus workflows de GitHub Actions. Están disponibles las siguientes acciones:
- stackql-deploy
- setup-stackql
- setup-stackql-mcp
- stackql-exec
- stackql-assert
stackql-deploy
Despliegue o pruebe stacks de infraestructura con StackQL directamente desde sus workflows de GitHub. Esta acción habilita workflows de infraestructura como código (IaC) con una sintaxis similar a SQL, lo que le permite definir, desplegar y gestionar recursos en la nube de varios providers en un único workflow.
Ejemplo de uso
...
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
Configure StackQL en su workflow de GitHub Actions.
Ejemplo de uso
- 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
Instale el servidor MCP de StackQL en su workflow de GitHub Actions. La acción instala el binario firmado y escribe una configuración mcpServers (con el modo read_only de forma predeterminada) que un paso agéntico como anthropics/claude-code-action consume mediante claude_args.
Ejemplo de uso
- 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
Ejecute comandos de StackQL en su workflow de GitHub Actions. Las consultas se pueden proporcionar en línea o desde un archivo del repositorio.
Ejemplo de uso
- 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
Realice pruebas unitarias en su workflow de GitHub Actions (para comprobaciones de aseguramiento, gobernanza o seguridad en la nube).
Ejemplo de uso
- 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 }}
Otras bibliotecas
StackQL ofrece varios métodos de integración que permiten usarlo en distintos lenguajes de programación y entornos. Estas bibliotecas amplían la funcionalidad de StackQL y facilitan la incorporación de la consulta y la gestión de recursos en la nube a sus aplicaciones y workflows existentes.
- pystackql
Paquete de Python pystackql
Wrapper de Python para usar StackQL en sus programas de Python. El paquete pystackql está disponible en PyPi; la documentación del paquete pystackql está disponible en Read the Docs. Para instalar el paquete pystackql, ejecute el siguiente comando:
pip install pystackql
El siguiente ejemplo muestra el paquete pystackql usado junto con pandas para ejecutar consultas de StackQL y devolver los resultados en 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)