Install from Source

Install from Source

Building from source requires Go 1.24 or later and Node.js 22 (for the React dashboard).


Clone and Build

git clone https://github.com/signal18/replication-manager.git \
  ~/go/src/github.com/signal18/replication-manager

cd ~/go/src/github.com/signal18/replication-manager

Build all binary variants:

make bin

Build the React dashboard (required for osc, pro, and embedded binaries):

make react

Build Specific Flavors

make osc        # Open Source Community — no provisioning
make pro        # Pro — with OpenSVC provisioning
make tst        # Test — with Sysbench and regression testing
make arb        # Arbitrator
make emb        # Embedded binary (dashboard built in)
make cli        # CLI client only

Build Packages

make package

This runs package_linux.sh and produces RPM and DEB packages in build/.


Build Tags

The build system uses Go compile-time feature flags (-X linker flags) to control which features are compiled into each binary. Key flags:

Flag Effect
WithProvisioning Enable OpenSVC/Kubernetes cluster provisioning
WithArbitration Enable arbitration client
WithProxysql Enable ProxySQL integration
WithHaproxy Enable HAProxy integration
WithMaxscale Enable MaxScale integration
WithOpenSVC Enable OpenSVC collector API
WithEmbed Embed dashboard and assets in binary

See the Makefile for the full flag sets used per flavor.


Running from Source

After building, binaries are written to build/binaries/. The embedded binary can be run directly:

build/binaries/replication-manager monitor \
  --config ./etc/local/config.toml \
  --http-server

Continuous Integration

Development builds from the develop branch are available on the Signal18 CI Server.