Install Domino

Important
This guide assumes you have already provisioned your target infrastructure and satisfied the prerequisites outlined in the Requirements page.

Installing Domino can be broken down into two principal tasks:

  1. Filling out the configuration file.

  2. Creating the Domino custom resource.

If you are comfortable tackling all of these tasks in one workflow, you can go through the bootstrap command covered in Bootstrap a Domino Cluster.

Otherwise, you can address each of these tasks in turn.

Tip
This guide is intended for use when you install Domino for the first time. If you are upgrading an existing Domino deployment or migrating an existing Domino cluster to use the Platform Operator, please see the Upgrade Domino guide.

Create the configuration file

  1. Get the $FLEETCOMMAND_AGENT_TAG for your target release from the releases page.

  2. Use environment variables to set some values used by ddlctl CLI. This simplifies the commands you’ll run while installing Domino components:

    unset HISTFILE
    export QUAY_USERNAME=<`quay.io` username provided by Domino>
    export QUAY_PASSWORD=<`quay.io` password provided by Domino>
    export FLEETCOMMAND_AGENT_TAG=<Tag that corresponds to the version of Domino deployed>
  3. Generate a configuration file:

    ddlctl create config --agent-version $FLEETCOMMAND_AGENT_TAG
    Tip
    If you are creating a configuration file for a target cloud provider, refer to the specific guide for that provider to get the correct value for the --preset flag when running this subcommand.
  4. Running this command will write a configuration file to the current working directory with the name:

    config-$FLEETCOMMAND_AGENT_TAG.{timestamp}.yaml

Populate the configuration file

In order to install a functional Domino cluster, you will need to update the generated configuration file with the appropriate values for your target environment.

You can refer to the configuration reference pages for more details on the values you can set.

Important
Changing the defaults in the generated configuration can affect the deployment. If you must adjust its parameters, contact a Domino representative.

Recommended install configurations

We recommend enabling the New Relic integration while updating the install configuration:

monitoring:
prometheus_metrics: true
newrelic:
  apm: true
  infrastructure: true
  license_key: '[Token provided by Domino]'

The New Relic integration enables Domino application monitoring via New Relic. This helps Domino monitor and proactively assist with platform infrastructure issues. Enabling the New Relic integration can reduce the time it takes to resolve support tickets.

Create the Domino custom resource

Once you are satisfied with the configuration file, you can create the Domino custom resource. This will get picked up by the Platform Operator which will then handle the installation of all Domino components.

ddlctl create domino --config config-$FLEETCOMMAND_AGENT_TAG.{timestamp}.yaml --agent-version $FLEETCOMMAND_AGENT_TAG

If you would prefer to just generate the Domino custom resource YAML, you can supply the --export flag and pipe the result to a file.

When the installation completes successfully, you should see a message that says:

2019-11-26 21:20:20,214 - INFO - fleetcommand_agent.Application - Deployment complete.
Domino is accessible at $YOUR_FQDN

Dry runs

  1. If you would prefer to dry run the installation, you should modify the Domino custom resource to put it in dry run mode:

    ddlctl create domino --config config-$FLEETCOMMAND_AGENT_TAG.{timestamp}.yaml --agent-version $FLEETCOMMAND_AGENT_TAG --export > domino-cluster.yaml
  2. In the domino-cluster.yaml file, modify the spec.agent.spec to put the operator in a dry run mode:

    spec:
      agent:
        spec:
          dryRunMode: "true"
  3. Now apply the resource to the cluster:

    kubectl apply -f domino-cluster.yaml -n domino-operator

Dry running an upgrade of Domino will report on the changes that will be made to the Domino cluster compared to what is (or is not) already represented in the Helm manifests in Helm storage.

Once you change dryRunMode back to "false" (or remove the field entirely), a reconciliation will be triggered and the Domino cluster will be installed.

Next steps