Configuring the values.yaml File for a ModelOp Center Helm Release

Introduction

By default, the values.yaml file will have Helm deploy an out-of-the-box basic configuration.

To modify the basic configuration, it’s necessary to update the values visible to helm. This should be done by overriding the values in values.yaml in a separate “values override” file. simple.yaml from the moc/starter/ directory is a good place to start.

Sections

The top level of the values.yaml file contains the moc heading, which encompasses all key/value pairs in the yaml itself.

Starting from the top of the moc heading we have the following:

Unless otherwise specified in the command line call when deploying, the namespace Helm should target as part of the release can be set at the top.

namespace: <chosen namespace>

The profile key refers to one of two things, either noauth, or oauth, each of which are usable, though there are additional steps required for the oauth value. i.e. the endpoints necessary to authenticate via an OAUTH2 endpoint backed by LDAP. Please see the ModelOp documentation for more information on OAUTH2 authentication: https://modelopdocs.atlassian.net/wiki/spaces/dv30/pages/1670419405

profile: noauth/oauth

The services section describes which of the ModelOp Center pod services will be present in Kubernetes once the instance of ModelOp Center is instantiated. A number of the services have been labelled as # core as those services are the primary functional core of the ModelOp Center application. Commenting out any of these lines will result in that application component pod not being deployed to the Kubernetes namespace to which it is destined. Note that if the service is commented out in this list, the configuration lower down in the values.yaml file will be ignored.

For each pod section below the services section, there is the image tag. Image names are commented out, and by default will use the passed in version of MOC to dynamically construct the tags. If the image tag is set manually for any of the services, the manually set tag is used instead of the default.

As an example, this mlc-manager pod will be deployed with the default ModelOp Center 3.0 container from DockerHub:

mlcManager: #image: modelop/mlc-manager:3.0 env: {}

However, this mlc-manager pod will be deployed with the indicated local repository image that has been pulled in:

Overwriting the defaults will simply result in the image pull occurring from the indicated manually-inputted registry. In summary, the sections of values.yaml describe a number of parameters that are relevant to the services that are listed towards the top of the values file. When a service is commented-out, the ModelOp Center pod will not be part of the deployment.