feat: update scripts to use env vars

- bitcoind entrypoint set chain value
- bitcoind healthcheck fix cli parameter
- lightning entrypoint script
- lightning health script
- prepend chain in bitcoin.conf

Signed-off-by: Lakshya Singh <lakshay.singh1108@gmail.com>
This commit is contained in:
Lakshya Singh 2023-09-26 00:41:49 +05:30
parent 5b0cb901cb
commit 5c2d225be2
No known key found for this signature in database
GPG Key ID: D3239BA6109A2CE7
5 changed files with 38 additions and 11 deletions

View File

@ -1,7 +1,8 @@
#!/bin/sh
set -e
cp -u /bitcoin.conf $BITCOIN_DATA/
cp /bitcoin.conf $BITCOIN_DATA/
sed -i "1s/^/chain=$BITCOIN_CHAIN\n/" $BITCOIN_DATA/bitcoin.conf
if [ $(echo "$1" | cut -c1) = "-" ]; then
echo "$0: assuming arguments for bitcoind"
@ -9,5 +10,11 @@ if [ $(echo "$1" | cut -c1) = "-" ]; then
set -- bitcoind "$@"
fi
if [ $(echo "$1" | cut -c1) = "-" ] || [ "$1" = "bitcoind" ]; then
echo "$0: setting chain to $BITCOIN_CHAIN"
set -- "$@" -chain=$BITCOIN_CHAIN
fi
echo
exec "$@"
exec "$@"

View File

@ -1 +1 @@
bitcoin-cli --chain=$BITCOIN_CHAIN getblockchaininfo
bitcoin-cli -chain=$BITCOIN_CHAIN getblockchaininfo

View File

@ -22,7 +22,7 @@ services:
image: lightningd
container_name: lightningd-test
command:
- --conf=/home/lightning/.lightning/test-config
- --conf=/home/lightning/.lightning/testnet-config
- --bitcoin-rpcconnect=bitcoind
volumes:
- clightning:/home/lightning/.lightning
@ -35,7 +35,7 @@ services:
condition: service_healthy
restart: true
env_file:
- ./assets/test-env
- ./assets/testnet-env
environment:
- BITCOIN_CHAIN=test

View File

@ -75,8 +75,6 @@ ENV LIGHTNINGD_DATA=${LIGHTNINGD_HOME}/.lightning \
LIGHTNINGD_PORT=9735 \
BITCOIND_HOME=/root/.bitcoin
COPY lightningd/entrypoint.sh /entrypoint.sh
COPY --from=builder /usr/bin/lightningd /usr/bin/
COPY --from=builder /usr/bin/lightning-cli /usr/bin/
COPY --from=builder /usr/bin/lightning-hsmtool /usr/bin/
@ -87,8 +85,15 @@ COPY --from=builder /usr/bin/clboss /usr/bin/clboss
RUN addgroup -S lightning && adduser -S lightning -G lightning && \
mkdir -p ${LIGHTNINGD_DATA} && \
touch ${LIGHTNINGD_DATA}/config && \
chown -R lightning:lightning "${LIGHTNINGD_DATA}"
chown -R lightning:lightning ${LIGHTNINGD_DATA}
COPY assets/bitcoin.conf "${BITCOIND_HOME}"/bitcoin.conf
COPY lightningd/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
COPY lightningd/healthcheck.sh /healthcheck.sh
RUN chmod +x /healthcheck.sh
VOLUME ["${LIGHTNINGD_DATA}"]
@ -102,8 +107,8 @@ COPY assets/main-config /main-config
USER lightning
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s \
CMD lighting-cli --testnet getinfo
HEALTHCHECK --interval=10s --timeout=10s --start-period=15s \
CMD ["/bin/sh", "-c", "/healthcheck.sh"]
ENTRYPOINT ["/entrypoint.sh"]
CMD ["lightningd"]

15
lightningd/healthcheck.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
set -ex
LIGHTNING_NETWORK=""
case $BITCOIN_CHAIN in
"test") LIGHTNING_NETWORK=testnet ;;
"regtest") LIGHTNING_NETWORK=regtest ;;
"main") LIGHTNING_NETWORK=bitcoin ;;
"signet") LIGHTNING_NETWORK=signet ;;
*) echo "Invalid BITCOIN_CHAIN value: $BITCOIN_CHAIN" && exit 1 ;;
esac
lightning-cli --network $LIGHTNING_NETWORK getinfo