Commit Graph

207 Commits

Author SHA1 Message Date
ffranr
12f949758b lint: use linter from aperture-tools docker image 2023-01-27 12:41:10 +00:00
ffranr
97dbfca77c lint: add codebase tools directory
Update golangci-lint: v1.18.0 --> v1.50.1
Linter was updated to fix internal panic which was probably caused by
the Golang update.

The tools directory contains helper programs for managing the health of
the codebase. The directory is based on the equivalent directory found
in the taro codebase at commit 64e9dc9ccadb9269a1985ce2ff03cfc3a83d0470
2023-01-27 12:36:23 +00:00
ffranr
0096d68a48 ci+docker: bump go version 2023-01-27 12:34:19 +00:00
ffranr
8694f147d5 unit tests: remove use of onion type V2
We only support tor V3.
2023-01-27 12:34:18 +00:00
ffranr
158eb0bed1 onion_store: remove tor V2 + use new OnionStore
The target version of the tor.OnionStore interface methods do not accept
onion type as an argument. Further, tor V2 was depreciated in October
2021. We can therefore remove support for tor V2.
2023-01-27 12:34:18 +00:00
ffranr
a5659a82cb go.mod+go.sum: run: go mod tidy 2023-01-27 12:29:45 +00:00
ffranr
bd9102b65b go.mod: bump go version 2023-01-27 12:29:44 +00:00
ffranr
2976ec4de2 go.mod: upgrade lnd dependency
The lnd dependency is upgraded to the version currently used by taro.

The motivation behind upgrading lnd is to upgrade lnd/tor to v1.1.0

unit tests: mock signer: add missing interface methods

unit tests: mock signer: add missing interface method arguments

unit tests: mock walletkit: add missing interface method arguments

unit tests: mock lightning client: add missing interface method arguments

