프로젝트 소개
Steampipe는 SQL로 API와 서비스를 쿼리하기 위한 오픈소스 도구로, "제로 ETL" 접근 방식을 따릅니다. 즉, 데이터를 웨어하우스로 복사하는 대신 API 엔드포인트를 실시간으로 쿼리할 수 있는 데이터베이스 테이블에 매핑합니다.
README에 설명된 주요 특징:
- 인터페이스로서의 SQL: 데이터 소스가 테이블로 노출되므로 사용자는 표준 SQL로 쿼리합니다.
- 라이브 데이터: 쿼리는 오래된 복사본이 아니라 기본 API에 실시간으로 접근합니다.
- 동시성: 여러 데이터 소스를 병렬로 쿼리할 수 있습니다.
- 단일 바이너리: 로컬에서 실행하거나 CI/CD 파이프라인에 배포할 수 있습니다.
설치는 macOS에서 Homebrew(brew install turbot/tap/steampipe) 또는 Linux와 Windows(WSL2)용 셸 설치 프로그램을 통해 가능합니다. 설치 후 사용자는 서비스용 플러그인을 추가합니다. 예를 들어:
steampipe plugin install hackernews
그런 다음 대화식으로 쿼리를 실행합니다:
steampipe query
> select * from hackernews_new limit 10
플러그인 생태계: 커뮤니티는 API를 테이블에 매핑하는 플러그인을 유지 관리하며, AWS, Azure, GCP, Kubernetes, GitHub, Microsoft 365, Salesforce 등 다양한 서비스를 포함합니다. README에는 총 2000개 이상의 테이블이 있으며, 각각 복사/붙여넣기/실행 예제와 함께 문서화되어 있다고 명시되어 있습니다.
배포 형태: 동일한 플러그인 모델이 여러 형태로 제공됩니다 — Steampipe CLI(번들된 Postgres 인스턴스에 대한 쿼리), 네이티브 Postgres 외부 테이블을 위한 Postgres Foreign Data Wrappers, 가상 테이블을 위한 SQLite 확장, 데이터베이스 없이 API에서 데이터를 가져오는 독립 실행형 내보내기 바이너리, 그리고 클라우드에서 Steampipe를 실행하기 위한 Turbot Pipes.
개발: 핵심 바이너리를 빌드하려면 저장소를 복제하고 make를 실행합니다. 결과 바이너리는 대체 OUTPUT_DIR을 설정하지 않는 한 /usr/local/bin/steampipe에 배치됩니다. 플러그인 개발은 별도로 문서화되어 있습니다.
라이선스 및 거버넌스: 저장소는 AGPL 3.0에 따라 게시됩니다. 기여자는 첫 풀 리퀘스트에서 Contributor License Agreement에 서명해야 하며, 행동 강령이 적용됩니다. README는 Steampipe가 Turbot HQ, Inc.가 이 오픈소스 소프트웨어로부터 생산한 제품이며 상업적 조건에 따라 배포된다는 점, 그리고 다른 사람들이 소프트웨어를 재배포할 수 있지만 Turbot 상표나 클라우드 서비스를 사용할 수는 없다는 점을 명시합니다.
커뮤니티 지원은 README에서 링크된 Slack 채널을 통해 이용할 수 있습니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.