Register a Data Plane
Registration is the second half of bringing up a Data Plane. Install the Data Plane in its Kubernetes cluster first, so itsdata-plane-agent pod is running and logging Secret agent-bootstrap not found; waiting.... Registration exchanges configuration data and cryptographic keys between the two planes, which is what that pod is waiting for.
Before you start, confirm you have admin access to the control plane and kubectl access to the Data Plane cluster.
1
Validate the configuration records
Check that the required Data Plane configuration records are set. They are auto-populated for hybrid-enabled control planes.
2
Register the Data Plane in the Domino UI
In the admin portal, go to Manage resources > Data Planes > Register Data Plane, then set these fields:
Three more fields sit behind Advanced:
Click Done.
3
Generate a Data Plane token
When registration is complete, create a bootstrap token:
- In the admin portal, go to Manage Resources > Data Planes.
- In the Actions column, click Setup for the Data Plane you are registering.
- Click Load bootstrap token.
- When the token loads, click Copy token.
The token is valid for 10 minutes. If you exceed the 10 minute window, load a new token through the same steps.
4
Run the bootstrap script
Make sure your default Kubernetes context is the cluster you want to deploy the Data Plane into.
-
Obtain the Kubernetes context of the Data Plane:
-
Download the
bootstrap-data-plane.shscript from the Nexus repository on GitHub and save it as an executable file: -
Run the script, replacing
<token>with the token you copied:
Verify the registration
In the admin portal, go to Manage resources > Data Planes and confirm the Data Plane reports Healthy. From the Data Plane cluster, confirm every node isReady and every pod is Running or Completed:
Troubleshoot the registration
The token expired
The token expired
The bootstrap token is valid for 10 minutes. If more time passed between copying it and running the script, load a new token and run the script again.
The Data Plane stays unhealthy
The Data Plane stays unhealthy
Read the agent logs, which name the reason the agent has not completed its handshake:
The keys expired after a long outage
The keys expired after a long outage
A Data Plane that stayed offline for more than 4 days can have expired security keys. Force a re-bootstrap:Only use
--force when the agent logs report key expiration. If they report waiting..., run the script without it.Enable a Data Plane for Workspaces and Datasets
Workspaces need a direct connection from the user’s browser to the Data Plane, so a Data Plane that serves interactive workloads needs its own hostname, load balancing, and TLS.Configure the hostname
Serve the Data Plane from a subdomain of the domain used for the control plane. If users connect to Domino atexample.com, then Data Planes must be served from data-plane.example.com.
Configure load balancing
Resolve that hostname to a load balancer that routes traffic to port 8080 on pods with this label selector:NodePort service plus a load balancer on-premises, or a LoadBalancer service type in the major cloud providers.
Configure TLS
Users must connect to Data Planes over TLS (HTTPS). If a load balancer routes traffic to the Data Plane, the simplest option is to configure that load balancer to serve valid TLS certificates for the domain. To serve certificates that you provide from the Data Plane itself:-
Create a Kubernetes secret containing the certificates:
-
Set this value when you deploy the Data Plane Helm chart:
Configure Datasets
Datasets on a remote Data Plane need the volume operator and the filetask operator, set underrelease_overrides in the Data Plane’s configuration file before you apply it:
Edit a registered Data Plane
Go to Manage resources > Data Planes, click the three-dot menu next to the Data Plane, and select Edit. What you can change varies by field:Disable file sync
When data must not leave a specific Data Plane, disable file sync on it to prevent anyone pushing data from that Data Plane to the control plane or to another Data Plane. On a Data Plane with file sync disabled:- Users can pull Project files.
- Users can pull and push any mounted Git repositories.
- Users cannot push changes to the Domino File System (DFS). Domino warns before starting an execution that cannot push to DFS, and the job history records that no artifacts or output files were captured because the execution ran in a restricted Data Plane.
- In the admin portal, go to Manage resources > Data Planes.
- Click the three-dot menu next to the Data Plane and click Edit.
- Click Advanced.
- Select Disable File Sync, then click Save.
Hardware Tiers for Data Planes
Hardware tiers are how users reach a Data Plane. Every hardware tier is assigned to one Data Plane, so granting a user access to a hardware tier grants them access to run workloads on that Data Plane with the resources the tier defines. Create and restrict those tiers from Manage a hardware tier, which covers the Data Plane field on the tier form, the node labels a Data Plane’s nodes need, and how to limit a tier to specific organizations.Upgrade a Data Plane
Keep your remote Data Planes in sync with the control plane to maintain compatibility and access new features. A Data Plane upgrade replaces thefleetcommand-agent and Domino services running in the Data Plane cluster; the same Platform Operator that installed the Data Plane also reconciles the upgrade.
Before you start
- The control plane must already be running the target version. Running a Data Plane newer than its control plane is not supported.
- Check version compatibility below.
- The Platform Operator and the
ddlctlcommand line must be installed against the Data Plane cluster’s Kubernetes context. The UI Upgrade button uses the operator that already runs in the Data Plane cluster; the manual path usesddlctlfrom a workstation with that same cluster context. - Read Before you upgrade for cluster-health, backup, and maintenance-mode guidance. It is written for the control plane, but the same checks apply to a Data Plane cluster.
Version compatibility
Starting with Domino 6.1, control planes and Data Planes are compatible across two regular releases. A control plane is compatible with the current and one past regular release of the Data Plane. For instance, control plane6.2.x is compatible with Data Planes 6.2.x and 6.1.x.
When a Data Plane’s version falls outside that range, the admin portal reports it:
Check the deployment type
Which upgrade methods are available depends on whether the Platform Operator or Helm manages the Data Plane. Run this against the Data Plane cluster:domino custom resource means the Platform Operator manages it, which is the default from Domino 6.1. No custom resource means it is a legacy Helm deployment, and the methods below do not apply.
Choose an upgrade method
A remote Data Plane managed by the Platform Operator has two self-service upgrade paths. Both drive the same underlying reconciliation: they update theDomino custom resource in the Data Plane cluster, which the Platform Operator picks up and applies through a fleetcommand-agent job. Either method preserves the existing custom resource, including its .spec.config.release_overrides.
A third path exists for Data Planes deployed through Fleetcommand, but only inside a Domino-operated deployment. Contact Domino Support if a Data Plane you administer is managed that way.
Upgrade from the UI
Use the Domino UI when the Upgrade action is available and you do not need to change the Data Plane’s configuration file as part of the upgrade. The action requires both planes to be running Domino 6.1.2 or later under the Platform Operator, and the Data Plane to have online access to the deployment artifacts.- In the admin portal, go to Manage resources > Data Planes.
- Identify the Data Plane that needs an upgrade by looking for a status message indicating “Data Plane is running an older version” or “Data Plane is running a different version”.
- Click the three vertical dots next to the Data Plane.
- Select Upgrade from the dropdown menu.
ddlctl instead.
Upgrade manually with ddlctl
Use the manual path when you need to review or change the Data Plane’s configuration before applying, when the UI button is unavailable, or when the Data Plane is air-gapped. Run these commands from a workstation whose default Kubernetes context targets the Data Plane cluster.-
Get the
$FLEETCOMMAND_AGENT_TAGfor your target release from the releases page. Export it so the commands below can reuse it. -
Confirm you are pointed at the Data Plane cluster, then check for drifted Helm releases before starting:
Any stalled releases signal out-of-band changes the upgrade does not natively preserve. Reconcile them into the configuration file or expect to reapply them after the upgrade. See Drift detection for the full mechanics.
-
Run the upgrade:
This fetches the existing
.spec.configfrom the Data Plane’s Domino custom resource, upgrades it to the latest schema, and opens a text editor for you to review or modify the configuration. When you save and close the editor,ddlctlpatches the Domino custom resource with the new configuration, agent tag, and version, then tails thefleetcommand-agentlogs while the operator reconciles. Alternatively, runddlctl create config --from-domino --agent-version $FLEETCOMMAND_AGENT_TAGfirst if you want to migrate the configuration file as a standalone step and inspect the diff before applying. - To dry-run the upgrade before it hits the cluster, follow Dry run an upgrade of Domino. The dry-run mode applies to Data Plane clusters the same way it applies to control-plane clusters.
Handle release overrides
release_overrides live under .spec.config.release_overrides on the Data Plane’s Domino custom resource. They override Helm chart values for the services that the fleetcommand-agent deploys into the Data Plane. A typical example, adding CPU requests and limits to a service that ships without them:
ddlctl upgrade domino read the existing .spec.config, so overrides set on the current Data Plane remain in place across the upgrade. There is no need to re-apply them from scratch.
For reference, examples of release_overrides shapes appear in the per-cloud install guides (AWS, Azure, GCP) and in deployment identification.
Before running the upgrade, validate any changes to release_overrides:
-
Diff your intended configuration against what is applied today:
Edit the exported file, then compare it against the live
.spec.config. - Dry-run the upgrade (see Dry run an upgrade of Domino) so the operator reports what it would change without applying it.
-
Check
fleetcommand-agentlogs during the reconciliation forrelease_overridesvalidation errors; the job fails fast on a rejected value.
Air-gapped upgrades
An air-gapped Data Plane pulls images from a private registry rather thanquay.io, so the upgrade has to refresh that registry with the target release’s images before the operator can pull them.
-
Generate the target release’s image list against the Data Plane’s
$FLEETCOMMAND_AGENT_TAG: - Copy the images into the Data Plane’s private registry with either the Skopeo one-shot or the two-step tarball copy described in the offline install guide. The mechanics are identical to the initial install.
-
Migrate the existing configuration file, keeping the offline registry settings:
Confirm the generated configuration still contains the correct
helm.image_registriesblock for your private registry, then apply it:
Helm-managed Data Planes (legacy)
A Data Plane deployed with Helm, which is to say one from before Domino 6.1 with nodomino custom resource, cannot use any of the upgrade methods on this page. Migrate it to the Platform Operator deployment model, which enables UI-initiated upgrades and simplifies ongoing maintenance. Until you do, the stopgaps are a standalone upgrade script, which Domino Support provides, or redeploying the Data Plane with the Platform Operator.
Verify the upgrade
-
On the workstation with the Data Plane’s Kubernetes context, confirm the operator reconciled to the new version:
VERSIONandAGENT VERSIONshould match the target release, andREADYshould beTrue. - In the control plane’s admin portal, go to Manage resources > Data Planes and confirm the Data Plane is marked Healthy and its reported version matches the target.
- Start a Workspace or run a job pinned to this Data Plane to confirm Workspace connectivity, ingress, and any hardware tiers still behave as expected.
-
For a Data Plane you upgraded manually, sanity-check
HelmReleasestatus once more so nothing landed in a stalled state during the reconciliation:
./bootstrap-data-plane.sh --force <token>. See Troubleshoot the registration.
Monitor a Data Plane
Check a Data Plane’s health, and see which Kubernetes nodes, user executions, and Workspaces are running in it, from the admin portal:
Data Plane health is a simple check that the Data Plane is contactable. If a Data Plane indicates
Error, Disconnected, or Degraded, communication between the Data Plane services and the control plane may have a problem. Contact Domino for help troubleshooting. For more advanced monitoring and alerting, see remote Data Plane monitoring.
Some of the node detail views are not yet implemented for nodes in remote Data Planes.
Archive a Data Plane
- Stop all executions in the Data Plane.
- Delete all Workspaces in the Data Plane.
- Archive all hardware tiers in the Data Plane.
- In the admin portal, go to Manage resources > Data Planes.
- Click the three-dot menu next to the Data Plane and select Archive.
- Click Archive Data Plane.
- Use Helm to delete the
data-planerelease in the Data Plane namespace on the Data Plane Kubernetes cluster.