Key | Description | Required | Values |
---|---|---|---|
| YAML schema version. | ✓ |
|
| Unique deployment name. This must contain the name of the deployment owner. | ✓ |
|
| Domino version to install. | ✓ | Supported versions: |
| Hostname Domino application will be accessed at. | ✓ | Valid fully qualified domain name (FQDN) |
| If network policies are enabled, allow access from this CIDR. This range must cover addresses used by your cluster nodes and pods. | Valid CIDR range, for example, | |
| Should Domino only be accessible using HTTPS. | ✓ |
|
| Should Domino only be accessible using HTTPS. | ✓ |
|
| Create an NGINX ingress controller. | ✓ |
|
| Create Kubernetes resource requests and limits for services. | ✓ |
|
| Use network policies for fine-grained service access. | ✓ |
Note |
| Enables pod security policies for locked down system capabilities. | ✓ |
|
| Creates pod security policies for locked down system capabilities. | ✓ |
|
This section configures the NGINX ingress controller deployed by the fleetcommand-agent
.
Key | Description | Required | Values |
---|---|---|---|
| Whether to create the ingress controller. | ✓ |
|
| When running Domino on GKE you must supply the GKE cluster UUID here to configure GCP networking for ingress. | ✓ | Cluster UUID |
Namespaces are a way to virtually segment Kubernetes executions. Domino will create namespaces according to the specifications in this section, and the installer requires that these namespaces not already exist at installation time.
Key | Description | Required | Values |
---|---|---|---|
| Namespace to place Domino services | ✓ | |
| Namespace for user executions | ✓ | Note |
| Namespace for deployment metadata | ✓ | |
| Optional annotations to apply to each namespace |
Storage Classes are a way to abstract the dynamic provisioning of volumes in Kubernetes.
Domino requires the following storage classes:
-
block
storage for Domino services and user executions that need fast I/O. -
shared
storage that can be shared between multiple executions.
Domino supports pre-created storage classes, although the installer can
create a shared
storage class backed by NFS or a cloud NFS analog as long as the cluster can access the NFS system for read and write, and the installer can create several types of block
storage classes backed cloud block storage systems like Amazon EBS.
Key | Description | Required | Values |
---|---|---|---|
storage_classes.block.create | Whether to create the block storage class | ✓ |
|
| ✓ | Note | |
| Name of the block storage class to use | ✓ |
|
| Base path to use on nodes as a base
when using | ||
| Whether to set this storage class as the default. | ✓ |
|
| Whether to create the shared storage class | ✓ |
|
| ✓ | ||
| Type of the shared storage class to use | ✓ |
|
| EFS store AWS region | for example,
| |
| EFS filesystem ID | for example,
| |
| NFS server IP or hostname | ||
| Base path to use on the server when creating shared storage volumes | ||
| YAML List of additional NFS mount options | for example, | |
| Azure storage account to create filestores |
Domino can store long-term, unstructured data in “blob storage” buckets. Only the shared
storage class described previously (NFS) and S3 are supported.
To apply a default S3 bucket or shared storage type to all use-cases of blob storage, it is only necessary to fill out the default
setting and make sure enabled
is true. Otherwise, all other blob storage uses (projects
, logs
, and backups
) must be filled out.
Key | Description | Required | Values |
---|---|---|---|
| Whether the | ✓ |
|
| Which type of blob storage to use | ✓ |
|
| AWS region of the S3 bucket store | for example, | |
| S3 bucket name | for example, |
For Kubernetes clusters without native cluster scaling in response to new user executions, Domino supports the use of the cluster autoscaler.
Key | Description | Required | Values |
---|---|---|---|
| Enable cluster autoscaling | ✓ |
|
| Cloud provider Domino is deployed with |
| |
| AWS region Domino is deployed into | for example, | |
| Azure resource group Domino is deployed into | ||
| Azure subscription ID Domino is deployed with |
Groups
Autoscaling groups are not dynamically discovered. Each autoscaling group must be individually specified including the minimum and maximum scaling size.
Key | Description | Required | Values |
---|---|---|---|
| Autoscaling group name | Must exactly match the name in the cloud provider | |
| for example, | ||
| for example, |
Domino can automatically configure your cloud DNS provider. More extensive documentation can be found on the external-dns homepage.
Key | Description | Required | Values |
---|---|---|---|
| Whether Domino must configure cloud DNS | ✓ |
|
| Cloud DNS provider | for example, | |
| Only allow access to domains that match this filter | for example, | |
| Only allow updates to specific Route53 hosted zones |
Domino supports SMTP for sending email notifications in response to user actions and run results.
Key | Description | Required | Values |
---|---|---|---|
| Whether Domino must send email notifications | ✓ |
|
| SMTP server hostname or IP | ||
| SMTP server port | ||
| Whether the SMTP server uses SSL encryption | ||
| Email address to send emails from Domino with | for example, | |
| If using SMTP authentication, the username | ||
| If using SMTP authentication, the password |
Domino supports in-cluster monitoring with Prometheus as well as more detailed, external monitoring through NewRelic APM and Infrastructure.
Key | Description | Required | Values |
---|---|---|---|
| Install Prometheus monitoring | ✓ |
|
| Enable NewRelic APM | ✓ |
|
| Enable NewRelic Infrastructure | ✓ |
|
| NewRelic account license key |
Configuration for the Helm repository that stores Domino’s charts.
Key | Description | Required | Values |
---|---|---|---|
| Which version of Helm to use. | ✓ |
|
| Hostname of the chart repository | ✓ | For Helm 2 this
must be |
| Namespace to find charts in the repository. | Helm
repo namespace. When using official Domino repositories this must be
| |
| Prefix for the chart repository. | Application registry
prefix. When using official Domino repositories this must be | |
| Username for chart repository if authentication is
required. When using Helm 3 with charts hosted in GCR this must be
| Username | |
| Password for chart repository if authentication is required. | For Helm 3 this is the base64 encoded JSON key that was provided by Domino. | |
| URI of the Docker image for the Tiller service to use when running Helm 2. | ✓ | This must point to a version 2.16.1 Tiller
image at |
| Path to cached Helm 3 chart files. | Set to empty
string ( |
Configuration for the Docker repository that stores Domino’s images.
Key | Description | Required | Values |
---|---|---|---|
| Docker registry host | ✓ |
|
| Docker registry username | ✓ | |
| Docker registry password | ✓ |
The recommended configuration for the internal Docker registry deployed
with Domino. Override values are to allow the registry to use S3, GCS,
or Azure blob store as a backend store. GCS requires a service account
already be bound into the Kubernetes cluster with configuration to
ensure the docker-registry
service account is properly mapped.
Key | Description | Required | Values |
---|---|---|---|
| AWS region of the S3 bucket store | for example, | |
| S3 bucket name | for example, | |
| GCS bucket name | for example, | |
| GCS service account with access to the bucket | ||
| GCP project name that Domino is deployed into | ||
| Azure blobstore account name | ||
| Azure blobstore account key | ||
| Azure blobstore container name |
Domino supports user telemetry data to help improve the product.
Key | Description | Required | Values |
---|---|---|---|
| Enable Intercom onboarding | ✓ |
|
| Enable MixPanel MixPanel API token | ✓ |
If using GPU compute nodes, enable the following configuration setting to install the required components.
Key | Description | Required | Values |
---|---|---|---|
| Enable GPU support | ✓ |
|
Domino supports upgrading minor patches through an internal tool named Fleetcommand.
Key | Description | Required | Values |
---|---|---|---|
| Enable ability for Domino staff to apply minor patches | ✓ |
|
| Deployment-specific API token (Domino staff will provide this) |
Domino will by default deploy some DaemonSets on all available nodes in the hosting cluster. When running in a multi-tenant Kubernetes cluster, where some nodes are available that must not be used by Domino, you can label nodes for Domino with a single, consistent label, then provide that label to the fleetcommand-agent with the below configuration to apply a selector to all Domino resources for that label.
Key | Description | Required | Values |
---|---|---|---|
| List of key/value pairs to use as the label for the selector. | Optional | See the following example |
Example
global_node_selectors:
domino-owned: "true"
This example would apply a selector for domino-owned=true
to all
Domino deployment resources.