unit tests: mock chain notifier: add missing interface method arguments
2023-01-24 18:40:21 +00:00
ffranr
349feabd79 add .editorconfig 2023-01-23 18:03:32 +00:00
Oliver Gugger
92a4def656 Merge pull request #82 from ellemouton/gcMailbox3
multi: gc stale mailboxes
2022-09-29 12:03:14 +02:00
Elle Mouton
870a617657 multi: gc stale mailboxes
In this commit, we start a timer if a mailbox stream is completely
un-occupied (neither read or write stream is occupied). The timer
stopped if either of the streams are occupied and is reset if both
streams are unoccupied.
2022-09-29 11:27:35 +02:00
Oliver Gugger
98d2c8d3a2 Merge pull request #76 from ellemouton/pprof
multi: profile server
2022-09-22 13:57:44 +02:00
Elle Mouton
cbc8a414f7 multi: add pprof
This commit adds a config option that can be set inorder to spin up a
pprof profile server on the given port.
2022-09-22 13:54:40 +02:00
Oliver Gugger
4113bf3f20 Merge pull request #75 from hieblmi/fix-readme
#55 Removing demo section in README.md
2022-04-21 09:47:00 +02:00
hieblmi
090e6bc533 #55 Removing demo section in README.md 2022-04-21 01:46:07 +02:00
Oliver Gugger
fb4b59400e Merge pull request #74 from ellemouton/dailyActiveUserMetrics
multi: add mailbox read counter
v0.1.18-beta
2022-04-11 15:38:59 +02:00
Elle Mouton
e60b09eb51 multi: add mailbox read counter
In this commit, we add a mailbox-read-count metric. This will be
incremented each time a mailbox with an _odd_ stream ID is read from.
We do this because we assume that a full duplex connection is being used
meaning that there will be 2 streams that have a matching ID except for
the last byte. And so to avoid duplicating the data, we only record the
odd streams. We also assume that for every read, there will be a write
and so we only record the reads.
2022-04-05 09:46:28 +02:00
Oliver Gugger
4a2632d0be Merge pull request #73 from guggero/race-fix
unit-race: fix race condition in unit tests
2022-03-28 09:24:56 +02:00
Oliver Gugger
2475dd1a8b github+Docker: bump and fix go version to 1.16.9
There's a race condition in the h2_bundle.go of go 1.16.10 and later. The
issue https://github.com/golang/go/issues/51799 mentions that this might
be fixed in go 1.19, so we'll need to wait for that.
We make sure we build our docker images with go 1.16.9 to not run into
the issue in the wild.
2022-03-25 14:22:32 +01:00
Oliver Gugger
d86e49706f aperture: only register prometheus metrics when enabled
To avoid running into an issue in the race unit test with the Prometheus
histogram metrics that aren't concurrency safe, we don't register any of
them if Prometheus isn't enabled in the first place.
This shouldn't be an issue in production, since we don't start multiple
instances of Aperture _within the same process_ at the same time.
2022-03-25 14:22:31 +01:00
Oliver Gugger
842669dd3a travis+github: move from Travis to GitHub Actions 2022-03-25 14:22:29 +01:00
Oliver Gugger
42b9d4c1be Merge pull request #72 from lightninglabs/btcec-v2-upgrade
multi: bump btcec/v2 and btcutil to new versions
2022-03-25 10:39:43 +01:00
positiveblue
2c3cb8c9f7 multi: bump btcec/v2 and btcutil to new versions 2022-03-25 10:30:54 +01:00
Oliver Gugger
7a8449f1bd Merge pull request #70 from ellemouton/fixTestNilPointer
aperture: add prometheus config nil check
2022-02-14 10:43:21 +01:00
Elle Mouton
559d2b3b97 aperture: add NewConfig function
Add a NewConfig func so that all pointer variables in the config object
can be initialised so that we can avoid needing to do nil checks
everywhere.
2022-02-14 09:37:41 +00:00
Oliver Gugger
3f36447006 Merge pull request #69 from ellemouton/mailboxMetrics
multi: mailbox metrics
v0.1.17-beta
2022-02-10 10:24:30 +01:00
Elle Mouton
32842116d6 aperture: export hashmail grpc metrics to prometheus 2022-02-10 09:44:30 +02:00
Elle Mouton
6c0d9866e6 multi: record the number of active mailboxes 2022-02-10 09:41:40 +02:00
Elle Mouton
9362f2325f multi: extract prometheus config and exporter
In this commit, the prometheus config is extracted from the hashmail
config so that it can be used more generally.
2022-02-10 09:41:35 +02:00
Oliver Gugger
5d26f3fa99 Merge pull request #68 from ellemouton/hashmailKeepalivePing
aperture: hashmail keepalive enforcement policy
v0.1.16-beta
2022-02-08 11:57:05 +01:00
Elle Mouton
ffeafa4d2e aperture: hashmail keepalive enforcement policy
Lower the MinTime frequency that the client is allowed to send pings to
1 min instead of the default of 5 mins.
2022-02-08 12:07:26 +02:00
Oliver Gugger
41336ba887 Merge pull request #67 from lightninglabs/rest-proxy-tls-fix
aperture: connect REST proxy correctly when insecure is set
v0.1.15-beta
2022-02-03 09:46:52 +01:00
Oliver Gugger
9ffd5d8de7 aperture: connect REST proxy correctly when insecure is set 2022-02-02 17:18:49 +01:00
Oliver Gugger
cde5b7133d Merge pull request #66 from lightninglabs/etcd-update-fix
mod: fix etcd problem with auth token
v0.1.14-beta
2022-01-31 13:12:25 +01:00
Oliver Gugger
d9adacfab6 mod: fix etcd problem with auth token 2022-01-31 12:46:21 +01:00
Oliver Gugger
97c274fafd Merge pull request #63 from ellemouton/disableWebsocketPings
aperture: disable websocket proxy pings for hashmail server
v0.1.13-beta
2022-01-21 12:42:39 +01:00
Oliver Gugger
32335627f8 Merge pull request #64 from ellemouton/hashmailConfig
config: add group and namespace to hashmail config
2022-01-21 12:42:27 +01:00
Elle Mouton
655bca0ecb aperture: disable websocket proxy pings for hashmail server
Set the ping and pong intervals of the websocket proxy to zero in order
to disable them. This is needed since a browser client is unable to
respond to these pings.
2022-01-21 13:40:30 +02:00
Elle Mouton
18486d2bf9 config: add group and namespace to hashmail config
Add group and namespace to hashmail config so that hashmail params can
be specified on the command line.
2022-01-21 13:40:06 +02:00
Oliver Gugger
efad183240 Merge pull request #61 from Roasbeef/hashmail-prom
aperture: add basic gRPC prometheus scraping for hashmail server
v0.1.12-beta
2021-11-30 10:08:00 +01:00
Olaoluwa Osuntokun
dd485d9a8e aperture: add basic gRPC prometheus scraping for hashmail server 2021-11-29 20:22:40 -08:00
Oliver Gugger
28e6b624cc hashmail_test: fix linter issues 2021-11-24 22:02:22 +01:00
Oliver Gugger
d1112e35df hashmail_test: fix race condition in test setup 2021-11-24 21:58:07 +01:00
Olaoluwa Osuntokun
abb13dc7c7 aperture: run gofmt 2021-11-24 13:38:03 -06:00
Oliver Gugger
fe924036b8 Merge pull request #60 from guggero/mailbox
hashmailrpc: Add mailbox
v0.1.11-beta
2021-11-24 18:04:54 +01:00
Oliver Gugger
7c7b1145eb hashmail_server: fix writes up to 2 MB
This commit adds the ability for a mailbox message to be up to 2MB in
size.
2021-11-24 17:32:47 +01:00
Oliver Gugger
8d37d8a3d9 hashmail_server: fix blocking reads
With this commit we fix a bug in the hashmail server that didn't return
a read stream properly if it was closed from the client side.

Co-authored-by: Elle Mouton <elle.mouton@gmail.com>
2021-11-24 17:32:47 +01:00
Oliver Gugger
7bcc8355d0 multi: configure and start hashmail server
With this commit we make it possible to enable the Lightning Node
Connect mailbox server to be enabled and started as a local service
within aperture.
2021-11-24 17:32:47 +01:00
Oliver Gugger
c45cd3a317 proxy+aperture: refactor to local service
We want aperture to handle some of the incoming requests on its own,
without forwarding/proxying them to a remote backend. Those "local"
services can register themselves and will be given every request for
inspection. If a service decides to handle it locally, the request is
passed to that service and not forwarded.
2021-11-24 17:32:46 +01:00
Oliver Gugger
8dad6da45a aperture: add hashmail server 2021-11-24 17:32:41 +01:00