Skip to Content
RigFabTech docs
Products

time-tracking-service settings

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

Starter file

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

Settings

Plain values, under settings in time-tracking-service.yaml.

SettingRequiredDefaultDescription
settings.e2BaseUrlYesThe E2 web server's address, such as http://e2.example.com/e2shop

Secret settings

Passwords, keys and other values to keep private.

NameRequiredDescription
ECI_API_KEYYesThe API key ECI issued for your E2 web server's API; time-tracking-service sends it with every E2 sign-in
ADMIN_E2_USERYesThe user name of the E2 login time-tracking-service works with when nobody is signed in at a kiosk: an administrator's changes, the hourly work-center copy and attendance; it must be allowed to read work centers and write time tickets and attendance
ADMIN_E2_PASSWORDYesThe password of the E2 login named in ADMIN_E2_USER
ENTRA_TENANT_IDYesYour Microsoft Entra tenant's ID
ENTRA_CLIENT_IDYesThe application (client) ID of the app registration that stands for time-tracking-service's API at Microsoft Entra ID; administrators and the other products present tokens issued for it
ENTRA_APP_CLIENT_IDYesThe application (client) ID of the app registration time-tracking-service itself signs in with at Microsoft Entra ID to send events to notification-service
ENTRA_APP_CLIENT_SECRETYesA client secret of the app registration named in ENTRA_APP_CLIENT_ID
NOTIFICATION_SERVICE_CLIENT_IDYesThe application (client) ID of notification-service's app registration at Microsoft Entra 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, time-tracking-service.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 time-tracking-service-settings --namespace rft-app-time-tracking-service --from-env-file=time-tracking-service.env
rm time-tracking-service.env

In time-tracking-service.yaml, give only the Secret's name:

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

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

Made for you

The platform makes these once and keeps them in the Secret time-tracking-service-generated. There is nothing to set.

  • DEVICE_CREDENTIAL_KEY

In site.yaml

time-tracking-service answers on time-tracking-service.<domain>, under your global.rigfab.domain. To give it another name, set global.rigfab.hosts.time-tracking-service to the full host name.

time-tracking-service reaches these services on your network. Say where each answers, once, in site.yaml; the products may reach only those addresses and ports:

global:
  rigfab:
    site:
      destinations:
        e2-web: {cidrs: [<ADDRESS>/32], ports: [<PORT>]}

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/time-tracking-service/charts/time-tracking-service --version <VERSION> --release time-tracking-service --namespace rft-app-time-tracking-service --values site.yaml --values time-tracking-service.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.