Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Query, provision and operate Cloud and SaaS resources and APIs using an extensible SQL based framework

License

NotificationsYou must be signed in to change notification settings

stackql/stackql

logo
badge1badge2badge3badge4

homebrew downloadshomebrew versionGitHub Downloads (all assets, all releases)GitHub ReleaseDocker PullsDocker Image VersionChocolatey DownloadsChocolatey VersionPyPI - Downloads

Deploy, manage and query cloud resources and interact with APIs using SQL

Read the docs »
Raise an Issue ·Request a Feature ·Developer Guide ·BYO Providers

Contents
  1. About The Project
  2. Installation
  3. Usage
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgements

About The Project

StackQL is an open-source project built with Golang that allows you to create, modify and query the state of services and resources across different local and remote interfaces, using SQL semantics. Such interfaces canonically include, but are not limited to, cloud and SaaS providers (Google, AWS, Azure, Okta, GitHub, etc.).

stackql-shellstackql-shell

How it works

StackQL is a standalone application that can be used in client mode (viaexec orshell) or accessed via a Postgres wire protocol client (psycopg2, etc.) using server mode (srv).

StackQL parses SQL statements and transpiles them into API requests to the (cloud) resource provider. The API calls are then executed and the results are returned to the user.

StackQL provider interfaces are canonically defined in OpenAPI extensions to the providers' specification. These definitions are then used to generate the SQL schema and the API client. The source for the provider definitions are stored in theStackQL Registry. The semantics of provider interactions are defined inourany-sdk library. For more detail on nuts and bolts, please seethe localAGENTS.md file andthat ofany-sdk.

StackQL Context Diagram
The following context diagram describes the StackQL architecture at a high level:
flowchart LR  subgraph StackQL    direction BT    subgraph ProviderDefs        Registry[Provider Registry Docs]        end    subgraph App        Proc[$ stackql exec\n$ stackql shell\n$ stackql srv]        style Proc fill:#000,stroke:#000,color:#fff,text-align:left;        %% ,font-family:'Courier New', Courier, monospace    end  end  User((User)) <--> StackQL <--> Provider[Cloud Provider API]  ProviderDefs --> App
Loading

More detailed design documentation can be found in thehere.

Installation

StackQL is available for Windows, MacOS, Linux, Docker, GitHub Actions and more. See the installation instructions below for your platform.

Installing on MacOS
  • Homebrew (amd64 andarm64)
    • brew install stackqlorbrew tap stackql/tap && brew install stackql/tap/stackql
  • MacOS PKG Installer (amd64 andarm64)
Installing on Windows
  • MSI Installer
  • Chocolatey
  • ZIP Archive
    • download the latestWindows ZIP archive for StackQL
    • extract the archive (code signedstackql.exe file) to a directory of your choice
    • add the directory to yourPATH environment variable (optional)
Installing on Linux
  • ZIP Archive
    • download the latestLinux ZIP archive for StackQL
      • or viacurl -L https://bit.ly/stackql-zip -O && unzip stackql-zip
    • extract the archive (stackql file) to a directory of your choice
    • add the directory to yourPATH environment variable (optional)
Getting StackQL from DockerHub

View all available StackQL images onDockerHub. Images available includestackql,stackql-jupyter-demo and more. Pull the latest StackQL base image using:

docker pull stackql/stackql
Using StackQL with GitHub Actions

Use StackQL in your GitHub Actions workflows to automate cloud infrastructure provisioning, IaC assurance, or compliance/security. Available GitHub Actions include:setup-stackql,stackql-exec and more

Usage

StackQL can be used via the interactive REPL shell, or via theexec command or ran as a server using thePostgres wire protocol.

ℹ️ StackQL does not require or install a database.

  • Interactive Shell

    # run interactive stackql queriesstackql shell --auth="${AUTH}"
  • Execute a statement or file

    stackqlexec --auth="${AUTH}" -i myscript.iql --iqldata vars.jsonnet --output json# orstackqlexec --auth="${AUTH}""SELECT id, status FROM aws.ec2.instances WHERE region = 'us-east-1'"

    ℹ️ output options ofjson,csv,table andtext are available for theexec command using the--output flag

    ℹ️ StackQL supports passing parameters usingjsonnet orjson, seeUsing Variables

  • Server

    # serve client requests over the Postgres wire protocol (psycopg2, etc.)stackql srv --auth="${AUTH}"

For more examples, please check ourBlog

Contributing

Contributions are welcome and encouraged. For more information on how to contribute, please see ourcontributing guide.

License

Distributed under the MIT License. SeeLICENSE for more information. Licenses for third party software we are using are included in the/docs/licenses directory.

Contact

Get in touch with us via Twitter at@stackql, email us atinfo@stackql.io or start a conversation usingdiscussions.

Acknowledgements

Forks of the following support our work:

We gratefully acknowledge these pieces of work.

Sponsor this project

 

Contributors21


[8]ページ先頭

©2009-2025 Movatter.jp