# OpenSVC > Documents the purpose and usage of the OpenSVC resilient and scalable infrastructure tools. Build: dc2a35d 2026-11-03. Keyword reference: OpenSVC agent v3.0.0-rc56. ## OpenSVC - [Introduction](preamble/introduction.md): What OpenSVC is, why use it, and what it requires. ## Agent - [Install](agent/install.md): How to install the agent packages, from the dev, uat or prod branch, on Debian, Ubuntu, Red Hat Enterprise Linux and SuSE. - [Your First Service](agent/firstservice.md): A five-minute walk through a first service on one node: create it, start it, check it, look at it, stop it and clean up. - [Configure](agent/configure.md): The syntax of the agent configuration files: ini sections and keywords, values scoped to nodes, policies, and syntax validation. - [Configure > Node](agent/configure.base.md): The node configuration: its environment, the schedules of its jobs, its registration on a collector, the SAN switch inventory and the sysreport. - [Configure > Cluster](agent/configure.cluster.md): How to bootstrap a cluster: its heartbeats and stonith methods, enrolling and evicting nodes, and registering on a collector. - [Configure > Cluster Storage](agent/configure.pool.md): Cluster storage pools: how volumes get their disks and filesystems from a pool, access modes, pool selection, the pool commands, and examples. - [Configure > Cluster Storage > Pool Drivers](agent/configure.pool.drivers.md): Reference of the pool drivers, such as directory and drbd: the capabilities of each, the layout of its volumes and its keywords. - [Configure > Cluster API](agent/configure.api.md): The cluster API: how it is reached, its authentication methods, basic, X.509 certificates and JWT from an OpenID server, and its local users. - [Configure > Access Control](agent/configure.rbac.md): The roles of the users of the cluster API, per namespace, guest, operator and admin, and cluster-wide, such as root, and what each allows. - [Configure > Cluster API Client](agent/configure.client.md): The ox client, which manages clusters through their API from another host: its contexts, login, terminal UI and command line. - [Configure > Cluster Networks](agent/configure.networks.md): Cluster networks: their types, bridge, routed bridge and masquerading, how they are declared and applied, how addresses are allocated, and their use in objects. - [Configure > Cluster DNS](agent/configure.dns.md): The cluster DNS, the agent daemon serving records as a PowerDNS backend: the records, the deployment of the DNS service and the resolver of the nodes. - [Configure > Cluster Gateway](agent/configure.igw.md): An ingress gateway, an haproxy service exposing outside the cluster the services of a backend network: its topologies, certificate, configuration and deployment. - [Configure > Cluster Relay](agent/configure.relay.md): The relay, a standalone OpenSVC server on a third site serving relay heartbeats and quorum votes: v2 and v3 compatibility, and its setup. - [Configure > Cluster Quorum](agent/configure.quorum.md): Cluster quorum: enabling it, how nodes and arbitrators vote on a split-brain, configuring and testing arbitrators, and best practices. - [Upgrade](agent/upgrade.md): How to upgrade the agent with no service downtime, on Debian, Ubuntu, Red Hat Enterprise Linux and SuSE. ## Apps - [Deploy](agent/apps.deploy.md): Deploying applications: the life of the configuration of an object, from the name it is given to the day it is removed. - [Deploy > Naming](agent/apps.deploy.naming.md): How objects are named: the // path, the kinds svc, vol, cfg, sec and ccfg, and the rules of each part. - [Deploy > Create](agent/apps.deploy.create.md): How to create an object: from scratch, from another object, or from a manifest, and what a clone resets. - [Deploy > Provisioning](agent/apps.deploy.provisioning.md): How the resources of an object are provisioned and unprovisioned: provisioners, shared resources, and resources provisioned by hand. - [Deploy > Update](agent/apps.deploy.update.md): How to change the configuration of an object: adding, modifying and deleting resources, interactively or not, batching, and waiting for propagation. - [Deploy > Purge, Delete](agent/apps.deploy.delete.md): How to remove an object: a purge stops, unprovisions and deletes it on every node; a delete removes its configuration only. - [Operate](agent/apps.operate.md): Operating applications: assessing the cluster and service states, reading resource info, selecting objects, running actions and following them. - [Operate > Assess](agent/apps.operate.status.md): How to read the state of the cluster and its services: om mon and its status and alert markers, the machine-readable outputs, and the ox terminal UI. - [Operate > Resource Info](agent/apps.operate.info.md): Resource info, the key-values each resource publishes about what it is made of: reading and refreshing them, their centralization, and adding your own. - [Operate > Select](agent/apps.operate.select.md): How to select the objects a command acts on: all objects, all services, one path, a list of paths or a pattern. - [Operate > Action](agent/apps.operate.action.md): The actions on an object: start, stop, relocation, failure handling, data replication, run, resource filtering and logging, from the CLI and the API. - [Operate > Grow a Volume](agent/apps.operate.resize.md): How to grow a volume through the chain of resources it rests on: the commands, the plan, the stages, the limits of a namespace and what is refused. - [Operate > Follow an Action](agent/apps.operate.sessions.md): How to follow an action submitted to the daemon: its session, execution and orchestration ids, what runs now, how to stop it, and what it logged. - [Design](agent/apps.design.md): Designing applications: splitting them into objects, and choosing their topology, failover or flex. - [Design > Namespaces](agent/apps.design.namespaces.md): Namespaces: object paths within them, cloning into a namespace, and the claims of a namespace on pools, networks and compute. - [Design > Configs and Secrets](agent/apps.design.datastores.md): Configs and secrets: the data of an application kept in a datastore and installed where the application reads it, shared across namespaces or rendered from templates. - [Design > Certificates](agent/apps.design.certificates.md): TLS certificates kept in secrets: their keys, generating one, obtaining one from an ACME directory, and renewing it. - [Design > Resource Capping](agent/apps.design.pg.md): Resource capping: the slice an object runs in, and capping an object, a resource or a namespace, running or not. - [Design > Data Replication](agent/apps.design.replication.md): Data replication of a failover service on local disks: choosing the peers, reading the status of a sync, the recovery point objective, and ZFS replication. - [Design > Rootless Containers](agent/apps.design.rootless.md): Running podman containers and tasks as an unprivileged user: what to expect, and how to set up the nodes for it. - [Design > References](agent/apps.design.references.md): References, the markers a keyword value carries and evaluation replaces: within a configuration or a section, hard coded, capacity, arithmetic and env. - [Design > Scoping](agent/apps.design.scoping.md): Scoping, a keyword value set for a node or a group of nodes: its syntax, the supported scopes, precedence and examples. ## Dig - [Outputs](agent/outputs.md): The output formats of the om query commands: human-readable, custom tables, machine-readable, flat key-values and templates. - [Internals](agent/internals.md): Why the agent did something: where it installs its files, the ids it names its work with, and the daemon behind every cluster-wide behavior. - [Internals > Installed Files](agent/internals.installed_files.md): The directories, executable files and configuration files the agent installs. - [Internals > Session, Execution and Orchestration Ids](agent/internals.ids.md): The three ids naming what the agent does, session, execution and orchestration: which one to ask with, and where they are recorded. - [Internals > Daemon](agent/internals.daemon.md): The subsystems of the daemon, events, heartbeats, lifecycle, quorum and scheduler: their role and policies. - [Internals > Daemon > Events](agent/internals.daemon.events.md): The events of the daemon: the commands reading them, filters, event kinds, the events a task runs on, and templating. - [Internals > Daemon > Heartbeats](agent/internals.daemon.heartbeats.md): Heartbeats: their configuration and reconfiguration, timeouts, dropping one, monitoring, and their transmit and receive threads. - [Internals > Daemon > Heartbeats > hb.unicast](agent/internals.daemon.heartbeats.unicast.md): The hb.unicast driver, heartbeats sent over TCP unicast: its basic and advanced configuration and its behavior. - [Internals > Daemon > Heartbeats > hb.multicast](agent/internals.daemon.heartbeats.multicast.md): The hb.multicast driver, heartbeats sent over UDP multicast: its basic and advanced configuration and its behavior. - [Internals > Daemon > Heartbeats > hb.disk](agent/internals.daemon.heartbeats.disk.md): The hb.disk driver, heartbeats written on a shared disk: its configuration, behavior and on-disk format. - [Internals > Daemon > Heartbeats > hb.relay](agent/internals.daemon.heartbeats.relay.md): The hb.relay driver, heartbeats exchanged through a relay agent: its configuration, authentication, requirements, pacing, timeouts and retries. - [Internals > Daemon > Lifecycle](agent/internals.daemon.lifecycle.md): The lifecycle of the agent daemon: enable, boot, shutdown, stop, restart, rejoin, run, and its watchdog. - [Internals > Daemon > Quorum](agent/internals.daemon.quorum.md): How quorum breaks the tie when every heartbeat to a peer goes stale: arbitrators vote, and a node without a majority stops. - [Internals > Daemon > Quorum > Quorum example 1](agent/internals.daemon.quorum.example1.md): A worked example of quorum votes in a 3-node cluster over two sites with two arbitrators on a third: which nodes survive each failure. - [Internals > Daemon > Quorum > Quorum example 2](agent/internals.daemon.quorum.example2.md): A worked example of quorum votes in a 2-node cluster over two sites with an arbitrator on a third: which node survives each failure. - [Internals > Daemon > Scheduler](agent/internals.daemon.scheduler.md): The scheduler of the agent: schedule definitions, policies, the node and service schedules, event-triggered runs, and examples. - [Rosetta Stone](agent/rosettastone.md): Tables mapping the commands of other clusterwares and orchestrators to their OpenSVC equivalents. - [Release Notes](agent/releasenotes.md): Where the notes and artifacts of each agent release are published, and the cumulative changelog. - [Changelog](agent/changelog.md): Where the agent changelog lives: the v2 to v3 migration prerequisites, the breaking changes and the v3 enhancements. ## HOWTOs - [KVM Live Migration](howtos/kvm.live.migration.md): A step-by-step guide to a highly available KVM cluster with live migration, using DRBD 9 and OpenSVC on Ubuntu 24.04. - [KVM Live Migration > KVM Live Migration on ZFS](howtos/kvm.live.migration.zfs.md): Live migration of KVM virtual machines whose disks are ZFS datasets or zvols: how a move works, how long it takes, and the service setup. - [Get Support](howtos/support.md): Commercial support for OpenSVC: how to be assisted, the support open hours, and premium support. - [Get Support > Support Channels](howtos/support.channels.md): The channels to reach OpenSVC support: Mattermost, tickets, email and phone. - [Get Support > Support Data](howtos/support.data.md): The data support asks for: the description of the issue, the node and cluster configuration, and logs, with how to keep them across reboots. - [strongSwan Mesh](howtos/strongswan.mesh.md): Encrypting with strongSwan the traffic between the nodes of a routed bridge network, rendered and run by an OpenSVC service: its key, configuration and checks. - [NFS](howtos/nfsha.md): Two NFS high availability setups: one with host resources, for a central storage backend, one with containers and data volumes, for edge storage. - [NFS > NFS4 High Availability setup - Traditional integration](howtos/nfs4ha.trad.md): A highly available NFSv4 service with the fewest virtualization layers: setup, deployment, clients, and switch and failover tests. - [NFS > NFS4 High Availability setup - Container integration](howtos/nfs4ha.cont.md): A highly available NFSv4 service in containers, on LVM2, DRBD and Podman, deployed with OpenSVC. ## Appendix - [Contribute](preamble/contribute.md): How to contribute to OpenSVC and to this book: clone and build the projects, install mdbook, and generate the documentation. - [License](appendix/license.md): The license of this book, CC BY 4.0, and how to credit it. - [Third-party licenses](appendix/third-party-licenses.md): The licenses of the third-party components mdBook copies into every page of this book. ## Optional - [Keyword changes](agent.reference.keywords/changes.md): What each release of the agent added, removed and changed in the keywords. - [Removed keywords](agent.reference.keywords/removed.md): The keywords the agent no longer has, and the release that removed each. - [node](agent.reference.keywords/node/SUMMARY.md): The sections of the node configuration, each with its keywords. - [cluster](agent.reference.keywords/cluster/SUMMARY.md): The sections of the cluster configuration, each with its keywords. - [svc](agent.reference.keywords/svc/SUMMARY.md): The sections of the svc configuration, each with its keywords. - [vol](agent.reference.keywords/vol/SUMMARY.md): The sections of the vol configuration, each with its keywords. - [sec](agent.reference.keywords/sec/SUMMARY.md): The sections of the sec configuration, each with its keywords. - [cfg](agent.reference.keywords/cfg/SUMMARY.md): The sections of the cfg configuration, each with its keywords. - [usr](agent.reference.keywords/usr/SUMMARY.md): The sections of the usr configuration, each with its keywords.