Skip to content

ha-cluster: add HA cluster orchestration#29137

Draft
pgaufillet wants to merge 1 commit intoopenwrt:masterfrom
pgaufillet:add-ha-cluster
Draft

ha-cluster: add HA cluster orchestration#29137
pgaufillet wants to merge 1 commit intoopenwrt:masterfrom
pgaufillet:add-ha-cluster

Conversation

@pgaufillet
Copy link
Copy Markdown

@pgaufillet pgaufillet commented Apr 12, 2026

📦 Package Details

Maintainer: @pgaufillet

Description:
Add ha-cluster, a UCI-based orchestration package that coordinates keepalived (VRRP), owsync (config sync), and optionally lease-sync (DHCP sync) to provide high availability for OpenWrt routers.

Reads /etc/config/ha-cluster and generates flat configs for each managed service in /tmp/ha-cluster/. Manages lifecycle via procd.

Features:

  • Single UCI configuration for all HA services
  • Automatic keepalived.conf generation (VRRP instances, VIPs)
  • IPv4 + IPv6 dual-stack VRRP support
  • Unicast and multicast VRRP transport
  • Service takeover/release on VRRP state transitions
  • Startup validation (interface checks, DHCP prerequisites)

Shell-only package (PKGARCH:=all), ~1000 lines.
Depends on: keepalived. Recommends: owsync, lease-sync.

Part of the OpenWrt HA cluster proposal:

Source: files shipped in the package (no upstream repo).


🧪 Run Testing Details

  • OpenWrt Version: 24.10 and 25.12
  • OpenWrt Target/Subtarget: x86/64, mediatek/filogic
  • OpenWrt Device: Generic x86_64 VM, ASUS TUF Gaming AX4200

✅ Formalities

  • I have reviewed the CONTRIBUTING.md file for detailed contributing guidelines.

Add ha-cluster, a UCI-based orchestration package that coordinates
keepalived (VRRP), owsync (config sync), and optionally lease-sync
(DHCP sync) to provide high availability for OpenWrt routers.

Reads /etc/config/ha-cluster and generates flat configs for each
managed service in /tmp/ha-cluster/. Manages lifecycle via procd.

Features:
- Single UCI configuration for all HA services
- Automatic keepalived.conf generation (VRRP instances, VIPs)
- IPv4 + IPv6 dual-stack VRRP support
- Unicast and multicast VRRP transport
- Service takeover/release on VRRP state transitions
- Startup validation (interface checks, DHCP prerequisites)

Shell-only package (PKGARCH:=all), ~1000 lines.
Depends on: keepalived. Recommends: owsync, lease-sync.

Tested on: OpenWrt 24.10 and 25.12 (x86_64 + filogic), production.

Signed-off-by: Pierre Gaufillet <pierre.gaufillet@bergamote.eu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant