Commit Graph

28 Commits

Author SHA1 Message Date
Wilmer Paulino
401c0e2d38 kirin: add etcd client configuration
Allows the ability for the proxy to connect to an etcd cluster for any
reliable data storage purposes. No data is being stored yet as of this
commit, but we'll be storing LSAT secrets at a later commit.

One key component in this commit is that we introduce a new top level
key that will serve to hold all LSAT proxy-related data. Any nested keys
should be prefixed with said top level key.

Co-authored-by: Oliver Gugger <gugger@gmail.com>
2019-11-25 17:08:32 -08:00
Wilmer Paulino
9f291ddbf9 mint: introduce proper LSAT creation and verification
This package adheres to the agreed upon internal design document of the
macaroon portion of an LSAT. It is able to mint LSATs for a set of
services at any tier, each containing their desired set of constraints.

LSAT verification so far only ensures the that token was minted by us
and that the target service attempted to be accessed is authorized
according to the white-listed services contained in the token.
2019-11-25 17:07:08 -08:00
Wilmer Paulino
abcd7a9828 build: update to loop version containing loop utilities 2019-11-25 17:07:02 -08:00
Wilmer Paulino
c317071270 build: downgrade to loop-compatible lnd version
This addresses a build issue when importing kirin into nautilus.

Co-authored-by: Oliver Gugger <gugger@gmail.com>
2019-11-25 17:05:56 -08:00
Olaoluwa Osuntokun
21471bb9b7 Merge pull request #15 from wpaulino/travis
build: set up travis
2019-11-25 18:52:21 -06:00
Wilmer Paulino
2aa9d7ae85 build: set up travis 2019-11-22 17:08:45 -08:00
Olaoluwa Osuntokun
9da38301ec Merge pull request #14 from guggero/cert
kirin: auto create self-signed cert if none is provided
2019-11-19 17:55:34 -08:00
Oliver Gugger
d8ed6bb449 kirin: auto create self-signed cert if none is provided 2019-11-19 15:32:42 +01:00
Olaoluwa Osuntokun
b90299ed4c Merge pull request #10 from guggero/loop-ready
prepare for loop integration
2019-11-18 17:55:08 -08:00
Oliver Gugger
aef413da0a auth+proxy: forward auth to backend 2019-11-18 10:41:12 +01:00
Oliver Gugger
8f4dfc5d57 auth+macaroons: allow authorization by macaroon only 2019-11-18 10:41:11 +01:00
Oliver Gugger
4b0a83b46a proxy: test HTTP and gRPC proxying 2019-11-15 09:45:06 +01:00
Oliver Gugger
00f661318f proxy: send error as gRPC error 2019-11-15 09:45:06 +01:00
Wilmer Paulino
a20e47e79b Merge pull request #9 from guggero/proxy-demo
initial proxy with freebie DB and lnd backend
2019-11-12 18:59:42 -08:00
Oliver Gugger
564deb6545 proxy: add demo and README with the use cases 2019-11-12 12:02:14 +01:00
Oliver Gugger
e704ba4aa9 proxy: add prefix logger to log remote IP address 2019-11-12 12:02:14 +01:00
Oliver Gugger
38c17f4de8 proxy: dispatch all non-matched requests to static file server 2019-11-12 12:02:14 +01:00
Oliver Gugger
672766b340 proxy: allow update of backend services 2019-11-12 12:02:13 +01:00
Oliver Gugger
8cbb4fc4fb auth: create invoice request with closure, add challenger 2019-11-12 12:02:09 +01:00
Oliver Gugger
c8cbeb9ab1 config: add static file root 2019-11-06 13:21:56 +01:00
Oliver Gugger
a44e9fbd22 freebie+proxy: add memory based freebie DB implementation 2019-11-06 13:21:56 +01:00
Oliver Gugger
83395c0c98 proxy+auth: add log statements 2019-11-06 13:21:55 +01:00
Oliver Gugger
7e0c1dd97e multi: add persistent logger 2019-11-06 13:21:51 +01:00
Oliver Gugger
5a3b8b79d2 proxy: implement basic proxy functionality 2019-11-06 13:21:45 +01:00
Oliver Gugger
4d1fbbf4d6 proxy: add static file server 2019-11-04 12:43:31 +01:00
Oliver Gugger
9552a70cb9 proxy: match service with regular expressions 2019-11-04 12:43:25 +01:00
Valentine Wallace
279fa2a64b Initial version of the proxy.
Missing: logging, an Authenticator implementing the LSAT HTTP
and gRPC protocol.
2019-09-12 16:41:25 -07:00
Olaoluwa Osuntokun
e32095f2a7 Initial commit 2019-01-30 14:56:14 -08:00