Skip to content

Commit

Permalink
Update dependencies and README (#104)
Browse files Browse the repository at this point in the history
  • Loading branch information
gammazero authored Feb 29, 2024
1 parent ca39b0e commit 4e4e4cb
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 70 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:1.21-bullseye as build
FROM golang:1.22-bullseye as build

ARG FDB_VERSION='7.3.7'
ARG FDB_CLIENTS_DEB_SHA256_SUM='1b620971319c3ad149f2fb09b2fed639fb558120a296538133c4f2358836e983'
Expand Down
37 changes: 28 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,45 @@ A Service to store double hashed indexed records with their corresponding encryp
Pebble key-value store according to
the [IPNI Reader Privacy specification](https://github.com/ipni/specs/pull/5).

The service exposes a HTTP API that allows clients to `PUT` or `GET` encrypted index value keys, as
well as encrypted IPNI metadata.
The service exposes a HTTP API that allows clients to `PUT` or `GET` encrypted index value keys and encrypted IPNI metadata.

## Usage

The repository provides a CLI command to start up the `dhstore` service, with following usage:

```shell
$ dhstore -h
Usage of dhstore
Usage of ./dhstore:
-blockCacheSize string
Size of pebble block cache. Can be set in Mi or Gi. (default "1Gi")
-disableWAL
Weather to disable WAL in Pebble dhstore.
Weather to disable WAL in Pebble dhstore.
-experimentalCompactionDebtConcurrency string
CompactionDebtConcurrency controls the threshold of compaction debt at which additional compaction concurrency slots are added. For every multiple of this value in compaction debt bytes, an additional concurrent compaction is added. This works "on top" of L0CompactionConcurrency, so the higher of the count of compaction concurrency slots as determined by the two options is chosen. Can be set in Mi or Gi. (default "1Gi")
-experimentalL0CompactionConcurrency int
The threshold of L0 read-amplification at which compaction concurrency is enabled (if CompactionDebtConcurrency was not already exceeded). Every multiple of this value enables another concurrent compaction up to MaxConcurrentCompactions. (default 10)
-l0CompactionFileThreshold int
The count of L0 files necessary to trigger an L0 compaction. (default 500)
-l0CompactionThreshold int
The amount of L0 read-amplification necessary to trigger an L0 compaction. (default 2)
-l0StopWritesThreshold int
Hard limit on Pebble L0 read-amplification. Writes are stopped when this threshold is reached. (default 12)
-listenAddr string
The dhstore HTTP server listen address. (default "0.0.0.0:40080")
The dhstore HTTP server listen address. (default "0.0.0.0:40080")
-logLevel string
The logging level. Only applied if GOLOG_LOG_LEVEL environment variable is unset. (default "info")
-providersURL
Providers URL to enable dhfind.
The logging level. Only applied if GOLOG_LOG_LEVEL environment variable is unset. (default "info")
-maxConcurrentCompactions int
Specifies the maximum number of concurrent Pebble compactions. As a rule of thumb set it to the number of the CPU cores. (default 10)
-metricsAddr string
The dhstore metrics HTTP server listen address. (default "0.0.0.0:40081")
-providersURL value
Providers URL to enable dhfind. Multiple OK
-storePath string
The path at which the dhstore data persisted. (default "./dhstore/store")
The path at which the dhstore data persisted. (default "./dhstore/store")
-storeType pebble
The store type to use. only pebble and `fdb` is supported. Defaults to `pebble`. When `fdb` is selected, all `fdb*` args must be set. (default "pebble")
-version
Show version information,
```
## Run Server Locally
Expand Down
34 changes: 16 additions & 18 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/ipni/dhstore

go 1.20
go 1.21

require (
// Foundation DB golang binding version 7.3.7
Expand All @@ -9,14 +9,14 @@ require (
github.com/cockroachdb/pebble v1.1.0
github.com/ipfs/go-cid v0.4.1 // indirect
github.com/ipfs/go-log/v2 v2.5.1
github.com/ipni/go-libipni v0.6.0
github.com/libp2p/go-libp2p v0.32.2
github.com/ipni/go-libipni v0.6.2
github.com/libp2p/go-libp2p v0.33.0
github.com/mr-tron/base58 v1.2.0
github.com/multiformats/go-multiaddr v0.12.1
github.com/multiformats/go-multiaddr v0.12.2
github.com/multiformats/go-multicodec v0.9.0
github.com/multiformats/go-multihash v0.2.3
github.com/multiformats/go-varint v0.0.7
github.com/prometheus/client_golang v1.14.0
github.com/prometheus/client_golang v1.18.0
github.com/stretchr/testify v1.8.4
go.opentelemetry.io/otel v1.14.0
go.opentelemetry.io/otel/exporters/prometheus v0.33.0
Expand All @@ -39,34 +39,32 @@ require (
github.com/go-logr/logr v1.2.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/klauspost/compress v1.17.2 // indirect
github.com/klauspost/cpuid/v2 v2.2.5 // indirect
github.com/klauspost/compress v1.17.6 // indirect
github.com/klauspost/cpuid/v2 v2.2.7 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/minio/sha256-simd v1.0.1 // indirect
github.com/multiformats/go-base32 v0.1.0 // indirect
github.com/multiformats/go-base36 v0.2.0 // indirect
github.com/multiformats/go-multibase v0.2.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/prometheus/client_model v0.4.0 // indirect
github.com/prometheus/common v0.42.0 // indirect
github.com/prometheus/procfs v0.9.0 // indirect
github.com/rogpeppe/go-internal v1.9.0 // indirect
github.com/prometheus/client_model v0.6.0 // indirect
github.com/prometheus/common v0.47.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/rogpeppe/go-internal v1.10.0 // indirect
github.com/spaolacci/murmur3 v1.1.0 // indirect
go.opentelemetry.io/otel/sdk v1.11.1 // indirect
go.opentelemetry.io/otel/trace v1.14.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.26.0 // indirect
golang.org/x/crypto v0.17.0 // indirect
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
golang.org/x/sys v0.15.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/crypto v0.19.0 // indirect
golang.org/x/exp v0.0.0-20240213143201-ec583247a57a // indirect
golang.org/x/sys v0.17.0 // indirect
golang.org/x/text v0.14.0 // indirect
google.golang.org/protobuf v1.30.0 // indirect
google.golang.org/protobuf v1.32.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
Loading

0 comments on commit 4e4e4cb

Please sign in to comment.