You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
alex 1be6a4dbe8
ndg: make sure ngui process terminates at sv stop
it is unclear why ngui is sometimes hanging after stopping nd service.
for now, this is a working around. follow this issue for more:
nakamochi/ndg#17
2 years ago
base base: preserve sysupdates channel on initial setup 2 years ago
btc btc: add bitcoin core setup using the latest v24.0.1 2 years ago
keys keys: add my other, newer gpg key 2 years ago
lnd lnd: upgrade from 0.15.4 to 0.15.5 2 years ago
ndg ndg: make sure ngui process terminates at sv stop 2 years ago
LICENSE initial import 2 years ago
README.md docs: clarify that shell scripts are a very temporary solution 2 years ago
apply.sh ndg: add nakamochi daemon and gui setup scripts 2 years ago
update.sh apply: make sure each stage starts off back from the repo root dir 2 years ago

README.md

system updates

the plan is for this repo to contain all system updates, incremental in a form of text/source code. a node periodically runs the update.sh script which pulls the repo to receive updates executes apply.sh. the latter then makes changes and updates the operating system.

at the moment, all updates are executed in form of shell scripts. these are error-prone and hard to reason about in a comprehesive way once the codebase gets sufficiently large. the short term goal is to migrate shell scripts to something more managaeble like saltstack but with less resource requirements, suitable for embedded devices without python dependencies.

typical update examples are: upgrade bitcoind, lnd and other services, system packages, improve configuration of components such as firewall. the run sequence on the node is approximately as follows:

  1. fetch updates with a git fetch.
  2. provide a git diff on the screen and confirm with the user.
  3. pull in the changes with a git pull --verify-signatures.
  4. run apply.sh.

at the moment, an on-screen diff and confirmation aren't implemented yet. nd and ngui is where it'll happen, in the ndg repo.

when configuring a new node, clone this repo and set up a cron job to execute the update.sh script once a day. The script requires REPODIR and LOGFILE env variables set.

TODO: add a list of supported platforms; the "native" is void linux.