Skip to Content
RigFabTech docs
Products

job-timer settings

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

Starter file

job-timer.yaml holds every setting on this page with its description. Save it, replace each <PLACEHOLDER> and remove the optional lines you don't need. job-timer.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
ENTRA_TENANT_IDYesYour Microsoft Entra tenant's ID
ENTRA_CLIENT_IDYesThe application (client) ID of job-timer's own app registration at Microsoft Entra ID; grant it the TimeTracking.Read application role of time-tracking-service's API, with admin consent
ENTRA_CLIENT_SECRETYesThe Value (not the Secret ID) of a client secret of job-timer's own app registration
TIME_TRACKING_CLIENT_IDYesThe application (client) ID of the app registration that exposes time-tracking-service's API, whose Application ID URI must be api:// followed by this ID; the value time-tracking-service has as its ENTRA_CLIENT_ID

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, job-timer.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 job-timer-settings --namespace rft-app-job-timer --from-env-file=job-timer.env
rm job-timer.env

In job-timer.yaml, give only the Secret's name:

secrets:
  existingSecret: job-timer-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-job-timer get pods shows CreateContainerConfigError or Init:CreateContainerConfigError, and kubectl --namespace rft-app-job-timer 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-job-timer rollout restart deployment.

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

In site.yaml

job-timer answers on job-timer.<domain>, under your global.rigfab.domain. To give it another name, set global.rigfab.hosts.job-timer 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/job-timer/charts/job-timer --version <VERSION> --release job-timer --namespace rft-app-job-timer --values site.yaml --values job-timer.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.