Skip to content

luci-app-ha-cluster: add LuCI interface - #8549

Open
pgaufillet wants to merge 1 commit into
openwrt:masterfrom
pgaufillet:add-luci-app-ha-cluster
Open

pgaufillet wants to merge 1 commit into
openwrt:masterfrom
pgaufillet:add-luci-app-ha-cluster

Conversation

@pgaufillet

@pgaufillet pgaufillet commented Apr 12, 2026

Copy link
Copy Markdown

Add a LuCI web interface for the ha-cluster package.

Pages:

  • Quick Setup: simple form for 2+ router HA configuration
  • Status: real-time cluster state, peer health, sync statistics
  • Advanced: keepalived tuning, owsync groups, lease-sync settings

5 JavaScript views (~1700 lines), rpcd backend (~490 lines).
Follows standard LuCI patterns (form maps, poll-based status, ACL).

Part of the OpenWrt HA cluster proposal:

Depends on: ha-cluster (openwrt/packages#29137)

@openwrt-ai openwrt-ai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the new luci-app-ha-cluster package (1 commit, fresh review). The commit message matches its changes. Inline comments cover one likely form-submit bug in the owsync chip widget and a few naming/dead-code nits. The backend dependency on the unmerged ha-cluster package (openwrt/packages#29137) is correctly disclosed in the PR description.


Generated by Claude Code

Comment thread applications/luci-app-ha-cluster/htdocs/luci-static/resources/ha-cluster.css Outdated
Comment thread applications/luci-app-ha-cluster/README.md Outdated
Comment thread applications/luci-app-ha-cluster/README.md Outdated
@pgaufillet
pgaufillet marked this pull request as ready for review September 20, 2026 21:48
Add a LuCI web interface for the ha-cluster package.

Pages:
- General: simple form for 2+ router HA configuration
- Status: real-time cluster state, peer health, sync statistics
- Advanced: keepalived tuning, owsync groups, lease-sync settings

5 JavaScript views (~1700 lines), rpcd backend (~490 lines).
Follows standard LuCI patterns (form maps, poll-based status, ACL).

Depends on: ha-cluster (openwrt/packages)

Signed-off-by: Pierre Gaufillet <pierre.gaufillet@bergamote.eu>
@pgaufillet
pgaufillet force-pushed the add-luci-app-ha-cluster branch from 5d20399 to cb859dc Compare September 21, 2026 12:05
@openwrt openwrt Bot added the add package Introduces a new package Makefile build script label Sep 21, 2026
o = s.option(form.DummyValue, '_dhcp_leases', _('Real-time DHCP Lease Sync'));
o.rawhtml = true;
o.cfgvalue = function() {
return '<em>' + _('Install the <code>lease-sync</code> and <code>dnsmasq-ha</code> packages to enable real-time DHCP lease synchronization.') + '</em>' +

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which package provides dnsmasq-ha? It is not a variant in package/network/services/dnsmasq/Makefile on openwrt main (only dnsmasq, dnsmasq-dhcpv6, dnsmasq-full), and it is not named in this PR's dependency list, so users following this hint may not find anything to install. Same text at lease-sync-advanced.js:26.


Generated by Claude Code

Comment on lines +11 to +13
- VRRP instance management (VIPs grouped by instance fail over atomically)
- Virtual IP (VIP) configuration per interface with instance selector
- Inline VRRP instance creation from VIP modal ("Add new..." option)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: these three bullets describe a General tab that no longer exists — the VIP section hardcodes a single main instance (simple.js:401-422)`` and its own description tells users to go to the Advanced page for independent failover groups; there is no instance selector and no "Add new..." option.

Suggested change
- VRRP instance management (VIPs grouped by instance fail over atomically)
- Virtual IP (VIP) configuration per interface with instance selector
- Inline VRRP instance creation from VIP modal ("Add new..." option)
- Virtual IP (VIP) configuration per interface (single shared failover group)

Generated by Claude Code

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

add package Introduces a new package Makefile build script

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants