Giter Club home page Giter Club logo

jreyesr / steampipe-postgres-fdw Goto Github PK

View Code? Open in Web Editor NEW

This project forked from turbot/steampipe-postgres-fdw

0.0 1.0 0.0 8.9 MB

The Steampipe foreign data wrapper (FDW) is a zero-ETL product that provides Postgres foreign tables which translate queries into API calls to cloud services and APIs. It's bundled with Steampipe and also available as a set of standalone extensions for use in your own Postgres database.

Home Page: https://steampipe.io/

License: Apache License 2.0

Shell 6.83% C 20.25% Go 69.21% Makefile 2.78% Dockerfile 0.93%

steampipe-postgres-fdw's Introduction

Steampipe Postgres FDW

Overview

The Steampipe Postgres Foreign Data Wrapper (FDW) is a Postgres extension that translates APIs to foreign tables. It does not directly interface with external systems, but instead relies on plugins to implement API- or provider-specific code that returns data in a standard format via gRPC. See the Writing Plugins guide to get started writing Steampipe plugins.

The FDW is part of the Steampipe project. Bundled with the Steampipe CLI, it works with one or more of the plugins you install in Steampipe. You can also install one or more plugin-specific extensions in your own instance of Postgres.

Getting Started

To use the FDW with Steampipe, download Steampipe and use it to install one or more plugins.

You can also use a standalone installer that enables you to choose a plugin and download the FDW for that plugin.

Installation guide โ†’

Developing

Building the FDW for Steampipe

Make sure that you have the following installed in your system:

  1. Postgresql v14
  2. go
  3. gcc for Linux

For instructions on how to install PostgreSQL, please visit: https://www.postgresql.org/download/

For instruction on how to install golang, please visit: https://go.dev/dl/

Steps:

  1. Clone this repository onto your system
  2. Change to the cloned directory
  3. Run the following commands:
$ make

This will compile the FDW (steampipe_postgres_fdw.so) along with the control and sql file in the build-$PLATFORM directory. This will install the compiled FDW into the default Steampipe installation directory (~/.steampipe) - if it exists.

Building the FDW as a standalone extension

To build the FDW for one particular plugin, and run it as a standalone extension in any PostgreSQL database without relying on Steampipe:

Make sure that you have the following installed in your system:

  1. Postgresql v14
  2. go
  3. gcc for Linux

Steps:

  1. Clone this repository onto your system
  2. Change to the cloned directory
  3. Run the following commands:
$ make standalone plugin="<plugin alias>"

Replace plugin alias with the alias or short name of your plugin.

This command will compile the FDW specifically for the chosen plugin, and the resulting binary, control file, and SQL files will be generated.

Example

Suppose you want to build the FDW for a plugin with an alias aws from a GitHub repository located at https://github.com/turbot/steampipe-plugin-aws. You would run the following command:

$ make standalone plugin="aws"

Open Source & Contributing

This repository is published under the Apache 2.0 license. Please see our code of conduct. We look forward to collaborating with you!

Steampipe is a product produced exclusively by Turbot HQ, Inc. It is distributed under our commercial terms. Others are allowed to make their own distribution of the software, but cannot use any of the Turbot trademarks, cloud services, etc. You can learn more in our Open Source FAQ.

steampipe-postgres-fdw's People

Contributors

kaidaguerre avatar dependabot[bot] avatar pskrbasu avatar binaek avatar e-gineer avatar pdecat avatar judell avatar dim-ops avatar theotherbrian1 avatar johnsmyth avatar jreyesr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.