| layout | showcase-page | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| title | Terraform Deployment | ||||||||||||||
| permalink | /reference/deploy/terraform_deploy/ | ||||||||||||||
| menubar | docs_menu | ||||||||||||||
| accent | slate | ||||||||||||||
| eyebrow | Deployment Reference | ||||||||||||||
| description | Use the Terraform deployer when your environment standardizes on Terraform state and you want to keep Simple Chat in the repo's container-based runtime model. | ||||||||||||||
| hero_icons |
|
||||||||||||||
| hero_pills |
|
||||||||||||||
| hero_links |
|
||||||||||||||
| nav_links |
|
||||||||||||||
| show_nav | true |
Use Terraform when state-managed infrastructure is already your team standard and you are comfortable separating image publication from infrastructure application.
Choose this path when Terraform workflows, reviews, and state handling are already part of how your platform team works.
The current deployer targets a container-based Azure Linux Web App, so the application runtime still follows the Docker image entrypoint.
Terraform does not build the application image for you. Publish to ACR first, then point the deployment at the tag you intend to run.
If you ever move Terraform away from containers and into native Python App Service, the startup-command rules change with it.
The most common mistake with this path is assuming Terraform also handles the application image lifecycle. It does not. Treat image publication and infrastructure application as two separate steps in the release flow.
- Your team standardizes on Terraform state and workflows
- You want Terraform-managed infrastructure rather than
azdorchestration - You are comfortable publishing the application image before applying infrastructure
The current Terraform deployer in this repo provisions a container-based Azure Linux Web App.
- Terraform sets the App Service to run the published container image.
- Gunicorn startup is already handled by the container entrypoint in
application/single_app/Dockerfile. - You do not need to configure App Service Stack Settings Startup command for the current Terraform deployment.
If you change the Terraform deployment model away from containers and into native Python App Service, deploy the application/single_app folder and use this Startup command:
python -m gunicorn -c gunicorn.conf.py app:app