From a2cfe283ee9fd5336721036b6caccef1126bbd9c Mon Sep 17 00:00:00 2001 From: Marcel Tyszkiewicz Date: Tue, 7 Nov 2023 14:36:34 +0100 Subject: [PATCH 01/10] Add concurrency setting and docs/makefile for publishing --- Makefile | 14 +++- README.md | 113 +++++---------------------- client/spec.go | 1 + docs/overview.md | 97 +++++++++++++++++++++++ docs/tables/README.md | 2 +- docs/tables/coinpaprika_coins.md | 2 + docs/tables/coinpaprika_exchanges.md | 8 +- docs/tables/coinpaprika_tickers.md | 8 +- plugin/client.go | 1 + test/config.yml | 26 ++++++ 10 files changed, 170 insertions(+), 102 deletions(-) create mode 100644 docs/overview.md create mode 100644 test/config.yml diff --git a/Makefile b/Makefile index 638c40c..1155ae2 100644 --- a/Makefile +++ b/Makefile @@ -11,8 +11,18 @@ lint: .PHONY: gen-docs gen-docs: - rm -rf ./docs/tables/* - go run main.go doc ./docs/tables + @command -v cloudquery >/dev/null 2>&1 || { \ + echo "Error: 'cloudquery' command not found. Please install it before running gen-docs."; \ + echo "You can install it by following the instructions at: https://www.cloudquery.io/docs/quickstart"; \ + exit 1; \ + } + rm -rf docs/tables + cloudquery tables --format markdown --output-dir docs/ test/config.yml + mv -vf docs/coinpaprika docs/tables + +.PHONY: dist +dist: + go run main.go package -m "Release ${VERSION}" ${VERSION} . .PHONY: gen-mocks gen-mocks: diff --git a/README.md b/README.md index e4a90da..a36412a 100644 --- a/README.md +++ b/README.md @@ -19,100 +19,9 @@ It provides a streamlined approach to accessing, querying, and manipulating data - [CloudQuery Quickstart Guide](https://www.cloudquery.io/docs/quickstart) - [Supported Tables](docs/tables/README.md) +## Using the plugin -## Configuration - -The following source configuration file will sync to a PostgreSQL database. See [the CloudQuery Quickstart](https://www.cloudquery.io/docs/quickstart) for more information on how to configure the source and destination. - -1. Without API token, `Free` plan (25 000 calls/month) minimal interval 1h, see [available history range depending on the selected API plan](https://api.coinpaprika.com/#tag/Tickers/operation/getTickersHistoricalById). - - ```yaml - kind: source - spec: - name: "coinpaprika" - path: "coinpaprika/coinpaprika" - version: "v2.0.0" - backend_options: - table_name: "cq_state_coinpaprika" - connection: "@@plugins.sqlite.connection" - tables: - [ "*" ] - destinations: - - "sqlite" - spec: - api_debug: true - start_date: "2023-05-15T08:00:00Z" # for free plan up to 1 year ago - interval: 24h - rate_duration: 30d - rate_number: 25000 - tickers: - ["btc-bitcoin"] - --- - kind: destination - spec: - name: sqlite - path: cloudquery/sqlite - registry: cloudquery - version: "v2.4.15" - spec: - connection_string: ./db.sql - ``` - -2. With API token rate limited for `Bussines` plan (3 000 000 calls/month). API token can be generated at [coinpaprika.com/api](https://coinpaprika.com/api). - - ```yaml - kind: source - spec: - name: "coinpaprika" - path: "coinpaprika/coinpaprika" - version: "v2.0.0" - backend_options: - table_name: "cq_state_coinpaprika" - connection: "@@plugins.sqlite.connection" - tables: - [ "*" ] - destinations: - - "sqlite" - spec: - start_date: "2023-05-15T08:00:00Z" - interval: 5m - access_token: "${COINPAPRIKA_API_TOKEN}" - api_debug: true - rate_duration: 30d - rate_number: 3000000 - tickers: - ["*-bitcoin", "eth-ethereum"] - --- - kind: destination - spec: - name: sqlite - path: cloudquery/sqlite - registry: cloudquery - version: "v2.4.15" - spec: - connection_string: ./db.sql - ``` - -| Spec fields | Description | Default value | Optional | -|---------------|----------------------------------------------------------------------------------------------------------------------------|---------------|----------| -| start_date | Start date for synchronizing data in RFC3339 format. | | NO | -| end_date | End date for synchronizing data in RFC3339 format. | NOW | YES | -| interval | Intervals for historic data [possible values](https://api.coinpaprika.com/#tag/Tickers/operation/getTickersHistoricalById) | | NO | -| access_token | Coinpaprika [API token](https://coinpaprika.com/api). | | YES | -| api_debug | Enable request log. | false | YES | -| rate_duration | Unit of rate in time of request rate, go duration format. | 30 | YES | -| rate_number | Number of request in `rate_duration`. | 30 | YES | -| tickers | list of globe pattern ticker ids to synchronize. | * | YES | - - -The Coinpaprika plugin supports incremental syncing for historical tickers, only new tickers will be fetched. This is done by storing last timestamp of fetched ticker in CloudQuery backend. To enable this, `backend` option must be set in the spec. - -## Running -```bash -# https://www.cloudquery.io/docs -brew install cloudquery/tap/cloudquery -cloudquery sync conf.yml -``` +See [overview.md](docs/overview.md). ## Development @@ -141,3 +50,21 @@ make gen-docs Once the tag is pushed, a new GitHub Actions workflow will be triggered to build the release binaries and create the new release on GitHub. To customize the release notes, see the Go releaser [changelog configuration docs](https://goreleaser.com/customization/changelog/#changelog). + +### Publish a new version to the Cloudquery Hub + +After tagging a release, you can build and publish a new version to the [Cloudquery Hub](https://hub.cloudquery.io/) by running the following commands. +Replace `v1.0.0` with the new version number. + +```bash +# "make dist" uses the README as main documentation and adds a generic release note. Output is created in dist/ +VERSION=v1.0.0 make dist + +# Login to cloudquery hub and publish the new version +cloudquery login +cloudquery plugin publish --finalize +``` + +After publishing the new version, it will show up in the [hub](https://hub.cloudquery.io/). + +For more information please refer to the official [Publishing a Plugin to the Hub](https://www.cloudquery.io/docs/developers/publishing-a-plugin-to-the-hub) guide. \ No newline at end of file diff --git a/client/spec.go b/client/spec.go index a026fbc..895dd27 100644 --- a/client/spec.go +++ b/client/spec.go @@ -9,4 +9,5 @@ type Spec struct { ApiDebug bool `json:"api_debug"` RateNumber int `json:"rate_number"` RateDuration string `json:"rate_duration"` + Concurrency int `json:"concurrency"` } diff --git a/docs/overview.md b/docs/overview.md new file mode 100644 index 0000000..d72e8ac --- /dev/null +++ b/docs/overview.md @@ -0,0 +1,97 @@ +# CloudQuery Coinpaprika Source Plugin + +A Coinpaprika source plugin for CloudQuery that loads data from [Coinpaprika API](https://api.coinpaprika.com) to any database, data warehouse or data lake supported by [CloudQuery](https://www.cloudquery.io/), such as PostgreSQL, BigQuery, Athena, and many more. + +## Configuration + +The following source configuration file will sync to a PostgreSQL database. See [the CloudQuery Quickstart](https://www.cloudquery.io/docs/quickstart) for more information on how to configure the source and destination. + +1. Without API token, `Free` plan (25 000 calls/month) minimal interval 1h, see [available history range depending on the selected API plan](https://api.coinpaprika.com/#tag/Tickers/operation/getTickersHistoricalById). + + ```yaml + kind: source + spec: + name: "coinpaprika" + path: "coinpaprika/coinpaprika" + version: "v2.0.0" + backend_options: + table_name: "cq_state_coinpaprika" + connection: "@@plugins.sqlite.connection" + tables: + [ "*" ] + destinations: + - "sqlite" + spec: + api_debug: true + start_date: "2023-05-15T08:00:00Z" # for free plan up to 1 year ago + interval: 24h + rate_duration: 30d + rate_number: 25000 + tickers: + ["btc-bitcoin"] + --- + kind: destination + spec: + name: sqlite + path: cloudquery/sqlite + registry: cloudquery + version: "v2.4.15" + spec: + connection_string: ./db.sql + ``` + +2. With API token rate limited for `Bussines` plan (3 000 000 calls/month). API token can be generated at [coinpaprika.com/api](https://coinpaprika.com/api). + + ```yaml + kind: source + spec: + name: "coinpaprika" + path: "coinpaprika/coinpaprika" + version: "v2.0.0" + backend_options: + table_name: "cq_state_coinpaprika" + connection: "@@plugins.sqlite.connection" + tables: + [ "*" ] + destinations: + - "sqlite" + spec: + start_date: "2023-05-15T08:00:00Z" + interval: 5m + access_token: "${COINPAPRIKA_API_TOKEN}" + api_debug: true + rate_duration: 30d + rate_number: 3000000 + tickers: + ["*-bitcoin", "eth-ethereum"] + --- + kind: destination + spec: + name: sqlite + path: cloudquery/sqlite + registry: cloudquery + version: "v2.4.15" + spec: + connection_string: ./db.sql + ``` + +| Spec fields | Description | Default value | Optional | +|---------------|----------------------------------------------------------------------------------------------------------------------------|---------------|----------| +| start_date | Start date for synchronizing data in RFC3339 format. | | NO | +| end_date | End date for synchronizing data in RFC3339 format. | NOW | YES | +| interval | Intervals for historic data [possible values](https://api.coinpaprika.com/#tag/Tickers/operation/getTickersHistoricalById) | | NO | +| access_token | Coinpaprika [API token](https://coinpaprika.com/api). | | YES | +| api_debug | Enable request log. | false | YES | +| rate_duration | Unit of rate in time of request rate, go duration format. | 30 | YES | +| rate_number | Number of request in `rate_duration`. | 30 | YES | +| tickers | list of globe pattern ticker ids to synchronize. | * | YES | +| concurrency | Best effort maximum number of Go routines to use. Lower this number to reduce memory usage. | 1000 | YES | + +The Coinpaprika plugin supports incremental syncing for historical tickers, only new tickers will be fetched. This is done by storing last timestamp of fetched ticker in CloudQuery backend. To enable this, `backend` option must be set in the spec. + +## Running +```bash +# https://www.cloudquery.io/docs +brew install cloudquery/tap/cloudquery +cloudquery sync conf.yml +``` \ No newline at end of file diff --git a/docs/tables/README.md b/docs/tables/README.md index 356ec0a..92600e9 100644 --- a/docs/tables/README.md +++ b/docs/tables/README.md @@ -1,4 +1,4 @@ -# Source Plugin: coinpaprika +# Source Plugin: coinpaprika-coinpaprika ## Tables diff --git a/docs/tables/coinpaprika_coins.md b/docs/tables/coinpaprika_coins.md index 1cbc933..8decfe0 100644 --- a/docs/tables/coinpaprika_coins.md +++ b/docs/tables/coinpaprika_coins.md @@ -15,6 +15,8 @@ The following tables depend on coinpaprika_coins: | Name | Type | | ------------- | ------------- | +|_cq_source_name|`utf8`| +|_cq_sync_time|`timestamp[us, tz=UTC]`| |_cq_id|`uuid`| |_cq_parent_id|`uuid`| |id (PK)|`utf8`| diff --git a/docs/tables/coinpaprika_exchanges.md b/docs/tables/coinpaprika_exchanges.md index 8546783..654b0e2 100644 --- a/docs/tables/coinpaprika_exchanges.md +++ b/docs/tables/coinpaprika_exchanges.md @@ -2,15 +2,17 @@ This table shows data for Coinpaprika Exchanges. -The primary key for this table is **id**. +The primary key for this table is **_cq_id**. ## Columns | Name | Type | | ------------- | ------------- | -|_cq_id|`uuid`| +|_cq_source_name|`utf8`| +|_cq_sync_time|`timestamp[us, tz=UTC]`| +|_cq_id (PK)|`uuid`| |_cq_parent_id|`uuid`| -|id (PK)|`utf8`| +|id|`utf8`| |name|`utf8`| |message|`utf8`| |description|`utf8`| diff --git a/docs/tables/coinpaprika_tickers.md b/docs/tables/coinpaprika_tickers.md index 9fae20d..22b6f1a 100644 --- a/docs/tables/coinpaprika_tickers.md +++ b/docs/tables/coinpaprika_tickers.md @@ -4,7 +4,7 @@ This table shows data for Coinpaprika Tickers. https://api.coinpaprika.com/#tag/Tickers/operation/getTickersHistoricalById -The composite primary key for this table is (**coin_id**, **timestamp**). +The composite primary key for this table is (**id**, **timestamp**). It supports incremental syncs based on the **timestamp** column. ## Relations @@ -14,10 +14,12 @@ This table depends on [coinpaprika_coins](coinpaprika_coins.md). | Name | Type | | ------------- | ------------- | +|_cq_source_name|`utf8`| +|_cq_sync_time|`timestamp[us, tz=UTC]`| |_cq_id|`uuid`| |_cq_parent_id|`uuid`| -|coin_id (PK)|`utf8`| -|timestamp (PK) (Incremental Key)|`timestamp[us, tz=UTC]`| +|id (PK)|`utf8`| +|timestamp (PK) (Incremental Key)|`utf8`| |price|`float64`| |volume_24h|`float64`| |market_cap|`float64`| \ No newline at end of file diff --git a/plugin/client.go b/plugin/client.go index 3a04bba..97d968a 100644 --- a/plugin/client.go +++ b/plugin/client.go @@ -108,6 +108,7 @@ func Configure(_ context.Context, logger zerolog.Logger, specBytes []byte, opts tables: tables, scheduler: scheduler.NewScheduler( scheduler.WithLogger(logger), + scheduler.WithConcurrency(config.Concurrency), ), }, nil } diff --git a/test/config.yml b/test/config.yml new file mode 100644 index 0000000..01f5470 --- /dev/null +++ b/test/config.yml @@ -0,0 +1,26 @@ +kind: source +spec: + name: "coinpaprika" + path: "coinpaprika/coinpaprika" + version: "v1.0.1" + backend_options: + table_name: "cq_state_coinpaprika" + connection: "@@plugins.sqlite.connection" + tables: + [ "*" ] + destinations: + - "test" + spec: + api_debug: true + start_date: "2023-05-15T08:00:00Z" # for free plan up to 1 year ago + interval: 24h + rate_duration: 30d + rate_number: 25000 + tickers: + ["btc-bitcoin"] +--- +kind: destination +spec: + name: test + path: cloudquery/test + version: "v2.2.3" # latest version of test plugin \ No newline at end of file From f0f6ca57b8b71af3e15f74540da2ceb05b206e70 Mon Sep 17 00:00:00 2001 From: Marcel Tyszkiewicz Date: Wed, 8 Nov 2023 12:26:51 +0100 Subject: [PATCH 02/10] Makefile update --- Makefile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 1155ae2..3ba5519 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,20 @@ +.PHONY: build +build: + go build + .PHONY: test test: - go test -timeout 3m ./... + go test -race -timeout 3m ./... .PHONY: lint lint: @if test ! -e ./bin/golangci-lint; then \ curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh; \ fi - @./bin/golangci-lint run --timeout 3m + @./bin/golangci-lint run --timeout 3m --verbose .PHONY: gen-docs -gen-docs: +gen-docs: build @command -v cloudquery >/dev/null 2>&1 || { \ echo "Error: 'cloudquery' command not found. Please install it before running gen-docs."; \ echo "You can install it by following the instructions at: https://www.cloudquery.io/docs/quickstart"; \ From 24d77eb5baae128c07a1ba7f748f8a740c11d683 Mon Sep 17 00:00:00 2001 From: Marcel Tyszkiewicz Date: Wed, 8 Nov 2023 12:44:09 +0100 Subject: [PATCH 03/10] Use local plugin for generating docs --- docs/tables/README.md | 2 +- docs/tables/coinpaprika_coins.md | 4 ---- docs/tables/coinpaprika_exchanges.md | 10 +++------- docs/tables/coinpaprika_tickers.md | 10 +++------- test/config.yml | 19 ++++--------------- 5 files changed, 11 insertions(+), 34 deletions(-) diff --git a/docs/tables/README.md b/docs/tables/README.md index 92600e9..356ec0a 100644 --- a/docs/tables/README.md +++ b/docs/tables/README.md @@ -1,4 +1,4 @@ -# Source Plugin: coinpaprika-coinpaprika +# Source Plugin: coinpaprika ## Tables diff --git a/docs/tables/coinpaprika_coins.md b/docs/tables/coinpaprika_coins.md index 8decfe0..b56f5e0 100644 --- a/docs/tables/coinpaprika_coins.md +++ b/docs/tables/coinpaprika_coins.md @@ -1,7 +1,5 @@ # Table: coinpaprika_coins -This table shows data for Coinpaprika Coins. - https://api.coinpaprika.com/#tag/Coins/paths/~1coins/get The primary key for this table is **id**. @@ -15,8 +13,6 @@ The following tables depend on coinpaprika_coins: | Name | Type | | ------------- | ------------- | -|_cq_source_name|`utf8`| -|_cq_sync_time|`timestamp[us, tz=UTC]`| |_cq_id|`uuid`| |_cq_parent_id|`uuid`| |id (PK)|`utf8`| diff --git a/docs/tables/coinpaprika_exchanges.md b/docs/tables/coinpaprika_exchanges.md index 654b0e2..f8caabc 100644 --- a/docs/tables/coinpaprika_exchanges.md +++ b/docs/tables/coinpaprika_exchanges.md @@ -1,18 +1,14 @@ # Table: coinpaprika_exchanges -This table shows data for Coinpaprika Exchanges. - -The primary key for this table is **_cq_id**. +The primary key for this table is **id**. ## Columns | Name | Type | | ------------- | ------------- | -|_cq_source_name|`utf8`| -|_cq_sync_time|`timestamp[us, tz=UTC]`| -|_cq_id (PK)|`uuid`| +|_cq_id|`uuid`| |_cq_parent_id|`uuid`| -|id|`utf8`| +|id (PK)|`utf8`| |name|`utf8`| |message|`utf8`| |description|`utf8`| diff --git a/docs/tables/coinpaprika_tickers.md b/docs/tables/coinpaprika_tickers.md index 22b6f1a..fbcabdb 100644 --- a/docs/tables/coinpaprika_tickers.md +++ b/docs/tables/coinpaprika_tickers.md @@ -1,10 +1,8 @@ # Table: coinpaprika_tickers -This table shows data for Coinpaprika Tickers. - https://api.coinpaprika.com/#tag/Tickers/operation/getTickersHistoricalById -The composite primary key for this table is (**id**, **timestamp**). +The composite primary key for this table is (**coin_id**, **timestamp**). It supports incremental syncs based on the **timestamp** column. ## Relations @@ -14,12 +12,10 @@ This table depends on [coinpaprika_coins](coinpaprika_coins.md). | Name | Type | | ------------- | ------------- | -|_cq_source_name|`utf8`| -|_cq_sync_time|`timestamp[us, tz=UTC]`| |_cq_id|`uuid`| |_cq_parent_id|`uuid`| -|id (PK)|`utf8`| -|timestamp (PK) (Incremental Key)|`utf8`| +|coin_id (PK)|`utf8`| +|timestamp (PK) (Incremental Key)|`timestamp[us, tz=UTC]`| |price|`float64`| |volume_24h|`float64`| |market_cap|`float64`| \ No newline at end of file diff --git a/test/config.yml b/test/config.yml index 01f5470..4a3d1b4 100644 --- a/test/config.yml +++ b/test/config.yml @@ -1,26 +1,15 @@ kind: source spec: name: "coinpaprika" - path: "coinpaprika/coinpaprika" + path: "./cq-source-coinpaprika" + registry: "local" version: "v1.0.1" - backend_options: - table_name: "cq_state_coinpaprika" - connection: "@@plugins.sqlite.connection" - tables: - [ "*" ] + tables: ["*"] destinations: - "test" - spec: - api_debug: true - start_date: "2023-05-15T08:00:00Z" # for free plan up to 1 year ago - interval: 24h - rate_duration: 30d - rate_number: 25000 - tickers: - ["btc-bitcoin"] --- kind: destination spec: name: test path: cloudquery/test - version: "v2.2.3" # latest version of test plugin \ No newline at end of file + version: "v2.2.3" \ No newline at end of file From 30cea496863586b3e718d9c052a1d98206e37a3e Mon Sep 17 00:00:00 2001 From: Marcel Tyszkiewicz Date: Wed, 8 Nov 2023 13:31:22 +0100 Subject: [PATCH 04/10] Add cloudquery setup to github actions --- .github/workflows/test.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index d5333cc..05ae50f 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -27,6 +27,11 @@ jobs: args: --timeout=3m skip-pkg-cache: true skip-build-cache: true + - name: Setup CloudQuery + if: github.event_name == 'pull_request' + uses: cloudquery/setup-cloudquery@v3 + with: + version: v3.28.0 - name: Get dependencies run: go get -t -d ./... - name: Build From d48bb07611db65a23700a38fbc13dd08257db639 Mon Sep 17 00:00:00 2001 From: Marcel Tyszkiewicz Date: Wed, 8 Nov 2023 13:46:19 +0100 Subject: [PATCH 05/10] wip --- .github/workflows/test.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 05ae50f..05fac92 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -28,7 +28,7 @@ jobs: skip-pkg-cache: true skip-build-cache: true - name: Setup CloudQuery - if: github.event_name == 'pull_request' +# if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: version: v3.28.0 @@ -43,4 +43,4 @@ jobs: run: make gen - name: Fail if generation updated files if: github.event_name == 'pull_request' - run: test "$(git status -s | wc -l)" -eq 0 || (git status -s; exit 1) + run: test "$(git status -s | wc -l)" -eq 0 || (git status -s; exit 1) \ No newline at end of file From 2924f8010f14081d6538262ade02aeba7d90938a Mon Sep 17 00:00:00 2001 From: Marcel Tyszkiewicz Date: Mon, 13 Nov 2023 13:20:23 +0100 Subject: [PATCH 06/10] revert --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 05fac92..e371364 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -28,7 +28,7 @@ jobs: skip-pkg-cache: true skip-build-cache: true - name: Setup CloudQuery -# if: github.event_name == 'pull_request' + if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: version: v3.28.0 From add3fc56e344a0f5449895a6b932545d02021151 Mon Sep 17 00:00:00 2001 From: Marcel Tyszkiewicz Date: Mon, 13 Nov 2023 13:28:26 +0100 Subject: [PATCH 07/10] Ignore cloudquery executable --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1bcd07d..35f6464 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ cq-source-coinpaprika .cq coinpaprika.yml +cloudquery dist *.log From b50383c5d5182f342dcf2cb09de2fcf61e2f66e2 Mon Sep 17 00:00:00 2001 From: Marcel Tyszkiewicz Date: Mon, 13 Nov 2023 13:32:57 +0100 Subject: [PATCH 08/10] doc updates --- docs/overview.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index d72e8ac..11b62f8 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -8,11 +8,12 @@ The following source configuration file will sync to a PostgreSQL database. See 1. Without API token, `Free` plan (25 000 calls/month) minimal interval 1h, see [available history range depending on the selected API plan](https://api.coinpaprika.com/#tag/Tickers/operation/getTickersHistoricalById). - ```yaml + ```yaml copy kind: source spec: name: "coinpaprika" path: "coinpaprika/coinpaprika" + registry: "cloudquery" version: "v2.0.0" backend_options: table_name: "cq_state_coinpaprika" @@ -42,11 +43,12 @@ The following source configuration file will sync to a PostgreSQL database. See 2. With API token rate limited for `Bussines` plan (3 000 000 calls/month). API token can be generated at [coinpaprika.com/api](https://coinpaprika.com/api). - ```yaml + ```yaml copy kind: source spec: name: "coinpaprika" path: "coinpaprika/coinpaprika" + registry: "cloudquery" version: "v2.0.0" backend_options: table_name: "cq_state_coinpaprika" From 9f5a85144ecf44d9718a68deeef88ffa14e4da02 Mon Sep 17 00:00:00 2001 From: Marcel Tyszkiewicz Date: Mon, 13 Nov 2023 13:33:41 +0100 Subject: [PATCH 09/10] sqlite update --- docs/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 11b62f8..cc503cb 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -36,7 +36,7 @@ The following source configuration file will sync to a PostgreSQL database. See name: sqlite path: cloudquery/sqlite registry: cloudquery - version: "v2.4.15" + version: "v2.4.16" spec: connection_string: ./db.sql ``` @@ -72,7 +72,7 @@ The following source configuration file will sync to a PostgreSQL database. See name: sqlite path: cloudquery/sqlite registry: cloudquery - version: "v2.4.15" + version: "v2.4.16" spec: connection_string: ./db.sql ``` From d4b4c659d3eb6ca698edea211e3db550639855d6 Mon Sep 17 00:00:00 2001 From: Marcel Tyszkiewicz Date: Mon, 20 Nov 2023 14:56:11 +0100 Subject: [PATCH 10/10] Fix typo --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index cc503cb..af6a204 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -41,7 +41,7 @@ The following source configuration file will sync to a PostgreSQL database. See connection_string: ./db.sql ``` -2. With API token rate limited for `Bussines` plan (3 000 000 calls/month). API token can be generated at [coinpaprika.com/api](https://coinpaprika.com/api). +2. With API token rate limited for `Business` plan (3 000 000 calls/month). API token can be generated at [coinpaprika.com/api](https://coinpaprika.com/api). ```yaml copy kind: source