Skip to content

Environments

There are two environments: UAT and production. This page is the single source for which branch reaches which environment and at what URL. Every other page links here rather than restating it.

UAT Production
Branch uat main
Role Business testing and the pre-production gate Live
Front end (all four personas) https://odh-uat.my.orascomdh.com https://my.orascomdh.com
Backend API https://api-orascom-uat.my.orascomdh.com https://api.my.orascomdh.com
CRM middleware https://crm-orascom-uat.my.orascomdh.com https://crm.my.orascomdh.com
Media CDN https://media.odh-uat.my.orascomdh.com https://media.my.orascomdh.com
Deploy rail GitHub Actions → CodeDeploy; Amplify for the frontend same

Note the production hostnames have no .orascom segment while the UAT ones do (api.my.orascomdh.com versus api-orascom-uat.my.orascomdh.com). It is an easy difference to miss.

This surprises people coming from the old setup, which used a separate hostname per persona. Each environment now serves all four apps from a single host, with the persona as a path:

Persona UAT Production
Shopper https://odh-uat.my.orascomdh.com/ https://my.orascomdh.com/
Broker (and sales-manager) https://odh-uat.my.orascomdh.com/partners https://my.orascomdh.com/partners
Sales-man https://odh-uat.my.orascomdh.com/salesman https://my.orascomdh.com/salesman
Shopper Analytics https://odh-uat.my.orascomdh.com/analytics https://my.orascomdh.com/analytics

The shopper app is served at the site root — it is the base of the deployed artifact, and the other three are built into subdirectories underneath it. The paths come from the frontend’s NX_BROKER_PATH, NX_SALES_MAN_PATH and NX_SHOPPER_ANALYTICS_PATH build variables, which are identical in both environments.

  • Local is where developers test their own work. There is no shared development environment and no per-PR preview environment for the Laravel applications — the deploy rail has no preview concept.
  • UAT is where business testing happens, and it is the gate a change passes through before production. Merge to uat, verify there, then promote uat → main.
  • Production is live.

Staging was decommissioned on 2026-08-16. The instance was terminated, its CodeDeploy applications deleted, and its Amplify branch removed. Anything that tells you to deploy to staging, point at a *.robustastudio.com host, or verify on a staging portal is describing an environment that no longer exists. Business testing moved to UAT; developers test locally.

develop is retired and frozen, but it still exists. It is the GitHub default branch on none of them — uat is, on all four application repositories (this docs site and the two unmigrated repos still default to main/master) — and it triggers no deployment anywhere. A push to develop is rejected outright — the branch is locked read-only (lock_branch=true, enforced even for admins), so git refuses it immediately. Nothing is lost quietly; you simply cannot push there. Branch from uat and open your pull request against uat.

The branch tips were tagged staging-final-2026-08-16 in all four repositories before the change, so the parked work is preserved.