Skip to content

Commit 4f1ba2b

Browse files
committed
added external RBAC configuration
1 parent f40b024 commit 4f1ba2b

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

src/domains/diego-app/10_argocd.tf

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,13 @@ locals {
77
#
88
resource "argocd_project" "argocd_project_diego_blue" {
99
metadata {
10-
name = local.project_blue_name # e.g. "diego-project"
10+
name = local.project_blue_name
1111
namespace = "argocd"
12-
13-
labels = {
14-
acceptance = "true"
15-
}
12+
labels = { acceptance = "true" }
1613
}
1714

1815
spec {
19-
description = local.project_blue_name
20-
21-
# Restrict manifest sources to this domain's repos
16+
description = local.project_blue_name
2217
source_namespaces = [var.domain]
2318
source_repos = ["*"]
2419

@@ -59,7 +54,6 @@ resource "argocd_project" "argocd_project_diego_blue" {
5954
]
6055
}
6156

62-
# Developer → sola lettura sul Project, pieno controllo sulle app
6357
role {
6458
name = "developer"
6559
groups = []
@@ -74,21 +68,31 @@ resource "argocd_project" "argocd_project_diego_blue" {
7468
]
7569
}
7670

77-
# Reader → read‑only su app + project; può visualizzare ConfigMaps tramite tree
7871
role {
7972
name = "reader"
80-
groups = [data.azuread_group.adgroup_admin.object_id]
73+
groups = []
8174
policies = [
8275
"p, proj:${local.project_blue_name}:reader, applications, get, ${local.project_blue_name}/*, allow",
8376
"p, proj:${local.project_blue_name}:reader, logs, get, ${local.project_blue_name}/*, allow",
8477
]
8578
}
79+
80+
role {
81+
name = "external"
82+
groups = [data.azuread_group.adgroup_externals.id]
83+
policies = [
84+
"p, proj:${local.project_blue_name}:external, applications, get, ${local.project_blue_name}/*, allow",
85+
"p, proj:${local.project_blue_name}:external, logs, get, ${local.project_blue_name}/*, allow",
86+
"p, proj:${local.project_blue_name}:external, applications, delete/*/Pod/*/*, ${local.project_blue_name}/*, allow",
87+
"p, proj:${local.project_blue_name}:external, applications, action/apps/Deployment/restart, ${local.project_blue_name}/*, allow",
88+
"p, proj:${local.project_blue_name}:external, applications, action/apps/StatefulSet/restart, ${local.project_blue_name}/*, allow",
89+
"p, proj:${local.project_blue_name}:external, applications, action/apps/DaemonSet/restart, ${local.project_blue_name}/*, allow",
90+
"p, proj:${local.project_blue_name}:external, applications, sync, ${local.project_blue_name}/*, allow",
91+
]
92+
}
8693
}
8794
}
8895

89-
90-
91-
9296
locals {
9397
argocd_applications = {
9498
"top" = {

0 commit comments

Comments
 (0)