Roadmap entries are chronological. Chronology is determined by priority and engineering precursors.
Goal: move Switchgear from ALPHA status to RELEASE status.
Lightning Node backends need a friendly name so admins can easily identify them.
Mitigate overload and certain DOS attacks with rate limiting:
- max rate limit for each endpoint
- per-session (ip-based) rate limit per endpoint
- configurable individual max and session limits for each endpoint
GET endpoints for Discovery and Offer Services that return a list need paging. For REST: ?page={page} query parameter. The CLI will need a --page parameter.
Add a PATCH method to Discovery, so Lightning Node backends can be rapidly enabled or weight-adjusted without pushing an entire copy of the definition back to the service. Add an --enable and --weight to the CLI.
Each service log needs its own log file, rather combining into the main log. This makes administration simpler, and securely segregates user behavior reporting from system status.
The health and enablement status of all attached Lightning Nodes must be made available to admins. The node status endpoint will drive a CLI status command as well.
Test automation must be fully integrated with GitHub before releases can be cut with confidence.
Switchgear must instrumented with runtime metrics so performance bottlenecks can be mitigated and resource constraints can be addressed by admins.
Switchgear will support LNURL static identifiers (pay to me@domain.com), which are popular and convenient. The identifier database will be populated by local database, as well as integrated with LDAP for dynamic updates.
Integrate Switchgear with BTCPay Plugin. Admins will be able to use Switchgear as an LNURL server with their existing system.
Integrate Switchgear with LNBits via API Bridge extension. Admins will be able to use Switchgear as an LNURL server with their existing system.
Integrate Switchgear with Start9 Service Package . Admins will be able to use Switchgear as an LNURL server with their existing system.
Provide full Switchgear load balance feature set for Bolt12:
- generate Bolt12 Offers from existing Offer database or integrations
- answer Bolt12 Invoice Requests and Responses over Lightning P2P network
- balance and proxy invoice requests to Lighting Node backends over grpc client
See LNDK on how this works.
Switchgear Bolt12 Capabilities will also have the benefit of providing Bolt12 to any Lightning Node implementation, pushing the standard forward.