Domino server topology
The Domino Helm chart deploys HCL Domino as a set of servers, each with a distinct role. This topic explains what gets deployed, how the servers are named, and how the topology changes between a high-availability and a single-zone deployment.
Servers and roles
Every Domino server is a separate StatefulSet with its own data PVC and Service. Servers are grouped by role (type):
Role (type) | Purpose |
|---|---|
admin | Bootstraps the Domino domain (One-Touch Setup), hosts the OIDC provider (auth.<domain>) and admin endpoints. Exactly one per deployment. |
srvmgr | Server manager — directory and replication routing. |
files | Serves NSF databases over NRPC and HTTPS (files.<domain>). |
mail | Mail, calendar, contacts, IMAP, DRAPI, and Traveler. See Mail clusters. |
ontime | OnTime Group Calendar (groupcal.<domain>). |
smtp | Outbound SMTP gateway. |
iq | Dedicated Domino IQ server(s). |
ldap | LDAP proxy — NRPC and LDAPS (636). |
The server set is defined under servers: in the values file. Each entry is one server.
Server names
Server names follow the pattern dom-<role><NN><zone>:
<role>— the role, for examplemailorfiles.<NN>— the instance number of that role,01,02, and so on. A new number is a new independent unit (formail, a new mail cluster).<zone>— a letter,aorb, identifying the Availability Zone the server belongs to. A role deployed for high availability has one server per zone:dom-mail01aanddom-mail01bare the two replicas of the first mail cluster.
The admin server is dom-admin01a. Its zone b counterpart, dom-admin01b, is the server manager (type: srvmgr), not a second admin server.
Default topology
The chart's default servers: map deploys a full high-availability topology — 18 StatefulSets, most roles paired across two zones:
| Role | Servers | Count |
|---|---|---|
admin | dom-admin01a | 1 |
srvmgr | dom-admin01b | 1 |
files | dom-files01a – dom-files01d | 4 |
mail | dom-mail01a, dom-mail01b (cluster 01)dom-mail02a, dom-mail02b (cluster 02) | 4 |
ontime | dom-ontime01a, dom-ontime01b | 2 |
smtp | dom-smtp01a, dom-smtp01b | 2 |
iq | dom-iq01a, dom-iq01b | 2 |
ldap | dom-ldap01a, dom-ldap01b | 2 |
Per-role resource requests, limits, and volume sizes are in System Requirements. Adjust the server list and sizes in your environment values file to match your deployment — see Scaling and adding capacity.
High availability
Application-level high availability is provided by running paired servers (a and b) across two Availability Zones. A three-zone configuration is required for Kubernetes control-plane quorum. See High Availability in the architecture topic.
The chart keeps a role's pair on separate nodes:
podAntiAffinity.enabled(defaulttrue) — prevents two servers of the same role from scheduling on the same node.servers.<name>.requireNodeLabels— pins a server to nodes carrying a label, for example{topology.kubernetes.io/zone: zone-a}on theaserver andzone-bon thebserver. Anti-affinity stays active, so the pair also spreads across nodes within the zone.servers.<name>.nodeSelector— pins a server to one specific node. Setting this disables anti-affinity for that server.
Routing across a pair is handled at the APISIX layer (failover upstreams, per-user routing via dom-router) — see Default routes.
Single-zone (non-HA) topology
For a deployment without zone redundancy, reduce the server set:
- Set
enabled: falseon the zonebservers of each role you do not need paired (dom-files01b,dom-ontime01b,dom-ldap01b, and so on), and on the second mail cluster (dom-mail02a,dom-mail02b). dom-admin01aand onemail,files,ontime,smtp,iq, andldapserver is the minimum functional set.srvmgr(dom-admin01b) is recommended even in a single zone.- With one node per role there are no anti-affinity guarantees to satisfy;
podAntiAffinitycan stay enabled (it only takes effect when a role has more than one server).
A server left with enabled: false and register: true is still pre-registered in the Domino domain, so it can be brought up later with a single helm upgrade — see Incremental deployment.
Mail clusters
A mail cluster is one replicated pair of mail servers — dom-mailNNa and dom-mailNNb — holding the same set of user mail files across two zones. Each user's mail file is homed on one cluster; mobile and web clients are routed to that user's home mail server by the dom-router plugin, with failover to the paired server.
The default topology ships two mail clusters (01 and 02). Additional clusters are added as capacity grows — see Adding a mail cluster.
Mobile access and Traveler
Traveler runs as a task on the mail servers — there is no separate Traveler server role. Mobile clients reach Traveler at mobile.<domain>/traveler and are routed to the user's home mail server the same way web mail is, with the same mail-cluster failover described above.