Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update clightning plugins and remove unmaintained plugins #689

Merged
merged 4 commits into from
Apr 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,8 @@ NixOS modules ([src](modules/modules.nix))
Available plugins:
* [clboss](https://github.com/ZmnSCPxj/clboss): automated C-Lightning Node Manager
* [currencyrate](https://github.com/lightningd/plugins/tree/master/currencyrate): currency converter
* [helpme](https://github.com/lightningd/plugins/tree/master/helpme): walks you through setting up a fresh c-lightning node
* [monitor](https://github.com/lightningd/plugins/tree/master/monitor): helps you analyze the health of your peers and channels
* [prometheus](https://github.com/lightningd/plugins/tree/master/prometheus): lightning node exporter for the prometheus timeseries server
* [rebalance](https://github.com/lightningd/plugins/tree/master/rebalance): keeps your channels balanced
* [summary](https://github.com/lightningd/plugins/tree/master/summary): print a nice summary of the node status
* [trustedcoin](https://github.com/nbd-wtf/trustedcoin) ([experimental](docs/services.md#trustedcoin)): replaces bitcoind with trusted public explorers
* [zmq](https://github.com/lightningd/plugins/tree/master/zmq): publishes notifications via ZeroMQ to configured endpoints
* [clightning-rest](https://github.com/Ride-The-Lightning/c-lightning-REST): REST server for clightning
Expand Down
6 changes: 3 additions & 3 deletions docs/services.md
Original file line number Diff line number Diff line change
Expand Up @@ -571,13 +571,13 @@ You can activate and configure these plugins like so:
services.clightning = {
enable = true;
plugins = {
prometheus.enable = true;
prometheus.listen = "0.0.0.0:9900";
clboss.enable = true;
clboss.min-onchain = 40000;
};
};
```

Please have a look at the module for a plugin (e.g. [prometheus.nix](../modules/clightning-plugins/prometheus.nix)) to learn its configuration options.
Please have a look at the module for a plugin (e.g. [clboss.nix](../modules/clightning-plugins/clboss.nix)) to learn its configuration options.

### Trustedcoin
When `services.clightning.tor.proxy` is enabled, [trustedcoin](https://github.com/nbd-wtf/trustedcoin)
Expand Down
2 changes: 1 addition & 1 deletion examples/configuration.nix
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
#
# == Plugins
# See ../README.md (Features → clightning) for the list of available plugins.
# services.clightning.plugins.prometheus.enable = true;
# services.clightning.plugins.clboss.enable = true;
#
# == REST server
# Set this to create a clightning REST onion service.
Expand Down
4 changes: 0 additions & 4 deletions modules/clightning-plugins/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ with lib;
let
options.services.clightning.plugins = {
currencyrate.enable = mkEnableOption "Currencyrate (clightning plugin)";
helpme.enable = mkEnableOption "Help me (clightning plugin)";
monitor.enable = mkEnableOption "Monitor (clightning plugin)";
rebalance.enable = mkEnableOption "Rebalance (clightning plugin)";
};
Expand All @@ -15,8 +14,6 @@ in {
imports = [
./clboss.nix
./feeadjuster.nix
./prometheus.nix
./summary.nix
./trustedcoin.nix
./zmq.nix
];
Expand All @@ -26,7 +23,6 @@ in {
config = {
services.clightning.extraConfig = mkMerge [
(mkIf cfg.currencyrate.enable "plugin=${pluginPkgs.currencyrate.path}")
(mkIf cfg.helpme.enable "plugin=${pluginPkgs.helpme.path}")
(mkIf cfg.monitor.enable "plugin=${pluginPkgs.monitor.path}")
(mkIf cfg.rebalance.enable "plugin=${pluginPkgs.rebalance.path}")
];
Expand Down
21 changes: 0 additions & 21 deletions modules/clightning-plugins/prometheus.nix

This file was deleted.

39 changes: 0 additions & 39 deletions modules/clightning-plugins/summary.nix

This file was deleted.

10 changes: 9 additions & 1 deletion modules/obsolete-options.nix
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,15 @@ in {
(mkRemovedOptionModule [ "services" "clightning" "plugins" "clboss" "acknowledgeDeprecation" ] ''
`clboss` is maintained again and has been un-deprecated.
'')
];
]
++
# 0.0.106
(map (plugin:
mkRemovedOptionModule [ "services" "clightning" "plugins" plugin ] ''
This plugin is no longer maintained.
'')
[ "summary" "helpme" "prometheus" ]
);
config = {
# Migrate old clightning-rest datadir from nix-bitcoin versions < 0.0.70
systemd.services.clightning-rest-migrate-datadir = let
Expand Down
18 changes: 2 additions & 16 deletions pkgs/clightning-plugins/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ let
src = pkgs.fetchFromGitHub {
owner = "lightningd";
repo = "plugins";
rev = "ce078bb74e10b5dea779fcd9fbe77e1d3e72db7a";
hash = "sha256-SCHSJzXe1l14hVT47SU3lWDxKCKwwICjXjSDpjUX96U";
rev = "83a80d134ecb2adc6647235d56195332e846f5cb";
sha256 = "1vwsvrak2jkcdfcaj426z4qk8shpkqhrqlfnb9i43w24ry7sqzy1";
};

version = builtins.substring 0 7 src.rev;
Expand All @@ -20,27 +20,13 @@ let
feeadjuster = {
description = "Dynamically changes channel fees to keep your channels more balanced";
};
helpme = {
description = "Walks you through setting up a c-lightning node, offering advice for common problems";
};
monitor = {
description = "Helps you analyze the health of your peers and channels";
extraPkgs = [ packaging ];
};
prometheus = {
description = "Lightning node exporter for the prometheus timeseries server";
extraPkgs = [ prometheus_client ];
patchRequirements =
"--replace prometheus-client==0.6.0 prometheus-client==0.17.1"
+ " --replace pyln-client~=0.9.3 pyln-client~=24.02";
};
rebalance = {
description = "Keeps your channels balanced";
};
summary = {
description = "Prints a summary of the node status";
extraPkgs = [ packaging requests ];
};
zmq = {
description = "Publishes notifications via ZeroMQ to configured endpoints";
scriptName = "cl-zmq";
Expand Down
6 changes: 3 additions & 3 deletions test/tests.nix
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ let
removed = [
# Only defined via `obsolete-options.nix`
"commando"
"helpme"
"prometheus"
"summary"
];
available = subtractLists removed (builtins.attrNames plugins);
enabled = builtins.filter (plugin: plugins.${plugin}.enable) available;
Expand Down Expand Up @@ -152,11 +155,8 @@ let
services.clightning.plugins = {
clboss.enable = true;
feeadjuster.enable = true;
helpme.enable = true;
monitor.enable = true;
prometheus.enable = true;
rebalance.enable = true;
summary.enable = true;
zmq = let tcpEndpoint = "tcp://127.0.0.1:5501"; in {
enable = true;
channel-opened = tcpEndpoint;
Expand Down