Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add content type #2091

Open
wants to merge 71 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
cc3d933
Visiativ/feat/app config enhanced (#14)
shanoor Mar 14, 2024
3379111
Visiativ/feat/user msi asr (#15)
shanoor Mar 14, 2024
21e55cb
Feat/visiativ/enhancing role mapping (#16)
shanoor Mar 14, 2024
4e7ad34
Ajout app_roles sur azuread_application
shanoor Mar 14, 2024
d546a7a
Maj app_roles sur azuread_application
shanoor Mar 14, 2024
b6f075e
Merge vm_replication into 5.7.9 (#17)
shanoor Mar 20, 2024
c2ffa23
Maj module vm_replication
shanoor Mar 20, 2024
98513b0
Maj module asr_replicated_vm
shanoor Mar 20, 2024
145150f
Fix module asr_replicated_vm
shanoor Mar 20, 2024
7f76ff4
Fix module asr_replicated_vm
shanoor Mar 20, 2024
34f1748
Maj module asr_replicated_vm
shanoor Mar 21, 2024
050dc81
Maj module asr_replicated_vm
shanoor Mar 21, 2024
453ddc7
Merge pull request #18 from visiativ-agora/feat/visiativ/diag-profile…
shanoor Apr 12, 2024
00cf7d4
Allows to use custom appinsights agent version
shanoor May 30, 2024
8150694
Merge pull request #19 from visiativ-agora/feat/allow-custom-appinsig…
shanoor May 30, 2024
2f55677
Merge branch 'aztfmod:main' into main
kevindelmont Jun 17, 2024
4d63f33
Merge branch 'main' into visiativ/5.7.12
kevindelmont Jun 17, 2024
e2d1fe8
Merge remote-tracking branch 'origin/main' into visiativ/5.7.12
kevindelmont Jun 17, 2024
a04fd3d
Removed monkey patching
shanoor Jun 20, 2024
f32ce55
add public_network_access_enabled on azurerm_postgresql_flexible_server
kevindelmont Jun 25, 2024
f7a74cc
add signalr_services combined_objects_signalr_services
kevindelmont Jun 25, 2024
5ab5b83
Add cosmosdb output
kevindelmont Jun 27, 2024
57a6d9c
Add storage defender on storage account
shanoor Jul 2, 2024
3192e5b
Update value
shanoor Jul 2, 2024
4374669
Update
shanoor Jul 2, 2024
a8b4b8e
Merge pull request #22 from visiativ-agora/feat/add-storage-defender
shanoor Jul 2, 2024
bae8752
Update storage defender
shanoor Jul 5, 2024
fd37b82
Add recovery plan and fix recovery vault (#23)
kevindelmont Jul 8, 2024
c2fa9f1
Fix app_config_id case
shanoor Jul 8, 2024
5ec31d6
Merge pull request #24 from visiativ-agora/fix/app-config
shanoor Jul 8, 2024
1d58dc7
Maj workflow terraform fmt
shanoor Jul 10, 2024
b660104
Fix workflow
shanoor Jul 10, 2024
a92f86c
Apply terraform fmt
actions-user Jul 10, 2024
c85631d
Merge tag '5.7.13' into visiativ/5.7.13
shanoor Aug 5, 2024
e48894b
Apply terraform fmt
actions-user Aug 5, 2024
5439d3f
Enhanced cognitive services: private endpoint support, diagnostic se…
shanoor Aug 13, 2024
7906830
Feat/add eventgrid system topic (#28)
shanoor Sep 4, 2024
8edc431
Visiativ/feat/azurerm windows function app (#29)
kevindelmont Sep 5, 2024
32b1459
Apply terraform fmt
actions-user Sep 5, 2024
aaf9bc5
Feat/add cosmosdb msi feature (#30)
kevindelmont Sep 9, 2024
cf0f641
increase replication creation timeout
gludmann Sep 10, 2024
f38e1f6
up creating timeout to 24h
gludmann Sep 10, 2024
64802fe
Fix/eventgrid (#31)
kevindelmont Sep 11, 2024
8c5d9d5
Apply terraform fmt
actions-user Sep 11, 2024
a8c080e
Add dynamic scope (#32)
kevindelmont Sep 23, 2024
102a603
Feat/azurerm automation powershell72 module (#33)
kevindelmont Sep 26, 2024
58d5c24
Apply terraform fmt
actions-user Sep 26, 2024
9d09485
Feat/add abac (#34)
shanoor Oct 1, 2024
adf9455
Add patch_assessment_mode windows and linux machines (#35)
kevindelmont Oct 9, 2024
526d910
Ajout de l'activation de defender sur une souscription (#36)
shanoor Oct 11, 2024
fc91e0f
Feat/function endpoint (#37)
kevindelmont Oct 14, 2024
15545a2
Added management lock (#38)
shanoor Oct 31, 2024
790b0ba
Added new Linux and Windows App service and Linux Function (#39)
kevindelmont Oct 31, 2024
e340126
Apply terraform fmt
actions-user Oct 31, 2024
faed5de
Added eventgrid_topic in remote_objets (#40)
kevindelmont Nov 5, 2024
60668ad
Updated management policy (#41)
kevindelmont Nov 15, 2024
4ccbe99
Add cognitive deployment (#43)
kevindelmont Nov 19, 2024
1014847
Fix/cognitive deployment (#44)
kevindelmont Nov 19, 2024
70756e6
Added linux_function_apps variable for example (#45)
kevindelmont Nov 22, 2024
4526aea
Visiativ/feat/dynamic app config combined objects (#46)
kevindelmont Nov 27, 2024
cbfc1eb
Update app gateway application module
shanoor Dec 5, 2024
cf144d3
Fix/diagnostic settings apps (#47)
kevindelmont Dec 11, 2024
0b3976b
Apply terraform fmt
actions-user Dec 11, 2024
2108466
Added tiering policy backup vm (#48)
kevindelmont Dec 16, 2024
cc6f86b
Merge tag '5.7.14' into visiativ/upgrade-to-5.7.14
shanoor Dec 16, 2024
c374b01
Apply terraform fmt
actions-user Dec 16, 2024
7ee8dab
Fixed owner aad app (#49)
kevindelmont Dec 18, 2024
986a218
Fixed tiering_policy backup policy vm
kevindelmont Dec 30, 2024
ccee716
Fix/asr destroy (#50)
kevindelmont Dec 31, 2024
0a50732
Add content_type to app configuration key resource
kevindelmont Jan 8, 2025
898a500
fixed
kevindelmont Jan 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/workflows/on_push_fmt.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- visiativ/*

jobs:
terraform:
Expand All @@ -14,7 +15,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Important: This is needed to push changes back to the repository
fetch-depth: 0 # Important: This is needed to push changes back to the repository

- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
Expand All @@ -27,8 +28,9 @@ jobs:
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git diff --quiet && git diff --staged --quiet || (git add -A && git commit -m "Apply terraform fmt")

- name: Push changes
uses: ad-m/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}
github_token: ${{ secrets.GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/standalone-compute.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
"compute/virtual_machine/215-vm-keyvault-for-windows-extension",
"compute/virtual_machine/216-vm-linux_diagnostic_extensions",
"compute/virtual_machine/217-vm-disk-encryption-set-msi",
"compute/virtual_machine/300-single-windows-recovery-site",
"compute/vmware_cluster/101-vmware_cluster"
]
}
1 change: 1 addition & 0 deletions .github/workflows/standalone-scenarios-additional.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"config_files": [
"cognitive_services/100-cognitive-services-account",
"cognitive_services/101-cognitive-services-account-managed-identity",
"cognitive_services/200-cognitive-services-deployment",
"compute/batch/batch_certificate/100-batch-certificate - path",
"compute/batch/batch_job/100-batch-job - quotas",
"compute/batch/batch_pool/100-batch-pool - quotas",
Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/standalone-scenarios.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"apim/118-api_management_platform_stv2",
"app_config/100-simple",
"app_config/101-private-link",
"app_config/102-dynamic-settings",
"app_insights/100-all-attributes",
"app_insights/100-simple",
"app_insights/102-workspace-based-central-logs",
Expand All @@ -29,6 +30,7 @@
"automation/102-automation-msi",
"automation/103-automation-private-endpoints",
"automation/104-automation-schedule-runbook",
"automation/105-automation-powershell-module",
"communication/communication_services/101-communication_service",
"diagnostics_profiles/100-multiple-destinations",
"diagnostics_profiles/100-multiple-destinations",
Expand Down Expand Up @@ -67,7 +69,9 @@
"maintenance_configuration/101-maintenance-configuration-schedule",
"maintenance_configuration/200-maintenance-configuration-assignment-vm-windows",
"maintenance_configuration/201-maintenance-configuration-assignment-vm-linux",
"maintenance_configuration/300-maintenance-configuration-assignment-dynamic-scope",
"managed_service_identity/100-msi-levels",
"management_lock/100-basic-lock",
"maps/101-azure-maps-account",
"messaging/eventgrid/100-simple-eventgrid-topic",
"messaging/eventgrid/101-simple-eventgrid-topic-private-endpoint",
Expand All @@ -94,15 +98,20 @@
"recovery_vault/105-asr-with-network-mapping",
"recovery_vault/106-backupvault-with-sqldatabase-saphana",
"recovery_vault/107-asr-diagnostics",
"recovery_vault/108-simple-asr-plan",
"recovery_vault/109-asr-with-cmk-and-msi",
"recovery_vault/110-asr-with-custom-encryption-key",
"redis_cache/100-redis-standard",
"redis_cache/101-redis-diagnostics",
"redis_cache/102-redis-private",
"redis_cache/103-redis-private-endpoints",
"role_mapping/100-simple-role-mapping",
"role_mapping/101-function-app-managed-identity",
"role_mapping/103-abac",
"search_service/100-search-service-both-apikeys-and-azuread",
"search_service/101-search-service-only-api-keys",
"search_service/102-search-service-only-azuread",
"security_center/101-subscription_pricing",
"sentinel/101-automation_rule",
"sentinel/104-ar_fusion",
"sentinel/105-ar_ml_behavior_analytics",
Expand Down Expand Up @@ -134,9 +143,15 @@
"webapps/appservice/107-appservice-private",
"webapps/appservice/109-appservice-appgw",
"webapps/appservice/110-appservice-auth",
"webapps/appservice/111-windows-web-app",
"webapps/appservice/112-windows-web-app-private",
"webapps/appservice/113-linux-web-app",
"webapps/appservice/114-linux-web-app-private",
"webapps/function_app/101-function_app-private",
"webapps/function_app/102-function_app-linux",
"webapps/function_app/103-function_app-windows",
"webapps/windows_function_app/102-function_app-linux",
"webapps/windows_function_app/103-function_app-windows",
"webapps/static_site/101-simple-static-web-app"
]
}
5 changes: 4 additions & 1 deletion app_config.tf
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,12 @@ module "app_config" {
client_config = local.client_config
combined_objects = local.dynamic_app_config_combined_objects
global_settings = local.global_settings
managed_identities = local.combined_objects_managed_identities
keyvaults = local.combined_objects_keyvaults
settings = each.value
vnets = local.combined_objects_networking
private_dns = local.combined_objects_private_dns
resource_groups = local.combined_objects_resource_groups
base_tags = local.global_settings.inherit_tags
resource_group = local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][try(each.value.resource_group_key, each.value.resource_group.key)]
resource_group_name = can(each.value.resource_group.name) || can(each.value.resource_group_name) ? try(each.value.resource_group.name, each.value.resource_group_name) : null
Expand All @@ -17,4 +20,4 @@ module "app_config" {

output "app_config" {
value = module.app_config
}
}
73 changes: 73 additions & 0 deletions app_services.tf
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,76 @@ resource "azurerm_app_service_virtual_network_swift_connection" "vnet_config" {
app_service_id = module.app_services[each.key].id
subnet_id = local.combined_objects_networking[try(each.value.vnet_integration.lz_key, local.client_config.landingzone_key)][each.value.vnet_integration.vnet_key].subnets[each.value.vnet_integration.subnet_key].id
}

module "windows_web_apps" {
source = "./modules/webapps/windows_webapps"
depends_on = [module.networking]
for_each = local.webapp.windows_web_apps
name = each.value.name
client_config = local.client_config
dynamic_app_settings = try(each.value.dynamic_app_settings, {})
app_service_plan_id = can(each.value.app_service_plan_id) ? each.value.app_service_plan_id : local.combined_objects_app_service_plans[try(each.value.lz_key, local.client_config.landingzone_key)][each.value.app_service_plan_key].id
combined_objects = local.dynamic_app_settings_combined_objects
global_settings = local.global_settings
settings = each.value.settings
identity = try(each.value.identity, null)
app_settings = try(each.value.app_settings, null)
connection_string = try(each.value.connection_string, {})
vnets = local.combined_objects_networking
virtual_subnets = local.combined_objects_virtual_subnets
subnet_id = can(each.value.subnet_id) || can(each.value.vnet_key) == false ? try(each.value.subnet_id, null) : local.combined_objects_networking[try(each.value.lz_key, local.client_config.landingzone_key)][each.value.vnet_key].subnets[each.value.subnet_key].id
remote_objects = {
subnets = try(local.combined_objects_networking[try(each.value.settings.lz_key, local.client_config.landingzone_key)][each.value.settings.vnet_key].subnets, null)
}
private_endpoints = try(each.value.private_endpoints, {})
private_dns = local.combined_objects_private_dns
base_tags = local.global_settings.inherit_tags
resource_group = local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][try(each.value.resource_group_key, each.value.resource_group.key)]
resource_group_name = can(each.value.resource_group.name) || can(each.value.resource_group_name) ? try(each.value.resource_group.name, each.value.resource_group_name) : null
location = try(local.global_settings.regions[each.value.region], null)
azuread_applications = local.combined_objects_azuread_applications
azuread_service_principal_passwords = local.combined_objects_azuread_service_principal_passwords
application_insight = try(each.value.application_insight_key, null) == null ? null : module.azurerm_application_insights[each.value.application_insight_key]
diagnostic_profiles = try(each.value.diagnostic_profiles, null)
diagnostics = local.combined_diagnostics
}

output "windows_web_apps" {
value = module.windows_web_apps
}

module "linux_web_apps" {
source = "./modules/webapps/linux_webapps"
depends_on = [module.networking]
for_each = local.webapp.linux_web_apps
name = each.value.name
client_config = local.client_config
dynamic_app_settings = try(each.value.dynamic_app_settings, {})
app_service_plan_id = can(each.value.app_service_plan_id) ? each.value.app_service_plan_id : local.combined_objects_app_service_plans[try(each.value.lz_key, local.client_config.landingzone_key)][each.value.app_service_plan_key].id
combined_objects = local.dynamic_app_settings_combined_objects
global_settings = local.global_settings
settings = each.value.settings
identity = try(each.value.identity, null)
app_settings = try(each.value.app_settings, null)
connection_string = try(each.value.connection_string, {})
vnets = local.combined_objects_networking
virtual_subnets = local.combined_objects_virtual_subnets
subnet_id = can(each.value.subnet_id) || can(each.value.vnet_key) == false ? try(each.value.subnet_id, null) : local.combined_objects_networking[try(each.value.lz_key, local.client_config.landingzone_key)][each.value.vnet_key].subnets[each.value.subnet_key].id
remote_objects = {
subnets = try(local.combined_objects_networking[try(each.value.settings.lz_key, local.client_config.landingzone_key)][each.value.settings.vnet_key].subnets, null)
}
private_endpoints = try(each.value.private_endpoints, {})
private_dns = local.combined_objects_private_dns
base_tags = local.global_settings.inherit_tags
resource_group = local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][try(each.value.resource_group_key, each.value.resource_group.key)]
resource_group_name = can(each.value.resource_group.name) || can(each.value.resource_group_name) ? try(each.value.resource_group.name, each.value.resource_group_name) : null
location = try(local.global_settings.regions[each.value.region], null)
azuread_applications = local.combined_objects_azuread_applications
azuread_service_principal_passwords = local.combined_objects_azuread_service_principal_passwords
application_insight = try(each.value.application_insight_key, null) == null ? null : module.azurerm_application_insights[each.value.application_insight_key]
diagnostic_profiles = try(each.value.diagnostic_profiles, null)
diagnostics = local.combined_diagnostics
}
output "linux_web_apps" {
value = module.linux_web_apps
}
14 changes: 14 additions & 0 deletions automation_modules.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module "automation_powershell72_module" {
source = "./modules/automation/automation_module/automation_powershell72_module"
for_each = local.shared_services.automation_powershell72_module

global_settings = local.global_settings
settings = each.value
client_config = local.client_config
automation_account_id = can(each.value.automation_account_id) ? each.value.automation_account_id : local.combined_objects_automations[try(each.value.lz_key, local.client_config.landingzone_key)][each.value.automation_account_key].id
base_tags = local.global_settings.inherit_tags
}

output "automation_powershell72_module" {
value = module.automation_powershell72_module
}
1 change: 1 addition & 0 deletions compute_virtual_machines.tf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ module "virtual_machines" {
virtual_subnets = local.combined_objects_virtual_subnets
resource_group = local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][try(each.value.resource_group.key, each.value.resource_group_key)]
base_tags = local.global_settings.inherit_tags
resource_groups = local.combined_objects_resource_groups

# if boot_diagnostics_storage_account_key is points to a valid storage account, pass the endpoint
# if boot_diagnostics_storage_account_key is empty string, pass empty string
Expand Down
17 changes: 9 additions & 8 deletions cosmos_db.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ module "cosmos_dbs" {
source = "./modules/databases/cosmos_dbs"
for_each = local.database.cosmos_dbs

global_settings = local.global_settings
client_config = local.client_config
private_endpoints = try(each.value.private_endpoints, {})
resource_groups = try(each.value.private_endpoints, {}) == {} ? null : local.resource_groups
vnets = local.combined_objects_networking
settings = each.value
private_dns = local.combined_objects_private_dns
global_settings = local.global_settings
client_config = local.client_config
private_endpoints = try(each.value.private_endpoints, {})
resource_groups = try(each.value.private_endpoints, {}) == {} ? null : local.resource_groups
vnets = local.combined_objects_networking
settings = each.value
private_dns = local.combined_objects_private_dns
managed_identities = local.combined_objects_managed_identities

base_tags = local.global_settings.inherit_tags
resource_group = local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][try(each.value.resource_group_key, each.value.resource_group.key)]
Expand All @@ -18,4 +19,4 @@ module "cosmos_dbs" {

output "cosmos_dbs" {
value = module.cosmos_dbs
}
}
8 changes: 2 additions & 6 deletions eventgrid.tf
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ module "eventgrid_event_subscription" {
output "eventgrid_event_subscription" {
value = module.eventgrid_event_subscription
}

module "eventgrid_domain_topic" {
source = "./modules/messaging/eventgrid/eventgrid_domain_topic"
for_each = local.messaging.eventgrid_domain_topic
Expand All @@ -77,7 +76,6 @@ module "eventgrid_domain_topic" {
output "eventgrid_domain_topic" {
value = module.eventgrid_domain_topic
}

module "eventgrid_system_topic" {
source = "./modules/messaging/eventgrid/eventgrid_system_topic"
for_each = local.messaging.eventgrid_system_topic
Expand All @@ -86,10 +84,8 @@ module "eventgrid_system_topic" {
client_config = local.client_config
settings = each.value
base_tags = try(local.global_settings.inherit_tags, false) ? try(local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][try(each.value.resource_group.key, each.value.resource_group_key)].tags, {}) : {}

location = can(local.global_settings.regions[each.value.region]) ? local.global_settings.regions[each.value.region] : local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][try(each.value.resource_group.key, each.value.resource_group_key)].location

remote_objects = local.remote_objects
location = lookup(each.value, "region", null) != null ? each.value.region : can(local.global_settings.regions[each.value.region]) ? local.global_settings.regions[each.value.region] : local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][try(each.value.resource_group.key, each.value.resource_group_key)].location
remote_objects = local.remote_objects
}
output "eventgrid_system_topic" {
value = module.eventgrid_system_topic
Expand Down
Loading
Loading