File tree Expand file tree Collapse file tree 10 files changed +83
-4
lines changed Expand file tree Collapse file tree 10 files changed +83
-4
lines changed Original file line number Diff line number Diff line change 1+ github : [PerfectThymeTech, marvinbuss]
Original file line number Diff line number Diff line change 2929 SUBSCRIPTION_ID :
3030 required : true
3131 description : " Specifies the client id."
32+ MY_SAMPLE_SECRET :
33+ required : true
34+ description : " Specifies a sample secret."
3235
3336permissions :
3437 id-token : write
7982 - name : Terraform Apply
8083 working-directory : ${{ inputs.working_directory }}
8184 run : |
82- terraform apply -var-file vars.${{ inputs.environment }}.tfvars -auto-approve -input=false
85+ terraform apply -var-file vars.${{ inputs.environment }}.tfvars -var='my_secret=${{ secrets.MY_SAMPLE_SECRET }}' - auto-approve -input=false
Original file line number Diff line number Diff line change 2929 SUBSCRIPTION_ID :
3030 required : true
3131 description : " Specifies the client id."
32+ MY_SAMPLE_SECRET :
33+ required : true
34+ description : " Specifies a sample secret."
3235
3336permissions :
3437 id-token : write
8992 id : terraform_plan
9093 working-directory : ${{ inputs.working_directory }}
9194 run : |
92- terraform plan -var-file vars.${{ inputs.environment }}.tfvars -input=false
95+ terraform plan -var-file vars.${{ inputs.environment }}.tfvars -var='my_secret=${{ secrets.MY_SAMPLE_SECRET }}' - input=false
9396
9497 # Add Pull Request Comment
9598 - name : Add Pull Request Comment
Original file line number Diff line number Diff line change 3535 CLIENT_ID : ${{ secrets.CLIENT_ID }}
3636 CLIENT_SECRET : ${{ secrets.CLIENT_SECRET }}
3737 SUBSCRIPTION_ID : ${{ secrets.SUBSCRIPTION_ID }}
38+ MY_SAMPLE_SECRET : ${{ secrets.MY_SAMPLE_SECRET }}
3839
3940 terraform_apply_dev :
4041 uses : ./.github/workflows/_terraformApplyTemplate.yml
5051 CLIENT_ID : ${{ secrets.CLIENT_ID }}
5152 CLIENT_SECRET : ${{ secrets.CLIENT_SECRET }}
5253 SUBSCRIPTION_ID : ${{ secrets.SUBSCRIPTION_ID }}
54+ MY_SAMPLE_SECRET : ${{ secrets.MY_SAMPLE_SECRET }}
Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ class Settings(BaseSettings):
1414 APPLICATIONINSIGHTS_CONNECTION_STRING : str = Field (
1515 default = "" , env = "APPLICATIONINSIGHTS_CONNECTION_STRING"
1616 )
17+ MY_SECRET_CONFIG : str = Field (default = "" , env = "MY_SECRET_CONFIG" )
1718
1819
1920settings = Settings ()
Original file line number Diff line number Diff line change @@ -8,8 +8,43 @@ resource "azurerm_service_plan" "service_plan" {
88 os_type = " Linux"
99 per_site_scaling_enabled = false
1010 sku_name = " P1v3"
11- worker_count = 3
12- zone_balancing_enabled = true
11+ worker_count = 1 # Update to '3' for production
12+ zone_balancing_enabled = false # Update to 'true' for production
13+ }
14+
15+ data "azurerm_monitor_diagnostic_categories" "diagnostic_categories_service_plan" {
16+ resource_id = azurerm_service_plan. service_plan . id
17+ }
18+
19+ resource "azurerm_monitor_diagnostic_setting" "diagnostic_setting_service_plan" {
20+ name = " logAnalytics"
21+ target_resource_id = azurerm_service_plan. service_plan . id
22+ log_analytics_workspace_id = azurerm_log_analytics_workspace. log_analytics_workspace . id
23+
24+ dynamic "enabled_log" {
25+ iterator = entry
26+ for_each = data. azurerm_monitor_diagnostic_categories . diagnostic_categories_service_plan . log_category_groups
27+ content {
28+ category_group = entry. value
29+ retention_policy {
30+ enabled = true
31+ days = 30
32+ }
33+ }
34+ }
35+
36+ dynamic "metric" {
37+ iterator = entry
38+ for_each = data. azurerm_monitor_diagnostic_categories . diagnostic_categories_service_plan . metrics
39+ content {
40+ category = entry. value
41+ enabled = true
42+ retention_policy {
43+ enabled = true
44+ days = 30
45+ }
46+ }
47+ }
1348}
1449
1550resource "azapi_resource" "function" {
@@ -87,6 +122,10 @@ resource "azapi_resource" "function" {
87122 {
88123 name = " AzureWebJobsStorage__accountName"
89124 value = azurerm_storage_account.storage.name
125+ },
126+ {
127+ name = " MY_SECRET_CONFIG"
128+ value = " @Microsoft.KeyVault(SecretUri=${ azurerm_key_vault_secret . key_vault_secret_sample . id } )"
90129 }
91130 ]
92131 azureStorageAccounts = {}
Original file line number Diff line number Diff line change @@ -22,6 +22,19 @@ resource "azurerm_key_vault" "key_vault" {
2222 tenant_id = data. azurerm_client_config . current . tenant_id
2323}
2424
25+ resource "azurerm_key_vault_secret" "key_vault_secret_sample" {
26+ name = " MySampleSecret"
27+ key_vault_id = azurerm_key_vault. key_vault . id
28+
29+ content_type = " text/plain"
30+ value = var. my_secret
31+
32+ depends_on = [
33+ azurerm_role_assignment . current_role_assignment_key_vault ,
34+ azurerm_private_endpoint . key_vault_private_endpoint
35+ ]
36+ }
37+
2538data "azurerm_monitor_diagnostic_categories" "diagnostic_categories_key_vault" {
2639 resource_id = azurerm_key_vault. key_vault . id
2740}
Original file line number Diff line number Diff line change 1+ resource "azurerm_role_assignment" "current_role_assignment_key_vault" {
2+ scope = azurerm_key_vault. key_vault . id
3+ role_definition_name = " Key Vault Administrator"
4+ principal_id = data. azurerm_client_config . current . object_id
5+ }
6+
17resource "azurerm_role_assignment" "function_role_assignment_storage" {
28 scope = azurerm_storage_account. storage . id
39 role_definition_name = " Storage Blob Data Owner"
Original file line number Diff line number Diff line change @@ -83,6 +83,16 @@ variable "function_health_path" {
8383 }
8484}
8585
86+ variable "my_secret" {
87+ description = " Specifies a random secret value used in teh Logic App."
88+ type = string
89+ sensitive = true
90+ validation {
91+ condition = length (var. my_secret ) >= 2
92+ error_message = " Please specify a valid resource ID."
93+ }
94+ }
95+
8696variable "private_dns_zone_id_blob" {
8797 description = " Specifies the resource ID of the private DNS zone for Azure Storage blob endpoints. Not required if DNS A-records get created via Azue Policy."
8898 type = string
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ prefix = "myfunc"
44tags = {}
55function_python_version = " 3.10"
66function_health_path = " /v1/health/heartbeat"
7+ my_secret = " "
78vnet_id = " /subscriptions/8f171ff9-2b5b-4f0f-aed5-7fa360a1d094/resourceGroups/mycrp-prd-function-network-rg/providers/Microsoft.Network/virtualNetworks/mycrp-prd-function-vnet001"
89nsg_id = " /subscriptions/8f171ff9-2b5b-4f0f-aed5-7fa360a1d094/resourceGroups/mycrp-prd-function-network-rg/providers/Microsoft.Network/networkSecurityGroups/mycrp-prd-function-nsg001"
910route_table_id = " /subscriptions/8f171ff9-2b5b-4f0f-aed5-7fa360a1d094/resourceGroups/mycrp-prd-function-network-rg/providers/Microsoft.Network/routeTables/mycrp-prd-function-rt001"
You can’t perform that action at this time.
0 commit comments