Commit Graph

192 Commits

Author SHA1 Message Date
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
Oliver Gugger
526eb3088f Merge pull request #59 from carlaKC/config-basedir
multi: add base dir to aperture
2021-10-05 12:52:05 +02:00
carla
3184fe63de multi: add base dir to aperture 2021-10-04 09:11:32 +02:00
Oliver Gugger
08dc2154c0 Merge pull request #58 from carlaKC/configfile-flag
aperture: allow command line flags and add config file
v0.1.10-beta
2021-09-28 10:34:03 +02:00
carla
0b8128232d aperture: add config file flag and parse command line flags 2021-09-28 10:14:44 +02:00
carla
e6fae0f007 aperture: add validation to config 2021-09-28 10:14:43 +02:00
carla
a0cf13ba00 config: make etcd, tor and auth groups so they can be specified inline
Our yaml parsing is unaffected, but this change allows us to specify
these groups one param at a time. We do not update services because they
require special grouping, so we leave that as a json parameter.
2021-09-28 10:14:42 +02:00
carla
9bddd76993 aperture: add descriptions to lnd config 2021-09-28 10:14:41 +02:00
carla
264fc2f998 aperture: allow relative macaroon/tls paths 2021-09-28 10:14:41 +02:00
carla
c22c0db128 aperture: parse command line flags 2021-09-28 10:14:40 +02:00
Olaoluwa Osuntokun
83a657dc56 Merge pull request #53 from ellemouton/dynamicPrice
multi: Add gRPC price server option
2021-08-25 19:59:36 -07:00
Elle Mouton
a955d9174b multi: add and use DynamicPrice option
This commit adds a DynamicPrice member to the Services struct and uses
its values to determine if a GRPCPricer or DefaultPricer should be
initialised. The commit also updates the sample-conf.yaml file with the
new config options.
2021-08-03 14:31:00 +02:00
Elle Mouton
853b131d80 multi: cleanup proxy
This commit adds to ability to cleanup the Proxy by adding a Close
method and calling this method during server shut down.
2021-08-03 14:30:55 +02:00
Elle Mouton
7fdda6a504 pricer: add pricer package
This commit adds a new pricer package which contains a Pricer interface
and two implementations of the interface. The Pricer interface can be
used to query the price of a certain path. The two implementations are
as follows: a DefaultPricer which returns the same price for all paths
of a service, and a GRPCPricer which queries a backend grpc server for
the price of a given path.
2021-08-03 14:25:45 +02:00
Elle Mouton
c0ade3d4c9 pricesrpc: add pricesrpc package
This commit adds the proto definitions along with the generated proto
files for a prices service that can be used to request the price of a
specific path.
2021-08-03 14:25:45 +02:00
Oliver Gugger
beed396b0e Merge pull request #56 from lightninglabs/custom-config-file
Refactor to be run as library in integration tests
2021-07-30 09:12:14 +02:00