@@ -7,18 +7,13 @@ locals {
77#
88resource "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-
9296locals {
9397 argocd_applications = {
9498 " top" = {
0 commit comments