Core and Extended Catalog Services

Starting with Domino 5.11, helm chart releases are split into two categories:

Core Services: Standard services that should be available for all Domino installs.

  • Most services are in the core catalog.

  • Domino Minimal is the default Domino Environment that includes core services.

Extended Services: These are optional services that are not required for standard Domino operations. Services are classified as extended for a variety of reasons:

  • They are newer, experimental services.

  • They are services that Domino can’t directly control - the frequency of functional and security updates.

  • Services for testing and internal use.

Notably, extended services can include:

  • New Relic

  • Starburst

  • Falco

  • csi-driver-smb

  • dcgm-exporter

Extended Domino Environments: These default Domino environment images live in the extended catalog:

  • Domino Standard Environment

  • Domino Spark Environment

These environments are added to the default environments automatically when extended_catalog is enabled.

Other than these environments, extended_catalog functions only as a gate, but does not result in the installation of extended catalog services.

For example, enabling extended_catalog does not install New Relic, but you do have to enable extended_catalog in order to install New Relic.

Fleetcommand-agent: In the fleetcommand-agent installer, the extended catalog is gated by the extended_catalog configuration flag. By default, this flag is off and the installer cannot install services in the extended catalog. It does not enable all extended catalog services automatically, but rather just functions as a gate to prevent installing services that may have extra consideration in sensitive production environments without clear intent.

When to use extended_catalog

  • You’re upgrading from a 5.10 or earlier release:

    For 5.10 and earlier, extended_catalog will be set to true when migrating the config schema to 5.11. Existing installs may have features from the extended catalog enabled, so this provides maximum compatibility with prior versions.

  • You want to use a service in the extended catalog:

    You may want to use a service that’s in the extended catalog, such as New Relic or Starburst. Set extended_catalog to enable this. See the configured-releases command information below to identify the full list of extended catalog releases for a given Domino version.

Check for Extended Catalog Services

The fleetcommand-agent’s configured-releases command can be used to determine what core and extended catalog services will be installed for a given install.

The standard usage is as follows:

usage: fleetcommand-agent configured-releases [-h] [-f FILE] [--helmfile-dir HELMFILE_DIR] [--kubeconfig KUBECONFIG]
                                              [--kube-context KUBE_CONTEXT] [--installed-only] [--removed-only]
                                              [--extended-only] [-l LOG_LEVEL] [-v] [-q]
options:
  -f FILE, --file FILE  Name of the configuration file
  --installed-only      Only list installed items
  --removed-only        Only list removed items
  --extended-only       Only list extended catalog items

Below is an abbreviated example output in list format:

# fleetcommand-agent configured-releases -f /tmp/domino.yml
2024-05-13 21:40:33,957 - Caching catalog into working directory
2024-05-13 21:40:33,958 - Using archived catalog as source, /resources/catalog/catalog.tar.xz -> /app/helmfile/catalog
2024-05-13 21:40:34,599 - Caching any missing charts
2024-05-13 21:40:34,620 - Running HELM_SECRETS_BACKEND="/usr/bin/helm-secrets-k8s.sh" /usr/local/bin/helmfile --file helmfile/catalog list --output json --log-level error
2024-05-13 21:40:36,006 - SERVICE                                    | STATUS INTENT | CORE/EXT
2024-05-13 21:40:36,006 - ------------------------------------------------------------------------
2024-05-13 21:40:36,006 - backend                                    | uninstalled   | N/A
2024-05-13 21:40:36,007 - nvidia-device-plugin                       | not installed | core
2024-05-13 21:40:36,007 - aws-cloud-controller-manager               | not installed | core
2024-05-13 21:40:36,008 - csi-driver-smb                             | not installed | extended
2024-05-13 21:40:36,008 - custom-cert-manager                        | installed     | core
2024-05-13 21:40:36,008 - nri-metadata-injection                     | installed     | extended
2024-05-13 21:40:36,008 - ** NOT COMPATIBLE with current setting: extended_catalog - false! **

The columns are as follows:

  • SERVICE: The name of the service.

  • STATUS INTENT: What the fleetcommand-agent installer intends to do when running the install.

    • installed: The installer intends to install this service.

    • not installed: The installer does not intend to install this service.

    • uninstalled: If the service is installed in the Kubernetes cluster, the installer will remove it. This is only used with deprecated services.

  • CORE/EXT:

    • core: This service is a core catalog release.

    • extended: This service is an extended catalog release.

    • N/A: For uninstalled services, which have no core/extended catalog distinction.

Note that if the provided configuration file has extended_catalog set to false, but also configures a release using the extended catalog, the following error will be displayed in the configured-releases list:

** NOT COMPATIBLE with current setting: extended_catalog - false! **

If extended_catalog is false, the --extended-only and --installed-only flags can be combined to provide an easy way to see if you are attempting to install an extended catalog release:

# head -10 domino.yml
schema: '1.9'
name: example
version: 5.11.0
hostname: domino.example.com
extended_catalog: false
monitoring:
  prometheus_metrics: true
  newrelic:
    apm: true
    infrastructure: true

The following example demonstrates how an extended catalog service, New Relic, is being installed (i.e., monitoring.newrelic.infrastructure is true), but extended_catalog is false. Below is the result of the configured-releases command:

# fleetcommand-agent configured-releases -f domino.yml --extended-only --installed-only
2024-05-13 21:48:29,446 - Caching catalog into working directory
2024-05-13 21:48:29,446 - Using archived catalog as source, /resources/catalog/catalog.tar.xz -> /app/helmfile/catalog
2024-05-13 21:48:30,153 - Caching any missing charts
2024-05-13 21:48:30,174 - Running HELM_SECRETS_BACKEND="/usr/bin/helm-secrets-k8s.sh" /usr/local/bin/helmfile --file helmfile/catalog list --output json --log-level error
2024-05-13 21:48:31,512 - SERVICE                                    | STATUS INTENT | CORE/EXT
2024-05-13 21:48:31,512 - ------------------------------------------------------------------------
2024-05-13 21:48:31,512 - nri-metadata-injection                     | installed     | extended
2024-05-13 21:48:31,512 - ** NOT COMPATIBLE with current setting: extended_catalog - false! **
2024-05-13 21:48:31,512 - newrelic-events                            | installed     | extended
2024-05-13 21:48:31,512 - ** NOT COMPATIBLE with current setting: extended_catalog - false! **
2024-05-13 21:48:31,512 - newrelic-infrastructure                    | installed     | extended
2024-05-13 21:48:31,512 - ** NOT COMPATIBLE with current setting: extended_catalog - false! **
2024-05-13 21:48:31,512 - newrelic-logging                           | installed     | extended
2024-05-13 21:48:31,512 - ** NOT COMPATIBLE with current setting: extended_catalog - false! **
2024-05-13 21:48:31,512 - newrelic-open-metrics                      | installed     | extended
2024-05-13 21:48:31,512 - ** NOT COMPATIBLE with current setting: extended_catalog - false! **
2024-05-13 21:48:31,513 - newrelic-prometheus-agent                  | installed     | extended
2024-05-13 21:48:31,513 - ** NOT COMPATIBLE with current setting: extended_catalog - false! **