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

Component updates 04/24 and host encryption #1359

Merged
merged 106 commits into from
May 14, 2024
Merged
Show file tree
Hide file tree
Changes from 103 commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
3e7771c
Bump vue from 3.3.9 to 3.4.3 in /src/app/AlwaysOn.UI (#1234)
dependabot[bot] Jan 2, 2024
07f7936
Bump hashicorp/azurerm in /src/infra/monitoring/grafana/terraform/sta…
dependabot[bot] Jan 2, 2024
048d322
Bump Microsoft.ApplicationInsights.AspNetCore (#1228)
dependabot[bot] Jan 2, 2024
ec926f6
Bump grafana/grafana in /src/infra/monitoring/grafana (#1227)
dependabot[bot] Jan 2, 2024
de660f5
Bump hashicorp/azurerm in /src/testing/loadtest-locust/infra (#1223)
dependabot[bot] Jan 2, 2024
b4e40ec
Bump Azure/azapi in /src/infra/workload/releaseunit/modules/stamp (#1…
dependabot[bot] Jan 2, 2024
35b5e63
Bump @microsoft/applicationinsights-web in /src/app/AlwaysOn.UI (#1235)
dependabot[bot] Jan 2, 2024
614f0db
Bump Azure/azapi in /src/infra/workload/globalresources (#1214)
dependabot[bot] Jan 2, 2024
5d47099
Bump hashicorp/azurerm in /src/infra/workload/globalresources (#1215)
dependabot[bot] Jan 2, 2024
b20e439
Bump hashicorp/azurerm (#1216)
dependabot[bot] Jan 2, 2024
f484a9a
Bump Microsoft.ApplicationInsights.AspNetCore (#1219)
dependabot[bot] Jan 2, 2024
d84d002
Bump node from 19.8.1 to 21.5.0 in /src/app/AlwaysOn.UI (#1220)
dependabot[bot] Jan 2, 2024
6fb79a6
Bump hashicorp/azurerm in /src/infra/workload/releaseunit/modules/sta…
dependabot[bot] Jan 2, 2024
dd54a42
Bump vue-template-compiler from 2.7.15 to 2.7.16 in /src/app/AlwaysOn…
dependabot[bot] Jan 2, 2024
fabc09a
Bump hashicorp/azurerm in /src/testing/userload-generator/infra (#1218)
dependabot[bot] Jan 2, 2024
1d1b78b
Bump hashicorp/azurerm in /src/testing/loadtest-azure/infra (#1231)
dependabot[bot] Jan 2, 2024
de14d07
Bump Azure/azapi in /src/infra/workload/releaseunit (#1230)
dependabot[bot] Jan 2, 2024
6752c6e
Bump Microsoft.ApplicationInsights.WorkerService (#1226)
dependabot[bot] Jan 2, 2024
0383904
Bump hashicorp/azurerm in /src/infra/workload/releaseunit (#1229)
dependabot[bot] Jan 2, 2024
5af122a
Bump Microsoft.ApplicationInsights.AspNetCore (#1225)
dependabot[bot] Jan 2, 2024
21bed30
Bump actions/setup-dotnet from 3 to 4 (#1213)
dependabot[bot] Jan 2, 2024
7e74848
Bump Microsoft.ApplicationInsights.AspNetCore (#1217)
dependabot[bot] Jan 2, 2024
6bfbd96
Bump Microsoft.ApplicationInsights.AspNetCore in /src/app/AlwaysOn.Te…
dependabot[bot] Jan 2, 2024
b46df0f
fix for failing health check
sebader Jan 2, 2024
3aa691f
check also for frontend
sebader Jan 2, 2024
afb19bd
Bump hashicorp/azurerm in /src/testing/loadtest-azure/infra
dependabot[bot] Feb 1, 2024
e5640ec
Bump hashicorp/azurerm
dependabot[bot] Feb 1, 2024
5d8f42c
Bump hashicorp/azurerm in /src/infra/monitoring/grafana/terraform/stamps
dependabot[bot] Feb 1, 2024
fc426e2
Bump Azure/azapi in /src/infra/workload/globalresources
dependabot[bot] Feb 1, 2024
578bad8
Bump hashicorp/azurerm in /src/testing/userload-generator/infra
dependabot[bot] Feb 1, 2024
971ef34
Bump Azure/azapi in /src/infra/workload/releaseunit/modules/stamp
dependabot[bot] Feb 1, 2024
7b289b1
Bump hashicorp/azurerm in /src/infra/workload/globalresources
dependabot[bot] Feb 1, 2024
abbdc5a
Bump hashicorp/azurerm in /src/testing/loadtest-locust/infra
dependabot[bot] Feb 1, 2024
afa6809
Bump hashicorp/azurerm in /src/infra/workload/releaseunit
dependabot[bot] Feb 1, 2024
8e33bb4
Bump Azure/azapi in /src/infra/workload/releaseunit
dependabot[bot] Feb 5, 2024
773ebc9
add tags
heoelri Feb 5, 2024
8e6d05a
Merge branch 'fix/add-missing-tags' into component-updates
heoelri Feb 5, 2024
ee2500d
bump cert-manager to 1.13.3
heoelri Feb 5, 2024
5ada96c
bump tf to 3.90.0
heoelri Feb 5, 2024
e651eae
Bump Serilog.AspNetCore from 8.0.0 to 8.0.1 in /src/app/AlwaysOn.Tests
dependabot[bot] Feb 1, 2024
74b32ab
Bump Serilog.AspNetCore in /src/app/AlwaysOn.BackgroundProcessor
dependabot[bot] Feb 1, 2024
45e3efa
Bump Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions
dependabot[bot] Feb 1, 2024
f595095
Bump Microsoft.Azure.WebJobs.Extensions.DurableTask
dependabot[bot] Feb 1, 2024
b7cb43a
Bump Serilog.AspNetCore in /src/app/AlwaysOn.HealthService
dependabot[bot] Feb 1, 2024
8dd49e7
Bump durable-functions
dependabot[bot] Feb 5, 2024
5c61a5e
Bump playwright-chromium
dependabot[bot] Feb 1, 2024
7bc0bfb
Small fixes
heoelri Feb 5, 2024
1915ea7
Merge branch 'component-updates' of https://github.com/Azure/Mission-…
heoelri Feb 5, 2024
2e7520f
Update cosmos nuget
sebader Feb 5, 2024
d15c90e
Bump playwright-core from 1.40.1 to 1.41.2 in /src/testing/userload-g…
dependabot[bot] Feb 6, 2024
6d5bfad
Bump Microsoft.NET.Sdk.Functions from 4.2.0 to 4.3.0 in /src/testing/…
dependabot[bot] Feb 6, 2024
ea81e27
Bump @playwright/test from 1.40.1 to 1.41.2 in /src/testing/userload-…
dependabot[bot] Feb 6, 2024
3f2e158
Bump vue from 3.4.3 to 3.4.15 in /src/app/AlwaysOn.UI (#1270)
dependabot[bot] Feb 6, 2024
7fd0956
Bump node from 21.5.0 to 21.6.1 in /src/app/AlwaysOn.UI (#1269)
dependabot[bot] Feb 6, 2024
9b617be
Bump Microsoft.Azure.Cosmos from 3.37.0 to 3.38.0 in /src/app/AlwaysO…
dependabot[bot] Feb 6, 2024
a018905
Bump node from 21.6.1 to 21.6.2 in /src/app/AlwaysOn.UI (#1285)
dependabot[bot] Mar 1, 2024
f425414
Bump grafana/grafana in /src/infra/monitoring/grafana (#1284)
dependabot[bot] Mar 1, 2024
1b8bfd3
Updates
sebader Mar 6, 2024
bcf65f5
npm
sebader Mar 6, 2024
af8a57c
Bump dotnet/sdk in /src/app/AlwaysOn.BackgroundProcessor (#1325)
dependabot[bot] Mar 6, 2024
61c21de
Bump Azure/azapi in /src/infra/workload/globalresources (#1321)
dependabot[bot] Mar 6, 2024
debc75e
Bump Azure/azapi in /src/infra/workload/releaseunit/modules/stamp (#1…
dependabot[bot] Mar 6, 2024
cd3a03b
Bump dotnet/sdk from 8.0 to 8.0.101 in /src/app/AlwaysOn.CatalogServi…
dependabot[bot] Mar 6, 2024
310c537
Bump Azure/azapi in /src/infra/workload/releaseunit (#1294)
dependabot[bot] Mar 6, 2024
10aeef2
Bump dotnet/sdk from 8.0 to 8.0.101 in /src/app/AlwaysOn.HealthServic…
dependabot[bot] Mar 6, 2024
833eb7f
npm
sebader Mar 6, 2024
713b297
Merge branch 'component-updates' of https://github.com/Azure/Mission-…
sebader Mar 6, 2024
5c6d9eb
Bump Microsoft.NET.Test.Sdk in /src/app/AlwaysOn.Tests (#1290)
dependabot[bot] Mar 6, 2024
a1dce33
Bump durable-functions (#1308)
dependabot[bot] Mar 6, 2024
a04bb54
Bump Azure.Messaging.EventHubs.Processor (#1327)
dependabot[bot] Mar 6, 2024
d5fae38
Merge remote-tracking branch 'origin/main' into component-updates
sebader Mar 6, 2024
dc324f5
Merge branch 'component-updates' of https://github.com/Azure/Mission-…
sebader Mar 6, 2024
1192e5f
Merge branch 'main' into component-updates
sebader Mar 6, 2024
3ec09fc
Some updates
heoelri Apr 24, 2024
2ee9ba5
Some updates
heoelri Apr 24, 2024
9964edd
Merge branch 'main' into updates-20240424
heoelri Apr 24, 2024
2023ce4
Bump Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (#1354)
dependabot[bot] Apr 24, 2024
9cab47a
Bump hashicorp/azurerm in /src/infra/workload/releaseunit/modules/sta…
dependabot[bot] Apr 24, 2024
c8592ea
Bump dotnet/sdk in /src/app/AlwaysOn.BackgroundProcessor (#1352)
dependabot[bot] Apr 24, 2024
7511ef0
Bump Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (#1351)
dependabot[bot] Apr 24, 2024
a724f1d
Bump hashicorp/azurerm in /src/testing/loadtest-locust/infra (#1343)
dependabot[bot] Apr 24, 2024
3973970
Bump grafana/grafana in /src/infra/monitoring/grafana (#1342)
dependabot[bot] Apr 24, 2024
2fb76cd
Bump hashicorp/azurerm in /src/infra/monitoring/grafana/terraform/sta…
dependabot[bot] Apr 24, 2024
6b82c3c
Bump dotnet/sdk in /src/app/AlwaysOn.HealthService (#1344)
dependabot[bot] Apr 24, 2024
46f3d16
Bump hashicorp/azurerm in /src/testing/userload-generator/infra (#1335)
dependabot[bot] Apr 24, 2024
40e53bf
Bump dotnet/sdk in /src/app/AlwaysOn.CatalogService (#1346)
dependabot[bot] Apr 24, 2024
427f356
Bump hashicorp/azurerm in /src/infra/workload/releaseunit (#1341)
dependabot[bot] Apr 24, 2024
5922a68
Bump node from 21.6.2 to 21.7.1 in /src/app/AlwaysOn.UI (#1338)
dependabot[bot] Apr 24, 2024
f61ada8
Bump hashicorp/azurerm in /src/infra/workload/globalresources (#1339)
dependabot[bot] Apr 24, 2024
0c67dd8
Bump hashicorp/azurerm (#1336)
dependabot[bot] Apr 24, 2024
7a026ef
Bump hashicorp/azurerm in /src/testing/loadtest-azure/infra (#1337)
dependabot[bot] Apr 24, 2024
690eecf
Merge branch 'component-updates' of https://github.com/Azure/Mission-…
heoelri Apr 24, 2024
29c7dad
Merge branch 'component-updates' into updates-20240424
heoelri Apr 24, 2024
08af85e
Fix host encryption issue in Terraform variables
heoelri Apr 24, 2024
a3c878e
Update kubernetesVersion to 1.29.2 in configuration.yaml
heoelri Apr 25, 2024
f97ae74
Update ingress-nginx configuration to allow snippet annotations
heoelri Apr 25, 2024
42bebf6
Merge branch 'main' into updates-20240424
heoelri Apr 25, 2024
dbb216e
Fix host encryption issue in Terraform variables
heoelri Apr 25, 2024
c236276
Merge branch 'updates-20240424' of https://github.com/Azure/Mission-C…
heoelri Apr 25, 2024
2511ca8
Fix host encryption issue in Terraform variables
heoelri Apr 25, 2024
7b30be0
Update Terraform variables to include instructions for enabling host-…
heoelri May 14, 2024
70b83b3
Update Azure/azapi version to 1.13.1 in main.tf and modules/stamp/mai…
heoelri May 14, 2024
0c7786f
Update Terraform variables to enable host-level encryption
heoelri May 14, 2024
b1f0ca0
Update Azure/azapi version to 1.13.1 in main.tf and modules/stamp/mai…
heoelri May 14, 2024
7c24968
Enable host-level encryption for AKS in Terraform variables
heoelri May 14, 2024
385a55e
Replace deprecated params
heoelri May 14, 2024
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: 4 additions & 4 deletions .ado/pipelines/config/configuration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ variables:
value: 'foundational-online'

- name: 'terraformVersion' # Terraform Version
value: '1.6.2-*'
value: '1.8.1-*'
- name: 'kubernetesVersion' # kubernetes version used for aks clusters
value: '1.28.5'
value: '1.29.2'
- name: 'helmVersion' # helm package manager version
value: 'v3.14.0'
value: 'v3.14.4'
- name: 'ingressNginxVersion' # nginx ingress controller helm chart version
value: '4.7.3'
value: '4.10.0'
- name: 'certManagerVersion' # cert-manager helm chart version
value: 'v1.13.3'
- name: 'dotnetSdkVersion' # dotnet sdk version
Expand Down
5 changes: 5 additions & 0 deletions .ado/pipelines/config/variables-values-e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ variables:
- name: 'prefix'
value: 'mce2e' # <===== CHANGE THIS! Must not be longer than 6 characters! Needs to be a unique prefix

# Host-encryption for compute resources (needs to be enabled on subscription-level)
# https://learn.microsoft.com/en-us/azure/virtual-machines/linux/disks-enable-host-based-encryption-cli
- name: 'enableHostEncryption'
value: 'true' # <===== CHANGE THIS! Set to 'true' to enable host encryption

# The first value in 'stampLocations' is the primary region used for global services.
# IMPORTANT! Changing the primary region (first value) is a BREAKING change and will destroy CosmosDB and Front Door.
# Check which regions are valid. There is a list in /src/infra/README.md
Expand Down
5 changes: 5 additions & 0 deletions .ado/pipelines/config/variables-values-int.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ variables:
- name: 'prefix'
value: 'mcint' # <===== CHANGE THIS! Must not be longer than 6 characters! Needs to be a unique prefix

# Host-encryption for compute resources (needs to be enabled on subscription-level)
# https://learn.microsoft.com/en-us/azure/virtual-machines/linux/disks-enable-host-based-encryption-cli
- name: 'enableHostEncryption'
value: 'true' # <===== CHANGE THIS! Set to 'true' to enable host encryption

# The first value in 'stampLocations' is the primary region used for global services.
# IMPORTANT! Changing the primary region (first value) is a BREAKING change and will destroy CosmosDB and Front Door.
- name: 'stampLocations'
Expand Down
6 changes: 5 additions & 1 deletion .ado/pipelines/config/variables-values-prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ variables:
- name: 'prefix'
value: 'afprod' # <===== CHANGE THIS! Must not be longer than 6 characters! Needs to be a unique prefix


# Host-encryption for compute resources (needs to be enabled on subscription-level)
# https://learn.microsoft.com/en-us/azure/virtual-machines/linux/disks-enable-host-based-encryption-cli
- name: 'enableHostEncryption'
value: 'true' # <===== CHANGE THIS! Set to 'true' to enable host encryption

# The first value in 'stampLocations' is the primary region used for global services.
# IMPORTANT! Changing the primary region (first value) is a BREAKING change and will destroy CosmosDB and Front Door.
- name: 'stampLocations'
Expand Down
1 change: 1 addition & 0 deletions .ado/pipelines/templates/steps-terraform-apply.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ steps:
terraform plan -input=false -out=tf_plan \
-var=environment="$(environment)" \
-var=prefix="${{ parameters.customPrefix }}" \
-var=aks_enable_host_encryption="$(enableHostEncryption)" \
-var-file="variables-$(environment).tfvars" \
${{ parameters.customAttributes }}

Expand Down
15 changes: 9 additions & 6 deletions docs/reference-implementation/Getting-Started-CLI.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,8 @@ All pipelines require an Azure DevOps service connection to access the target Az

> **Important!** The AAD Service Principal needs **subscription-level owner permissions** as the pipeline will create various role assignments.

> **Important!** Azure Mission-Critical is using host-level encryption compute. This feature needs to be manually registered in each subscription. See [Use the Azure CLI to enable end-to-end encryption using encryption at host](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/disks-enable-host-based-encryption-cli) for more.

You need to repeat these steps for each of the environments that you want to create. But you can also only start with one for now. If so, we recommend to start with `e2e`.

```powershell
Expand Down Expand Up @@ -204,12 +206,13 @@ Modify the respective file for the environment which you want to deploy. At leas

| Required to modify | Key | Description | Sample value |
| --- | --- | --- | --- |
| **YES** | prefix | Custom prefix used for Azure resources. **Must not be longer than 6 characters!** | mye2e |
| **YES** | contactEmail | E-mail alias used for alerting. **Be careful which address you put in here as it will potentially receive a lot of notification emails** | alwaysonappnet@example.com |
| NO | terraformResourceGroup | Resource Group where the Terraform state Storage account will be deployed | terraformstate-rg |
| NO | stampLocations | List of locations (Azure Regions) where this environment will be deployed into. You can keep the default to start with. | ["northeurope", "eastus2"] |
| NO | envDnsZoneRG | OPTIONAL: Name of the Azure Resource group which holds the Azure DNS Zone for your custom domain. Not required if you do not plan to use a custom DNS name | mydns-rg |
| NO | envDomainName | OPTIONAL: Name of the Azure DNS Zone. Not required if you do not plan to use a custom DNS name | example.com |
| **YES** | `prefix` | Custom prefix used for Azure resources. **Must not be longer than 6 characters!** | `mye2e` |
| **YES** | `contactEmail` | E-mail alias used for alerting. **Be careful which address you put in here as it will potentially receive a lot of notification emails** | `alwaysonappnet@example.com` |
| NO | `terraformResourceGroup` | Resource Group where the Terraform state Storage account will be deployed | `terraformstate-rg` |
| NO | `stampLocations` | List of locations (Azure Regions) where this environment will be deployed into. You can keep the default to start with. | `["northeurope", "eastus2"]` |
| NO | `envDnsZoneRG` | OPTIONAL: Name of the Azure Resource group which holds the Azure DNS Zone for your custom domain. Not required if you do not plan to use a custom DNS name | `mydns-rg` |
| NO | `envDomainName` | OPTIONAL: Name of the Azure DNS Zone. Not required if you do not plan to use a custom DNS name | `example.com` |
| NO | `enableHostEncryption` | Enable or disable host-encryption for compute resources (needs to be enabled per-subscription) | `true` |

**After modifying the file, make sure to commit and push the changes to your Git repository.**

Expand Down
17 changes: 9 additions & 8 deletions docs/reference-implementation/Getting-Started.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ To deploy the Azure Mission-Critical reference implementation, you need to creat

- [Create an organization or project collection](https://learn.microsoft.com/azure/devops/organizations/accounts/create-organization?view=azure-devops)


#### Create a new Azure DevOps project

Once you have created an Azure DevOps organization, you can create a new project in that organization. Go to the Azure DevOps portal, select the desired Organization and Click on "+ New Project" in the upper right hand corner.
Expand Down Expand Up @@ -123,6 +122,8 @@ All pipelines require an Azure DevOps service connection to access the target Az

> **Important!** The AAD Service Principal needs **subscription-level owner permissions** as the pipeline will create various role assignments.

> **Important!** Azure Mission-Critical is using host-level encryption compute. This feature needs to be manually registered in each subscription. See [Use the Azure CLI to enable end-to-end encryption using encryption at host](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/disks-enable-host-based-encryption-cli) for more.

You need to repeat these steps for each of the environments that you want to create. But you can also only start with one for now. If so, we recommend to start with `e2e`.

```powershell
Expand Down Expand Up @@ -184,18 +185,18 @@ Modify the respective file for the environment which you want to deploy. At leas

| Required to modify | Key | Description | Sample value |
| --- | --- | --- | --- |
| **YES** | prefix | Custom prefix used for Azure resources. **Must not be longer than 6 characters!** | mye2e |
| **YES** | contactEmail | E-mail alias used for alerting. **Be careful which address you put in here as it will potentially receive a lot of notification emails** | alwaysonappnet@example.com |
| NO | terraformResourceGroup | Resource Group where the Terraform state Storage account will be deployed | terraformstate-rg |
| NO | stampLocations | List of locations (Azure Regions) where this environment will be deployed into. You can keep the default to start with. | ["northeurope", "eastus2"] |
| NO | envDnsZoneRG | OPTIONAL: Name of the Azure Resource group which holds the Azure DNS Zone for your custom domain. Not required if you do not plan to use a custom DNS name | mydns-rg |
| NO | envDomainName | OPTIONAL: Name of the Azure DNS Zone. Not required if you do not plan to use a custom DNS name | example.com |
| **YES** | `prefix` | Custom prefix used for Azure resources. **Must not be longer than 6 characters!** | `mye2e` |
| **YES** | `contactEmail` | E-mail alias used for alerting. **Be careful which address you put in here as it will potentially receive a lot of notification emails** | `alwaysonappnet@example.com` |
| NO | `terraformResourceGroup` | Resource Group where the Terraform state Storage account will be deployed | `terraformstate-rg` |
| NO | `stampLocations` | List of locations (Azure Regions) where this environment will be deployed into. You can keep the default to start with. | `["northeurope", "eastus2"]` |
| NO | `envDnsZoneRG` | OPTIONAL: Name of the Azure Resource group which holds the Azure DNS Zone for your custom domain. Not required if you do not plan to use a custom DNS name | `mydns-rg` |
| NO | `envDomainName` | OPTIONAL: Name of the Azure DNS Zone. Not required if you do not plan to use a custom DNS name | example.com |
| NO | `enableHostEncryption` | Enable or disable host-encryption for compute resources (needs to be enabled per-subscription) | `true` |

**After modifying the file, make sure to commit and push the changes to your Git repository.**

For more details on the variables, you can consult [this guide](/.ado/pipelines/README.md#configuration-files).


### 7) Execute the first deployment

After completing all previous steps in this guide, you can start executing the pipelines to spin up the infrastructure.
Expand Down
22 changes: 22 additions & 0 deletions docs/reference-implementation/Troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,28 @@ Location: SwedenCentral, Current Limit: 100, Current Usage: 96, Additional Requi

**Error:**

```console
│ Agent Pool Name: "workloadpool"): performing CreateOrUpdate: unexpected status 400 (400 Bad Request) with response: {
│ "code": "SubscriptionNotEnabledEncryptionAtHost",
│ "details": null,
│ "message": "Subscription does not enable EncryptionAtHost.",
│ "subcode": ""
│ }
```

**Description:** Host encryption needs to be enabled at subscription-level when `enableHostEncryption` is set to `true` in `variables-values-<env>.yaml` in `.ado/pipelines/config`.

**Solution:**

Host encryption needs to be enabled at subscription-level: [Use the Azure CLI to enable end-to-end encryption using encryption at host
](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/disks-enable-host-based-encryption-cli)

If you don't want to use Host-encryption, you can disable it by setting `enableHostEncryption` to `false` in `variables-values-<env>.yaml` in `.ado/pipelines/config`.

---

**Error:**

```console
Error: deleting Front Door (Subscription: "xxxxx-8cbd-46f2-a146-yyyyyyyyyy"
│ Resource Group Name: "xxxxx-global-rg"
Expand Down
2 changes: 1 addition & 1 deletion src/app/AlwaysOn.BackgroundProcessor/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/dotnet/sdk:8.0.101 AS build-env
FROM mcr.microsoft.com/dotnet/sdk:8.0.203 AS build-env
WORKDIR /app

COPY . ./
Expand Down
2 changes: 1 addition & 1 deletion src/app/AlwaysOn.CatalogService/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Create build environment
FROM mcr.microsoft.com/dotnet/sdk:8.0.101 AS build-env
FROM mcr.microsoft.com/dotnet/sdk:8.0.203 AS build-env
WORKDIR /app
COPY . ./
RUN dotnet publish AlwaysOn.CatalogService -c Release -o AlwaysOn.CatalogService/out
Expand Down
2 changes: 1 addition & 1 deletion src/app/AlwaysOn.HealthService/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Create build environment
FROM mcr.microsoft.com/dotnet/sdk:8.0.101 AS build-env
FROM mcr.microsoft.com/dotnet/sdk:8.0.203 AS build-env
WORKDIR /app
COPY . ./
RUN dotnet publish AlwaysOn.HealthService -c Release -o AlwaysOn.HealthService/out
Expand Down
2 changes: 1 addition & 1 deletion src/app/AlwaysOn.Shared/AlwaysOn.Shared.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.22.0" />
<PackageReference Include="Microsoft.Azure.Cosmos" Version="3.38.1" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="8.0.2" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="8.0.3" />
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion src/app/AlwaysOn.UI/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Create build environment
FROM node:21.6.2 as build-env
FROM node:21.7.1 as build-env

WORKDIR /app
COPY . ./
Expand Down
1 change: 1 addition & 0 deletions src/config/ingress-nginx/values.helm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# https://github.com/kubernetes/ingress-nginx/blob/master/charts/ingress-nginx/values.yaml

controller:
allowSnippetAnnotations: true
securityContext:
readOnlyRootFilesystem: true # If a container does not need to write files, it should be run with a read-only filesystem.
privileged: false # Running a container as privileged gives all capabilities to the container, and it also lifts all the limitations enforced by the device cgroup controller.
Expand Down
2 changes: 1 addition & 1 deletion src/infra/monitoring/grafana/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ RUN chmod +x insertqueries.sh && ./insertqueries.sh
WORKDIR /app/healthmodelpanel
RUN npm install

FROM grafana/grafana:9.5.16
FROM grafana/grafana:9.5.18

# In order to run unsigned plugins such as our health model panel, we need to explicitly allow them in an env variable.
ENV GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS="healthmodelpanel"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "3.94.0"
version = "3.97.1"
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/infra/monitoring/grafana/terraform/stamps/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "3.94.0"
version = "3.97.1"
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/infra/workload/globalresources/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "3.94.0"
version = "3.97.1"
heoelri marked this conversation as resolved.
Show resolved Hide resolved
}
azapi = {
source = "Azure/azapi"
Expand Down
5 changes: 3 additions & 2 deletions src/infra/workload/releaseunit/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "3.94.0"
version = "3.101.0"
}
azapi = {
source = "Azure/azapi"
version = "1.12.1"
version = "1.13.1"
}
}

Expand All @@ -21,6 +21,7 @@ provider "azurerm" {
prevent_deletion_if_contains_resources = false
}
}
skip_provider_registration = true
}

provider "azapi" {}
Expand Down
2 changes: 2 additions & 0 deletions src/infra/workload/releaseunit/modules/stamp/kubernetes.tf
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ resource "azurerm_kubernetes_cluster_node_pool" "workload" {
os_disk_type = "Ephemeral"
orchestrator_version = var.aks_kubernetes_version

enable_host_encryption = var.aks_enable_host_encryption # host encryption needs to be enabled per-subscription

mode = "User" # Define this node pool as a "user" aka workload node pool
zones = [1, 2, 3]

Expand Down
4 changes: 2 additions & 2 deletions src/infra/workload/releaseunit/modules/stamp/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "3.94.0"
version = "3.101.0"
}
azapi = {
source = "Azure/azapi"
version = "1.12.1"
version = "1.13.1"
}
}
}
Expand Down
6 changes: 6 additions & 0 deletions src/infra/workload/releaseunit/modules/stamp/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,12 @@ variable "aks_user_node_pool_autoscale_maximum" {
type = number
}

variable "aks_enable_host_encryption" {
default = true
type = bool
description = "Enable host encryption for AKS nodes"
}

variable "event_hub_thoughput_units" {
description = "Number of Throughput Units for Event Hub Namespace"
type = number
Expand Down
6 changes: 4 additions & 2 deletions src/infra/workload/releaseunit/stamp.tf
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ module "stamp" {

vnet_address_space = module.stamp_addresses.network_cidr_blocks[each.value]

aks_kubernetes_version = var.aks_kubernetes_version # kubernetes version

prefix = local.prefix # handing over the resource prefix
default_tags = local.default_tags # handing over the resource tags
queued_by = var.queued_by
Expand All @@ -39,6 +37,10 @@ module "stamp" {
frontdoor_id_header = var.frontdoor_id_header
acr_name = var.acr_name

aks_kubernetes_version = var.aks_kubernetes_version # Defined kubernetes version

aks_enable_host_encryption = var.aks_enable_host_encryption # Enable host encryption

aks_system_node_pool_sku_size = var.aks_system_node_pool_sku_size
aks_system_node_pool_autoscale_minimum = var.aks_system_node_pool_autoscale_minimum
aks_system_node_pool_autoscale_maximum = var.aks_system_node_pool_autoscale_maximum
Expand Down
6 changes: 6 additions & 0 deletions src/infra/workload/releaseunit/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,12 @@ variable "aks_kubernetes_version" {
type = string
}

variable "aks_enable_host_encryption" {
default = true
type = bool
description = "Enable host encryption for AKS nodes"
}

variable "aks_system_node_pool_sku_size" {
description = "VM SKU of the AKS system nodes"
type = string
Expand Down
2 changes: 1 addition & 1 deletion src/testing/loadtest-azure/infra/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "3.94.0"
version = "3.97.1"
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/testing/loadtest-locust/infra/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "3.94.0"
version = "3.97.1"
}
}

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/testing/userload-generator/infra/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "3.94.0"
version = "3.97.1"
}
}

Expand Down
Loading