Skip to Content
RigFabTech docs
Products

employees-api settings

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

Starter file

employees-api.yaml holds every setting on this page with its description. Save it, replace each <PLACEHOLDER> and remove the optional lines you don't need. employees-api.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
EMPLOYEES_API_KEYYesA long random key of your choosing that other products send to read the employee list or start a sync; give the same value to each product that reads employees
ENTRA_TENANT_IDYesYour Microsoft Entra tenant's ID
ENTRA_CLIENT_IDYesThe application (client) ID of the app registration employees-api uses at Microsoft Entra ID to read your people and to sign administrators in
ENTRA_CLIENT_SECRETYesThe client secret of the app registration employees-api uses at Microsoft Entra ID
ENTRA_GROUP_IDYesThe object ID of the Microsoft Entra group your employees belong to; each one's job title, email, phone and department are read from its members
ECI_PATHNoThe host name of your E2 API server, which employees-api reaches over plain HTTP; give it with its port if it has one and without http://, for example e2.example.com; leave the four ECI values out to keep the employee IDs already stored
ECI_API_KEYNoThe API key of your E2 API
ECI_USERNAMENoThe E2 user name employees-api logs in to the E2 API with
ECI_HASHED_PASSWORDNoThe password of the E2 user named in ECI_USERNAME, in the hashed form the E2 API's login takes
HOMEBASE_API_KEYYesThe API key of your Homebase account; the list of who works for you is read with it
HOMEBASE_LOCATION_UUIDYesThe UUID of the Homebase location whose employees are read
NOTIFICATION_SERVICE_CLIENT_IDYesThe application (client) ID of notification-service's app registration at Microsoft Entra ID; employees-api uses it to send notification-service alerts about employee records that need review

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

In employees-api.yaml, give only the Secret's name:

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

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

Made for you

The platform makes these once and keeps them in the Secret employees-api-generated. There is nothing to set.

  • SESSION_SECRET

In site.yaml

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

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