The Go port and continuation of opensvc/opensvc.
om3 is a cluster orchestrator for small-to-mid clusters — a coherent alternative to stitching together systemd, container runtimes, and ad-hoc scripts, with symmetric orchestration on every node.
- Targeted at 1-32 node clusters, human-readable service configurations and status
- Highly redundant cluster communications (unicast, multicast, disk, third-site relay)
- Deploy application stacks on containers, persistent or volatile volumes, or low-level resources — disks, volume groups, filesystems, IP addresses, app launchers
- Native, zeroconf, encrypted datastores, with keys exposed as files for your deployments
- Manage everything through the API, the
omcommand line, or theoxterminal UI
See the installation guide — the complete documentation lives there too.
Deploy a simple service:
om test/svc/simple deploy --kw fs#1.type=flag --kw nodes='*' --kw orchestrate=ha
Then open an ox session and watch it move around the cluster.
Browse ready-to-use templates — VIPs, cluster DNS, ingress gateways, ACME, HA NFS, meshed VPN backend networks, and more.
All OpenSVC Docker images published to ghcr.io/opensvc are signed with Cosign using Sigstore's keyless signing via GitHub Actions OIDC. The signing is performed automatically by the release workflow on Git tag creation.
To verify an image signature:
cosign verify \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
--certificate-identity-regexp='^https://github.com/opensvc/om3/.github/workflows/release-go-docker-push-version.yml@' \
ghcr.io/opensvc/om:TAGReplace TAG with the version (e.g., 3.0.0-rc30). Note that the v prefix from Git tags is stripped in Docker image tags.