Skip to content

Commit 307fb89

Browse files
authored
feat: add ff to enable/disable settings menu (#3622)
* feat: add ff to enable/disable settings menu * fix: app configuration permission to dev and admins
1 parent 462375d commit 307fb89

File tree

3 files changed

+39
-8
lines changed

3 files changed

+39
-8
lines changed

src/domains/selfcare-common/00_azuread.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,11 @@ resource "azurerm_key_vault_secret" "selfcare_service_principal_client_secret" {
4141

4242
key_vault_id = data.azurerm_key_vault.key_vault.id
4343
}
44+
45+
data "azuread_group" "adgroup_admin" {
46+
display_name = "${local.product}-adgroup-admin"
47+
}
48+
49+
data "azuread_group" "adgroup_developers" {
50+
display_name = "${local.product}-adgroup-developers"
51+
}

src/domains/selfcare-common/04_app_configuration_feature.tf

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,23 @@ resource "azurerm_app_configuration" "selfcare_appconf" {
55
sku = "standard"
66
}
77

8-
# ⚠️⚠️⚠️ iif on apply receive error 409 already exist a tricky u be ⚠️⚠️⚠️ :
9-
# 1. sh terraform.sh state weu-<ENV> rm azurerm_role_assignment.selfcare_appconf_dataowner_sp
10-
# 2. remove ✋ from portal pagopa-<ENV>-selfcare-appconfiguration > Role assignments > filter for "App Configuration Data Owner" and removed pagopa-<ENB>-seflcare
11-
resource "azurerm_role_assignment" "selfcare_appconf_dataowner" {
8+
resource "azurerm_role_assignment" "selfcare_appconf_dataowner_sp" {
129
scope = azurerm_app_configuration.selfcare_appconf.id
1310
role_definition_name = "App Configuration Data Owner"
14-
principal_id = data.azurerm_client_config.current.object_id
11+
principal_id = azuread_service_principal.selfcare.object_id
1512
}
1613

17-
resource "azurerm_role_assignment" "selfcare_appconf_dataowner_sp" {
14+
resource "azurerm_role_assignment" "appconf_dataowner_adgroup_developers" {
15+
count = var.env_short != "p" ? 1 : 0
1816
scope = azurerm_app_configuration.selfcare_appconf.id
1917
role_definition_name = "App Configuration Data Owner"
20-
principal_id = azuread_service_principal.selfcare.object_id
18+
principal_id = data.azuread_group.adgroup_developers.object_id
19+
}
20+
21+
resource "azurerm_role_assignment" "appconf_dataowner_adgroup_admin" {
22+
scope = azurerm_app_configuration.selfcare_appconf.id
23+
role_definition_name = "App Configuration Data Owner"
24+
principal_id = data.azuread_group.adgroup_admin.object_id
2125
}
2226

2327
resource "azurerm_app_configuration_feature" "maintenance_banner_flag" {
@@ -251,3 +255,18 @@ resource "azurerm_app_configuration_feature" "quicksight_product_free_trial" {
251255
]
252256
}
253257
}
258+
259+
resource "azurerm_app_configuration_feature" "settings_section" {
260+
configuration_store_id = azurerm_app_configuration.selfcare_appconf.id
261+
description = "Feature flag used to enable/disable settings f.e. section"
262+
name = "settings-section"
263+
enabled = false
264+
265+
lifecycle {
266+
ignore_changes = [
267+
enabled,
268+
targeting_filter,
269+
timewindow_filter
270+
]
271+
}
272+
}

src/domains/selfcare-common/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
| [azurerm_app_configuration_feature.payments_receipts_flag](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/app_configuration_feature) | resource |
4545
| [azurerm_app_configuration_feature.quicksight_dashboard_flag](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/app_configuration_feature) | resource |
4646
| [azurerm_app_configuration_feature.quicksight_product_free_trial](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/app_configuration_feature) | resource |
47+
| [azurerm_app_configuration_feature.settings_section](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/app_configuration_feature) | resource |
4748
| [azurerm_app_configuration_feature.station-odp-service](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/app_configuration_feature) | resource |
4849
| [azurerm_app_configuration_feature.station-rest-section](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/app_configuration_feature) | resource |
4950
| [azurerm_app_configuration_feature.station_maintenances_flag](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/app_configuration_feature) | resource |
@@ -59,11 +60,14 @@
5960
| [azurerm_management_lock.mongodb_pagopa_backoffice](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/management_lock) | resource |
6061
| [azurerm_private_dns_a_record.ingress](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/private_dns_a_record) | resource |
6162
| [azurerm_resource_group.bopagopa_rg](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/resource_group) | resource |
63+
| [azurerm_role_assignment.appconf_dataowner_adgroup_admin](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/role_assignment) | resource |
64+
| [azurerm_role_assignment.appconf_dataowner_adgroup_developers](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/role_assignment) | resource |
6265
| [azurerm_role_assignment.selfcare_apim_contributor](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/role_assignment) | resource |
63-
| [azurerm_role_assignment.selfcare_appconf_dataowner](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/role_assignment) | resource |
6466
| [azurerm_role_assignment.selfcare_appconf_dataowner_sp](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/role_assignment) | resource |
6567
| [null_resource.github_runner_app_permissions_to_namespace_cd_01](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource |
6668
| [time_rotating.selfcare_application](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/rotating) | resource |
69+
| [azuread_group.adgroup_admin](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/data-sources/group) | data source |
70+
| [azuread_group.adgroup_developers](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/data-sources/group) | data source |
6771
| [azurerm_api_management.apim](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/data-sources/api_management) | data source |
6872
| [azurerm_application_insights.application_insights](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/data-sources/application_insights) | data source |
6973
| [azurerm_client_config.current](https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/data-sources/client_config) | data source |

0 commit comments

Comments
 (0)