Skip to Content
RigFabTech docs
Products

learning-management-system settings

What learning-management-system needs from you before it installs. It goes in one small file, learning-management-system.yaml, which you pass to helm install and helm upgrade after site.yaml, as Install shows.

Starter file

learning-management-system.yaml holds every setting on this page with its description. Save it, replace each <PLACEHOLDER> and remove the optional lines you don't need. learning-management-system.schema.json describes the file to editors that check YAML against a JSON schema.

Secret settings

Passwords, keys and other values to keep private.

NameRequiredDescription
MS_GRAPH_TENANT_IDYesYour Microsoft Entra tenant's ID
AUTH_PROVIDERS_MS_CLIENT_IDYesThe application (client) ID of the app registration people sign in to learning-management-system with at Microsoft Entra ID
AUTH_PROVIDERS_MS_CLIENT_SECRETYesThe client secret of the app registration people sign in to learning-management-system with at Microsoft Entra ID
EMPLOYEES_API_KEYYesThe key learning-management-system fetches the employee list from employees-api with; give the same value as employees-api's EMPLOYEES_API_KEY
SYNC_SECRETNoA long random value of your own that a tool outside the platform must send to start the employee list sync itself; leave it out to allow only the built-in daily sync

Give them in one of two ways, never both.

In production, in a Secret of your own. A values file with passwords in it tends to end up in git, and Helm keeps a copy of the values you pass in its release record in the cluster. Write the values to a file, learning-management-system.env, one NAME=value per line with each value as it is, without quotes, then create the Secret and delete the file:

kubectl create secret generic learning-management-system-settings --namespace rft-app-learning-management-system --from-env-file=learning-management-system.env
rm learning-management-system.env

In learning-management-system.yaml, give only the Secret's name:

secrets:
  existingSecret: learning-management-system-settings

To keep the Secret in git or a secret store instead, create it with External Secrets Operator, SOPS or Sealed Secrets, with the same keys.

The Secret needs a key for every required name above. When one is missing, the product's pods don't start: kubectl --namespace rft-app-learning-management-system get pods shows CreateContainerConfigError or Init:CreateContainerConfigError, and kubectl --namespace rft-app-learning-management-system describe pods names the missing key. Add it and the pods start by themselves. After you change a value in the Secret, restart the product with kubectl --namespace rft-app-learning-management-system rollout restart deployment.

To get started, in the values file. Under secrets in learning-management-system.yaml, as the starter file has them. The chart keeps them in the Secret learning-management-system-env.

Made for you

The platform makes these once and keeps them in the Secret learning-management-system-generated. There is nothing to set.

  • AUTH_SECRET

In site.yaml

learning-management-system answers on learning-management-system.<domain>, under your global.rigfab.domain. To give it another name, set global.rigfab.hosts.learning-management-system to the full host name.

Check before you install

Once the base chart is installed, and before you install or upgrade this product:

rft check --chart oci://registry.rigfab.com/rft/apps/learning-management-system/charts/learning-management-system --version <VERSION> --release learning-management-system --namespace rft-app-learning-management-system --values site.yaml --values learning-management-system.yaml

It renders the chart with your files and asks the cluster whether it would accept the result, and changes nothing. A setting that is missing or misspelt in your files stops it with a message that names the setting. It doesn't look inside a Secret of your own. A misspelt name under global.rigfab is the base chart's to refuse, so check site.yaml with the base chart after every change to it, as Install shows.