domino logo
About DominoArchitecture
Kubernetes
Cluster RequirementsDomino on EKSDomino Kubernetes Version CompatibilityDomino on GKEDomino on AKSDomino on OpenShiftNVIDIA DGX in DominoDomino in Multi-Tenant Kubernetes ClusterEncryption in Transit
Installation
Installation ProcessConfiguration ReferenceInstaller Configuration ExamplesPrivate or Offline Installationfleetcommand-agent Release NotesInstall Script Downloads
Configuration
Central ConfigurationNotificationsChange The Default Project For New UsersProject Stage ConfigurationDomino Integration With Atlassian Jira
Compute
Manage Domino Compute ResourcesHardware Tier Best PracticesModel Resource QuotasPersistent Volume ManagementAdding a Node Pool to your Domino ClusterRemove a Node from Service
Keycloak Authentication Service
Operations
Domino Application LoggingDomino MonitoringSizing Infrastructure for Domino
Data Management
Data in DominoData Flow In DominoExternal Data VolumesDatasets AdministrationSubmit GDPR Requests
User Management
RolesView User InformationRun a User Activity ReportSchedule a User Activity Report
Environments
Environment Management Best PracticesCache Environment Images in EKS
Disaster Recovery
Control Center
Control Center OverviewExport Control Center Data with The API
Troubleshooting
domino logo
About Domino
Domino Data LabKnowledge BaseData Science BlogTraining
Admin Guide
>
Configuration
>
Central Configuration

Central Configuration

