The example project is structured in 3 directories
- charts
- sources
- terraform
Source files of an example API in a small development environment using docker compose. It has two services:
- app: API implementation.
- db: Mysql server used by the API.
Helm charts to deploy the necessary resources in the AKS cluster.
Terraform code to provision an AKS cluster with the desired infrastructure.
Name | Version |
---|---|
terraform | >=1.0 |
azurerm | ~>3.0 |
helm | = 2.12.1 |
random | ~>3.0 |
Name | Version |
---|---|
azurerm | 3.99.0 |
Name | Source | Version |
---|---|---|
aks | Azure/aks/azurerm | 8.0.0 |
api | ./modules/api | n/a |
database | ./modules/database | n/a |
network | Azure/network/azurerm | 5.3.0 |
nic | ./modules/nginx-ingress-controller | n/a |
Name | Type |
---|---|
azurerm_resource_group.rg | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
aks_namespace | Environment. | string |
"tech-interview" |
no |
domain | Domain name. | string |
"tech-interview.local" |
no |
environment | Environment. | string |
"dev" |
no |
image_repository | Image repository. | string |
"myacrregistry.azurecr.io/myimage/tech-interview" |
no |
mysql_database | Database name. | string |
n/a | yes |
mysql_username | Username. | string |
n/a | yes |
resource_group_location | Location of the resource group. | string |
"westeurope" |
no |
resource_group_name | Name of the resource group. | string |
"westeurope" |
no |
No outputs.
No requirements.
Name | Version |
---|---|
helm | n/a |
random | n/a |
No modules.
Name | Type |
---|---|
helm_release.mysql | resource |
random_password.password | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
database | Database name. | string |
n/a | yes |
name | Release name. | string |
n/a | yes |
namespace | Namespace. | string |
"tech-interview" |
no |
password | User password | string |
null |
no |
root_password | Root password | string |
null |
no |
username | Username. | string |
n/a | yes |
Name | Description |
---|---|
host | n/a |
password | n/a |
root_password | n/a |
No requirements.
Name | Version |
---|---|
helm | n/a |
No modules.
Name | Type |
---|---|
helm_release.nginx-ingress-controller | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
name | Release name. | string |
n/a | yes |
namespace | Namespace. | string |
"tech-interview" |
no |
No outputs.
No requirements.
Name | Version |
---|---|
helm | n/a |
No modules.
Name | Type |
---|---|
helm_release.api | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
database_host | Database host. | string |
n/a | yes |
database_name | Database name. | string |
n/a | yes |
database_password | Database password. | string |
n/a | yes |
database_user | Database user. | string |
n/a | yes |
domain | Domain name. | string |
n/a | yes |
image_repository | Image repository. | string |
n/a | yes |
name | Release name. | string |
"api" |
no |
namespace | Namespace. | string |
"tech-interview" |
no |
No outputs.