Skip to content

Latest commit

 

History

History
72 lines (38 loc) · 3.39 KB

File metadata and controls

72 lines (38 loc) · 3.39 KB

Switchgear Roadmap

Roadmap entries are chronological. Chronology is determined by priority and engineering precursors.

MILESTONE 1 : Production Readiness

Goal: move Switchgear from ALPHA status to RELEASE status.

Backend Names DONE

Lightning Node backends need a friendly name so admins can easily identify them.

Rate Limiting for LnUrl Endpoints

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

Paging for Offer GET Endpoint DONE

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.

PATCH Method for Discovery DONE

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.

Separate Files for Server Logs

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.

Lightning Node Backend Status Endpoint

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.

GitHub CI Pipeline DONE

Test automation must be fully integrated with GitHub before releases can be cut with confidence.

OpenTelemetry Runtime Metrics

Switchgear must instrumented with runtime metrics so performance bottlenecks can be mitigated and resource constraints can be addressed by admins.

MILESTONE 2 : Paying to static internet identifiers: LUD-16

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.

MILESTONE 3 : Integrations : BTCPay Plugin

Integrate Switchgear with BTCPay Plugin. Admins will be able to use Switchgear as an LNURL server with their existing system.

MILESTONE 4 : Integrations : LNBits Extension

Integrate Switchgear with LNBits via API Bridge extension. Admins will be able to use Switchgear as an LNURL server with their existing system.

MILESTONE 5 : Integrations : Start9 Service Package

Integrate Switchgear with Start9 Service Package . Admins will be able to use Switchgear as an LNURL server with their existing system.

MILESTONE 6 : Bolt12 Capabilities

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.