Last updated on
Version: 1.0.0
ePlatform Deployment on Azure Container Apps — Overview
This repository provides a repeatable, script-based deployment framework for deploying the ePlatform into an Azure Container Apps (ACA) environment.
The framework supports multiple environments and product branches using the same scripts, driven entirely by configuration.
Environment names like EQ-QA and EQ-PROD are examples only.
The scripts are environment-agnostic — configuration drives the deployment behavior.
📚 Documentation Map
Use these documents together:
- 👉 Getting Started — onboarding, concepts, and flow
- 👉 Deployment Runbook — step-by-step execution + validation
- 👉 Configuration Reference — full explanation of
./scripts/00_config.sh - 👉 Architecture & Design — diagrams, networking, security model
- 👉 Operational Notes — troubleshooting, Azure quirks, lessons learned
🎯 Objectives
- Standardize how ePlatform infrastructure is deployed
- Make deployments reproducible and auditable
- Minimize manual Azure Portal operations
- Support private networking and enterprise security patterns
- Allow incremental execution and safe recovery
📂 Deployment Scripts
All automation scripts live in:
👉 ./scripts/
Execution order:
- 00_config.sh
- 01_rg.sh
- 02_storage.sh
- 03_keyvault.sh
- 04_acr.sh
- 05_vnet_subnets.sh
- 06_log_aca_env.sh
- 07_storage_share.sh
- 08a_azure_cache_for_redis.sh
- 08b_redis_enterprise.sh
- 09_mongo_vcore.sh
- 10_containerapps_create.sh
- 11_identities_and_acr_pull.sh
- 12_apps_update_images_envs.sh
- 13_appgw_create.sh
- 14_appgw_config_backend.sh
- 15_appgw_url_path_map.sh
🔒 Security Principles
- No secrets are committed to git
- Secrets should be injected at runtime (pipeline or secure store)
- Private networking by default
- Minimal public exposure (only Application Gateway)
🌱 Meaning of BRANCH and ENV
- BRANCH = product line / major release / customer variant (examples:
EQ,P2P,ACME) - ENV = environment stage (examples:
DEV,QA,STAGE,PROD)
Most resource names are derived from:
<branch>-<env>
Example:
EQ + PROD → eq-prod
P2P + QA → p2p-qa
Global resources (ACR, Storage) remain explicitly configured.