Skip to content

Commit ce5ef80

Browse files
feat: ArgoCD RBAC for projects (#163)
* feat: enable admin login and configure global tolerations for ArgoCD, and configure Tiers * merge all datasources * upgrate providers and modules to version 4 * upgrate providers and modules to version 4 * better argocd projects names * added external RBAC configuration * pre-commit fixs
1 parent f16d6ac commit ce5ef80

File tree

14 files changed

+249
-216
lines changed

14 files changed

+249
-216
lines changed

src/aks-platform/10_argocd.tf

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,26 @@ module "argocd" {
4747
internal_dns_zone_resource_group_name = local.internal_dns_zone_resource_group_name
4848
ingress_load_balancer_ip = var.ingress_load_balancer_ip
4949
dns_record_name_for_ingress = local.ingress_hostname_prefix
50+
enable_admin_login = true
5051
admin_password = data.azurerm_key_vault_secret.argocd_admin_password.value
52+
tier = "dev"
53+
global_tolerations = [
54+
{
55+
key = "dedicated"
56+
operator = "Equal"
57+
value = "argocd"
58+
effect = "NoSchedule"
59+
}
60+
]
61+
global_affinity_match_expressions = [
62+
{
63+
key = "node_type"
64+
operator = "In"
65+
values = ["user"]
66+
}
67+
]
68+
69+
entra_admin_group_object_ids = [data.azuread_group.adgroup_admin.id]
5170

5271
depends_on = [
5372
module.aks,

src/domains/diego-app/.terraform.lock.hcl

Lines changed: 59 additions & 58 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/domains/diego-app/00_aks.tf

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

src/domains/diego-app/00_azuread.tf

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

src/domains/diego-app/00_data.tf

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
#---------------------------------------------------------------
2+
# AKS Cluster Data Source
3+
#---------------------------------------------------------------
4+
data "azurerm_kubernetes_cluster" "aks" {
5+
name = var.aks_name
6+
resource_group_name = var.aks_resource_group_name
7+
}
8+
9+
#---------------------------------------------------------------
10+
# Azure AD Groups Data Sources
11+
#---------------------------------------------------------------
12+
data "azuread_group" "adgroup_admin" {
13+
display_name = "${local.product}-adgroup-admin"
14+
}
15+
16+
data "azuread_group" "adgroup_developers" {
17+
display_name = "${local.product}-adgroup-developers"
18+
}
19+
20+
data "azuread_group" "adgroup_externals" {
21+
display_name = "${local.product}-adgroup-externals"
22+
}
23+
24+
data "azuread_group" "adgroup_security" {
25+
display_name = "${local.product}-adgroup-security"
26+
}
27+
28+
#---------------------------------------------------------------
29+
# Key Vault Data Source
30+
#---------------------------------------------------------------
31+
data "azurerm_key_vault" "kv_domain" {
32+
name = local.key_vault_domain_name
33+
resource_group_name = local.key_vault_domain_resource_group
34+
}
35+
36+
data "azurerm_key_vault_secret" "argocd_admin_username" {
37+
name = "argocd-admin-username"
38+
key_vault_id = data.azurerm_key_vault.kv_domain.id
39+
}
40+
41+
data "azurerm_key_vault_secret" "argocd_admin_password" {
42+
name = "argocd-admin-password"
43+
key_vault_id = data.azurerm_key_vault.kv_domain.id
44+
}
45+
46+
#---------------------------------------------------------------
47+
# Monitoring Data Sources
48+
#---------------------------------------------------------------
49+
data "azurerm_resource_group" "monitor_rg" {
50+
name = var.monitor_resource_group_name
51+
}
52+
53+
data "azurerm_log_analytics_workspace" "log_analytics" {
54+
name = var.log_analytics_workspace_name
55+
resource_group_name = var.log_analytics_workspace_resource_group_name
56+
}
57+
58+
data "azurerm_application_insights" "application_insights" {
59+
name = local.monitor_appinsights_name
60+
resource_group_name = data.azurerm_resource_group.monitor_rg.name
61+
}
62+
63+
data "azurerm_monitor_action_group" "slack" {
64+
resource_group_name = var.monitor_resource_group_name
65+
name = local.monitor_action_group_slack_name
66+
}
67+
68+
data "azurerm_monitor_action_group" "email" {
69+
resource_group_name = var.monitor_resource_group_name
70+
name = local.monitor_action_group_email_name
71+
}
72+
73+
#---------------------------------------------------------------
74+
# Network Data Sources
75+
#---------------------------------------------------------------
76+
data "azurerm_virtual_network" "vnet_core" {
77+
name = local.vnet_core_name
78+
resource_group_name = local.vnet_core_resource_group_name
79+
}
80+
81+
data "azurerm_resource_group" "rg_vnet_core" {
82+
name = local.vnet_core_resource_group_name
83+
}

src/domains/diego-app/00_key_vault.tf

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

src/domains/diego-app/00_monitor.tf

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

src/domains/diego-app/00_network.tf

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

src/domains/diego-app/04_workload_identity.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module "workload_identity" {
2-
source = "git::https://github.com/pagopa/terraform-azurerm-v3.git//kubernetes_workload_identity_configuration?ref=v8.42.1"
2+
# source = "git::https://github.com/pagopa/terraform-azurerm-v3.git//kubernetes_workload_identity_configuration?ref=v8.42.1"
3+
source = "./.terraform/modules/__v4__/kubernetes_workload_identity_configuration"
34

45
workload_identity_name_prefix = var.domain
56
workload_identity_resource_group_name = data.azurerm_kubernetes_cluster.aks.resource_group_name

0 commit comments

Comments
 (0)