The Central Configuration is where all global settings for a Domino installation are listed. ` . Go to Admin portal. . Click Advanced > Central Config. . On the Configuration Management page, you can:

  • Click an existing record to edit its attributes.

  • Click Add Record to create a new setting. If no record is created in the application, the system uses the default value.

    You must restart the Domino services for changes to take effect.

    image

Authentication

These options relate to the Keycloak authentication service. They are available in namespace common and must be recorded with no name.

Key

Default

Description

authentication.oidc.externalOrgsEnabled

false

Enables Domino organization membership to synchronize with SAML identity provider attributes so that membership can be managed by the identity provider.

authentication.oidc.externalRolesEnabled

false

Enables Domino’s user roles to synchronize with SAML identity provider attributes so that user role management can be managed by the identity provider. See Admin roles assignments through users role SAML attributes.

com.cerebro.domino.frontend.authentication.defaultRoles

Practitioner

If authentication.oidc.externalRolesEnabled is true, then user roles are retrieved from SAML. If that key is false, use this key to set the default roles using a comma-separated list. An example value is: Practitioner,SysAdmin. To set this key to a LiteUser, delete the central config key entry. A Lite User is a user with no roles.

See Roles for more information.

authentication.oidc.externalOrgsEnabled

false

Enables Domino organization membership to synchronize with SAML identity provider attributes so that membership can be managed by the identity provider.

Authorization

These options relate to authorization and user roles.

KeyDefaultDescription

com.cerebro.domino.restrictPublishing

false

If true only SupportStaff and SysAdmins can create launchers, schedule runs, or publish apps and model APIs.

com.cerebro.domino.authorization.restrictManageCollaborators

false

If true only Project Owners can manage project collaborators

com.cerebro.domino.authorization.limitProjectSharing

false

If true only SupportStaff and SysAdmins can manage project collaborators and visibility or transfer project ownership

Builder

These options relate to the Domino builder.

The Domino builder is a container that runs as a Kubernetes job to build the Docker images for Domino environments and Model APIs. This container is deployed to a node labeled with a configurable Kubernetes label (defaults to domino/build-node=TRUE) whenever a user triggers an environment or model build.

KeyDefaultDescription

com.cerebro.domino.builder.job.environment.buildCpuShares

200 CPU shares

If ShortLivedImageBuilderV2 is off, this limits the CPU utilization for Docker build jobs when your users build environment and model images.

If you want to leave the build operation unlimited, delete the default value. This setting corresponds to the --cpu-shares , -c docker build command parameter.

See here for valid values.

com.cerebro.domino.builder.job.environment.buildMemory

2 (2147483647) GB

If ShortLivedImageBuilderV2 is off, this limits the memory utilization for Docker build jobs when your users build environment and model images.

If you want to leave the build operation unlimited, delete the default value. This setting corresponds to the --memory , -m docker build command parameter.

See here for valid values.

ShortLived.ImageBuilderV2

ifeval::[4.5 >= 4.2]gi on

Controls whether Domino will use the V2 image builder or V1 image builder. This is a Domino service that creates environment revisions and Model API version Docker images. If you change the setting, you must restart the Nucleus services to apply RabbitMQ queue changes.

Compute grid

These options relate to the compute grid. They are available in namespace common and must be recorded with no name.

KeyDefaultDescription

com.cerebro.domino.computegrid.kubernetes.apps.nginx.clientBodyMaxSizeMiB

25MiB

Sets the client_body_max_size property for the nginx reverse proxy in workspace pods.

Note

com.cerebro.domino.computegrid.kubernetes.volume.gcFrequency

10min

Controls how often the garbage collector runs to delete old or excess persistent volumes.

com.cerebro.domino.computegrid.kubernetes.volume.maxAge

None

Setting a value in minutes here will cause persistent volumes older than that to be automatically deleted by the garbage collector.

com.cerebro.domino.computegrid.kubernetes.volume.maxIdle

32

Maximum number of idle persistent volumes to keep. Idle volumes in excess of this number will be deleted by the garbage collector.

com.cerebro.domino.computegrid.kubernetes.volume.storageClass

dominodisk

Kubernetes storage class that will be used to dynamically provision persistent volumes. This is set initially to the value of storage_classes.block.name in the installer storage classes configuration.

com.cerebro.domino.computegrid.kubernetes.volume.volumesSizeInGB

15

Size in GB of compute grid persistent volumes. This is the total amount of disk space available to users in runs and workspaces.

com.cerebro.domino.computegrid.userExecutionsQuota.maximumExecutionsPerUser

25

This is the maximum number of executions each user will be allowed to run concurrently. If a user attempts to start additional executions in excess of this those executions will be queued until some of the user’s other executions finish.

Database

These options customize MongoDB connections.

KeyDefaultDescription

com.cerebro.domino.mongodb.default.settings.connectionPool.maxWaitQueueSize

100

The maximum number of threads allowed to wait for a MongoDB connection. The namespace is role and the name is dispatcher.”

Email notifications

These options relate to email notifications from Domino. They are available in namespace common and must be recorded with no name.

KeyDefaultDescription

com.cerebro.domino.email.smtp.host

None

Hostname of SMTP relay to use for sending emails from Domino.

com.cerebro.domino.email.smtp.user

None

Username to use for authenticating to the SMTP host.

com.cerebro.domino.email.smtp.port

25

Port to use for connecting to SMTP host.

com.cerebro.domino.email.smtp.ssl

false

Whether the SMTP host uses SSL.

Environments

These options relate to Domino Environments. They are available in namespace common and must be recorded with no name.

Key

Default

Description

com.cerebro.domino.environments.canNonSysAdminsCreateEnvironments

true

If set to false only system administrators can edit environments.

com.cerebro.domino.environments.default.image

quay.io/domino/base:Ubuntu18_DAD_Py3.6_R3.6_20190918

Docker image URI for the initial default environment.

com.cerebro.domino.environments.default.name

Domino Analytics Distribution Py3.6 R3.6

Name of the initial default environment.

File download API

These options relate to the file contents download API endpoint. They are available in namespace common and must be recorded with no name.

Key

Default

Description

com.cerebro.domino.restrictBlobApi

false

Set to true to require an admin API key to download files through API. When false, any user with the blob ID for a file might download it through API.

com.cerebro.domino.frontend.clientBlobModeOverride

None

Set to API to download blobs directly in the Domino API. Set to S3 to download blobs through S3. You cannot set the blob mode override in site_config.json.

Image Builder

These options relate to the Domino Image Builder v2 and v3.

Use the Image Builder to create new environment revision and Model API version Docker images. To satisfy requirements around heightened security and support for non-Docker container runtimes (such as cri-o for OpenShift), the Image Builder uses an open-source image building engine named Buildkit and wraps in a suitable fashion for Domino’s use. The Image Builder acts as a controller, built around the Kubernetes operator pattern in which it acts on custom resources (ContainerImageBuild) using standard CRUD actions.

Key

Default

Description

com.cerebro.domino.builder.remoteRegistryCredentials.server

quay.io

The external Docker registry URI to pull Domino base images from.

com.cerebro.domino.builder.remoteRegistryCredentials.secretName

domino-quay-repos

The K8s secret containing credentials for authentication to an external Docker registry.

com.cerebro.domino.builder.remoteRegistryCredentials.secretNamespace

<Domino Compute Namespace>

The namespace where the external Docker registry secret is located.

com.cerebro.domino.builder.job.environment.imageSizeLimit

None

Sets a hard upper limit on the object size of created environment revisions in the internal Docker registry. Takes arguments in the form: 10M.

com.cerebro.domino.builder.job.model.imageSizeLimit

None

Sets a hard upper limit on the object size of created Model API revisions in the internal Docker registry. Takes arguments in the form: 10M.

com.cerebro.domino.builder.job.resource.limits.cpu

4 (cores)

Sets a hard upper limit on the vCPU required for image builds. Takes kubernetes quantities as arguments.

com.cerebro.domino.builder.job.resource.limits.memory

15Gi

Sets a hard upper limit on the memory required for image builds. Takes kubernetes quantities as arguments

Long-running workspaces

These options relate to long-running workspace sessions. They are available in namespace common and must be recorded with no name.

Key

Default

Description

com.cerebro.domino.workloadNotifications.longRunningWorkloadDefinitionInSeconds

86400

Defines how long a workspace must run in seconds before the workspace is classified as 'long-running' and begins to generate notifications or becomes subject to automatic shutdown.

com.cerebro.domino.workloadNotifications.isEnabled

false

Set to true to enable the option for email notifications to users when their workspaces become long-running. If com.cerebro.domino.workloadNotifications.isEnabled is true and com.cerebro.domino.workloadNotifications.isRequired is false, users can turn these notifications on or off in their account settings.

com.cerebro.domino.workloadNotifications.isRequired

false

Set to true to turn on long-running workspace notifications for all users. While this is true users cannot turn off long-running workspace notifications.

com.cerebro.domino.workloadNotifications.maximumPeriodInSeconds

7200

Maximum time (in seconds) that a user can set as the period between receiving long-running notification emails.

Note

com.cerebro.domino.workspaceAutoShutdown.isEnabled

false

Set to true to enable automatic shutdown of long-running workspaces. Users can turn automatic shutdown for their workspaces on or off from their account settings.

com.cerebro.domino.workspaceAutoShutdown.isRequired

false

Set to true to turn on automatic shutdown of long-running workspaces for all users. While this is true users cannot turn off automatic shutdown of their long-running workspaces.

com.cerebro.domino.workspaceAutoShutdown.globalMaximumLifetimeInSeconds

259200

Longest time in seconds a long-running workspace will be allowed to continue before automatic shutdown. Users cannot set their automatic shutdown timer to be longer than this.

Model APIs

These options relate to Model APIs. They are available in namespace common and must be recorded with no name.

KeyDefaultDescription

com.cerebro.domino.modelmanager.instances.defaultNumber

2

Default number of instances per Model used for Model API scaling.

com.cerebro.domino.modelmanager.instances.maximumNumber

32

Maximum number of instances per Model used for Model API scaling.

com.cerebro.domino.modelManager.nodeSelectorLabelKey

dominodatalab.com/node-pool

Key used in Kubernetes label node selector for Model API pods.

com.cerebro.domino.modelManager.nodeSelectorLabelValue

default

Value used in Kubernetes label node selector for Model API pods.

On-demand Spark

These options relate to the on-demand Spark clusters. They are available in namespace common and must be recorded with no name.

Key

Default

Description

com.cerebro.domino.integrations.spark.checkClusterStatusIntervalSeconds

1

Frequency in seconds to run status checks on on-demand Spark clusters.

com.cerebro.domino.integrations.spark.onDemand.workerStorageMountPath

/tmp

File system path on which Spark worker storage is mounted.

com.cerebro.domino.integrations.spark.sparkConfDirDefault

None

Option to supply alternative default configuration directory for on-demand Spark clusters.

com.cerebro.domino.workbench.onDemandSpark.worker.memoryOverheadMinMiB

384

Minimum amount of memory in MiB to use for Spark worker overhead.

com.cerebro.domino.workbench.onDemandSpark.worker.memoryOverheadFactor

0.1

Spark worker overhead scaling factor.

com.cerebro.domino.computegrid.computeCluster.spark.proxyCompatability

None

Set to legacy when the Spark UI for on-demand Spark on Domino needs to be compatible with Spark versions prior to 3.1.1.

Performance

The following configuration settings are used for caching.

KeyDefaultDescription

com.cerebro.domino.controlCenter.cacheMaxLoadPeriodInMonths

12

Use this key to modify the period (in months) of historical data that the Control Center uses. You might have to change this value to less than 12 to prevent timeout issues when loading data into the application. Do not set cacheMaxLoadPeriodInMonths to greater than 12 months or the chart cannot be used. The report options remain the same: Current Month, Previous Month, Last 3 months, Last 6 months, and Custom. This might improve performance.

Caution

com.cerebro.domino.controlCenter.cacheTimeToLiveInMinutes

30

Specifies how often the cache is refreshed in minutes. This cache is used in the Control Center and improves performance. However, if the cache is refreshed every 30 minutes some recent data will not be included in the reports.

Project visibility options

These options relate to project visibility settings. They are available in namespace common and must be recorded with no name.

Key

Default

Description

com.cerebro.domino.publicProjects.enabled

true

If set to false, users cannot set projects to public visibility.

com.cerebro.domino.defaultProjectVisibility

Public

Controls the default visibility setting for new projects. Options are Public or Private.

Usage reports

These options relate to the User Activity Reports.

KeyDefaultDescription

com.cerebro.domino.email.usageReportRecipient

usage@dominodatalab.com

Sets the default recipient for the User Activity Report. To access this report, go to Admin > Advanced > User Activity Report.

com.cerebro.domino.email.EmailToDomino

true

When true, the system sends a scheduled User Activity Report to usage@dominodatalab.com to help improve Domino. See How to pull usage information.

com.cerebro.domino.Usage.RecentUsageDays

30

Specifies the number of days to report for recent activity in the User Activity Reports. For example, the default value includes activity within the past 30 days in the Recent Activity section. See License usage reporting.

com.cerebro.domino.Usage.ReportFrequency

0 2 * * *

Defines the frequency for automatically scheduled User Activity Reports. The default cron string value is set to daily at 02:00.

com.cerebro.domino.com.cerebro.domino.Usage.ReportRecipients

Empty

Identifies a comma-separated list of email addresses that receive automatic scheduled User Activity Reports. This is not shown in the Central Configuration unless it is set explicitly. Example values are: email1@domain.com, email2@domain.com. See License usage reporting.

Web Apps

IFrame Security

Web apps in Domino are served in HTML inline frames, also known as “iframes”. To improve iframe security, a “sandbox” attribute can be set for iframe elements. When this attribute is set, extra security restrictions are applied to the iframes serving web apps in Domino, like blocking cross-origin requests, form submissions, script executions, and much more.

In Domino, this “sandbox” attribute can be toggled with the ShortLived.iFrameSecurityEnabled feature flag. Setting this flag to “TRUE” will apply the sandbox attribute to the iframe and apply the extra security restrictions. If the flag is set to “FALSE”, no security restrictions will be applied to the iframe. By default, in Domino 4.4.1 the ShortLived.iFrameSecurityEnabled flag is set to FALSE.

Important

Content Security Policies

A content security policy allows Domino web apps to access specific, whitelisted external resources. Any request made to non-whitelisted external resources, however, will be blocked.

In Domino, you can toggle this feature with the EnableContentSecurityPolicyforApps feature flag. Setting this flag to “TRUE” will block requests to all non-whitelisted resources and allow requests to whitelisted resources. Setting this flag to “FALSE” will allow all requests to resources (that is, no blocking of any kind). By default, in Domino 4.4.1 the EnableContentSecurityPolicyforApps is set to FALSE.

The keys and default values associated with this feature flag are listed in the table below.

Key

Default

Description

com.cerebro.domino.apps.contentSecurityPolicy.whiteListedImageSrcList

data:

Allows images to be inserted directly into a webapp using a data: URL. This allows Domino apps to include images in the app’s HTML without loading the image from an outside resource. Learn more about data: URLs here: Mozilla - Data URLs.

com.cerebro.domino.apps.contentSecurityPolicy.whiteListedScriptSrcList

cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.js cdn.plot.ly/plotly-latest.min.js 'unsafe-eval' 'unsafe-inline'

Whitelists the URLs of the scripts that the demo Apps in the quick-start project load to display their interactive charts. It also allows an app to define scripts in HTML using the <script> tag. Also allows JavaScript to create more JavaScript as the app runs using the built-in JavaScript function eval.

com.cerebro.domino.apps.contentSecurityPolicy.whiteListedStyleSrcList

'unsafe-inline'

Allows apps to define their own styles with <style>, javascript: URLs, and inline <script> elements.

com.cerebro.domino.apps.contentSecurityPolicy.whiteListedConnectSrcList

ws:

Allows the app to use WebSockets, which use URLs that begin with ws:, to communicate with other resources.

To whitelist a resource:

  1. Go to Configuration Management (that is, Central Config) in your Domino admin settings.

  2. Click Add Record.

  3. Set the key to com.cerebro.domino.apps.contentSecurityPolicy.whiteListedConnectSrcList.

  4. Set the value to ws: followed by the URL of the resource you’d like to whitelist (that is, ws: https://foobar.buz.bax/). You must work with your team to figure out which URLs have to be whitelisted. For more details, see: Content Security Policies for Web Apps.

  5. Save the record and restart Domino services.

IFrame Security in combination with Content Security Policies

In Domino 4.4.1, the ShortLived.iFrameSecurityEnabled and EnableContentSecurityPolicyforApps feature flags coexist. The matrix below describes the blocking behavior for requests based on both feature flags.

Important

The IFrame feature flag will be deprecated in future versions of Domino. Domino recommends implementing web app security using content security policies instead.

ShortLived.iFrameSecurityEnabled = FALSEShortLived.iFrameSecurityEnabled = TRUE

EnableContent SecurityPolicyForApps = FALSE

No blocking occurs. All requests to external resources are allowed.

All requests from web apps to external resources are blocked.

EnableContent SecurityPolicyForApps = TRUE

Only requests to whitelisted external resources are allowed. All other requests to external resources are blocked.

All requests from web apps to external resources are blocked.

Workspaces

These options relate to Domino workspaces.

Key

Default

Description

com.cerebro.domino.workbench.project.defaultVolumeSizeGiB

10

Controls default allocated persistent volume size for a new workspace.

com.cerebro.domino.workbench.project.minVolumeSizeGiB

4

Controls min allocated persistent volume size for a new workspace.

com.cerebro.domino.workbench.project.maxVolumeSizeGiB

200

Controls max allocated persistent volume size for a new workspace.

com.cerebro.domino.workbench.workspace.maxWorkspacesPerUserPerProject

2

Sets a limit on the number of provisioned workspaces per user per project.

com.cerebro.domino.workbench.workspace.maxWorkspacesPerUser

8

Sets a limit on the number of provisioned workspaces per user across all projects.

com.cerebro.domino.workbench.workspace.maxWorkspaces

1500

Sets a limit on the number of provisioned workspaces across the whole Domino.

com.cerebro.domino.workbench.workspace.maxAllocatedVolumeSizeAcrossAllWorkspacesGiB

None

Sets a limit on the total volume size of all provisioned workspaces across the whole Domino combined.

com.cerebro.domino.workbench.workspace.stopToDeleteDelayDuration

20.seconds

The number of seconds the frontend waits after the workspace stops before making the delete request to the backend. This allows for enough time after workspace stop for the workspace’s persistent volume to be released. If users frequently receive an error after trying a delete, then this value should be increased.

com.cerebro.domino.workbench.workspace.volume.enableSnapshots

true

Whether to capture snapshots of workspace persistent volumes.

com.cerebro.domino.workbench.workspace.volume.snapshotCleanupFrequency

1.day

How often to delete all but the X most recent snapshots. Where X is a number defined by workbench.workspace.volume.numSnapshotsToRetain

com.cerebro.domino.workbench.workspace.volume.numSnapshotsToRetain

5

The number of snapshots to retain. All older snapshots beyond this limit will be deleted during a periodic cleanup.

Domino Data LabKnowledge BaseData Science BlogTraining
Copyright © 2022 Domino Data Lab. All rights reserved.