Commit Graph

177 Commits

Author SHA1 Message Date
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
Oliver Gugger
aa3f3cfcde multi: update to lnd with etcd 3.5 2021-07-30 09:00:21 +02:00
Oliver Gugger
749fc48fcb Merge pull request #57 from thinkmassive/selfsigned-customdomain
aperture: add servername to self-signed cert
v0.1.9-beta
2021-07-23 13:52:33 +02:00
Alex Miller
f7fa03917e aperture: add servername to self-signed cert 2021-07-22 16:31:16 -04:00
Elle Mouton
0206ecb031 multi: add disable authenticator option
To make it easier to use aperture in a setup where we only need its
proxy functionality but not its LSAT capabilities, we add the option to
disable the authenticator. This makes it possible to run aperture
without needing to connect it to an lnd node.
2021-07-15 11:19:30 +02:00
Oliver Gugger
5061b659c9 aperture: allow updating services at runtime
In order to be able to dynamically update the proxy's backend
configuration, we add a new method that can overwrite the list of
backend services.
2021-07-15 11:19:30 +02:00
Oliver Gugger
b85c7089a2 aperture: allow aperture to be run in-process
We refactor the main Aperture service code into a struct that can be
started and stopped. This allows aperture to be used more easily as a library in
other projects.
2021-07-15 11:19:29 +02:00
Oliver Gugger
087c52a358 multi: export config structs
In order to allow running aperture as a library, we need to export its
configuration structs so they can be instantiated externally.
2021-07-15 11:19:29 +02:00
Oliver Gugger
b88feb173f multi: update to lnd 0.13.0-beta
We update the compile time dependency of lnd to version 0.13.0-beta to
make it easier to run aperture in the same process as other projects
which also updated.
The runtime dependency is still kept at v0.12.0-beta as we don't use any
new RPCs.
2021-07-15 11:19:12 +02:00
Olaoluwa Osuntokun
c819b4ac7e Merge pull request #54 from lightninglabs/fix-auth-header-not-found
proxy: remove manual trailer fields
v0.1.8-beta
2021-07-05 18:32:57 -07:00
Oliver Gugger
74282b9978 proxy: remove manual trailer fields
The last bugfix added some explicit header fields in an attempt of
fixing an issue with error responses. Unfortunately they weren't
strictly needed for the fix but ended up causing issues in a non-error
case.
This commit removes those header fields again and makes sure the "auth
header not found in response" header doesn't occur anymore.
2021-05-31 21:11:19 +02:00
Oliver Gugger
0194e0da36 Merge pull request #52 from guggero/stream-no-trailers-error
Fix "server closed the stream without sending trailers" error
v0.1.7-beta
2021-05-25 22:35:12 +02:00
Oliver Gugger
e583f54024 secrets: fix data race in test by using different logger 2021-05-11 13:25:25 +02:00
Oliver Gugger
615f4141a8 mod+Travis: update min golang version to 1.15, Travis to 1.16 2021-05-11 13:25:25 +02:00
Oliver Gugger
cf11bcc626 proxy: reproduce and fix weird HTTP/2 error 2021-05-11 13:25:25 +02:00
Oliver Gugger
14d9ef20f2 proxy_test: use require, merge tests 2021-05-07 16:47:03 +02:00