Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
15 changes: 8 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ BUG FIXES:
* Fix error handling in airlock processor ([#4929](https://github.com/microsoft/AzureTRE/pull/4929))
* Fix dependabot high severity alerts for packages fast-uri, lodash, picomatch, immutable, minimatch, flatted and PyJWT
* Fix dependabot high moderate alerts for packages aiohttp and pytest, pytest-asyncio
* Fix spelling in docs using codespell ([#4954](https://github.com/microsoft/AzureTRE/issues/4954))
* Replace deprecated yaspell with codespell and add pre-commit hook installer to devcontainer. ([#4953](https://github.com/microsoft/AzureTRE/issues/4953))

## (0.28.0) (March 2, 2026)
Expand All @@ -32,7 +33,7 @@ ENHANCEMENTS:
BUG FIXES:
* Fix OpenAPI/schema sample generation for `get_sample_operation` step parameters. ([#4864](https://github.com/microsoft/AzureTRE/issues/4864))
* Fix test airlock request sample data fields and enum values. ([#4866](https://github.com/microsoft/AzureTRE/issues/4866))
* Fix property substitution not occuring where there is only a main step in the pipeline ([#4824](https://github.com/microsoft/AzureTRE/issues/4824))
* Fix property substitution not occurring where there is only a main step in the pipeline ([#4824](https://github.com/microsoft/AzureTRE/issues/4824))
* Fix Mysql template ignored storage_mb ([#4846](https://github.com/microsoft/AzureTRE/issues/4846))
* Fix duplicate `TOPIC_SUBSCRIPTION_NAME` in `core/terraform/airlock/airlock_processor.tf` ([#4847](https://github.com/microsoft/AzureTRE/pull/4847))
* Fix Nexus repository access blocked by unaccepted EULA in Nexus 3.77+ Community Edition ([#4842](https://github.com/microsoft/AzureTRE/issues/4842))
Expand Down Expand Up @@ -94,7 +95,7 @@ BUG FIXES:
* Fix Azure Health Data Services deployment failures by upgrading AzureRM provider to 4.58.0, switching to RBAC group assignments, and adding workspace group parameter mappings ([#4844](https://github.com/microsoft/AzureTRE/issues/4844))
* Replace deprecated `--username` flag with `--client-id` in `az login --identity` commands across all Porter bundles ([#4817](https://github.com/microsoft/AzureTRE/issues/4817))
* Fix deleted workspaces still accessible via URL - get_*_by_id methods now filter out deleted resources ([#4785](https://github.com/microsoft/AzureTRE/issues/4785))
* Fix circular dependancy in base workspace. ([#4756](https://github.com/microsoft/AzureTRE/pull/4756))
* Fix circular dependency in base workspace. ([#4756](https://github.com/microsoft/AzureTRE/pull/4756))
* Replaced deprecated `datetime.utcnow()` with `datetime.now(datetime.UTC)` in the API and airlock processor. ([#4743](https://github.com/microsoft/AzureTRE/issues/4743))
* Updated error messages when publishing a template version that is lower than the existing version. ([#4685](https://github.com/microsoft/AzureTRE/issues/4685))
* Disable public access on stweb storage account ([#4766](https://github.com/microsoft/AzureTRE/issues/4766))
Expand Down Expand Up @@ -253,7 +254,7 @@ BUG FIXES:
In future versions, public access will be fully removed, and the ACR will become private only. Please ensure that relevant templates are updated to their latest versions to support communication through the private endpoint ([#4533](https://github.com/microsoft/AzureTRE/pull/4533))

ENHANCEMENTS:
* Add ability to pass values to install stage on pipleine ([#4451](https://github.com/microsoft/AzureTRE/pull/4451))
* Add ability to pass values to install stage on pipeline ([#4451](https://github.com/microsoft/AzureTRE/pull/4451))
* Format the error message in the Operations panel for enhanced readability ([#4493](https://github.com/microsoft/AzureTRE/issues/4493))
* Modify the AML workspace service so it does not use local authentication keys for storage access ([#4341](https://github.com/microsoft/AzureTRE/issues/4341))
* Enhanced the logout message to emphasize session security. ([#4410](https://github.com/AzureTRE/AzureTRE/issues/4410))
Expand Down Expand Up @@ -348,7 +349,7 @@ COMPONENTS:
## 0.21.0

**BREAKING CHANGES & MIGRATIONS**:
* Workspace bundle uses infrastructure encryption on shared storage which will recreate storage share. Major verison increase will prevent upgrade, do not force the upgrade unless you are fully aware of the consequences.
* Workspace bundle uses infrastructure encryption on shared storage which will recreate storage share. Major version increase will prevent upgrade, do not force the upgrade unless you are fully aware of the consequences.

ENHANCEMENTS:
* Core key vault firewall should not be set to "Allow public access from all networks" ([#4250](https://github.com/microsoft/AzureTRE/issues/4250))
Expand Down Expand Up @@ -404,7 +405,7 @@ COMPONENTS:
| tre-workspace-service-azuresql | 1.0.15 |


## 0.20.0 (Feburary 9, 2025)
## 0.20.0 (February 9, 2025)

**BREAKING CHANGES & MIGRATIONS**:
* InnerEye and MLFlow bundles depreciated and removed from main. If you wish to update and deploy these workspace services they can be retrieved from release 0.19.1. ([#4127](https://github.com/microsoft/AzureTRE/issues/4127))
Expand Down Expand Up @@ -676,7 +677,7 @@ COMPONENTS:
## 0.17.0

**BREAKING CHANGES & MIGRATIONS**:
* Update terraform MySQL resources to MySQL Flexible resources to fix depricating recources. ([#3892](https://github.com/microsoft/AzureTRE/pull/3892)) - Migration to new version of Gitea and MySQL, needs to be carried out manually, details to be included in a later release.
* Update terraform MySQL resources to MySQL Flexible resources to fix deprecating resources. ([#3892](https://github.com/microsoft/AzureTRE/pull/3892)) - Migration to new version of Gitea and MySQL, needs to be carried out manually, details to be included in a later release.

ENHANCEMENTS:
* Switch from OpenCensus to OpenTelemetry for logging ([#3762](https://github.com/microsoft/AzureTRE/pull/3762))
Expand All @@ -692,7 +693,7 @@ BUG FIXES:
* Airlock: Creating an import/export request causes a routing error ([#3830](https://github.com/microsoft/AzureTRE/issues/3830))
* Fix registration of templates with no 'authorizedRoles' or 'required' defined ([#3849](https://github.com/microsoft/AzureTRE/pull/3849))
* Update terraform for services bus to move network rules into namespace resource to avoid depreciation warning, and update setup_local_debugging.sh to use network_rule_sets ([#3858](https://github.com/microsoft/AzureTRE/pull/3858))
* Update terraform MySQL resources to MySQL Flexible resources to fix depricating recources. ([#3892](https://github.com/microsoft/AzureTRE/pull/3892))
* Update terraform MySQL resources to MySQL Flexible resources to fix deprecating resources. ([#3892](https://github.com/microsoft/AzureTRE/pull/3892))
* Fix issue with firewall failing to deploy on a new TRE deploy ([#3775](https://github.com/microsoft/AzureTRE/issues/3775))

COMPONENTS:
Expand Down
2 changes: 1 addition & 1 deletion cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ To log in using device code flow, run:
tre login device-code --base-url https://mytre.westeurope.cloudapp.azure.com/
```

This will prompt you to copy a device code and nagivate to <https://microsoft.com/devicelogin> to complete the login flow interactively.
This will prompt you to copy a device code and navigate to <https://microsoft.com/devicelogin> to complete the login flow interactively.

You can specify `--no-verify` to disable SSL cert verification.

Expand Down
2 changes: 1 addition & 1 deletion docs/azure-tre-overview/airlock-data-flow-source.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ end

_: Event == BlobCreatedEvent

Servicebus -> Airlock processor: Consume BlobCreatedEvent(<storage acccount>)
Servicebus -> Airlock processor: Consume BlobCreatedEvent(<storage account>)

if:storageacccount == Approved || Rejected || Blocked
Airlock processor -> Event grid: UpdateStatusEvent(approved/rejected/blocked)
Expand Down
6 changes: 3 additions & 3 deletions docs/azure-tre-overview/airlock.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ The Airlock allows a TRE user to start the `import` or `export` process to a giv
5. **Approved**: The Airlock request has been approved. At this state, data has been securely verified and manually reviewed. The data is now in its final location. For an import process the data is now available in the TRE workspace, it can be accessed by the requestor from within the workspace.
6. **Rejection In-progress**: The Airlock request has been rejected, however data movement is still ongoing.
7. **Rejected**: The Airlock request has been rejected. The data in the process was rejected manually by the Airlock Manager.
8. **Cancelled**: The Airlock request was manually cancelled by the requestor TRE user, a Workspace owner or a TRE administrator. The cancelation is only allowed when the request is not actively changing (i.e. **Draft** or **In-Review** state).
8. **Cancelled**: The Airlock request was manually cancelled by the requestor TRE user, a Workspace owner or a TRE administrator. The cancellation is only allowed when the request is not actively changing (i.e. **Draft** or **In-Review** state).
9. **Blocking In-progress**: The Airlock request has been blocked, however data movement is still ongoing.
10. **Blocked By Scan**: The Airlock request has been blocked. The security analysis found issues in the submitted data and consequently quarantined the data.

Expand Down Expand Up @@ -72,7 +72,7 @@ If the Security Scanning does not identify any security flaws, the request state

> The Security Scanning can be disabled, changing the request state from **Submitted** straight to **In-Review**.

The Airlock Manager will manually review the data using the tools of their choice available in the TRE workspace. Once review is completed, the Airlock Manager will have to *Approve* or *Reject* the airlock proces, though a TRE API call.
The Airlock Manager will manually review the data using the tools of their choice available in the TRE workspace. Once review is completed, the Airlock Manager will have to *Approve* or *Reject* the airlock process, through a TRE API call.
At this point, the request will change state to either **Approval In-progress** or **Rejection In-progress**, while the data movement occurs moving afterwards to **Approved** or **Rejected** accordingly. The data will now be in the final storage destination: `stalexapp` - export approved or `stalimapp` - import approved.
With this state change, a notification will be triggered to the requestor including the location of the processed data in the form of an URL + SAS token.

Expand All @@ -91,7 +91,7 @@ Considering that the Airlock requests may require large data movements, the oper

## Security Scan

The identified data in a airlock proces, will be submited to a security scan. If the security scan identifies issues the data is quarantined and a report is added to the process metadata. Both the requestor and Workspace Owner are notified. For a successful security scan, the data will remain in state **In-progress**, and accessible to the Workspace Owner.
The identified data in an airlock process, will be submitted to a security scan. If the security scan identifies issues the data is quarantined and a report is added to the process metadata. Both the requestor and Workspace Owner are notified. For a successful security scan, the data will remain in state **In-progress**, and accessible to the Workspace Owner.

> * The Security scan will be optional, behind a feature flag enabled by a script
> * The outcome of the security scan will be either the in-progress (`stalexip`) storage or blocked (`stalexblocked`)
Expand Down
2 changes: 1 addition & 1 deletion docs/azure-tre-overview/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ All traffic has to be explicitly allowed by the Application Gateway or the Firew

[![Architecture overview](../assets/archtecture-overview.png)](../assets/archtecture-overview.png)

The Azure resources outside the network boundries of the Azure TRE are Microsoft Entra ID, Microsoft Graph and TRE Management. TRE Management are resources used during deployment.
The Azure resources outside the network boundaries of the Azure TRE are Microsoft Entra ID, Microsoft Graph and TRE Management. TRE Management are resources used during deployment.

The Azure TRE core plane consists of two groups of components:

Expand Down
8 changes: 4 additions & 4 deletions docs/azure-tre-overview/cost-reporting.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ GET /api/workspaces/{workspace_id}/costs

* Once cost data becomes available in Cost Management, it will be retained for at least seven years. Only the last 13 months is available from the TRE Cost API and Azure Portal. For historical data before 13 months, please use [Exports](https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/tutorial-export-acm-data?tabs=azure-portal) or the [UsageDetails API](https://docs.microsoft.com/en-us/rest/api/consumption/usage-details/list?tabs=HTTP).

* There are several Azure Offers that currently are not supported yet, Azure Offers are types of Azure subscriptions, for full list of supported and unspported Azure Offers please refer to [Supported Microsoft Azure offers](https://learn.microsoft.com/en-us/azure/cost-management-billing/costs/understand-cost-mgt-data#supported-microsoft-azure-offers),
* There are several Azure Offers that currently are not supported yet, Azure Offers are types of Azure subscriptions, for full list of supported and unsupported Azure Offers please refer to [Supported Microsoft Azure offers](https://learn.microsoft.com/en-us/azure/cost-management-billing/costs/understand-cost-mgt-data#supported-microsoft-azure-offers),
Azure TRE will not display costs for unsupported Azure subscriptions.

* For more information please refer to [Understand Cost Management data](https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/understand-cost-mgt-data) and Cost API swagger docs.
Expand All @@ -142,7 +142,7 @@ Azure TRE will not display costs for unsupported Azure subscriptions.
## Azure Resources Tagging

TRE Cost Reporting is based on Azure tagging to be able to generate cost report for core services, shared services, workspace, workspace services and user resources.
Templates authors need to make sure that underling Azure resources are tagged with the following tags:
Templates authors need to make sure that underlying Azure resources are tagged with the following tags:


| <div style="width:160px">Tag</div> | Value | Applies to |
Expand All @@ -152,7 +152,7 @@ Templates authors need to make sure that underling Azure resources are tagged wi
| `shared_service_id` | The shared service unique ID | Shared Services |
| `workspace_id` | The workspace unique ID | Workspaces, Workspace Services and User Resources |
| `workspace_service_id` | The workspace service unique ID | Workspace Services and User Resources |
| `user_resource_id` | The user resoruce unique ID | User Resources |
| `user_resource_id` | The user resource unique ID | User Resources |

!!! Notes
- Main Azure Container Registry and Storage Account are not be tagged as those resources are used to spin up more than one Azure TRE Instance.
Expand All @@ -167,7 +167,7 @@ Cost management query API, which Azure TRE Cost APIs are based upon, returns a f
if filtered resources have more tags, those tags will appear in the result.

To rollup untagged resources into workspace costs Azure TRE cost API first calls Azure Resource Manager to get all resource group names which are tagged with the workspace_id and passes those names into Azure Cost Management Query API as a filter and group by resource group along with the tag name.
untagged costs results will apear in with an empty tag name and get aggregated using the resource group and relevent the workspace id.
untagged costs results will appear with an empty tag name and get aggregated using the resource group and relevant the workspace id.

Azure TRE Cost API joins this response with the hierarchical structure of the requested report.

Expand Down
2 changes: 1 addition & 1 deletion docs/azure-tre-overview/tre-resources-breakdown.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Once an Azure TRE has been [provisioned](../../tre-admins/setup-instructions/man
| id-agw-{TRE_ID} | Managed Identity | User-managed identity for TRE Application Gateway | [Managed Identities](https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview) |
| id-api-{TRE_ID} | Managed Identity | User-managed identity for TRE API App Service | [Managed Identities](https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview) |
| id-gitea-{TRE_ID} | Managed Identity | User-managed identity for TRE Gitea App Service | [Managed Identities](https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview) |
| id-vmss-{TRE_ID} | Managed Identity | User-managed identity for TRE Resource Processer (VMSS) | [Managed Identities](https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview) |
| id-vmss-{TRE_ID} | Managed Identity | User-managed identity for TRE Resource Processor (VMSS) | [Managed Identities](https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview) |
| sb-{TRE_ID} | Service Bus Namespace | Messaging for TRE API | [Service Bus](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview) |
| stappinsights{TRE_ID} | Storage Account | Storage for TRE Application Insights telemetry logs | [Storage Blobs](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-overview) |
| stg{TRE_ID} | Storage Account | Files shares for TRE services such as Gitea, Nexus | [Storage Files](https://docs.microsoft.com/en-us/azure/storage/files/storage-files-introduction) |
Expand Down
4 changes: 2 additions & 2 deletions docs/tre-admins/registering-templates.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Registering Templates

To enable users to deploy Workspaces, Workspace Services or User Resources, we need to register their Templates. This can be done wither by running `make` commands; using the API or devops scripts. In this article both approaches are described.
To enable users to deploy Workspaces, Workspace Services or User Resources, we need to register their Templates. This can be done either by running `make` commands; using the API or devops scripts. In this article both approaches are described.

!!! info
Templates are encapsulated in [Porter](https://porter.sh) bundles.
Expand All @@ -15,7 +15,7 @@ make bundle-publish DIR=templates/workspace_services/azureml
make bundle-register DIR=templates/workspace_services/azureml BUNDLE_TYPE=workspace_service
```

If you're building, publishing and registering a lot of bundles, using three separate commands can be cumbersome, so there is a unifed command for each bundle type to make this easier:
If you're building, publishing and registering a lot of bundles, using three separate commands can be cumbersome, so there is a unified command for each bundle type to make this easier:

```cmd
make workspace_service_bundle BUNDLE=azureml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

In general, a shared service should be installed by using the UI or API directly once its bundle has been registered on the system.

As part of this quickstart, you will need to install the Nexus shared service, as you will be subsequently deploying Guacamole VMs that depend on public package respositories to bootstrap. Due to the TRE's Firewall blocking public access, Nexus will proxy these package repositories and make them available within the TRE for the VMs to consume.
As part of this quickstart, you will need to install the Nexus shared service, as you will be subsequently deploying Guacamole VMs that depend on public package repositories to bootstrap. Due to the TRE's Firewall blocking public access, Nexus will proxy these package repositories and make them available within the TRE for the VMs to consume.

## Deploy & configure Nexus service

Expand Down
2 changes: 1 addition & 1 deletion docs/tre-admins/setup-instructions/deployment-repo.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ To get started with AzureTRE follow the next steps:
## Clone the Azure TRE Deployment git repository

!!! tip
If using Windows please clone the repository to a Linux file system, i.e. to `/xxx` rather than `c:\`, for example within Windows Subsytem for Linux. If you clone the repository to a Windows file system you will likely hit issues with file permissions as described in this issue: <https://github.com/microsoft/AzureTRE/issues/1395>
If using Windows please clone the repository to a Linux file system, i.e. to `/xxx` rather than `c:\`, for example within Windows Subsystem for Linux. If you clone the repository to a Windows file system you will likely hit issues with file permissions as described in this issue: <https://github.com/microsoft/AzureTRE/issues/1395>

```cmd
git clone https://github.com/<your_username>/AzureTRE-Deployment.git
Expand Down
Loading
Loading