Commit Graph

155 Commits

Author SHA1 Message Date
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
Oliver Gugger
c4778c3fd2 multi: update dependencies 2021-05-07 16:47:03 +02:00
Oliver Gugger
6681f7a21e Merge pull request #51 from lightninglabs/remove-failed-token
Remove token if payment failed and try again
v0.1.6-beta
2021-04-29 09:54:39 +02:00
Oliver Gugger
5e2034ed5b lsat: remove pending token if payment failed 2021-04-28 09:33:13 +02:00
Oliver Gugger
56eeec62eb lsat: fix indentation, use require library 2021-04-28 09:31:27 +02:00
Oliver Gugger
ea8bde6636 proxy: log error when port is used 2021-04-28 09:30:14 +02:00
Oliver Gugger
f9927f3cbe Merge pull request #49 from fiksn/master
Kirin comments renamed to Aperture
v0.1.5-beta
2020-12-30 21:13:32 +01:00
Gregor Pogacnik
665eed84e1 Kirin comments renamed to Aperture 2020-12-29 17:26:12 +01:00
Olaoluwa Osuntokun
efbee37a6c Merge pull request #48 from guggero/maintenance
maintenance: update lnd dependencies, prepare for production docker images
2020-12-10 17:46:24 -08:00
Oliver Gugger
87adc8b77e GitHub: add workflow for building tagged docker images
We add a GitHub workflow that is triggered whenever a new version tag is
pushed. It will trigger a docker image build for that version and
automatically push it to the specified repo.
2020-12-02 10:17:53 +01:00
Oliver Gugger
df0b3e88ce docker: clone source from GitHub, check out version
To prepare for creating production docker images and uploading them to
docker hub, we want them to be built from the repository and from a
specified git commit or tag.
2020-12-02 10:17:53 +01:00
Oliver Gugger
ad6a69b1b5 mod: update to latest lnd and lndclient dep 2020-12-02 10:17:52 +01:00
Oliver Gugger
e193414240 Merge pull request #47 from justinpobrien/readme-nit
Update README
v0.1.4-beta
2020-10-30 08:26:17 +00:00
Justin OBrien
41cc9d3b90 Update README
Small nits
2020-10-29 22:19:40 -10:00
Oliver Gugger
8abf4b3594 Merge pull request #43 from guggero/fix-logging
log: add missing loggers
2020-10-26 19:43:42 +00:00
Olaoluwa Osuntokun
589ba4aa14 Merge pull request #46 from guggero/lnd-connection-restart
challenger: shutdown if connection to lnd is lost
v0.1.3-beta
2020-09-30 18:02:40 -07:00
Oliver Gugger
fdf2b4ede2 challenger: report subscription errors on main chan
To make sure we can shutdown/restart aperture in case it loses its
connection to lnd, we need to report back any errors that happen in the
invoice subscription to the main error channel.
2020-09-23 10:12:07 +02:00
Oliver Gugger
e1269a7f86 aperture+challenger: add error channel to challenger
To make sure we can capture errors in the challenger's invoice
subscription, we hand the main error channel to the challenger so it can
report back errors on it.
2020-09-23 10:11:49 +02:00
Oliver Gugger
cf025a2f6f log: add missing loggers 2020-09-02 10:50:30 +02:00
Wilmer Paulino
5237b07a6e Merge pull request #42 from guggero/bump-lnd
mod+test: update to lnd v0.11.0-beta and lndclient v0.11.0-0
v0.1.2-beta
2020-09-01 13:55:00 -07:00
Oliver Gugger
4351939c20 mod+test: update to lnd v0.11.0-beta and lndclient v0.11.0-0 2020-09-01 09:15:50 +02:00
Oliver Gugger
015e75072b Merge pull request #41 from Roasbeef/relax-tls
aperture: relax TLS requirements
2020-09-01 08:28:57 +02:00
Olaoluwa Osuntokun
d6438114d4 aperture: relax TLS requirements
In this commit, we modify our cipher suites and required TLS versions to
allow anything greater than TL 1.1. TLS 1.0 (sslv3) is broken so we
require versions that're safely above that. Without this change, widely
used clients such as `openssl` will fail to connect out to an Aperture
proxy.
2020-08-21 19:44:10 -07:00