Skip to content

Commit 2bb3137

Browse files
committed
enabling aks
1 parent faccc33 commit 2bb3137

File tree

5 files changed

+116
-64
lines changed

5 files changed

+116
-64
lines changed

terraform/acr_aks.tf

Lines changed: 0 additions & 42 deletions
This file was deleted.

terraform/data.tf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
data "azurerm_resource_group" "rg" {
2+
name = var.resource_group_name
3+
}
4+
5+
data "azurerm_kubernetes_cluster" "aks" {
6+
name = var.aks_name
7+
resource_group_name = data.azurerm_resource_group.rg.name
8+
}
9+
10+
data "azuread_client_config" "current" {}

terraform/main.tf

Lines changed: 93 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
data "azuread_client_config" "current" {}
2-
3-
41
### Create a new Azure DevOps project
52
resource "azuredevops_project" "this" {
63
name = "python-fastapi"
@@ -110,4 +107,96 @@ resource "azuredevops_serviceendpoint_azurecr" "acr_registry_endpoint" {
110107
credentials {
111108
serviceprincipalid = azurerm_user_assigned_identity.this_uaid.client_id
112109
}
113-
}
110+
}
111+
112+
resource "azuredevops_variable_group" "infra_variable_group" {
113+
project_id = azuredevops_project.this.id
114+
name = "Infrastructure Pipeline Variables"
115+
description = "Managed by Terraform"
116+
allow_access = true
117+
118+
variable {
119+
name = "ACR_URL"
120+
value = azurerm_container_registry.this_container_registry.login_server
121+
}
122+
123+
variable {
124+
name = "ACR_SERVICE_CONNECTION"
125+
value = azuredevops_serviceendpoint_azurecr.acr_registry_endpoint.id
126+
}
127+
128+
variable {
129+
name = "AKS_CLUSTER_NAME"
130+
value = azurerm_kubernetes_cluster.this_aks_cluster.name
131+
}
132+
133+
variable {
134+
name = "AZURE_SERVICE_CONNECTION"
135+
value = azuredevops_serviceendpoint_azurerm.arm_sc.id
136+
}
137+
138+
variable {
139+
name = "RESOURCE_GROUP_NAME"
140+
value = azurerm_resource_group.this_resource_group.name
141+
}
142+
}
143+
144+
145+
resource "azurerm_resource_group" "this_resource_group" {
146+
name = var.resource_group_name
147+
location = var.location
148+
}
149+
150+
resource "azurerm_container_registry" "this_container_registry" {
151+
name = var.acr_name
152+
resource_group_name = azurerm_resource_group.this_resource_group.name
153+
location = var.location
154+
sku = "Standard"
155+
156+
depends_on = [azurerm_resource_group.this_resource_group]
157+
}
158+
159+
resource "azuredevops_serviceendpoint_azurerm" "arm_sc" {
160+
project_id = azuredevops_project.this.id
161+
service_endpoint_name = "Azure ARM Endpoint"
162+
163+
environment = "AzureCloud"
164+
azurerm_spn_tenantid = var.TFC_AZ_TENANT_ID
165+
azurerm_subscription_id = var.TFC_AZ_SUBSCRIPTION_ID
166+
azurerm_subscription_name = "DSB"
167+
168+
service_endpoint_authentication_scheme = "WorkloadIdentityFederation"
169+
170+
credentials {
171+
serviceprincipalid = azurerm_user_assigned_identity.this_uaid.client_id
172+
}
173+
}
174+
175+
resource "azurerm_kubernetes_cluster" "this_aks_cluster" {
176+
name = var.aks_name
177+
location = var.location
178+
resource_group_name = azurerm_resource_group.this_resource_group.name
179+
dns_prefix = "DSB"
180+
181+
182+
default_node_pool {
183+
name = "default"
184+
node_count = 1
185+
vm_size = "Standard_A2_v2"
186+
}
187+
188+
identity {
189+
type = "UserAssigned"
190+
identity_ids = [azurerm_user_assigned_identity.this_uaid.id]
191+
}
192+
193+
tags = {
194+
Environment = "Production"
195+
}
196+
depends_on = [
197+
azurerm_role_assignment.uaid_contributor,
198+
azurerm_role_assignment.acr_pull,
199+
azurerm_role_assignment.acr_push
200+
]
201+
}
202+

terraform/outputs.tf

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,16 @@ output "acr_name" {
44

55
output "acr_url" {
66
value = azurerm_container_registry.this_container_registry.login_server
7-
}
7+
}
8+
9+
output "aks_name" {
10+
value = azurerm_kubernetes_cluster.this_aks_cluster.name
11+
}
12+
13+
output "azure_service_connection_name" {
14+
value = azuredevops_serviceendpoint_azurerm.arm_sc.service_endpoint_name
15+
}
16+
17+
output "azure_service_connection_id" {
18+
value = azuredevops_serviceendpoint_azurerm.arm_sc.id
19+
}

terraform/variable-group.tf

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)