> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 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](#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.

<a id="configured-releases-command" />

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! **
```
