Deploy Domino on Tanzu

This topic describes how to deploy Domino components on VMware Tanzu Kubernetes Grid.

Create the Domino 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 the 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>
    $ ddlctl create config --agent-version $FLEETCOMMAND_AGENT_TAG

    Here is an example of what that generated configuration file may resemble. Take note of the git.storage_class value, tanzu-vm-storage-policy, which you will need to set:

    blob_storage:
      backups:
        shared: true
      logs:
        shared: true
      projects:
        shared: true
    email_notifications:
      authentication:
        password: ""
        username: ""
      enable_ssl: true
      enabled: false
      from_address: CHANGE_ME@customer.org
      port: 465
      server: _CHANGE_ME_
    gpu:
      enabled: false
    helm:
      image_registries:
      - password: _CHANGE_ME_
        server: quay.io
        username: _CHANGE_ME_
    hostname: _CHANGE_ME_
    internal_docker_registry: {}
    monitoring:
      prometheus_metrics: true
    name: _CHANGE_ME_
    schema: "1.10"
    services:
      nginx_ingress:
        chart_values:
          controller:
            replicaCount: 2
            kind: Deployment
            hostNetwork: false
            config:
              use-proxy-protocol: 'false'
            service:
              targetPorts:
                http: http
              enabled: true
              type: LoadBalancer
    storage_classes:
      block:
        access_modes:
        - ReadWriteOnce
        base_path: ""
        create: false
        name: tanzu-vm-storage-policy
        type: vsphere-volume
      shared:
        access_modes:
        - ReadWriteMany
        create: false
        name: dominoshared
        type: nfs
        volume_capacity: 5Ti
        nfs:
          mount_options: [ "nfsvers=4.1", ]
          mount_path: "_CHANGE_ME_"
          server: "_CHANGE_ME_"
    telemetry:
      intercom:
        enabled: false
      mixpanel:
        enabled: false
        token: ""
    version: 6.0.0
  3. Edit the configuration file with all necessary details about the target cluster, storage systems, and hosting domain. Read the configuration reference documentation for more information about available keys, and consult the configuration examples for guidance on getting started. You will be provided with a quay.io login with access to pull the Domino container images.

    Note that you should set the value of name to something that identifies the purpose of your installation and contains the name of your organization.

Install

With your configuration file ready, you can create a Domino custom resource using ddlctl:

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

  2. Run the following:

    $ ddlctl create domino --config {path-to-config-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.

  3. 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

    However, the application will only be accessible via HTTPS at that FQDN if you have configured DNS for the name to point to an ingress load balancer with the appropriate SSL certificate that forwards traffic to your platform nodes.