{"id":21262921,"url":"https://github.com/stackql/stackql-provider-registry","last_synced_at":"2025-07-11T04:31:35.176Z","repository":{"id":37019800,"uuid":"441087132","full_name":"stackql/stackql-provider-registry","owner":"stackql","description":"Registry for cloud and SaaS providers for StackQL, generated from extensions to the providers OpenAPI3 specification","archived":false,"fork":false,"pushed_at":"2024-11-15T06:43:53.000Z","size":134028,"stargazers_count":23,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"dev","last_synced_at":"2024-11-15T07:30:41.750Z","etag":null,"topics":["asset-management","cloud","cloud-automation","cloud-security","devops","devsecops","gcp","github","hacktoberfest","netlify","okta","openapi3","sql","stackql"],"latest_commit_sha":null,"homepage":"https://registry.stackql.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stackql.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-23T06:39:01.000Z","updated_at":"2024-11-12T03:01:20.000Z","dependencies_parsed_at":"2023-02-10T19:31:20.063Z","dependency_job_id":"84215b5d-2f05-4473-90c5-6697058c0ba1","html_url":"https://github.com/stackql/stackql-provider-registry","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackql%2Fstackql-provider-registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackql%2Fstackql-provider-registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackql%2Fstackql-provider-registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackql%2Fstackql-provider-registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stackql","download_url":"https://codeload.github.com/stackql/stackql-provider-registry/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225674897,"owners_count":17506272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asset-management","cloud","cloud-automation","cloud-security","devops","devsecops","gcp","github","hacktoberfest","netlify","okta","openapi3","sql","stackql"],"created_at":"2024-11-21T04:59:44.116Z","updated_at":"2024-11-21T04:59:44.644Z","avatar_url":"https://github.com/stackql.png","language":"Go","readme":"\u003c!-- language: lang-none --\u003e\n[![GitHub Actions](https://github.com/stackql/stackql-provider-registry/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/stackql/stackql-provider-registry/actions/workflows/main.yml)\n![License](https://img.shields.io/github/license/stackql/stackql)\n\n# StackQL Provider Registry\n\nA repository of `provider` interface documents supporting [stackql](https://stackql.io/) ([stackql GitHub repo](https://github.com/stackql/stackql)). \n\n## Context\n\n\nStackQL provider interface documents inform the stackql application on how to interact with a given provider (like `aws`, `azure`, `google`, etc), including what methods are available in the provider and how to invoke these using SQL semantics.  Provider interface documents are `yaml` formatted, OpenAPI specifications with extensions.  \n\nThe documents are versioned per provider in this repository, and built as signed and compressed as packaged artifacts.  The packaged artifacts are registered and published to the StackQL Provider Registry Artifact Repository in AWS S3.  The provider registry API is a [Deno Deploy](https://deno.com/deploy) application that serves the provider interface documents to the stackql application using the `REGISTRY LIST` and `REGISTRY PULL` commands.  \n\nThe following diagram shows the context of the provider registry:  \n\n```mermaid\nC4Context\n    System_Ext(github_repo, \"stackql-provider-registry\", \"GitHub Repository\")\n    System_Ext(github_actions, \"Build and Deploy\", \"GitHub Actions\")\n    SystemDb(artifact_repo, \"Artifact Repository\", \"AWS S3\")\n    System(deno_registry, \"Provider Registry API\", \"Deno Deploy\")\n    System(stackql, \"StackQL Application\", \"stackql\")\n\n    Rel(github_repo, github_actions, \"triggers...\")\n    Rel(github_actions, artifact_repo, \"registers and pushes to...\", \"signed tgz package\")\n    Rel(github_actions, deno_registry, \"pushes to...\", \"signed tgz package\")\n    Rel(stackql, deno_registry, \"list and pulls registry docs from...\", \"REGISTRY LIST | REGISTRY PULL\")\n    UpdateLayoutConfig($c4ShapeInRow=\"3\", $c4BoundaryInRow=\"0\")\n    UpdateRelStyle(github_repo, github_actions, $offsetY=\"10\", $offsetX=\"-20\")\n    UpdateRelStyle(github_actions, artifact_repo, $offsetY=\"44\", $offsetX=\"-55\")\n    UpdateRelStyle(github_actions, deno_registry, $offsetY=\"-18\", $offsetX=\"-130\")\n    UpdateRelStyle(stackql, deno_registry, $offsetY=\"40\", $offsetX=\"-40\")\n```\n\nThe public StackQL Provider Registry is distributed via [Deno Deploy](https://deno.com/deploy), using the following endpoints:  \n\n| Endpoint | Description |\n| --- | --- |\n| [registry.stackql.app](https://registry.stackql.app/ping) | Production registry (built from `main`) |\n| [registry-dev.stackql.app](https://registry.stackql.app/ping) | Development registry (built from `develop`) |\n\n## Contributing\n\nPlease see [.github/CONTRIBUTING.md](/.github/CONTRIBUTING.md).\n\n## Developing a Provider\n\nStackQL providers are generated from provider OpenAPI or Swagger specifications (either supplied by the provider or constituted through other scripts - for example, [google-discovery-to-openapi](https://github.com/stackql/google-discovery-to-openapi) or [stackql-azure-openapi](https://github.com/stackql/stackql-azure-openapi)).  \n\nOnce you have an OpenAPI specification, you can use the [openapisaurus](https://github.com/stackql/openapisaurus) utility project to generate a StackQL provider document.  \n\n## Build and Deployment Workflow\n\nThe provider registry is built and deployed using GitHub Actions.  Provider documents are validated and tested in workflow steps and then packaged and stored in the artifact repository.  The most recent packaged versions are published to the registry API (a [Deno Deploy](https://deno.com/deploy) application), where they are available from the `stackql` application using `REGISTRY LIST` or `REGISTRY PULL`.  See [docs/build-and-deployment.md](docs/build-and-deployment.md) for more information.  \n\n## Testing a Provider using the `dev` Registry\n\nUse the following steps to test a provider using the `dev` registry:  \n\n```bash\nexport DEV_REG=\"{ \\\"url\\\": \\\"https://registry-dev.stackql.app/providers\\\" }\"\n./stackql --registry=\"${DEV_REG}\" shell\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackql%2Fstackql-provider-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstackql%2Fstackql-provider-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackql%2Fstackql-provider-registry/lists"}