Merge pull request #4626 from guggero/sample-conf-check
GitHub workflow: Check all command line flags are described in sample-lnd.conf
This commit is contained in:
commit
d12f76fd6d
1
.github/pull_request_template.md
vendored
1
.github/pull_request_template.md
vendored
@ -13,6 +13,7 @@
|
||||
- [ ] Code has been formatted with `go fmt`
|
||||
- [ ] Protobuf files (`lnrpc/**/*.proto`) have been formatted with
|
||||
`make rpc-format` and compiled with `make rpc`
|
||||
- [ ] New configuration flags have been added to `sample-lnd.conf`
|
||||
- [ ] For code and documentation: lines are wrapped at 80 characters
|
||||
(the tab character should be counted as 8 characters, not 4, as some IDEs do
|
||||
per default)
|
||||
|
38
.github/workflows/main.yml
vendored
38
.github/workflows/main.yml
vendored
@ -202,6 +202,44 @@ jobs:
|
||||
- name: build mobile specific code
|
||||
run: go build --tags="mobile" ./mobile
|
||||
|
||||
########################
|
||||
# sample configuration check
|
||||
########################
|
||||
sample-conf-check:
|
||||
name: sample configuration check
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: git checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: go cache
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: /home/runner/work/go
|
||||
key: lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
|
||||
lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-
|
||||
lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-
|
||||
lnd-${{ runner.os }}-go-
|
||||
|
||||
- name: setup go ${{ env.GO_VERSION }}
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: '~${{ env.GO_VERSION }}'
|
||||
|
||||
- name: download cache
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: /home/runner/work/download_cache
|
||||
key: lnd-${{ runner.os }}-download-${{ hashFiles('**/install_travis_proto.sh') }}
|
||||
restore-keys: |
|
||||
lnd-${{ runner.os }}-download-${{ hashFiles('**/install_travis_proto.sh') }}
|
||||
lnd-${{ runner.os }}-download-
|
||||
|
||||
- name: check all command line flags exist in sample-lnd.conf file
|
||||
run: make sample-conf-check
|
||||
|
||||
########################
|
||||
# run unit tests
|
||||
########################
|
||||
|
4
Makefile
4
Makefile
@ -254,6 +254,10 @@ rpc-check: rpc
|
||||
for rpc in $$(find lnrpc/ -name "*.proto" | $(XARGS) awk '/ rpc /{print $$2}'); do if ! grep -q $$rpc lnrpc/rest-annotations.yaml; then echo "RPC $$rpc not added to lnrpc/rest-annotations.yaml"; exit 1; fi; done
|
||||
if test -n "$$(git describe --dirty | grep dirty)"; then echo "Protos not properly formatted or not compiled with v3.4.0"; git status; git diff; exit 1; fi
|
||||
|
||||
sample-conf-check:
|
||||
@$(call print, "Making sure every flag has an example in the sample-lnd.conf file")
|
||||
for flag in $$(GO_FLAGS_COMPLETION=1 go run -tags="$(RELEASE_TAGS)" $(PKG)/cmd/lnd -- | grep -v help | cut -c3-); do if ! grep -q $$flag sample-lnd.conf; then echo "Command line flag --$$flag not added to sample-lnd.conf"; exit 1; fi; done
|
||||
|
||||
mobile-rpc: falafel goimports
|
||||
@$(call print, "Creating mobile RPC from protos.")
|
||||
cd ./mobile; ./gen_bindings.sh $(FALAFEL_COMMIT)
|
||||
|
187
sample-lnd.conf
187
sample-lnd.conf
@ -1,5 +1,12 @@
|
||||
; Example configuration for lnd.
|
||||
;
|
||||
; The default location for this file is in ~/.lnd/lnd.conf on POSIX OSes,
|
||||
; $LOCALAPPDATA/Lnd/lnd.conf on Windows,
|
||||
; ~/Library/Application Support/Lnd/lnd.conf on Mac OS and $home/lnd/lnd.conf on
|
||||
; Plan9.
|
||||
; The default location of this file can be overwritten by specifying the
|
||||
; --configfile= flag when starting lnd.
|
||||
;
|
||||
; Boolean values can be specified as true/false or 1/0.
|
||||
|
||||
[Application Options]
|
||||
@ -45,6 +52,10 @@
|
||||
; change.
|
||||
; tlsautorefresh=true
|
||||
|
||||
; Do not include the interface IPs or the system hostname in TLS certificate,
|
||||
; use first --tlsextradomain as Common Name instead, if set.
|
||||
; tlsdisableautofill=true
|
||||
|
||||
; A list of domains for lnd to periodically resolve, and advertise the resolved
|
||||
; IPs for the backing node. This is useful for users that only have a dynamic IP,
|
||||
; or want to expose the node at a domain.
|
||||
@ -159,6 +170,20 @@
|
||||
; support devices behind multiple NATs.
|
||||
; nat=true
|
||||
|
||||
; Disable listening for incoming peer connections.
|
||||
; nolisten=true
|
||||
|
||||
; Disable REST API.
|
||||
; norest=true
|
||||
|
||||
; Shortest backoff when reconnecting to persistent peers. Valid time units are
|
||||
; {s, m, h}.
|
||||
; minbackoff=1s
|
||||
|
||||
; Longest backoff when reconnecting to persistent peers. Valid time units are
|
||||
; {s, m, h}.
|
||||
; maxbackoff=1h
|
||||
|
||||
; The timeout value for network connections in seconds, default to 120 seconds.
|
||||
; Valid uints are {ms, s, m, h}.
|
||||
; connectiontimeout=120s
|
||||
@ -177,14 +202,30 @@
|
||||
; 65536. The profile can be access at: http://localhost:<PORT>/debug/pprof/.
|
||||
; profile=
|
||||
|
||||
; DEPRECATED: Allows the rpcserver to intentionally disconnect from peers with
|
||||
; open channels. THIS FLAG WILL BE REMOVED IN 0.10.0.
|
||||
; unsafe-disconnect=false
|
||||
|
||||
; Causes a link to replay the adds on its commitment txn after starting up, this
|
||||
; enables testing of the sphinx replay logic.
|
||||
; unsafe-replay=true
|
||||
|
||||
; The maximum number of incoming pending channels permitted per peer.
|
||||
; maxpendingchannels=1
|
||||
|
||||
; The target location of the channel backup file.
|
||||
; backupfilepath=~/.lnd/data/chain/bitcoin/simnet/channel.backup
|
||||
|
||||
; If true, then automatic network bootstrapping will not be attempted. This
|
||||
; means that your node won't attempt to automatically seek out peers on the
|
||||
; network.
|
||||
; nobootstrap=true
|
||||
|
||||
; If true, NO SEED WILL BE EXPOSED -- EVER, AND THE WALLET WILL BE ENCRYPTED
|
||||
; USING THE DEFAULT PASSPHRASE. THIS FLAG IS ONLY FOR TESTING AND SHOULD NEVER
|
||||
; BE USED ON MAINNET.
|
||||
; noseedbackup=true
|
||||
|
||||
; The smallest channel size (in satoshis) that we should accept. Incoming
|
||||
; channels smaller than this will be rejected, default value 20000.
|
||||
; minchansize=
|
||||
@ -197,6 +238,11 @@
|
||||
; to better align with your risk tolerance
|
||||
; maxchansize=
|
||||
|
||||
; The default max_htlc applied when opening or accepting channels. This value
|
||||
; limits the number of concurrent HTLCs that the remote party can add to the
|
||||
; commitment. The maximum possible value is 483.
|
||||
; default-remote-max-htlcs=483
|
||||
|
||||
; The duration that a peer connection must be stable before attempting to send a
|
||||
; channel update to reenable or cancel a pending disables of the peer's channels
|
||||
; on the network. (default: 19m0s)
|
||||
@ -272,6 +318,12 @@
|
||||
; automatically. [experimental]
|
||||
; keysend-hold-time=true
|
||||
|
||||
; If true, we'll attempt to garbage collect canceled invoices upon start.
|
||||
; gc-canceled-invoices-on-startup=true
|
||||
|
||||
; If true, we'll delete newly canceled invoices on the fly.
|
||||
; gc-canceled-invoices-on-the-fly=true
|
||||
|
||||
; If true, our node will allow htlc forwards that arrive and depart on the same
|
||||
; channel.
|
||||
; allow-circular-route=true
|
||||
@ -298,6 +350,12 @@
|
||||
; active.
|
||||
bitcoin.active=true
|
||||
|
||||
; The directory to store the chain's data within.
|
||||
; bitcoin.chaindir=~/.lnd/data/chain/bitcoin
|
||||
|
||||
; Use Bitcoin's main network.
|
||||
; bitcoin.mainnet=true
|
||||
|
||||
; Use Bitcoin's test network.
|
||||
; bitcoin.testnet=true
|
||||
;
|
||||
@ -321,9 +379,41 @@ bitcoin.node=btcd
|
||||
; confirmations before we consider the channel active.
|
||||
; bitcoin.defaultchanconfs=3
|
||||
|
||||
; The default number of blocks we will require our channel counterparty to wait
|
||||
; before accessing its funds in case of unilateral close. If this is not set, we
|
||||
; will scale the value according to the channel size.
|
||||
; bitcoin.defaultremotedelay=144
|
||||
|
||||
; The smallest HTLC we are willing to accept on our channels, in millisatoshi.
|
||||
; bitcoin.minhtlc=1
|
||||
|
||||
; The smallest HTLC we are willing to send out on our channels, in millisatoshi.
|
||||
; bitcoin.minhtlcout=1000
|
||||
|
||||
; The base fee in millisatoshi we will charge for forwarding payments on our
|
||||
; channels.
|
||||
; bitcoin.basefee=1000
|
||||
|
||||
; The fee rate used when forwarding payments on our channels. The total fee
|
||||
; charged is basefee + (amount * feerate / 1000000), where amount is the
|
||||
; forwarded amount.
|
||||
; bitcoin.feerate=1
|
||||
|
||||
; The CLTV delta we will subtract from a forwarded HTLC's timelock value.
|
||||
; bitcoin.timelockdelta=40
|
||||
|
||||
; Used to help identify ourselves to other bitcoin peers (default: neutrino).
|
||||
; neutrino.useragentname=neutrino
|
||||
|
||||
; Used to help identify ourselves to other bitcoin peers (default: 0.11.0-beta).
|
||||
; neutrino.useragentversion=0.11.0-beta
|
||||
|
||||
[Btcd]
|
||||
|
||||
; The base directory that contains the node's data, logs, configuration file,
|
||||
; etc.
|
||||
; btcd.dir=~/.btcd
|
||||
|
||||
; The host that your local btcd daemon is listening on. By default, this
|
||||
; setting is assumed to be localhost with the default port for the current
|
||||
; network.
|
||||
@ -351,6 +441,10 @@ bitcoin.node=btcd
|
||||
|
||||
[Bitcoind]
|
||||
|
||||
; The base directory that contains the node's data, logs, configuration file,
|
||||
; etc.
|
||||
; bitcoind.dir=~/.bitcoin
|
||||
|
||||
; The host that your local bitcoind daemon is listening on. By default, this
|
||||
; setting is assumed to be localhost with the default port for the current
|
||||
; network.
|
||||
@ -383,12 +477,32 @@ bitcoin.node=btcd
|
||||
; neutrino compliant full nodes on the test network yet.
|
||||
; neutrino.connect=
|
||||
|
||||
; Max number of inbound and outbound peers.
|
||||
;
|
||||
; NOTE: This value is currently unused.
|
||||
; neutrino.maxpeers=
|
||||
|
||||
; Add a peer to connect with at startup.
|
||||
; neutrino.addpeer=
|
||||
|
||||
; How long to ban misbehaving peers. Valid time units are {s, m, h}. Minimum 1
|
||||
; second.
|
||||
;
|
||||
; NOTE: This value is currently unused.
|
||||
; neutrino.banduration=
|
||||
|
||||
; Maximum allowed ban score before disconnecting and banning misbehaving peers.
|
||||
;
|
||||
; NOTE: This value is currently unused.
|
||||
; neutrino.banthreshold=
|
||||
|
||||
; Set a URL source for fee estimates.
|
||||
; neutrino.feeurl=
|
||||
|
||||
; Optional filter header in height:hash format to assert the state of neutrino's
|
||||
; filter header chain on startup. If the assertion does not hold, then the
|
||||
; filter header chain will be re-synced from the genesis block.
|
||||
; neutrino.assertfilterheader=
|
||||
|
||||
[Litecoin]
|
||||
|
||||
@ -396,18 +510,61 @@ bitcoin.node=btcd
|
||||
; active.
|
||||
; litecoin.active=true
|
||||
|
||||
; The directory to store the chain's data within.
|
||||
; litecoin.chaindir=~/.lnd/data/chain/litecoin
|
||||
|
||||
; Use Litecoin's main network.
|
||||
; litecoin.mainnet=true
|
||||
|
||||
; Use Litecoin's test network.
|
||||
; litecoin.testnet=true
|
||||
;
|
||||
; Use Litecoin's simulation test network
|
||||
; litecoin.simnet=true
|
||||
|
||||
; Use the ltcd back-end
|
||||
; Use Litecoin's regression test network
|
||||
; litecoin.regtest=false
|
||||
|
||||
; Use the ltcd back-end.
|
||||
litecoin.node=ltcd
|
||||
|
||||
; Use the litecoind back-end
|
||||
; Use the litecoind back-end.
|
||||
; litecoin.node=litecoind
|
||||
|
||||
; The default number of confirmations a channel must have before it's considered
|
||||
; open. We'll require any incoming channel requests to wait this many
|
||||
; confirmations before we consider the channel active.
|
||||
; litecoin.defaultchanconfs=3
|
||||
|
||||
; The default number of blocks we will require our channel counterparty to wait
|
||||
; before accessing its funds in case of unilateral close. If this is not set, we
|
||||
; will scale the value according to the channel size.
|
||||
; litecoin.defaultremotedelay=144
|
||||
|
||||
; The smallest HTLC we are willing to accept on our channels, in millisatoshi.
|
||||
; litecoin.minhtlc=1
|
||||
|
||||
; The smallest HTLC we are willing to send out on our channels, in millisatoshi.
|
||||
; litecoin.minhtlcout=1000
|
||||
|
||||
; The base fee in millisatoshi we will charge for forwarding payments on our
|
||||
; channels.
|
||||
; litecoin.basefee=1000
|
||||
|
||||
; The fee rate used when forwarding payments on our channels. The total fee
|
||||
; charged is basefee + (amount * feerate / 1000000), where amount is the
|
||||
; forwarded amount.
|
||||
; litecoin.feerate=1
|
||||
|
||||
; The CLTV delta we will subtract from a forwarded HTLC's timelock value.
|
||||
; litecoin.timelockdelta=576
|
||||
|
||||
[Ltcd]
|
||||
|
||||
; The base directory that contains the node's data, logs, configuration file,
|
||||
; etc.
|
||||
; ltcd.dir=~/.ltcd
|
||||
|
||||
; The host that your local ltcd daemon is listening on. By default, this
|
||||
; setting is assumed to be localhost with the default port for the current
|
||||
; network.
|
||||
@ -435,6 +592,10 @@ litecoin.node=ltcd
|
||||
|
||||
[Litecoind]
|
||||
|
||||
; The base directory that contains the node's data, logs, configuration file,
|
||||
; etc.
|
||||
; litecoind.dir=~/.litecoin
|
||||
|
||||
; The host that your local litecoind daemon is listening on. By default, this
|
||||
; setting is assumed to be localhost with the default port for the current
|
||||
; network.
|
||||
@ -587,6 +748,11 @@ litecoin.node=ltcd
|
||||
; specified in sat/byte, the default is 10 sat/byte.
|
||||
; wtclient.sweep-fee-rate=10
|
||||
|
||||
; (Deprecated) Specifies the URIs of private watchtowers to use in backing up
|
||||
; revoked states. URIs must be of the form <pubkey>@<addr>. Only 1 URI is
|
||||
; supported at this time, if none are provided the tower will not be enabled.
|
||||
; wtclient.private-tower-uris=
|
||||
|
||||
[healthcheck]
|
||||
; The number of times we should attempt to query our chain backend before
|
||||
; gracefully shutting down. Set this value to 0 to disable this health check.
|
||||
@ -623,6 +789,21 @@ litecoin.node=ltcd
|
||||
; value must be >= 1m.
|
||||
; healthcheck.diskspace.interval=6h
|
||||
|
||||
[signrpc]
|
||||
|
||||
; Path to the signer macaroon.
|
||||
; signrpc.signermacaroonpath=~/.lnd/data/chain/bitcoin/simnet/signer.macaroon
|
||||
|
||||
[walletrpc]
|
||||
|
||||
; Path to the wallet kit macaroon.
|
||||
; walletrpc.walletkitmacaroonpath=~/.lnd/data/chain/bitcoin/simnet/walletkit.macaroon
|
||||
|
||||
[chainrpc]
|
||||
|
||||
; Path to the chain notifier macaroon.
|
||||
; chainrpc.notifiermacaroonpath=~/.lnd/data/chain/bitcoin/simnet/chainnotifier.macaroon
|
||||
|
||||
[routerrpc]
|
||||
; Minimum required route success probability to attempt the payment (default:
|
||||
; 0.01)
|
||||
@ -652,7 +833,7 @@ litecoin.node=ltcd
|
||||
; routerrpc.maxmchistory=900
|
||||
|
||||
; Path to the router macaroon
|
||||
; routerrpc.routermacaroonpath=
|
||||
; routerrpc.routermacaroonpath=~/.lnd/data/chain/bitcoin/simnet/router.macaroon
|
||||
|
||||
[workers]
|
||||
; Maximum number of concurrent read pool workers. This number should be
|
||||
|
Loading…
Reference in New Issue
Block a user