- working Kubernetes cluster (with admin access)
- Linux (Debian/Ubuntu) workstation with:
- if Azure: azure-cli installed and ready to use
- if AWS: aws-cli installed and ready to use
- Clone & open the repository
git clone https://github.com/Cosmo-Tech/terraform-webapp.gitcd terraform-webapp - Deploy
- Fill
terraform-cluster/terraform.tfvarsvariables according to your needs - run pre-configured script
ℹ️ comment/uncomment the terraform apply line at the end to get a plan without deploy anything
- Linux
./_run-terraform.sh
- Windows
./_run-terraform.ps1
- Linux
- Backend target notes
- Azure
- The run script generates a
target.tffile fromtargets/azure.target.tf - Terraform uses the
azurermbackend for the remote state
- The run script generates a
- KOB / On-premise
- The run script generates a
target.tffile fromtargets/kob.target.tf- Set
state_hostinterraform.tfvars - Before running Terraform, export the HTTP backend credentials as environment variables:
- Linux:
export TF_HTTP_USERNAME="your-username" export TF_HTTP_PASSWORD="your-password"
- Windows (PowerShell):
$env:TF_HTTP_USERNAME = "your-username" $env:TF_HTTP_PASSWORD = "your-password"
- Linux:
- If you don't have the credentials, request them from the DevOps team.
- Set
- The run script generates a
- AWS
- Not yet implemented
- GCP
- Not yet implemented
- Azure
- Fill
- modules
- terraform-webapp
- install Cosmo Tech webapp in a tenant created from terraform-tenant
- terraform-webapp
There is a module that can deploy a Power BI App Registration if you are using Power BI.
However, by default, Superset is configured instead, so the Power BI app is not deployed unless explicitly enabled.
In terraform.tfvars, the variable controlling this feature is set to false by default:
powerbi_app_deploy = falseMade with ❤️ by Cosmo Tech DevOps team