From 33f413eaf22d84cfb38eb2554ccecec063b1e4fb Mon Sep 17 00:00:00 2001 From: KtorZ Date: Fri, 9 Feb 2024 16:50:14 +0100 Subject: [PATCH] Bump version to v2.8.0 --- CHANGELOG.md | 2 +- Makefile | 2 +- README.md | 4 +- docs/api/{v2.7.1.yaml => v2.7.2.yaml} | 2 +- docs/api/{v2.6.1.yaml => v2.8.0.yaml} | 107 +++++++++++++++++++++----- docs/index.html | 4 +- kupo.cabal | 6 +- package.yaml | 2 +- 8 files changed, 99 insertions(+), 30 deletions(-) rename docs/api/{v2.7.1.yaml => v2.7.2.yaml} (99%) rename docs/api/{v2.6.1.yaml => v2.8.0.yaml} (96%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a54bac0..6410b845 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### [2.8.0] - UNRELEASED +### [2.8.0] - 2024-02-09 #### Added diff --git a/Makefile b/Makefile index 3aa56c5d..0d67df0c 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ NETWORK := preview OS := $(shell uname -s | sed 's/Linux/linux/' | sed 's/Darwin/osx/') ARCH := $(shell uname -m | sed 's/X86/x86_64/' | sed 's/arm64/aarch64/') NIX_GHC := $(shell echo $(GHC) | sed 's/^\([0-9]\)\.\([0-9]\)\..*/\1\2/') -NIX_SHELL := github:input-output-hk/devx\#ghc$(NIX_GHC)-static-minimal-iog +NIX_SHELL := github:CardanoSolutions/devx\#ghc$(NIX_GHC)-static-minimal-iog NIX_OPTS := --no-write-lock-file --refresh VERSION := $(shell cat package.yaml| grep "version:" | sed "s/[^0-9]*\([0-9]\)\(.[0-9].[0-9]\)*\(-.*\)*/\1\2\3/") TAG := $(shell echo $(VERSION) | sed "s/^0$$/nightly/") diff --git a/README.md b/README.md index bde23c93..0354689f 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Finally, [discussions 💡][discussions] contains ongoing discussions regarding | Architecture | arm64 / amd64 | | RAM | 256MB-2048MB[^1] | | CPU | 2+ cores | -| Disk Storage | 1MB-40GB[^2] | +| Disk Storage | 1MB-220GB[^2] | # Continuous Integration @@ -131,4 +131,4 @@ A big thank to [all our sponsors 💖](https://github.com/CardanoSolutions#-spon [^1]: The maximum memory usage depends on runtime flags and internal settings. This can be made lower if necessary (possibly as small as a hundred megabytes) by tweaking those settings. The obvious counter-part being slower synchronization times when syncing over large chunks of data. When synchronized, however, this has close to no impact. -[^2]: The size of the database depends on the patterns the indexer is configured with. Storing every single entry of Mainnet currently come close to ~40GB. However, if pruned (i.e. only keep unspent entries), Mainnet is around 4GB. +[^2]: The size of the database depends on the patterns the indexer is configured with. Storing every single entry of Mainnet currently come close to ~220GB. However, if pruned (i.e. only keep unspent entries), Mainnet is around 12GB. diff --git a/docs/api/v2.7.1.yaml b/docs/api/v2.7.2.yaml similarity index 99% rename from docs/api/v2.7.1.yaml rename to docs/api/v2.7.2.yaml index 6cc55628..52dac1c1 100644 --- a/docs/api/v2.7.1.yaml +++ b/docs/api/v2.7.2.yaml @@ -5,7 +5,7 @@ servers: info: title: Kupo - version: v2.7.1 + version: v2.7.2 license: name: MPL-2.0 url: https://raw.githubusercontent.com/cardanosolutions/kupo/master/LICENSE diff --git a/docs/api/v2.6.1.yaml b/docs/api/v2.8.0.yaml similarity index 96% rename from docs/api/v2.6.1.yaml rename to docs/api/v2.8.0.yaml index 750966d2..ab541203 100644 --- a/docs/api/v2.6.1.yaml +++ b/docs/api/v2.8.0.yaml @@ -5,7 +5,7 @@ servers: info: title: Kupo - version: v2.6.1 + version: v2.8.0 license: name: MPL-2.0 url: https://raw.githubusercontent.com/cardanosolutions/kupo/master/LICENSE @@ -224,6 +224,25 @@ info: Kupo will synchronize data directly from Ogmios! Neat isn't it? + ## --hydra-host {hostname} / --hydra-port {port-number} + + Kupo can also be used to index the layer two ledger available in a + [Hydra](https://github.com/input-output-hk/hydra/#readme) head. For this, we + need to use `--hydra-host` and `--hydra-port` to point to a machine running + a `hydra-node` of a head you want to index and the port of the websocket + API. + + For example: + + ```console + $ kupo \ + --hydra-host 0.0.0.0 \ + --hydra-port 4001 \ + --since origin \ + --match * \ + --workdir ./db + ``` + ## --help In case you're lost, don't forget that a summary of this manual is available by running: @@ -1258,6 +1277,7 @@ components: - connection_status - most_recent_checkpoint - most_recent_node_tip + - configuration - version properties: connection_status: @@ -1278,10 +1298,46 @@ components: description: Absolute slot number of the current tip of the node. - type: "null" description: Absolute slot number of the current tip of the node. + configuration: + type: object + description: A summary of hand-picked configuration parameters. + additionalProperties: false + required: + - indexes + properties: + indexes: + type: string + description: Behaviour surrounding the database query indexes. + enum: + - deferred + - installed version: type: string description: Current software version. + HealthPrometheus: + type: string + description: | + A key-value export compatible with Prometheus. + + - `connected` and `disconnected` (from `connection_status`) are encoded as `1.0` and `0.0` respectively. + - `installed` and `deferred` (from `configuration.indexes`) are encoded as `1.0` and `0.0` respectively. + - `version` is not present in the Prometheus metrics. + examples: + response: + value: | + # TYPE kupo_connection_status gauge + kupo_connection_status 1.0 + + # TYPE kupo_most_recent_checkpoint counter + kupo_most_recent_checkpoint 294998 + + # TYPE kupo_most_recent_node_tip counter + kupo_most_recent_node_tip 71753381 + + # TYPE kupo_configuration_indexes gauge + kupo_configuration_indexes 1.0 + parameters: asset-name: name: asset_name @@ -2063,9 +2119,38 @@ paths: Retrieve Kupo's application health status. Note that this call is cheap and does not halt the various concurrent tasks performed by the Kupo. This endpoint has two possible content-types: `application/json` or `text/plain`. The latter returns health in a format suitable for [Prometheus](https://prometheus.io/docs/introduction/overview/). The server defaults to `application/json`, but you can control this behavior by passing a corresponding `Accept` header. + + In addition, the server may return any of the following response codes: + - 200: when healthy + - 202: when connected to a chain producer but still syncing + - 503: when disconnected from a chain producer responses: 200: - description: OK + description: Healthy + headers: *default-headers + content: + "application/json;charset=utf-8": + schema: + $ref: "#/components/schemas/Health" + + "text/plain;charset=utf-8": + schema: + $ref: "#/components/schemas/HealthPrometheus" + + 202: + description: Syncing + headers: *default-headers + content: + "application/json;charset=utf-8": + schema: + $ref: "#/components/schemas/Health" + + "text/plain;charset=utf-8": + schema: + $ref: "#/components/schemas/HealthPrometheus" + + 503: + description: Unavailable headers: *default-headers content: "application/json;charset=utf-8": @@ -2074,20 +2159,4 @@ paths: "text/plain;charset=utf-8": schema: - type: string - description: | - A key-value export compatible with Prometheus. - - - `connected` and `disconnected` are encoded as `1.0` and `0.0` respectively. - - `version` is not present in the Prometheus metrics. - examples: - response: - value: | - # TYPE kupo_connection_status gauge - kupo_connection_status 1.0 - - # TYPE kupo_most_recent_checkpoint counter - kupo_most_recent_checkpoint 294998 - - # TYPE kupo_most_recent_node_tip counter - kupo_most_recent_node_tip 71753381 + $ref: "#/components/schemas/HealthPrometheus" diff --git a/docs/index.html b/docs/index.html index 33fb17aa..1987ec05 100644 --- a/docs/index.html +++ b/docs/index.html @@ -126,8 +126,8 @@
- v2.6.1 - v2.7.1 + v2.7.2 + v2.8.0 nightly