From 49e8df1d48c6860d0ab59e5a96b7aee6e8559f58 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 21 Mar 2023 16:43:21 +0000 Subject: [PATCH 01/71] add reminder to update SSL certificate --- docs/roles/system_manager/manage_deployments.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/roles/system_manager/manage_deployments.md b/docs/roles/system_manager/manage_deployments.md index 925dead38c..c8b4888176 100644 --- a/docs/roles/system_manager/manage_deployments.md +++ b/docs/roles/system_manager/manage_deployments.md @@ -6,6 +6,16 @@ This document assumes that you already have access to a {ref}`Safe Haven Management (SHM) environment ` and one or more {ref}`Secure Research Environments (SREs) ` that are linked to it. ``` +## {{alarm_clock}} SREs running for more than **90** days + +SREs will need to periodically have their SSL certificates renewed so that the SRE URL can be accessed with HTTPS. After each 90 day period that the SRE is live, re-run the script to update the certificate. + +![Powershell: ten minutes](https://img.shields.io/static/v1?style=for-the-badge&logo=powershell&label=local&color=blue&message=ten%20minutes) at {{file_folder}} `./deployment/secure_research_environment/setup` + +```powershell +PS> ./Update_SRE_SSL_Certificate.ps1 -shmId -sreId +``` + (resize_vm)= ## {{arrow_upper_right}} Resize the Virtual Machine (VM) of a Secure Research Desktop (SRD) From 0898a223dcd1d01fb21ba022c19921138beee1c8 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 21 Mar 2023 16:47:13 +0000 Subject: [PATCH 02/71] reduce suggested time --- docs/roles/system_manager/manage_deployments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/roles/system_manager/manage_deployments.md b/docs/roles/system_manager/manage_deployments.md index c8b4888176..e731a3d4a5 100644 --- a/docs/roles/system_manager/manage_deployments.md +++ b/docs/roles/system_manager/manage_deployments.md @@ -10,7 +10,7 @@ This document assumes that you already have access to a {ref}`Safe Haven Managem SREs will need to periodically have their SSL certificates renewed so that the SRE URL can be accessed with HTTPS. After each 90 day period that the SRE is live, re-run the script to update the certificate. -![Powershell: ten minutes](https://img.shields.io/static/v1?style=for-the-badge&logo=powershell&label=local&color=blue&message=ten%20minutes) at {{file_folder}} `./deployment/secure_research_environment/setup` +![Powershell: five minutes](https://img.shields.io/static/v1?style=for-the-badge&logo=powershell&label=local&color=blue&message=ten%20minutes) at {{file_folder}} `./deployment/secure_research_environment/setup` ```powershell PS> ./Update_SRE_SSL_Certificate.ps1 -shmId -sreId From 45d4cddc09370de2424f7a7f9f12e08b9defaba5 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Mon, 15 May 2023 13:43:40 +0100 Subject: [PATCH 03/71] :memo: Fix section name Co-authored-by: Jim Madge --- docs/roles/system_manager/manage_deployments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/roles/system_manager/manage_deployments.md b/docs/roles/system_manager/manage_deployments.md index e731a3d4a5..e7e3c13749 100644 --- a/docs/roles/system_manager/manage_deployments.md +++ b/docs/roles/system_manager/manage_deployments.md @@ -6,7 +6,7 @@ This document assumes that you already have access to a {ref}`Safe Haven Management (SHM) environment ` and one or more {ref}`Secure Research Environments (SREs) ` that are linked to it. ``` -## {{alarm_clock}} SREs running for more than **90** days +## {{alarm_clock}} Renewing SRE Domain Certificates SREs will need to periodically have their SSL certificates renewed so that the SRE URL can be accessed with HTTPS. After each 90 day period that the SRE is live, re-run the script to update the certificate. From ffba25716e2be43a7d06aa872c7773edb0f45680 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Mon, 15 May 2023 13:27:56 +0000 Subject: [PATCH 04/71] Create users with no password expiry on AD --- .../desired_state_configuration/dc1Artifacts/CreateUsers.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/safe_haven_management_environment/desired_state_configuration/dc1Artifacts/CreateUsers.ps1 b/deployment/safe_haven_management_environment/desired_state_configuration/dc1Artifacts/CreateUsers.ps1 index fff905ab1e..a99dc67335 100644 --- a/deployment/safe_haven_management_environment/desired_state_configuration/dc1Artifacts/CreateUsers.ps1 +++ b/deployment/safe_haven_management_environment/desired_state_configuration/dc1Artifacts/CreateUsers.ps1 @@ -26,7 +26,7 @@ Import-Csv $userFilePath | ForEach-Object { Path = "$userOuPath" Enabled = $True AccountPassword = (ConvertTo-SecureString $Password -AsPlainText -Force) - PasswordNeverExpires = $False + PasswordNeverExpires = $True Mobile = $_.Mobile Email = $_.SecondaryEmail Country = "GB" From fe131118f12aa2e0c427844a150e6a05c5a07ee8 Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Mon, 15 May 2023 15:09:28 +0100 Subject: [PATCH 05/71] Enable pdf and htmlzip builds --- .readthedocs.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index c45cfa7ae0..cc347e9fa2 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -12,8 +12,9 @@ build: sphinx: configuration: docs/source/conf.py -# formats: -# - pdf +formats: + - htmlzip + - pdf python: install: From 567c2e9a37d5a0b29814f8e6a6a79cf42bf10416 Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Mon, 15 May 2023 15:12:54 +0100 Subject: [PATCH 06/71] Update requirements --- docs/requirements.in | 8 ++++---- docs/requirements.txt | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/requirements.in b/docs/requirements.in index 4a4c2761c8..a6230b9742 100644 --- a/docs/requirements.in +++ b/docs/requirements.in @@ -1,4 +1,4 @@ -emoji==2.2.0 -myst-parser==1.0.0 -pydata-sphinx-theme==0.13.3 -Sphinx==6.2.1 +emoji +myst-parser +pydata-sphinx-theme +Sphinx diff --git a/docs/requirements.txt b/docs/requirements.txt index 6b5086a770..9fb9bed862 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -14,7 +14,7 @@ babel==2.12.1 # sphinx beautifulsoup4==4.12.2 # via pydata-sphinx-theme -certifi==2022.12.7 +certifi==2023.5.7 # via requests charset-normalizer==3.1.0 # via requests @@ -58,7 +58,7 @@ pygments==2.15.1 # sphinx pyyaml==6.0 # via myst-parser -requests==2.29.0 +requests==2.30.0 # via sphinx snowballstemmer==2.2.0 # via sphinx @@ -83,5 +83,5 @@ sphinxcontrib-serializinghtml==1.1.5 # via sphinx typing-extensions==4.5.0 # via pydata-sphinx-theme -urllib3==1.26.15 +urllib3==2.0.2 # via requests From 60e17b4a8d89d65e9b83e8fce15c516113dc872a Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 19 May 2023 12:46:21 +0000 Subject: [PATCH 07/71] modify location of requirements.txt --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index bc5f1e4784..85ab92fd66 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -46,7 +46,7 @@ RUN groupadd --gid $USER_GID $USERNAME \ USER $USERNAME # Install Sphinx dependencies -COPY ./docs/build/requirements.txt /build/requirements.txt +COPY ./docs/requirements.txt /build/requirements.txt RUN pip3 install -r /build/requirements.txt # Install/check needed powershell modules From 8ac73a90f55e8f768bd3c74542e0dade0218f3bd Mon Sep 17 00:00:00 2001 From: James Robinson Date: Mon, 22 May 2023 16:21:15 +0100 Subject: [PATCH 08/71] :alien: Replace deprecated Set-AzDiagnosticSetting --- deployment/CheckRequirements.ps1 | 2 +- deployment/common/AzureMonitor.psm1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/CheckRequirements.ps1 b/deployment/CheckRequirements.ps1 index 348aa34e30..740f081581 100644 --- a/deployment/CheckRequirements.ps1 +++ b/deployment/CheckRequirements.ps1 @@ -16,7 +16,7 @@ $ModuleVersionRequired = @{ "Az.DataProtection" = @("ge", "0.4.0") "Az.Dns" = @("ge", "1.1.2") "Az.KeyVault" = @("ge", "4.9.1") - "Az.Monitor" = @("ge", "3.0.1") + "Az.Monitor" = @("ge", "4.2.0") "Az.MonitoringSolutions" = @("ge", "0.1.0") "Az.Network" = @("ge", "5.3.0") "Az.OperationalInsights" = @("ge", "3.1.0") diff --git a/deployment/common/AzureMonitor.psm1 b/deployment/common/AzureMonitor.psm1 index a0e12b62b0..ec7fc67e41 100644 --- a/deployment/common/AzureMonitor.psm1 +++ b/deployment/common/AzureMonitor.psm1 @@ -70,7 +70,7 @@ function Set-LogAnalyticsDiagnostics { [string]$WorkspaceId ) Add-LogMessage -Level Info "Enable logging for $ResourceName to log analytics workspace" - $null = Set-AzDiagnosticSetting -ResourceId $ResourceId -WorkspaceId $WorkspaceId -Enabled $true + $null = New-AzDiagnosticSetting -Name "LogToWorkspace" -ResourceId $ResourceId -WorkspaceId $WorkspaceId if ($?) { Add-LogMessage -Level Success "Enabled logging for $ResourceName to log analytics workspace" } else { From 80730f46c5dd63cd5875ee0e157a9e2490669fe8 Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Tue, 23 May 2023 15:36:12 +0100 Subject: [PATCH 09/71] Correct link on citation badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e97d4b4562..9e7d15f8e6 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ It was developed as part of the Alan Turing Institute's [Data Safe Havens in the [![Latest version](https://img.shields.io/github/v/release/alan-turing-institute/data-safe-haven?style=flat&label=Latest&color=%234B78E6)](https://github.com/alan-turing-institute/data-safe-haven/releases) [![Slack](https://img.shields.io/badge/Join%20us!-yellow?style=flat&logo=slack&logoColor=white&labelColor=4A154B&label=Slack)](https://join.slack.com/t/turingdatasafehaven/signup) ![Licence](https://img.shields.io/github/license/alan-turing-institute/data-safe-haven) -[![Citation](https://img.shields.io/badge/citation-cite%20this%20project-informational)](https://github.com/alan-turing-institute/data-safe-haven/blob/badges/CITATION.cff) +[![Citation](https://img.shields.io/badge/citation-cite%20this%20project-informational)](https://github.com/alan-turing-institute/data-safe-haven/blob/develop/CITATION.cff) ## :family: Community & support From 32d67a081197b38e30dbc4bae2f3e3e150992a1a Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Tue, 23 May 2023 15:40:49 +0100 Subject: [PATCH 10/71] Correct path to Scriberia cartoon in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e97d4b4562..127da4f332 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Data Safe Haven cartoon by Scriberia for The Alan Turing Institute](docs/_static/scriberia_diagram.jpg) +![Data Safe Haven cartoon by Scriberia for The Alan Turing Institute](docs/source/_static/scriberia_diagram.jpg) # :eyes: What is the Turing Data Safe Haven? From 20b2920b6edd685487c6c7e0c9719828f3ef7091 Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Wed, 24 May 2023 09:20:18 +0100 Subject: [PATCH 11/71] Remove pins from requirements.in --- docs/requirements.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/requirements.in b/docs/requirements.in index 4a4c2761c8..a6230b9742 100644 --- a/docs/requirements.in +++ b/docs/requirements.in @@ -1,4 +1,4 @@ -emoji==2.2.0 -myst-parser==1.0.0 -pydata-sphinx-theme==0.13.3 -Sphinx==6.2.1 +emoji +myst-parser +pydata-sphinx-theme +Sphinx From 2d52ae8b8bcc6b6c493b16f1d54c79e0c7ae70c7 Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Wed, 24 May 2023 09:21:00 +0100 Subject: [PATCH 12/71] Update requirements --- docs/requirements.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 6b5086a770..d9cf686af7 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -14,7 +14,7 @@ babel==2.12.1 # sphinx beautifulsoup4==4.12.2 # via pydata-sphinx-theme -certifi==2022.12.7 +certifi==2023.5.7 # via requests charset-normalizer==3.1.0 # via requests @@ -58,7 +58,7 @@ pygments==2.15.1 # sphinx pyyaml==6.0 # via myst-parser -requests==2.29.0 +requests==2.31.0 # via sphinx snowballstemmer==2.2.0 # via sphinx @@ -81,7 +81,7 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -typing-extensions==4.5.0 +typing-extensions==4.6.1 # via pydata-sphinx-theme -urllib3==1.26.15 +urllib3==2.0.2 # via requests From a0ee1e58f8d93a1c9db514598cf9580fe58cdf71 Mon Sep 17 00:00:00 2001 From: JimMadge Date: Wed, 24 May 2023 08:34:55 +0000 Subject: [PATCH 13/71] Update PyPI and CRAN allow lists --- .../package_lists/allowlist-full-python-pypi-tier3.list | 1 + 1 file changed, 1 insertion(+) diff --git a/environment_configs/package_lists/allowlist-full-python-pypi-tier3.list b/environment_configs/package_lists/allowlist-full-python-pypi-tier3.list index fb72abae2a..9fd13a2393 100644 --- a/environment_configs/package_lists/allowlist-full-python-pypi-tier3.list +++ b/environment_configs/package_lists/allowlist-full-python-pypi-tier3.list @@ -123,6 +123,7 @@ cssselect2 cycler cymem Cython +dacite dash dash-core-components dash-html-components From b3fafbe0a6c56ddcd1e8618d5586a914836fc7db Mon Sep 17 00:00:00 2001 From: James Robinson Date: Wed, 24 May 2023 09:37:50 +0100 Subject: [PATCH 14/71] Add CODEOWNERS for docs Add /docs/ to CODEOWNERS with a superset of users approved for /deployment/ --- CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/CODEOWNERS b/CODEOWNERS index 185dcc737d..411890bbaa 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -11,3 +11,4 @@ # main and other branches that may be deployed from. # Note: /dir/ applies to directory and all subdirectories /deployment/ @martintoreilly @jemrobinson @JimMadge +/docs/ @martintoreilly @jemrobinson @JimMadge @craddm @edwardchalstrey1 From 278c547a80f2d1103f6931c3b8b31848330c3cc4 Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Wed, 24 May 2023 09:58:02 +0100 Subject: [PATCH 15/71] Add README for documentation --- docs/README.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 docs/README.md diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000000..488a2ab2b8 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,57 @@ +# Documentation + +The documentation is built from Markdown files using [Sphinx](https://www.sphinx-doc.org/) and [MyST parser](https://myst-parser.readthedocs.io/). + +## Building the Documentation + +Create a virtual environment + +```console +python3 -m venv ./venv +source ./venv/bin/activate +``` + +Install the python dependencies (specified in [`requirements.txt`](./requirements.txt)) + +```console +pip install -r requirements.txt +``` + +Use the [`Makefile`](./Makefile) to build the document site + +```console +make html +``` + +The generated documents will be placed under `build/html/`. +To view the documents open `build/html/index.html` in your browser. +For example + +```console +firefox build/html/index.html +``` + +## Reproducible Builds + +To improve the reproducibly of build at each commit, [`requirements.txt`](./requirements.txt) contains a complete list of dependencies and specific versions. + +The projects _direct_ dependencies are listed in [`requirements.in`](./requirements.in). +The full list is then generated using [`pip-compile`](https://pip-tools.readthedocs.io/en/latest/#requirements-from-requirements-in) + +```console +pip-compile requirements.in +``` + +### Updating Requirements + +All requirements can be updated with + +```console +pip-compile --upgrade requirements.in +``` + +Your virtual environment can be updated with + +```console +pip-sync +``` From 25fcf6b0bea2c0bf71ce415e7c130e1f497709a0 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 24 May 2023 10:07:47 +0000 Subject: [PATCH 16/71] correct role tag --- docs/source/roles/investigator/data_egress.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/roles/investigator/data_egress.md b/docs/source/roles/investigator/data_egress.md index 59f3a7f27b..60f7cf3f4d 100644 --- a/docs/source/roles/investigator/data_egress.md +++ b/docs/source/roles/investigator/data_egress.md @@ -6,7 +6,7 @@ Once you have finished working with the data for your project, you'll have to eg ## Classification The first stage of egressing outputs is to classify them. -This follows the {ref}`same workflow ` as for {ref}`data ingress `. +This follows the {ref}`same workflow ` as for {ref}`data ingress `. ```{hint} Get the same people who ran the ingress classification process to do this - {ref}`Data Provider Representive `, {ref}`role_investigator` and {ref}`role_referee` (optional). From fb9620063f523bcfef983bc9e5fd75b7149ffac0 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 24 May 2023 10:09:50 +0000 Subject: [PATCH 17/71] Enable MyST auto-generated header anchors --- docs/source/conf.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/source/conf.py b/docs/source/conf.py index c5c104760e..d5da42d6da 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -107,3 +107,6 @@ emoji_code: emoji.emojize(f":{emoji_code}:", language="alias") for emoji_code in emoji_codes } + +# Allow MyST to generate anchors for section titles +myst_heading_anchors = 4 \ No newline at end of file From 787ecad45dc9035c7d6e1c22a452ddb15e73114c Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 24 May 2023 11:32:09 +0000 Subject: [PATCH 18/71] Correct link to password reset --- .../source/roles/researcher/snippets/03_02_srd_login.partial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/roles/researcher/snippets/03_02_srd_login.partial.md b/docs/source/roles/researcher/snippets/03_02_srd_login.partial.md index de6812a39f..696d0a3344 100644 --- a/docs/source/roles/researcher/snippets/03_02_srd_login.partial.md +++ b/docs/source/roles/researcher/snippets/03_02_srd_login.partial.md @@ -20,7 +20,7 @@ ```{caution} We recommend _not_ including special characters in your password as the keyboard layout expected by the login screen may be different from the one you're using. - - if you want to reset your password, follow the steps defined in the [**Set your password**](#set-a-password) section above. + - if you want to reset your password, follow the steps defined in the [**Password and MFA**](#password-and-mfa) section above. - if you want to continue with special characters in your password, please test that they are being entered correctly by typing them in the username field. ``` From 3cae8b3c62b9746dafce21f003682a43ecaafd7d Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 24 May 2023 14:20:59 +0100 Subject: [PATCH 19/71] updated gitignore for docs build and venv --- .gitignore | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d1e95b7d49..39e3f1e981 100644 --- a/.gitignore +++ b/.gitignore @@ -28,8 +28,9 @@ docs/*.pdf # ... except the tiers flowchart !docs/tiersflowchart.pdf -# Sphinx output -docs/_output +# Sphinx output and venv +docs/build +docs/venv # Files produced during testing .mustache_config.json From 0b647e65cc9bff3a297b10e6fa552ae99dde284e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 24 May 2023 14:21:40 +0100 Subject: [PATCH 20/71] update gitignore for logs --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 39e3f1e981..d56d6c520d 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,9 @@ docs/*.pdf docs/build docs/venv +# Any logs saved +logs + # Files produced during testing .mustache_config.json expanded.yaml From 80c8b4e1460c384d852d857e6adde884c2a730ed Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 24 May 2023 14:23:06 +0100 Subject: [PATCH 21/71] add symbols snippet to system manager pages --- docs/source/roles/system_manager/manage_deployments.md | 4 ++++ docs/source/roles/system_manager/manage_users.md | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/docs/source/roles/system_manager/manage_deployments.md b/docs/source/roles/system_manager/manage_deployments.md index 86536e9c40..6d5634158a 100644 --- a/docs/source/roles/system_manager/manage_deployments.md +++ b/docs/source/roles/system_manager/manage_deployments.md @@ -6,6 +6,10 @@ This document assumes that you already have access to a {ref}`Safe Haven Management (SHM) environment ` and one or more {ref}`Secure Research Environments (SREs) ` that are linked to it. ``` +```{include} ../../deployment/snippets/00_symbols.partial.md +:relative-images: +``` + ## {{alarm_clock}} Renewing SRE Domain Certificates SREs will need to periodically have their SSL certificates renewed so that the SRE URL can be accessed with HTTPS. After each 90 day period that the SRE is live, re-run the script to update the certificate. diff --git a/docs/source/roles/system_manager/manage_users.md b/docs/source/roles/system_manager/manage_users.md index 740085431f..6e57b95902 100644 --- a/docs/source/roles/system_manager/manage_users.md +++ b/docs/source/roles/system_manager/manage_users.md @@ -6,6 +6,10 @@ This document assumes that you already have access to a {ref}`Safe Haven Management (SHM) environment ` and one or more {ref}`Secure Research Environments (SREs) ` that are linked to it. ``` +```{include} ../../deployment/snippets/00_symbols.partial.md +:relative-images: +``` + (create_new_users)= ## {{beginner}} Create new users From a506cd06804d56d0c8fd7e583e55b26d293c180c Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 24 May 2023 14:25:40 +0100 Subject: [PATCH 22/71] link the ssl error to the solution page --- docs/source/roles/system_manager/manage_deployments.md | 2 ++ docs/source/roles/system_manager/manage_users.md | 5 +---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/source/roles/system_manager/manage_deployments.md b/docs/source/roles/system_manager/manage_deployments.md index 6d5634158a..c3a6c9a756 100644 --- a/docs/source/roles/system_manager/manage_deployments.md +++ b/docs/source/roles/system_manager/manage_deployments.md @@ -10,6 +10,8 @@ This document assumes that you already have access to a {ref}`Safe Haven Managem :relative-images: ``` +(renew_ssl)= + ## {{alarm_clock}} Renewing SRE Domain Certificates SREs will need to periodically have their SSL certificates renewed so that the SRE URL can be accessed with HTTPS. After each 90 day period that the SRE is live, re-run the script to update the certificate. diff --git a/docs/source/roles/system_manager/manage_users.md b/docs/source/roles/system_manager/manage_users.md index 6e57b95902..6d47f39828 100644 --- a/docs/source/roles/system_manager/manage_users.md +++ b/docs/source/roles/system_manager/manage_users.md @@ -204,10 +204,7 @@ If the certificate for the SRE domain has expired, users will not be able to log ```{tip} **Solution**: Replace the SSL certificate with a new one -- Ensure you have the same version of the Data Safe Haven repository as was used by your deployment team -- Open a `Powershell` terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Data Safe Haven repository -- Ensure you are logged into the `Azure` within `Powershell` using the command: `Connect-AzAccount` -- Run `./Update_SRE_RDS_Ssl_Certificate.ps1 -sreId `, where the SRE ID is the one specified in the config +- {ref}`renew_ssl` ``` ### {{red_circle}} Unable to log into remote desktop gateway From 77fc33e6669fe3cd1ff77a31505c7e2c4267fd81 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 24 May 2023 14:31:05 +0100 Subject: [PATCH 23/71] remove symbols unused in this particular doc --- docs/source/roles/system_manager/manage_users.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/source/roles/system_manager/manage_users.md b/docs/source/roles/system_manager/manage_users.md index 6d47f39828..f0fe89cdf9 100644 --- a/docs/source/roles/system_manager/manage_users.md +++ b/docs/source/roles/system_manager/manage_users.md @@ -6,10 +6,6 @@ This document assumes that you already have access to a {ref}`Safe Haven Management (SHM) environment ` and one or more {ref}`Secure Research Environments (SREs) ` that are linked to it. ``` -```{include} ../../deployment/snippets/00_symbols.partial.md -:relative-images: -``` - (create_new_users)= ## {{beginner}} Create new users From b3609925c9b147bcccd796c7edbae9a0e25f9129 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 24 May 2023 14:42:04 +0100 Subject: [PATCH 24/71] undo duplication of local docs building --- CONTRIBUTING.md | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ac21b0ba8c..63993ab497 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -226,21 +226,7 @@ The docs, including for older releases, are available [here](https://data-safe-h You should follow the same instructions as above to [make a change with a pull request](#making-a-change-with-a-pull-request) when editing the documentation. -To preview your changes, you can build the docs locally. -The documentation build dependencies are listed in [a requirements file](docs/build/requirements.txt) that can be installed using `pip`: - -```{shell} -pip install -r docs/build/requirements.txt -``` - -Check out your branch, navigate to the `docs` folder and `make` them: - -```{shell} -cd data-safe-haven/docs -make html -``` - -This will add the contents to a folder called `_output` inside `docs`. Open the index html from a browser and you should be able to navigate the docs and view your changes. +To preview your changes, you can build the docs locally. See (docs/README.md). ### Who's involved in the project From ae8a355049bdc6e013cdc58c8b0c67125456bbd3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 24 May 2023 14:45:59 +0100 Subject: [PATCH 25/71] docs readme link --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 63993ab497..fd33223515 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -226,7 +226,7 @@ The docs, including for older releases, are available [here](https://data-safe-h You should follow the same instructions as above to [make a change with a pull request](#making-a-change-with-a-pull-request) when editing the documentation. -To preview your changes, you can build the docs locally. See (docs/README.md). +To preview your changes, you can build the docs locally. See [docs/README.md](docs/README.md). ### Who's involved in the project From c5c4cbfcbfff4516d1303ae671d05b195470cfeb Mon Sep 17 00:00:00 2001 From: JimMadge Date: Mon, 29 May 2023 00:18:01 +0000 Subject: [PATCH 26/71] Update SRD package versions --- .../packages/deb-azuredatastudio.version | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/secure_research_desktop/packages/deb-azuredatastudio.version b/deployment/secure_research_desktop/packages/deb-azuredatastudio.version index 98abb1119a..3f59a83115 100644 --- a/deployment/secure_research_desktop/packages/deb-azuredatastudio.version +++ b/deployment/secure_research_desktop/packages/deb-azuredatastudio.version @@ -1,4 +1,4 @@ -hash: e1447ed4a2acc244ca678e29a416a614c38ea99df281578a0bc85ec52f98795a -version: 1.43.0 +hash: a201c6f593a7a71c22070d2c5ca3b0b2c9db2b05538bb079d66e8f40246371e5 +version: 1.44.0 debfile: azuredatastudio-linux-|VERSION|.deb -remote: https://sqlopsbuilds.azureedge.net/stable/b790d700898b1095d83e62f0de14678a58222520/|DEBFILE| +remote: https://sqlopsbuilds.azureedge.net/stable/31bee67f005648cdc9186f28ef39b4f1d6585e0f/|DEBFILE| From 6a7547d2b829c1f4e6fc794fa891753e4c7ac053 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 30 May 2023 10:01:47 +0000 Subject: [PATCH 27/71] change .gitignore to ignore sphinx build folder --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d1e95b7d49..8f2fdcee33 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,7 @@ docs/*.pdf !docs/tiersflowchart.pdf # Sphinx output -docs/_output +docs/build # Files produced during testing .mustache_config.json From 01dbeb652d454201f0dc5be84a9c8619832536e1 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 30 May 2023 11:49:27 +0100 Subject: [PATCH 28/71] specify desktop needs SSL renewal Co-authored-by: Jim Madge --- docs/source/roles/system_manager/manage_deployments.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/roles/system_manager/manage_deployments.md b/docs/source/roles/system_manager/manage_deployments.md index c3a6c9a756..cca0c80057 100644 --- a/docs/source/roles/system_manager/manage_deployments.md +++ b/docs/source/roles/system_manager/manage_deployments.md @@ -14,7 +14,8 @@ This document assumes that you already have access to a {ref}`Safe Haven Managem ## {{alarm_clock}} Renewing SRE Domain Certificates -SREs will need to periodically have their SSL certificates renewed so that the SRE URL can be accessed with HTTPS. After each 90 day period that the SRE is live, re-run the script to update the certificate. +The remote desktop frontend of an SRE will need to periodically have its SSL certificate renewed so that it can be accessed via HTTPS. +After each 90 day period that the SRE is live, re-run the script to update the certificate. ![Powershell: five minutes](https://img.shields.io/static/v1?style=for-the-badge&logo=powershell&label=local&color=blue&message=ten%20minutes) at {{file_folder}} `./deployment/secure_research_environment/setup` From f151b24b102799ff0af05b8ef14ad43168439ae6 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 30 May 2023 11:54:54 +0100 Subject: [PATCH 29/71] remove custom gitignore --- .gitignore | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitignore b/.gitignore index d56d6c520d..39e3f1e981 100644 --- a/.gitignore +++ b/.gitignore @@ -32,9 +32,6 @@ docs/*.pdf docs/build docs/venv -# Any logs saved -logs - # Files produced during testing .mustache_config.json expanded.yaml From 3a009210270e24e992d29f55e6486abc7c211749 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 30 May 2023 11:57:50 +0100 Subject: [PATCH 30/71] explain shm id and sre id --- docs/source/roles/system_manager/manage_deployments.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/source/roles/system_manager/manage_deployments.md b/docs/source/roles/system_manager/manage_deployments.md index cca0c80057..7b01adb3dc 100644 --- a/docs/source/roles/system_manager/manage_deployments.md +++ b/docs/source/roles/system_manager/manage_deployments.md @@ -23,6 +23,9 @@ After each 90 day period that the SRE is live, re-run the script to update the c PS> ./Update_SRE_SSL_Certificate.ps1 -shmId -sreId ``` +- where `` is the {ref}`management environment ID ` for this SHM +- where `` is the {ref}`secure research environment ID ` for this SRE + (resize_vm)= ## {{arrow_upper_right}} Resize the Virtual Machine (VM) of a Secure Research Desktop (SRD) From 85159dd303c5d3029dac4f238c6b3faab8e643d1 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 30 May 2023 13:19:48 +0000 Subject: [PATCH 31/71] use relative file locations to stop build errors --- docs/source/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index d5da42d6da..a9ca0920de 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -74,8 +74,8 @@ } ], "logo": { - "image_light": "logo_turing_light.png", - "image_dark": "logo_turing_dark.png", + "image_light": "_static/logo_turing_light.png", + "image_dark": "_static/logo_turing_dark.png", }, "secondary_sidebar_items": ["page-toc", "edit-this-page", "sourcelink"], "use_edit_page_button": True, From 6fe41d8472106666c0a99e9e0f842764f9a5a9e3 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 30 May 2023 13:58:40 +0000 Subject: [PATCH 32/71] Add newline at end of conf.py --- docs/source/conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index a9ca0920de..687a0684a7 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -47,6 +47,7 @@ # ones. extensions = [ "myst_parser", + "autosectionlabel" ] # Add any paths that contain templates here, relative to this directory. @@ -109,4 +110,4 @@ } # Allow MyST to generate anchors for section titles -myst_heading_anchors = 4 \ No newline at end of file +myst_heading_anchors = 4 From 7cbc6d42d3d8c702f46e772c598ca4685fb3b88a Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 30 May 2023 16:20:21 +0000 Subject: [PATCH 33/71] Remove autosectionlabel extension --- docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 687a0684a7..a65d29520e 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -47,7 +47,7 @@ # ones. extensions = [ "myst_parser", - "autosectionlabel" + ] # Add any paths that contain templates here, relative to this directory. From a43c474c54af99718fb4a0eec20d469188173c33 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 30 May 2023 16:20:48 +0000 Subject: [PATCH 34/71] Remove autosectionlabel extension --- docs/source/conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index a65d29520e..97d0811fe4 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -47,7 +47,6 @@ # ones. extensions = [ "myst_parser", - ] # Add any paths that contain templates here, relative to this directory. From 7a1b29e24fd22b74ca0526b805b6c10d02a9e60c Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 31 May 2023 09:58:08 +0000 Subject: [PATCH 35/71] Change firewall rule for servicebus --- .../network_rules/shm-firewall-rules.json | 793 +----------------- 1 file changed, 1 insertion(+), 792 deletions(-) diff --git a/deployment/safe_haven_management_environment/network_rules/shm-firewall-rules.json b/deployment/safe_haven_management_environment/network_rules/shm-firewall-rules.json index 7817322905..4b23c76c5f 100644 --- a/deployment/safe_haven_management_environment/network_rules/shm-firewall-rules.json +++ b/deployment/safe_haven_management_environment/network_rules/shm-firewall-rules.json @@ -190,798 +190,7 @@ ], "fqdnTags": [], "targetFqdns": [ - "g0-prod-ch3-003-sb.servicebus.windows.net", - "g0-prod-ch3-004-sb.servicebus.windows.net", - "g0-prod-ch3-005-sb.servicebus.windows.net", - "g0-prod-ch3-006-sb.servicebus.windows.net", - "g0-prod-ch3-007-sb.servicebus.windows.net", - "g0-prod-ch3-008-sb.servicebus.windows.net", - "g0-prod-ch3-009-sb.servicebus.windows.net", - "g0-prod-sn3-003-sb.servicebus.windows.net", - "g0-prod-sn3-004-sb.servicebus.windows.net", - "g0-prod-sn3-005-sb.servicebus.windows.net", - "g0-prod-sn3-006-sb.servicebus.windows.net", - "g0-prod-sn3-007-sb.servicebus.windows.net", - "g0-prod-sn3-009-sb.servicebus.windows.net", - "g0-prod-sn3-010-sb.servicebus.windows.net", - "g0-prod-sn3-011-sb.servicebus.windows.net", - "g0-prod-sn3-012-sb.servicebus.windows.net", - "g0-prod-sn3-013-sb.servicebus.windows.net", - "g0-prod-sn3-014-sb.servicebus.windows.net", - "g0-prod-sn3-203-sb.servicebus.windows.net", - "g1-prod-ch3-003-sb.servicebus.windows.net", - "g1-prod-ch3-004-sb.servicebus.windows.net", - "g1-prod-ch3-005-sb.servicebus.windows.net", - "g1-prod-ch3-006-sb.servicebus.windows.net", - "g1-prod-ch3-007-sb.servicebus.windows.net", - "g1-prod-ch3-008-sb.servicebus.windows.net", - "g1-prod-ch3-009-sb.servicebus.windows.net", - "g1-prod-sn3-003-sb.servicebus.windows.net", - "g1-prod-sn3-004-sb.servicebus.windows.net", - "g1-prod-sn3-005-sb.servicebus.windows.net", - "g1-prod-sn3-006-sb.servicebus.windows.net", - "g1-prod-sn3-007-sb.servicebus.windows.net", - "g1-prod-sn3-009-sb.servicebus.windows.net", - "g1-prod-sn3-010-sb.servicebus.windows.net", - "g1-prod-sn3-011-sb.servicebus.windows.net", - "g1-prod-sn3-012-sb.servicebus.windows.net", - "g1-prod-sn3-013-sb.servicebus.windows.net", - "g1-prod-sn3-014-sb.servicebus.windows.net", - "g1-prod-sn3-203-sb.servicebus.windows.net", - "g2-prod-ch3-003-sb.servicebus.windows.net", - "g2-prod-ch3-004-sb.servicebus.windows.net", - "g2-prod-ch3-005-sb.servicebus.windows.net", - "g2-prod-ch3-006-sb.servicebus.windows.net", - "g2-prod-ch3-007-sb.servicebus.windows.net", - "g2-prod-ch3-008-sb.servicebus.windows.net", - "g2-prod-ch3-009-sb.servicebus.windows.net", - "g2-prod-sn3-003-sb.servicebus.windows.net", - "g2-prod-sn3-004-sb.servicebus.windows.net", - "g2-prod-sn3-005-sb.servicebus.windows.net", - "g2-prod-sn3-006-sb.servicebus.windows.net", - "g2-prod-sn3-007-sb.servicebus.windows.net", - "g2-prod-sn3-009-sb.servicebus.windows.net", - "g2-prod-sn3-010-sb.servicebus.windows.net", - "g2-prod-sn3-011-sb.servicebus.windows.net", - "g2-prod-sn3-012-sb.servicebus.windows.net", - "g2-prod-sn3-013-sb.servicebus.windows.net", - "g2-prod-sn3-014-sb.servicebus.windows.net", - "g2-prod-sn3-203-sb.servicebus.windows.net", - "g3-prod-ch3-003-sb.servicebus.windows.net", - "g3-prod-ch3-004-sb.servicebus.windows.net", - "g3-prod-ch3-005-sb.servicebus.windows.net", - "g3-prod-ch3-006-sb.servicebus.windows.net", - "g3-prod-ch3-007-sb.servicebus.windows.net", - "g3-prod-ch3-008-sb.servicebus.windows.net", - "g3-prod-ch3-009-sb.servicebus.windows.net", - "g3-prod-sn3-003-sb.servicebus.windows.net", - "g3-prod-sn3-004-sb.servicebus.windows.net", - "g3-prod-sn3-005-sb.servicebus.windows.net", - "g3-prod-sn3-006-sb.servicebus.windows.net", - "g3-prod-sn3-007-sb.servicebus.windows.net", - "g3-prod-sn3-009-sb.servicebus.windows.net", - "g3-prod-sn3-010-sb.servicebus.windows.net", - "g3-prod-sn3-011-sb.servicebus.windows.net", - "g3-prod-sn3-012-sb.servicebus.windows.net", - "g3-prod-sn3-013-sb.servicebus.windows.net", - "g3-prod-sn3-014-sb.servicebus.windows.net", - "g3-prod-sn3-203-sb.servicebus.windows.net", - "g4-prod-ch3-003-sb.servicebus.windows.net", - "g4-prod-ch3-004-sb.servicebus.windows.net", - "g4-prod-ch3-005-sb.servicebus.windows.net", - "g4-prod-ch3-006-sb.servicebus.windows.net", - "g4-prod-ch3-007-sb.servicebus.windows.net", - "g4-prod-ch3-008-sb.servicebus.windows.net", - "g4-prod-ch3-009-sb.servicebus.windows.net", - "g4-prod-sn3-003-sb.servicebus.windows.net", - "g4-prod-sn3-004-sb.servicebus.windows.net", - "g4-prod-sn3-005-sb.servicebus.windows.net", - "g4-prod-sn3-006-sb.servicebus.windows.net", - "g4-prod-sn3-007-sb.servicebus.windows.net", - "g4-prod-sn3-009-sb.servicebus.windows.net", - "g4-prod-sn3-010-sb.servicebus.windows.net", - "g4-prod-sn3-011-sb.servicebus.windows.net", - "g4-prod-sn3-012-sb.servicebus.windows.net", - "g4-prod-sn3-013-sb.servicebus.windows.net", - "g4-prod-sn3-014-sb.servicebus.windows.net", - "g4-prod-sn3-203-sb.servicebus.windows.net", - "g5-prod-ch3-003-sb.servicebus.windows.net", - "g5-prod-ch3-004-sb.servicebus.windows.net", - "g5-prod-ch3-005-sb.servicebus.windows.net", - "g5-prod-ch3-006-sb.servicebus.windows.net", - "g5-prod-ch3-007-sb.servicebus.windows.net", - "g5-prod-ch3-008-sb.servicebus.windows.net", - "g5-prod-ch3-009-sb.servicebus.windows.net", - "g5-prod-sn3-003-sb.servicebus.windows.net", - "g5-prod-sn3-004-sb.servicebus.windows.net", - "g5-prod-sn3-005-sb.servicebus.windows.net", - "g5-prod-sn3-006-sb.servicebus.windows.net", - "g5-prod-sn3-007-sb.servicebus.windows.net", - "g5-prod-sn3-009-sb.servicebus.windows.net", - "g5-prod-sn3-010-sb.servicebus.windows.net", - "g5-prod-sn3-011-sb.servicebus.windows.net", - "g5-prod-sn3-012-sb.servicebus.windows.net", - "g5-prod-sn3-013-sb.servicebus.windows.net", - "g5-prod-sn3-014-sb.servicebus.windows.net", - "g5-prod-sn3-203-sb.servicebus.windows.net", - "g6-prod-ch3-003-sb.servicebus.windows.net", - "g6-prod-ch3-004-sb.servicebus.windows.net", - "g6-prod-ch3-005-sb.servicebus.windows.net", - "g6-prod-ch3-006-sb.servicebus.windows.net", - "g6-prod-ch3-007-sb.servicebus.windows.net", - "g6-prod-ch3-008-sb.servicebus.windows.net", - "g6-prod-ch3-009-sb.servicebus.windows.net", - "g6-prod-sn3-003-sb.servicebus.windows.net", - "g6-prod-sn3-004-sb.servicebus.windows.net", - "g6-prod-sn3-005-sb.servicebus.windows.net", - "g6-prod-sn3-006-sb.servicebus.windows.net", - "g6-prod-sn3-007-sb.servicebus.windows.net", - "g6-prod-sn3-009-sb.servicebus.windows.net", - "g6-prod-sn3-010-sb.servicebus.windows.net", - "g6-prod-sn3-011-sb.servicebus.windows.net", - "g6-prod-sn3-012-sb.servicebus.windows.net", - "g6-prod-sn3-013-sb.servicebus.windows.net", - "g6-prod-sn3-014-sb.servicebus.windows.net", - "g6-prod-sn3-203-sb.servicebus.windows.net", - "g7-prod-ch3-003-sb.servicebus.windows.net", - "g7-prod-ch3-004-sb.servicebus.windows.net", - "g7-prod-ch3-005-sb.servicebus.windows.net", - "g7-prod-ch3-006-sb.servicebus.windows.net", - "g7-prod-ch3-007-sb.servicebus.windows.net", - "g7-prod-ch3-008-sb.servicebus.windows.net", - "g7-prod-ch3-009-sb.servicebus.windows.net", - "g7-prod-sn3-003-sb.servicebus.windows.net", - "g7-prod-sn3-004-sb.servicebus.windows.net", - "g7-prod-sn3-005-sb.servicebus.windows.net", - "g7-prod-sn3-006-sb.servicebus.windows.net", - "g7-prod-sn3-007-sb.servicebus.windows.net", - "g7-prod-sn3-009-sb.servicebus.windows.net", - "g7-prod-sn3-010-sb.servicebus.windows.net", - "g7-prod-sn3-011-sb.servicebus.windows.net", - "g7-prod-sn3-012-sb.servicebus.windows.net", - "g7-prod-sn3-013-sb.servicebus.windows.net", - "g7-prod-sn3-014-sb.servicebus.windows.net", - "g7-prod-sn3-203-sb.servicebus.windows.net", - "g8-prod-ch3-003-sb.servicebus.windows.net", - "g8-prod-ch3-004-sb.servicebus.windows.net", - "g8-prod-ch3-005-sb.servicebus.windows.net", - "g8-prod-ch3-006-sb.servicebus.windows.net", - "g8-prod-ch3-007-sb.servicebus.windows.net", - "g8-prod-ch3-008-sb.servicebus.windows.net", - "g8-prod-ch3-009-sb.servicebus.windows.net", - "g8-prod-sn3-003-sb.servicebus.windows.net", - "g8-prod-sn3-004-sb.servicebus.windows.net", - "g8-prod-sn3-005-sb.servicebus.windows.net", - "g8-prod-sn3-006-sb.servicebus.windows.net", - "g8-prod-sn3-007-sb.servicebus.windows.net", - "g8-prod-sn3-009-sb.servicebus.windows.net", - "g8-prod-sn3-010-sb.servicebus.windows.net", - "g8-prod-sn3-011-sb.servicebus.windows.net", - "g8-prod-sn3-012-sb.servicebus.windows.net", - "g8-prod-sn3-013-sb.servicebus.windows.net", - "g8-prod-sn3-014-sb.servicebus.windows.net", - "g8-prod-sn3-203-sb.servicebus.windows.net", - "g9-prod-ch3-003-sb.servicebus.windows.net", - "g9-prod-ch3-004-sb.servicebus.windows.net", - "g9-prod-ch3-005-sb.servicebus.windows.net", - "g9-prod-ch3-006-sb.servicebus.windows.net", - "g9-prod-ch3-007-sb.servicebus.windows.net", - "g9-prod-ch3-008-sb.servicebus.windows.net", - "g9-prod-ch3-009-sb.servicebus.windows.net", - "g9-prod-sn3-003-sb.servicebus.windows.net", - "g9-prod-sn3-004-sb.servicebus.windows.net", - "g9-prod-sn3-005-sb.servicebus.windows.net", - "g9-prod-sn3-006-sb.servicebus.windows.net", - "g9-prod-sn3-007-sb.servicebus.windows.net", - "g9-prod-sn3-009-sb.servicebus.windows.net", - "g9-prod-sn3-010-sb.servicebus.windows.net", - "g9-prod-sn3-011-sb.servicebus.windows.net", - "g9-prod-sn3-012-sb.servicebus.windows.net", - "g9-prod-sn3-013-sb.servicebus.windows.net", - "g9-prod-sn3-014-sb.servicebus.windows.net", - "g9-prod-sn3-203-sb.servicebus.windows.net", - "g10-prod-ch3-003-sb.servicebus.windows.net", - "g10-prod-ch3-004-sb.servicebus.windows.net", - "g10-prod-ch3-005-sb.servicebus.windows.net", - "g10-prod-ch3-006-sb.servicebus.windows.net", - "g10-prod-ch3-007-sb.servicebus.windows.net", - "g10-prod-ch3-008-sb.servicebus.windows.net", - "g10-prod-ch3-009-sb.servicebus.windows.net", - "g10-prod-sn3-003-sb.servicebus.windows.net", - "g10-prod-sn3-004-sb.servicebus.windows.net", - "g10-prod-sn3-005-sb.servicebus.windows.net", - "g10-prod-sn3-006-sb.servicebus.windows.net", - "g10-prod-sn3-007-sb.servicebus.windows.net", - "g10-prod-sn3-009-sb.servicebus.windows.net", - "g10-prod-sn3-010-sb.servicebus.windows.net", - "g10-prod-sn3-011-sb.servicebus.windows.net", - "g10-prod-sn3-012-sb.servicebus.windows.net", - "g10-prod-sn3-013-sb.servicebus.windows.net", - "g10-prod-sn3-014-sb.servicebus.windows.net", - "g10-prod-sn3-203-sb.servicebus.windows.net", - "g11-prod-ch3-003-sb.servicebus.windows.net", - "g11-prod-ch3-004-sb.servicebus.windows.net", - "g11-prod-ch3-005-sb.servicebus.windows.net", - "g11-prod-ch3-006-sb.servicebus.windows.net", - "g11-prod-ch3-007-sb.servicebus.windows.net", - "g11-prod-ch3-008-sb.servicebus.windows.net", - "g11-prod-ch3-009-sb.servicebus.windows.net", - "g11-prod-sn3-003-sb.servicebus.windows.net", - "g11-prod-sn3-004-sb.servicebus.windows.net", - "g11-prod-sn3-005-sb.servicebus.windows.net", - "g11-prod-sn3-006-sb.servicebus.windows.net", - "g11-prod-sn3-007-sb.servicebus.windows.net", - "g11-prod-sn3-009-sb.servicebus.windows.net", - "g11-prod-sn3-010-sb.servicebus.windows.net", - "g11-prod-sn3-011-sb.servicebus.windows.net", - "g11-prod-sn3-012-sb.servicebus.windows.net", - "g11-prod-sn3-013-sb.servicebus.windows.net", - "g11-prod-sn3-014-sb.servicebus.windows.net", - "g11-prod-sn3-203-sb.servicebus.windows.net", - "g12-prod-ch3-003-sb.servicebus.windows.net", - "g12-prod-ch3-004-sb.servicebus.windows.net", - "g12-prod-ch3-005-sb.servicebus.windows.net", - "g12-prod-ch3-006-sb.servicebus.windows.net", - "g12-prod-ch3-007-sb.servicebus.windows.net", - "g12-prod-ch3-008-sb.servicebus.windows.net", - "g12-prod-ch3-009-sb.servicebus.windows.net", - "g12-prod-sn3-003-sb.servicebus.windows.net", - "g12-prod-sn3-004-sb.servicebus.windows.net", - "g12-prod-sn3-005-sb.servicebus.windows.net", - "g12-prod-sn3-006-sb.servicebus.windows.net", - "g12-prod-sn3-007-sb.servicebus.windows.net", - "g12-prod-sn3-009-sb.servicebus.windows.net", - "g12-prod-sn3-010-sb.servicebus.windows.net", - "g12-prod-sn3-011-sb.servicebus.windows.net", - "g12-prod-sn3-012-sb.servicebus.windows.net", - "g12-prod-sn3-013-sb.servicebus.windows.net", - "g12-prod-sn3-014-sb.servicebus.windows.net", - "g12-prod-sn3-203-sb.servicebus.windows.net", - "g13-prod-ch3-003-sb.servicebus.windows.net", - "g13-prod-ch3-004-sb.servicebus.windows.net", - "g13-prod-ch3-005-sb.servicebus.windows.net", - "g13-prod-ch3-006-sb.servicebus.windows.net", - "g13-prod-ch3-007-sb.servicebus.windows.net", - "g13-prod-ch3-008-sb.servicebus.windows.net", - "g13-prod-ch3-009-sb.servicebus.windows.net", - "g13-prod-sn3-003-sb.servicebus.windows.net", - "g13-prod-sn3-004-sb.servicebus.windows.net", - "g13-prod-sn3-005-sb.servicebus.windows.net", - "g13-prod-sn3-006-sb.servicebus.windows.net", - "g13-prod-sn3-007-sb.servicebus.windows.net", - "g13-prod-sn3-009-sb.servicebus.windows.net", - "g13-prod-sn3-010-sb.servicebus.windows.net", - "g13-prod-sn3-011-sb.servicebus.windows.net", - "g13-prod-sn3-012-sb.servicebus.windows.net", - "g13-prod-sn3-013-sb.servicebus.windows.net", - "g13-prod-sn3-014-sb.servicebus.windows.net", - "g13-prod-sn3-203-sb.servicebus.windows.net", - "g14-prod-ch3-003-sb.servicebus.windows.net", - "g14-prod-ch3-004-sb.servicebus.windows.net", - "g14-prod-ch3-005-sb.servicebus.windows.net", - "g14-prod-ch3-006-sb.servicebus.windows.net", - "g14-prod-ch3-007-sb.servicebus.windows.net", - "g14-prod-ch3-008-sb.servicebus.windows.net", - "g14-prod-ch3-009-sb.servicebus.windows.net", - "g14-prod-sn3-003-sb.servicebus.windows.net", - "g14-prod-sn3-004-sb.servicebus.windows.net", - "g14-prod-sn3-005-sb.servicebus.windows.net", - "g14-prod-sn3-006-sb.servicebus.windows.net", - "g14-prod-sn3-007-sb.servicebus.windows.net", - "g14-prod-sn3-009-sb.servicebus.windows.net", - "g14-prod-sn3-010-sb.servicebus.windows.net", - "g14-prod-sn3-011-sb.servicebus.windows.net", - "g14-prod-sn3-012-sb.servicebus.windows.net", - "g14-prod-sn3-013-sb.servicebus.windows.net", - "g14-prod-sn3-014-sb.servicebus.windows.net", - "g14-prod-sn3-203-sb.servicebus.windows.net", - "g15-prod-ch3-003-sb.servicebus.windows.net", - "g15-prod-ch3-004-sb.servicebus.windows.net", - "g15-prod-ch3-005-sb.servicebus.windows.net", - "g15-prod-ch3-006-sb.servicebus.windows.net", - "g15-prod-ch3-007-sb.servicebus.windows.net", - "g15-prod-ch3-008-sb.servicebus.windows.net", - "g15-prod-ch3-009-sb.servicebus.windows.net", - "g15-prod-sn3-003-sb.servicebus.windows.net", - "g15-prod-sn3-004-sb.servicebus.windows.net", - "g15-prod-sn3-005-sb.servicebus.windows.net", - "g15-prod-sn3-006-sb.servicebus.windows.net", - "g15-prod-sn3-007-sb.servicebus.windows.net", - "g15-prod-sn3-009-sb.servicebus.windows.net", - "g15-prod-sn3-010-sb.servicebus.windows.net", - "g15-prod-sn3-011-sb.servicebus.windows.net", - "g15-prod-sn3-012-sb.servicebus.windows.net", - "g15-prod-sn3-013-sb.servicebus.windows.net", - "g15-prod-sn3-014-sb.servicebus.windows.net", - "g15-prod-sn3-203-sb.servicebus.windows.net", - "g16-prod-ch3-003-sb.servicebus.windows.net", - "g16-prod-ch3-004-sb.servicebus.windows.net", - "g16-prod-ch3-006-sb.servicebus.windows.net", - "g16-prod-ch3-007-sb.servicebus.windows.net", - "g16-prod-sn3-003-sb.servicebus.windows.net", - "g16-prod-sn3-004-sb.servicebus.windows.net", - "g16-prod-sn3-005-sb.servicebus.windows.net", - "g16-prod-sn3-006-sb.servicebus.windows.net", - "g16-prod-sn3-007-sb.servicebus.windows.net", - "g16-prod-sn3-010-sb.servicebus.windows.net", - "g16-prod-sn3-011-sb.servicebus.windows.net", - "g16-prod-sn3-012-sb.servicebus.windows.net", - "g17-prod-ch3-003-sb.servicebus.windows.net", - "g17-prod-ch3-004-sb.servicebus.windows.net", - "g17-prod-ch3-006-sb.servicebus.windows.net", - "g17-prod-ch3-007-sb.servicebus.windows.net", - "g17-prod-sn3-003-sb.servicebus.windows.net", - "g17-prod-sn3-004-sb.servicebus.windows.net", - "g17-prod-sn3-005-sb.servicebus.windows.net", - "g17-prod-sn3-006-sb.servicebus.windows.net", - "g17-prod-sn3-007-sb.servicebus.windows.net", - "g17-prod-sn3-010-sb.servicebus.windows.net", - "g17-prod-sn3-011-sb.servicebus.windows.net", - "g17-prod-sn3-012-sb.servicebus.windows.net", - "g18-prod-ch3-003-sb.servicebus.windows.net", - "g18-prod-ch3-004-sb.servicebus.windows.net", - "g18-prod-ch3-006-sb.servicebus.windows.net", - "g18-prod-ch3-007-sb.servicebus.windows.net", - "g18-prod-sn3-003-sb.servicebus.windows.net", - "g18-prod-sn3-004-sb.servicebus.windows.net", - "g18-prod-sn3-005-sb.servicebus.windows.net", - "g18-prod-sn3-006-sb.servicebus.windows.net", - "g18-prod-sn3-007-sb.servicebus.windows.net", - "g18-prod-sn3-010-sb.servicebus.windows.net", - "g18-prod-sn3-011-sb.servicebus.windows.net", - "g18-prod-sn3-012-sb.servicebus.windows.net", - "g19-prod-ch3-003-sb.servicebus.windows.net", - "g19-prod-ch3-004-sb.servicebus.windows.net", - "g19-prod-ch3-006-sb.servicebus.windows.net", - "g19-prod-ch3-007-sb.servicebus.windows.net", - "g19-prod-sn3-003-sb.servicebus.windows.net", - "g19-prod-sn3-004-sb.servicebus.windows.net", - "g19-prod-sn3-005-sb.servicebus.windows.net", - "g19-prod-sn3-006-sb.servicebus.windows.net", - "g19-prod-sn3-007-sb.servicebus.windows.net", - "g19-prod-sn3-010-sb.servicebus.windows.net", - "g19-prod-sn3-011-sb.servicebus.windows.net", - "g19-prod-sn3-012-sb.servicebus.windows.net", - "g20-prod-ch3-003-sb.servicebus.windows.net", - "g20-prod-ch3-004-sb.servicebus.windows.net", - "g20-prod-ch3-006-sb.servicebus.windows.net", - "g20-prod-ch3-007-sb.servicebus.windows.net", - "g20-prod-sn3-003-sb.servicebus.windows.net", - "g20-prod-sn3-004-sb.servicebus.windows.net", - "g20-prod-sn3-005-sb.servicebus.windows.net", - "g20-prod-sn3-006-sb.servicebus.windows.net", - "g20-prod-sn3-007-sb.servicebus.windows.net", - "g20-prod-sn3-010-sb.servicebus.windows.net", - "g20-prod-sn3-011-sb.servicebus.windows.net", - "g20-prod-sn3-012-sb.servicebus.windows.net", - "g21-prod-ch3-003-sb.servicebus.windows.net", - "g21-prod-ch3-004-sb.servicebus.windows.net", - "g21-prod-ch3-006-sb.servicebus.windows.net", - "g21-prod-ch3-007-sb.servicebus.windows.net", - "g21-prod-sn3-003-sb.servicebus.windows.net", - "g21-prod-sn3-004-sb.servicebus.windows.net", - "g21-prod-sn3-005-sb.servicebus.windows.net", - "g21-prod-sn3-006-sb.servicebus.windows.net", - "g21-prod-sn3-007-sb.servicebus.windows.net", - "g21-prod-sn3-010-sb.servicebus.windows.net", - "g21-prod-sn3-011-sb.servicebus.windows.net", - "g21-prod-sn3-012-sb.servicebus.windows.net", - "g22-prod-ch3-003-sb.servicebus.windows.net", - "g22-prod-ch3-004-sb.servicebus.windows.net", - "g22-prod-ch3-006-sb.servicebus.windows.net", - "g22-prod-ch3-007-sb.servicebus.windows.net", - "g22-prod-sn3-003-sb.servicebus.windows.net", - "g22-prod-sn3-004-sb.servicebus.windows.net", - "g22-prod-sn3-005-sb.servicebus.windows.net", - "g22-prod-sn3-006-sb.servicebus.windows.net", - "g22-prod-sn3-007-sb.servicebus.windows.net", - "g22-prod-sn3-010-sb.servicebus.windows.net", - "g22-prod-sn3-011-sb.servicebus.windows.net", - "g22-prod-sn3-012-sb.servicebus.windows.net", - "g23-prod-ch3-003-sb.servicebus.windows.net", - "g23-prod-ch3-004-sb.servicebus.windows.net", - "g23-prod-ch3-006-sb.servicebus.windows.net", - "g23-prod-ch3-007-sb.servicebus.windows.net", - "g23-prod-sn3-003-sb.servicebus.windows.net", - "g23-prod-sn3-004-sb.servicebus.windows.net", - "g23-prod-sn3-005-sb.servicebus.windows.net", - "g23-prod-sn3-006-sb.servicebus.windows.net", - "g23-prod-sn3-007-sb.servicebus.windows.net", - "g23-prod-sn3-010-sb.servicebus.windows.net", - "g23-prod-sn3-011-sb.servicebus.windows.net", - "g23-prod-sn3-012-sb.servicebus.windows.net", - "g24-prod-ch3-003-sb.servicebus.windows.net", - "g24-prod-ch3-004-sb.servicebus.windows.net", - "g24-prod-ch3-006-sb.servicebus.windows.net", - "g24-prod-ch3-007-sb.servicebus.windows.net", - "g24-prod-sn3-003-sb.servicebus.windows.net", - "g24-prod-sn3-004-sb.servicebus.windows.net", - "g24-prod-sn3-005-sb.servicebus.windows.net", - "g24-prod-sn3-006-sb.servicebus.windows.net", - "g24-prod-sn3-007-sb.servicebus.windows.net", - "g24-prod-sn3-010-sb.servicebus.windows.net", - "g24-prod-sn3-011-sb.servicebus.windows.net", - "g24-prod-sn3-012-sb.servicebus.windows.net", - "g25-prod-ch3-003-sb.servicebus.windows.net", - "g25-prod-ch3-004-sb.servicebus.windows.net", - "g25-prod-ch3-006-sb.servicebus.windows.net", - "g25-prod-ch3-007-sb.servicebus.windows.net", - "g25-prod-sn3-003-sb.servicebus.windows.net", - "g25-prod-sn3-004-sb.servicebus.windows.net", - "g25-prod-sn3-005-sb.servicebus.windows.net", - "g25-prod-sn3-006-sb.servicebus.windows.net", - "g25-prod-sn3-007-sb.servicebus.windows.net", - "g25-prod-sn3-010-sb.servicebus.windows.net", - "g25-prod-sn3-011-sb.servicebus.windows.net", - "g25-prod-sn3-012-sb.servicebus.windows.net", - "g26-prod-ch3-003-sb.servicebus.windows.net", - "g26-prod-ch3-004-sb.servicebus.windows.net", - "g26-prod-ch3-006-sb.servicebus.windows.net", - "g26-prod-ch3-007-sb.servicebus.windows.net", - "g26-prod-sn3-003-sb.servicebus.windows.net", - "g26-prod-sn3-004-sb.servicebus.windows.net", - "g26-prod-sn3-005-sb.servicebus.windows.net", - "g26-prod-sn3-006-sb.servicebus.windows.net", - "g26-prod-sn3-007-sb.servicebus.windows.net", - "g26-prod-sn3-010-sb.servicebus.windows.net", - "g26-prod-sn3-011-sb.servicebus.windows.net", - "g26-prod-sn3-012-sb.servicebus.windows.net", - "g27-prod-ch3-003-sb.servicebus.windows.net", - "g27-prod-ch3-004-sb.servicebus.windows.net", - "g27-prod-ch3-006-sb.servicebus.windows.net", - "g27-prod-ch3-007-sb.servicebus.windows.net", - "g27-prod-sn3-003-sb.servicebus.windows.net", - "g27-prod-sn3-004-sb.servicebus.windows.net", - "g27-prod-sn3-005-sb.servicebus.windows.net", - "g27-prod-sn3-006-sb.servicebus.windows.net", - "g27-prod-sn3-007-sb.servicebus.windows.net", - "g27-prod-sn3-010-sb.servicebus.windows.net", - "g27-prod-sn3-011-sb.servicebus.windows.net", - "g27-prod-sn3-012-sb.servicebus.windows.net", - "g28-prod-ch3-003-sb.servicebus.windows.net", - "g28-prod-ch3-004-sb.servicebus.windows.net", - "g28-prod-ch3-006-sb.servicebus.windows.net", - "g28-prod-ch3-007-sb.servicebus.windows.net", - "g28-prod-sn3-003-sb.servicebus.windows.net", - "g28-prod-sn3-004-sb.servicebus.windows.net", - "g28-prod-sn3-005-sb.servicebus.windows.net", - "g28-prod-sn3-006-sb.servicebus.windows.net", - "g28-prod-sn3-007-sb.servicebus.windows.net", - "g28-prod-sn3-010-sb.servicebus.windows.net", - "g28-prod-sn3-011-sb.servicebus.windows.net", - "g28-prod-sn3-012-sb.servicebus.windows.net", - "g29-prod-ch3-003-sb.servicebus.windows.net", - "g29-prod-ch3-004-sb.servicebus.windows.net", - "g29-prod-ch3-006-sb.servicebus.windows.net", - "g29-prod-ch3-007-sb.servicebus.windows.net", - "g29-prod-sn3-003-sb.servicebus.windows.net", - "g29-prod-sn3-004-sb.servicebus.windows.net", - "g29-prod-sn3-005-sb.servicebus.windows.net", - "g29-prod-sn3-006-sb.servicebus.windows.net", - "g29-prod-sn3-007-sb.servicebus.windows.net", - "g29-prod-sn3-010-sb.servicebus.windows.net", - "g29-prod-sn3-011-sb.servicebus.windows.net", - "g29-prod-sn3-012-sb.servicebus.windows.net", - "g30-prod-ch3-003-sb.servicebus.windows.net", - "g30-prod-ch3-004-sb.servicebus.windows.net", - "g30-prod-ch3-006-sb.servicebus.windows.net", - "g30-prod-ch3-007-sb.servicebus.windows.net", - "g30-prod-sn3-003-sb.servicebus.windows.net", - "g30-prod-sn3-004-sb.servicebus.windows.net", - "g30-prod-sn3-005-sb.servicebus.windows.net", - "g30-prod-sn3-006-sb.servicebus.windows.net", - "g30-prod-sn3-007-sb.servicebus.windows.net", - "g30-prod-sn3-010-sb.servicebus.windows.net", - "g30-prod-sn3-011-sb.servicebus.windows.net", - "g30-prod-sn3-012-sb.servicebus.windows.net", - "g31-prod-ch3-003-sb.servicebus.windows.net", - "g31-prod-ch3-004-sb.servicebus.windows.net", - "g31-prod-ch3-006-sb.servicebus.windows.net", - "g31-prod-ch3-007-sb.servicebus.windows.net", - "g31-prod-sn3-003-sb.servicebus.windows.net", - "g31-prod-sn3-004-sb.servicebus.windows.net", - "g31-prod-sn3-005-sb.servicebus.windows.net", - "g31-prod-sn3-006-sb.servicebus.windows.net", - "g31-prod-sn3-007-sb.servicebus.windows.net", - "g31-prod-sn3-010-sb.servicebus.windows.net", - "g31-prod-sn3-011-sb.servicebus.windows.net", - "g31-prod-sn3-012-sb.servicebus.windows.net", - "g32-prod-ch3-003-sb.servicebus.windows.net", - "g32-prod-ch3-004-sb.servicebus.windows.net", - "g32-prod-ch3-006-sb.servicebus.windows.net", - "g32-prod-ch3-007-sb.servicebus.windows.net", - "g32-prod-sn3-003-sb.servicebus.windows.net", - "g32-prod-sn3-004-sb.servicebus.windows.net", - "g32-prod-sn3-005-sb.servicebus.windows.net", - "g32-prod-sn3-006-sb.servicebus.windows.net", - "g32-prod-sn3-007-sb.servicebus.windows.net", - "g32-prod-sn3-010-sb.servicebus.windows.net", - "g32-prod-sn3-011-sb.servicebus.windows.net", - "g33-prod-ch3-003-sb.servicebus.windows.net", - "g33-prod-ch3-004-sb.servicebus.windows.net", - "g33-prod-ch3-006-sb.servicebus.windows.net", - "g33-prod-ch3-007-sb.servicebus.windows.net", - "g33-prod-sn3-003-sb.servicebus.windows.net", - "g33-prod-sn3-004-sb.servicebus.windows.net", - "g33-prod-sn3-005-sb.servicebus.windows.net", - "g33-prod-sn3-006-sb.servicebus.windows.net", - "g33-prod-sn3-007-sb.servicebus.windows.net", - "g33-prod-sn3-010-sb.servicebus.windows.net", - "g33-prod-sn3-011-sb.servicebus.windows.net", - "g34-prod-ch3-003-sb.servicebus.windows.net", - "g34-prod-ch3-004-sb.servicebus.windows.net", - "g34-prod-ch3-006-sb.servicebus.windows.net", - "g34-prod-ch3-007-sb.servicebus.windows.net", - "g34-prod-sn3-003-sb.servicebus.windows.net", - "g34-prod-sn3-004-sb.servicebus.windows.net", - "g34-prod-sn3-005-sb.servicebus.windows.net", - "g34-prod-sn3-006-sb.servicebus.windows.net", - "g34-prod-sn3-007-sb.servicebus.windows.net", - "g34-prod-sn3-010-sb.servicebus.windows.net", - "g34-prod-sn3-011-sb.servicebus.windows.net", - "g35-prod-ch3-003-sb.servicebus.windows.net", - "g35-prod-ch3-004-sb.servicebus.windows.net", - "g35-prod-ch3-006-sb.servicebus.windows.net", - "g35-prod-ch3-007-sb.servicebus.windows.net", - "g35-prod-sn3-003-sb.servicebus.windows.net", - "g35-prod-sn3-004-sb.servicebus.windows.net", - "g35-prod-sn3-005-sb.servicebus.windows.net", - "g35-prod-sn3-006-sb.servicebus.windows.net", - "g35-prod-sn3-007-sb.servicebus.windows.net", - "g35-prod-sn3-010-sb.servicebus.windows.net", - "g35-prod-sn3-011-sb.servicebus.windows.net", - "g36-prod-ch3-003-sb.servicebus.windows.net", - "g36-prod-ch3-004-sb.servicebus.windows.net", - "g36-prod-ch3-006-sb.servicebus.windows.net", - "g36-prod-ch3-007-sb.servicebus.windows.net", - "g36-prod-sn3-003-sb.servicebus.windows.net", - "g36-prod-sn3-004-sb.servicebus.windows.net", - "g36-prod-sn3-005-sb.servicebus.windows.net", - "g36-prod-sn3-006-sb.servicebus.windows.net", - "g36-prod-sn3-007-sb.servicebus.windows.net", - "g36-prod-sn3-010-sb.servicebus.windows.net", - "g36-prod-sn3-011-sb.servicebus.windows.net", - "g37-prod-ch3-003-sb.servicebus.windows.net", - "g37-prod-ch3-004-sb.servicebus.windows.net", - "g37-prod-ch3-006-sb.servicebus.windows.net", - "g37-prod-ch3-007-sb.servicebus.windows.net", - "g37-prod-sn3-003-sb.servicebus.windows.net", - "g37-prod-sn3-004-sb.servicebus.windows.net", - "g37-prod-sn3-005-sb.servicebus.windows.net", - "g37-prod-sn3-006-sb.servicebus.windows.net", - "g37-prod-sn3-007-sb.servicebus.windows.net", - "g37-prod-sn3-010-sb.servicebus.windows.net", - "g37-prod-sn3-011-sb.servicebus.windows.net", - "g38-prod-ch3-003-sb.servicebus.windows.net", - "g38-prod-ch3-004-sb.servicebus.windows.net", - "g38-prod-ch3-006-sb.servicebus.windows.net", - "g38-prod-ch3-007-sb.servicebus.windows.net", - "g38-prod-sn3-003-sb.servicebus.windows.net", - "g38-prod-sn3-004-sb.servicebus.windows.net", - "g38-prod-sn3-005-sb.servicebus.windows.net", - "g38-prod-sn3-006-sb.servicebus.windows.net", - "g38-prod-sn3-007-sb.servicebus.windows.net", - "g38-prod-sn3-010-sb.servicebus.windows.net", - "g38-prod-sn3-011-sb.servicebus.windows.net", - "g39-prod-ch3-003-sb.servicebus.windows.net", - "g39-prod-ch3-004-sb.servicebus.windows.net", - "g39-prod-ch3-006-sb.servicebus.windows.net", - "g39-prod-ch3-007-sb.servicebus.windows.net", - "g39-prod-sn3-003-sb.servicebus.windows.net", - "g39-prod-sn3-004-sb.servicebus.windows.net", - "g39-prod-sn3-005-sb.servicebus.windows.net", - "g39-prod-sn3-006-sb.servicebus.windows.net", - "g39-prod-sn3-007-sb.servicebus.windows.net", - "g39-prod-sn3-010-sb.servicebus.windows.net", - "g39-prod-sn3-011-sb.servicebus.windows.net", - "g40-prod-ch3-003-sb.servicebus.windows.net", - "g40-prod-ch3-007-sb.servicebus.windows.net", - "g40-prod-sn3-003-sb.servicebus.windows.net", - "g40-prod-sn3-004-sb.servicebus.windows.net", - "g40-prod-sn3-005-sb.servicebus.windows.net", - "g40-prod-sn3-006-sb.servicebus.windows.net", - "g40-prod-sn3-007-sb.servicebus.windows.net", - "g40-prod-sn3-010-sb.servicebus.windows.net", - "g41-prod-ch3-003-sb.servicebus.windows.net", - "g41-prod-ch3-007-sb.servicebus.windows.net", - "g41-prod-sn3-003-sb.servicebus.windows.net", - "g41-prod-sn3-004-sb.servicebus.windows.net", - "g41-prod-sn3-005-sb.servicebus.windows.net", - "g41-prod-sn3-006-sb.servicebus.windows.net", - "g41-prod-sn3-007-sb.servicebus.windows.net", - "g41-prod-sn3-010-sb.servicebus.windows.net", - "g42-prod-ch3-003-sb.servicebus.windows.net", - "g42-prod-ch3-007-sb.servicebus.windows.net", - "g42-prod-sn3-003-sb.servicebus.windows.net", - "g42-prod-sn3-004-sb.servicebus.windows.net", - "g42-prod-sn3-005-sb.servicebus.windows.net", - "g42-prod-sn3-006-sb.servicebus.windows.net", - "g42-prod-sn3-007-sb.servicebus.windows.net", - "g42-prod-sn3-010-sb.servicebus.windows.net", - "g43-prod-ch3-003-sb.servicebus.windows.net", - "g43-prod-ch3-007-sb.servicebus.windows.net", - "g43-prod-sn3-003-sb.servicebus.windows.net", - "g43-prod-sn3-004-sb.servicebus.windows.net", - "g43-prod-sn3-005-sb.servicebus.windows.net", - "g43-prod-sn3-006-sb.servicebus.windows.net", - "g43-prod-sn3-007-sb.servicebus.windows.net", - "g43-prod-sn3-010-sb.servicebus.windows.net", - "g44-prod-ch3-003-sb.servicebus.windows.net", - "g44-prod-ch3-007-sb.servicebus.windows.net", - "g44-prod-sn3-003-sb.servicebus.windows.net", - "g44-prod-sn3-004-sb.servicebus.windows.net", - "g44-prod-sn3-005-sb.servicebus.windows.net", - "g44-prod-sn3-006-sb.servicebus.windows.net", - "g44-prod-sn3-007-sb.servicebus.windows.net", - "g44-prod-sn3-010-sb.servicebus.windows.net", - "g45-prod-ch3-003-sb.servicebus.windows.net", - "g45-prod-ch3-007-sb.servicebus.windows.net", - "g45-prod-sn3-003-sb.servicebus.windows.net", - "g45-prod-sn3-004-sb.servicebus.windows.net", - "g45-prod-sn3-005-sb.servicebus.windows.net", - "g45-prod-sn3-006-sb.servicebus.windows.net", - "g45-prod-sn3-007-sb.servicebus.windows.net", - "g45-prod-sn3-010-sb.servicebus.windows.net", - "g46-prod-ch3-003-sb.servicebus.windows.net", - "g46-prod-ch3-007-sb.servicebus.windows.net", - "g46-prod-sn3-003-sb.servicebus.windows.net", - "g46-prod-sn3-004-sb.servicebus.windows.net", - "g46-prod-sn3-005-sb.servicebus.windows.net", - "g46-prod-sn3-006-sb.servicebus.windows.net", - "g46-prod-sn3-007-sb.servicebus.windows.net", - "g46-prod-sn3-010-sb.servicebus.windows.net", - "g47-prod-ch3-003-sb.servicebus.windows.net", - "g47-prod-ch3-007-sb.servicebus.windows.net", - "g47-prod-sn3-003-sb.servicebus.windows.net", - "g47-prod-sn3-004-sb.servicebus.windows.net", - "g47-prod-sn3-005-sb.servicebus.windows.net", - "g47-prod-sn3-006-sb.servicebus.windows.net", - "g47-prod-sn3-007-sb.servicebus.windows.net", - "g47-prod-sn3-010-sb.servicebus.windows.net", - "g48-prod-ch3-003-sb.servicebus.windows.net", - "g48-prod-ch3-007-sb.servicebus.windows.net", - "g48-prod-sn3-003-sb.servicebus.windows.net", - "g48-prod-sn3-004-sb.servicebus.windows.net", - "g48-prod-sn3-005-sb.servicebus.windows.net", - "g48-prod-sn3-006-sb.servicebus.windows.net", - "g48-prod-sn3-010-sb.servicebus.windows.net", - "g49-prod-ch3-003-sb.servicebus.windows.net", - "g49-prod-ch3-007-sb.servicebus.windows.net", - "g49-prod-sn3-003-sb.servicebus.windows.net", - "g49-prod-sn3-004-sb.servicebus.windows.net", - "g49-prod-sn3-005-sb.servicebus.windows.net", - "g49-prod-sn3-006-sb.servicebus.windows.net", - "g49-prod-sn3-010-sb.servicebus.windows.net", - "g50-prod-ch3-003-sb.servicebus.windows.net", - "g50-prod-ch3-007-sb.servicebus.windows.net", - "g50-prod-sn3-003-sb.servicebus.windows.net", - "g50-prod-sn3-004-sb.servicebus.windows.net", - "g50-prod-sn3-005-sb.servicebus.windows.net", - "g50-prod-sn3-006-sb.servicebus.windows.net", - "g50-prod-sn3-010-sb.servicebus.windows.net", - "g51-prod-ch3-003-sb.servicebus.windows.net", - "g51-prod-ch3-007-sb.servicebus.windows.net", - "g51-prod-sn3-003-sb.servicebus.windows.net", - "g51-prod-sn3-004-sb.servicebus.windows.net", - "g51-prod-sn3-005-sb.servicebus.windows.net", - "g51-prod-sn3-006-sb.servicebus.windows.net", - "g51-prod-sn3-010-sb.servicebus.windows.net", - "g52-prod-ch3-003-sb.servicebus.windows.net", - "g52-prod-ch3-007-sb.servicebus.windows.net", - "g52-prod-sn3-003-sb.servicebus.windows.net", - "g52-prod-sn3-004-sb.servicebus.windows.net", - "g52-prod-sn3-005-sb.servicebus.windows.net", - "g52-prod-sn3-006-sb.servicebus.windows.net", - "g52-prod-sn3-010-sb.servicebus.windows.net", - "g53-prod-ch3-003-sb.servicebus.windows.net", - "g53-prod-ch3-007-sb.servicebus.windows.net", - "g53-prod-sn3-003-sb.servicebus.windows.net", - "g53-prod-sn3-004-sb.servicebus.windows.net", - "g53-prod-sn3-005-sb.servicebus.windows.net", - "g53-prod-sn3-006-sb.servicebus.windows.net", - "g53-prod-sn3-010-sb.servicebus.windows.net", - "g54-prod-ch3-003-sb.servicebus.windows.net", - "g54-prod-ch3-007-sb.servicebus.windows.net", - "g54-prod-sn3-003-sb.servicebus.windows.net", - "g54-prod-sn3-004-sb.servicebus.windows.net", - "g54-prod-sn3-005-sb.servicebus.windows.net", - "g54-prod-sn3-006-sb.servicebus.windows.net", - "g54-prod-sn3-010-sb.servicebus.windows.net", - "g55-prod-ch3-003-sb.servicebus.windows.net", - "g55-prod-ch3-007-sb.servicebus.windows.net", - "g55-prod-sn3-003-sb.servicebus.windows.net", - "g55-prod-sn3-004-sb.servicebus.windows.net", - "g55-prod-sn3-005-sb.servicebus.windows.net", - "g55-prod-sn3-006-sb.servicebus.windows.net", - "g55-prod-sn3-010-sb.servicebus.windows.net", - "g56-prod-ch3-003-sb.servicebus.windows.net", - "g56-prod-ch3-007-sb.servicebus.windows.net", - "g56-prod-sn3-003-sb.servicebus.windows.net", - "g56-prod-sn3-004-sb.servicebus.windows.net", - "g56-prod-sn3-005-sb.servicebus.windows.net", - "g56-prod-sn3-006-sb.servicebus.windows.net", - "g56-prod-sn3-010-sb.servicebus.windows.net", - "g57-prod-ch3-003-sb.servicebus.windows.net", - "g57-prod-ch3-007-sb.servicebus.windows.net", - "g57-prod-sn3-003-sb.servicebus.windows.net", - "g57-prod-sn3-004-sb.servicebus.windows.net", - "g57-prod-sn3-005-sb.servicebus.windows.net", - "g57-prod-sn3-006-sb.servicebus.windows.net", - "g57-prod-sn3-010-sb.servicebus.windows.net", - "g58-prod-ch3-003-sb.servicebus.windows.net", - "g58-prod-ch3-007-sb.servicebus.windows.net", - "g58-prod-sn3-003-sb.servicebus.windows.net", - "g58-prod-sn3-004-sb.servicebus.windows.net", - "g58-prod-sn3-005-sb.servicebus.windows.net", - "g58-prod-sn3-006-sb.servicebus.windows.net", - "g58-prod-sn3-010-sb.servicebus.windows.net", - "g59-prod-ch3-003-sb.servicebus.windows.net", - "g59-prod-ch3-007-sb.servicebus.windows.net", - "g59-prod-sn3-003-sb.servicebus.windows.net", - "g59-prod-sn3-004-sb.servicebus.windows.net", - "g59-prod-sn3-005-sb.servicebus.windows.net", - "g59-prod-sn3-006-sb.servicebus.windows.net", - "g59-prod-sn3-010-sb.servicebus.windows.net", - "g60-prod-ch3-003-sb.servicebus.windows.net", - "g60-prod-ch3-007-sb.servicebus.windows.net", - "g60-prod-sn3-003-sb.servicebus.windows.net", - "g60-prod-sn3-004-sb.servicebus.windows.net", - "g60-prod-sn3-005-sb.servicebus.windows.net", - "g60-prod-sn3-006-sb.servicebus.windows.net", - "g60-prod-sn3-010-sb.servicebus.windows.net", - "g61-prod-ch3-003-sb.servicebus.windows.net", - "g61-prod-ch3-007-sb.servicebus.windows.net", - "g61-prod-sn3-003-sb.servicebus.windows.net", - "g61-prod-sn3-004-sb.servicebus.windows.net", - "g61-prod-sn3-005-sb.servicebus.windows.net", - "g61-prod-sn3-006-sb.servicebus.windows.net", - "g61-prod-sn3-010-sb.servicebus.windows.net", - "g62-prod-ch3-003-sb.servicebus.windows.net", - "g62-prod-ch3-007-sb.servicebus.windows.net", - "g62-prod-sn3-003-sb.servicebus.windows.net", - "g62-prod-sn3-004-sb.servicebus.windows.net", - "g62-prod-sn3-005-sb.servicebus.windows.net", - "g62-prod-sn3-006-sb.servicebus.windows.net", - "g62-prod-sn3-010-sb.servicebus.windows.net", - "g63-prod-ch3-003-sb.servicebus.windows.net", - "g63-prod-ch3-007-sb.servicebus.windows.net", - "g63-prod-sn3-003-sb.servicebus.windows.net", - "g63-prod-sn3-004-sb.servicebus.windows.net", - "g63-prod-sn3-005-sb.servicebus.windows.net", - "g63-prod-sn3-006-sb.servicebus.windows.net", - "g63-prod-sn3-010-sb.servicebus.windows.net", - "g64-prod-sn3-010-sb.servicebus.windows.net", - "g65-prod-sn3-010-sb.servicebus.windows.net", - "g66-prod-sn3-010-sb.servicebus.windows.net", - "g67-prod-sn3-010-sb.servicebus.windows.net", - "g68-prod-sn3-010-sb.servicebus.windows.net", - "g69-prod-sn3-010-sb.servicebus.windows.net", - "g70-prod-sn3-010-sb.servicebus.windows.net", - "g71-prod-sn3-010-sb.servicebus.windows.net", - "g72-prod-sn3-010-sb.servicebus.windows.net", - "g73-prod-sn3-010-sb.servicebus.windows.net", - "g74-prod-sn3-010-sb.servicebus.windows.net", - "g75-prod-sn3-010-sb.servicebus.windows.net", - "g76-prod-sn3-010-sb.servicebus.windows.net", - "g77-prod-sn3-010-sb.servicebus.windows.net", - "g78-prod-sn3-010-sb.servicebus.windows.net", - "g79-prod-sn3-010-sb.servicebus.windows.net", - "g80-prod-sn3-010-sb.servicebus.windows.net", - "g81-prod-sn3-010-sb.servicebus.windows.net", - "g82-prod-sn3-010-sb.servicebus.windows.net", - "g83-prod-sn3-010-sb.servicebus.windows.net", - "g84-prod-sn3-010-sb.servicebus.windows.net", - "g85-prod-sn3-010-sb.servicebus.windows.net", - "g86-prod-sn3-010-sb.servicebus.windows.net", - "g87-prod-sn3-010-sb.servicebus.windows.net", - "g88-prod-sn3-010-sb.servicebus.windows.net", - "g89-prod-sn3-010-sb.servicebus.windows.net", - "g90-prod-sn3-010-sb.servicebus.windows.net", - "g91-prod-sn3-010-sb.servicebus.windows.net", - "g92-prod-sn3-010-sb.servicebus.windows.net", - "g93-prod-sn3-010-sb.servicebus.windows.net", - "g94-prod-sn3-010-sb.servicebus.windows.net", - "g95-prod-sn3-010-sb.servicebus.windows.net", + "*-sb.servicebus.windows.net", "passwordreset.microsoftonline.com", "ssprdedicatedsbprodncu.servicebus.windows.net", "ssprdedicatedsbprodscu.servicebus.windows.net" From 63d58b98a1028318f18a0483aa964f1018ac33f6 Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Wed, 31 May 2023 14:02:52 +0100 Subject: [PATCH 36/71] Reduce lychee verbosity --- .github/workflows/documentation.yaml | 2 +- .lychee.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index 3413fc8c2f..dba1394ac3 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -52,5 +52,5 @@ jobs: - name: Link Checker uses: lycheeverse/lychee-action@v1.7.0 with: - args: --config='./.lychee.toml' --verbose --no-progress './docs/build/html/**/*.html' + args: --config='./.lychee.toml' --no-progress './docs/build/html/**/*.html' fail: true # fail on broken links diff --git a/.lychee.toml b/.lychee.toml index 73893f32fe..0537bd1382 100644 --- a/.lychee.toml +++ b/.lychee.toml @@ -2,7 +2,7 @@ # Verbose program output # Accepts log level: "error", "warn", "info", "debug", "trace" -verbose = "info" +verbose = "error" # Don't show interactive progress bar while checking links. no_progress = false From 19aea8bf4a252409eebf268f25f06cba35f83f00 Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Wed, 31 May 2023 14:03:51 +0100 Subject: [PATCH 37/71] Replace markdown link check As of this commit, offline only, not checking docs (as the documentation link checker does this). --- .github/workflows/test_code.yaml | 9 +++++---- .markdownlinkcheck.json | 22 ---------------------- 2 files changed, 5 insertions(+), 26 deletions(-) delete mode 100644 .markdownlinkcheck.json diff --git a/.github/workflows/test_code.yaml b/.github/workflows/test_code.yaml index 6ecedf9c05..a1fa737f67 100644 --- a/.github/workflows/test_code.yaml +++ b/.github/workflows/test_code.yaml @@ -31,7 +31,8 @@ jobs: - name: Install requirements shell: bash run: npm install -g markdown-link-check - - name: Test Markdown for dead links - shell: bash - run: find . -name "*.md" | xargs -n 1 markdown-link-check -p -c .markdownlinkcheck.json - continue-on-error: true + - name: Link Checker + uses: lycheeverse/lychee-action@v1.7.0 + with: + args: --config='./.lychee.toml' --no-progress --offline '**/*.md' --exclude-path './docs' + fail: true # fail on broken links diff --git a/.markdownlinkcheck.json b/.markdownlinkcheck.json deleted file mode 100644 index 0857236a82..0000000000 --- a/.markdownlinkcheck.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "ignorePatterns": [ - { - "_comment": "As the repository is private, without authentication these paths will return 404", - "pattern": "^https://github.com/alan-turing-institute/data-safe-haven" - }, - { - "_comment": "As the repository is private, without authentication these paths will return 404", - "pattern": "^https://github.com/alan-turing-institute/data-classification-app" - }, - { - "_comment": "Returns permanent direct code", - "pattern": "^https://www.egress.com" - }, - { - "_comment": "Seems to return redirect codes in curl, 200 in browser. markdown-link-check does not return the http code", - "pattern": "^https://www.turing.ac.uk/" - } - ], - "retryOn429": true, - "aliveStatusCodes":[200, 302, 304] -} From 2940454ea49583358678f7ab04ecf053de02c82b Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Wed, 31 May 2023 14:55:07 +0100 Subject: [PATCH 38/71] Fix links in CONTRIBUTING.md --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fd33223515..7e406ecc7c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,7 +34,7 @@ For the Data Safe Haven project, we follow a DevOps development philosophy. This means different things to different people, but the definition that we're using is [best summed up here](https://www.guru99.com/agile-vs-devops.html).

- +

This is a software development method which focuses on: @@ -87,7 +87,7 @@ In order to contribute via GitHub you'll need to set up a free account and sign We use the [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow).

- +

This means that: @@ -172,7 +172,7 @@ For example, `@KirstieJane` will send a notification to `Kirstie Whitaker` so sh Alternatively (and this is encouraged) you can use the issue to keep track of where you're up to with the task and add information about next steps and barriers.

- +

### Working in a private repository From d045d8ad193b819e881c1ca812ad3f99fa07dc94 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 1 Jun 2023 11:14:39 +0100 Subject: [PATCH 39/71] folder typo --- docs/source/deployment/deploy_shm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/deployment/deploy_shm.md b/docs/source/deployment/deploy_shm.md index 9d718df193..94f652b1f1 100644 --- a/docs/source/deployment/deploy_shm.md +++ b/docs/source/deployment/deploy_shm.md @@ -384,7 +384,7 @@ Make sure you have activated your account and **successfully logged in** with th ## 6. {{computer}} Deploy SHM -![Powershell: a few hours](https://img.shields.io/static/v1?style=for-the-badge&logo=powershell&label=local&color=blue&message=a%20few%20hours) at {{file_folder}} `./deployment/secure_research_environment/setup` +![Powershell: a few hours](https://img.shields.io/static/v1?style=for-the-badge&logo=powershell&label=local&color=blue&message=a%20few%20hours) at {{file_folder}} `./deployment/safe_haven_management_environment/setup` ```powershell PS> ./Deploy_SHM.ps1 -shmId From c0610a3e736737ecfa91623edc00be96b6cde2f0 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Mon, 5 Jun 2023 09:50:50 +0000 Subject: [PATCH 40/71] resolve gitignore conflict --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8f2fdcee33..39e3f1e981 100644 --- a/.gitignore +++ b/.gitignore @@ -28,8 +28,9 @@ docs/*.pdf # ... except the tiers flowchart !docs/tiersflowchart.pdf -# Sphinx output +# Sphinx output and venv docs/build +docs/venv # Files produced during testing .mustache_config.json From d4fc0c40630ef4a9f7be42b3258a9fa59b479fca Mon Sep 17 00:00:00 2001 From: JimMadge Date: Thu, 8 Jun 2023 00:19:26 +0000 Subject: [PATCH 41/71] Update SRD package versions --- .../packages/deb-azuredatastudio.version | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/secure_research_desktop/packages/deb-azuredatastudio.version b/deployment/secure_research_desktop/packages/deb-azuredatastudio.version index 3f59a83115..19844aca82 100644 --- a/deployment/secure_research_desktop/packages/deb-azuredatastudio.version +++ b/deployment/secure_research_desktop/packages/deb-azuredatastudio.version @@ -1,4 +1,4 @@ -hash: a201c6f593a7a71c22070d2c5ca3b0b2c9db2b05538bb079d66e8f40246371e5 -version: 1.44.0 +hash: f413c7e1315516dc37c2a7d0c31cece0663556266dcb3a81aa9c402620a5c236 +version: 1.44.1 debfile: azuredatastudio-linux-|VERSION|.deb -remote: https://sqlopsbuilds.azureedge.net/stable/31bee67f005648cdc9186f28ef39b4f1d6585e0f/|DEBFILE| +remote: https://sqlopsbuilds.azureedge.net/stable/8f53a316fa00a98264f1ab119641cd540b5af25c/|DEBFILE| From 7580268c9e895024abc53896420f0a1517adab97 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Tue, 20 Jun 2023 15:28:21 +0100 Subject: [PATCH 42/71] :memo: Clarify PR template --- .github/pull_request_template.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index dd828294ba..1b2533d089 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -8,10 +8,10 @@ Replace the empty checkboxes [ ] below with checked ones [x] accordingly. --> - [ ] You have given your pull request a meaningful title (_e.g._ `Enable foobar integration` rather than `515 foobar`). -- [ ] You are targeting the **develop branch**. -- [ ] Your branch is up-to-date with the **develop branch** (you probably started your branch from `develop` but it may have changed since then). -- [ ] If-and-only-if your changes are not yet ready to merge, you have marked this pull request as a **draft** pull request and added '[WIP]' to the title. -- [ ] If-and-only-if you have changed any Powershell code, you have run the code formatter. You can do this with `./tests/AutoFormat_Powershell.ps1 -TargetPath `. +- [ ] You are targeting the appropriate branch. If you're not certain which one this is, it should be **`develop`**. +- [ ] Your branch is up-to-date with the **target branch** (it probably was when you started, but it may have changed since then). +- [ ] You have marked this pull request as a **draft** and added `'[WIP]'` to the title if needed (if you're not yet ready to merge). +- [ ] You have formatted your code using appropriate automated tools (for example `./tests/AutoFormat_Powershell.ps1 -TargetPath ` for Powershell). ### :arrow_heading_up: Summary From 97b89ee50f843131641b04e7ab9c1acad2e50590 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:42:34 +0000 Subject: [PATCH 43/71] add deflist directly to user_guide_* --- .../roles/researcher/user_guide_msrds.md | 46 +++++++++++++++++-- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/docs/source/roles/researcher/user_guide_msrds.md b/docs/source/roles/researcher/user_guide_msrds.md index 7a4752d63f..a2b92dfacc 100644 --- a/docs/source/roles/researcher/user_guide_msrds.md +++ b/docs/source/roles/researcher/user_guide_msrds.md @@ -2,10 +2,50 @@ # User Guide: Microsoft Remote Desktop -```{include} snippets/01_introduction.partial.md -:relative-images: +## {{beginner}} Introduction + +{{tada}} Welcome to the Turing Data Safe Haven! {{tada}} + +Secure research environments (SREs) for analysis of sensitive datasets are essential to give data providers confidence that their datasets will be kept secure over the course of a project. +The Data Safe Haven is a prescription for how to set up one or more SREs and give users access to them. +The Data Safe Haven SRE design is aimed at allowing groups of researchers to work together on projects that involve sensitive or confidential datasets at scale. +Our goal is to ensure that you are able to implement the most cutting edge data science techniques while maintaining all ethical and legal responsibilities of information governance and access. + +The data you are working on will have been classified into one of five sensitivity tiers, ranging from open data at Tier 0, to highly sensitive and high risk data at Tier 4. +The tiers are defined by the most sensitive data in your project, and may be increased if the combination of data is deemed to be require additional levels of security. +You can read more about this process in our policy paper: _Arenas et al, 2019_, [`arXiv:1908.08737`](https://arxiv.org/abs/1908.08737). + +The level of sensitivity of your data determines whether you have access to the internet within the SRE and whether you are allowed to copy and paste between the secure research environment and other windows on your computer. +This means you may be limited in which data science tools you are allowed to install. +You will find that many software packages are already available, and the administrator of the SRE will ingress - bring into the environment - as many additional resources as possible. + +```{important} +Please read this user guide carefully and remember to refer back to it when you have questions. +In many cases the answer is already here, but if you think this resource could be clearer, please let us know so we can improve the documentation for future users. ``` +### Definitions + +The following definitions might be useful during the rest of this guide + +Secure Research Environment (SRE) +: the environment that you will be using to access the sensitive data. + +Data Safe Haven +: the overall project that details how to create and manage one or more SREs. + +(user_guide_username_domain_2)= +Username domain +: the domain (for example `projects.turingsafehaven.ac.uk`) which your user account will belong to. Multiple SREs can share the same domain for managing users in common. + +(user_guide_sre_id_2)= +SRE ID +: each SRE has a unique short ID, for example `sandbox` which your {ref}`System Manager ` will use to distinguish different SREs in the same Data Safe Haven. + +(user_guide_sre_url_2)= +SRE URL +: each SRE has a unique URL (for example `sandbox.projects.turingsafehaven.ac.uk`) which is used to access the data. + ```{include} snippets/02_account_setup.partial.md :relative-images: ``` @@ -28,7 +68,7 @@ - Open a **private/incognito** browser session, so that you don't pick up any existing Microsoft logins -- Go to the {ref}`SRE URL ` given by your {ref}`System Manager `. +- Go to the {ref}`SRE URL ` given by your {ref}`System Manager `. ```{note} Our example user, Ada Lovelace, participating in the `sandbox` project at a Turing Data Study Group, would navigate to `https://sandbox.projects.turingsafehaven.ac.uk`. From f90449ddfdc10b4b19b560463b545aad3d1f288a Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:42:57 +0000 Subject: [PATCH 44/71] remove explicit link to prevent duplicate id --- docs/source/roles/researcher/snippets/04_using_srd.partial.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/source/roles/researcher/snippets/04_using_srd.partial.md b/docs/source/roles/researcher/snippets/04_using_srd.partial.md index 7b8fefcfc0..92c0ed1cfc 100644 --- a/docs/source/roles/researcher/snippets/04_using_srd.partial.md +++ b/docs/source/roles/researcher/snippets/04_using_srd.partial.md @@ -78,8 +78,6 @@ For example: :align: center ``` -(available_python_and_r_versions)= - ### {{snake}} Available Python and R versions Typing `R` at the command line will give you the system version of `R` with many custom packages pre-installed. From d0895c16bb90fae03c55a8865b24c6cd82f091a6 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:43:20 +0000 Subject: [PATCH 45/71] add more direct link to avoid missing xref --- docs/source/deployment/snippets/14_run_smoke_tests.partial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md index a44f332d24..3d75fd0f09 100644 --- a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md +++ b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md @@ -10,4 +10,4 @@ They are automatically uploaded to the SRD during the deployment step. - if any of the tests fail, check the `README.md` in this folder for help in diagnosing the issues - Copy `tests/test_jupyter.ipynb` to your home directory - activate each of the available Python versions in turn - - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See {ref}`Available Python Versions `. + - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See [Available Python and R versions]() \ No newline at end of file From 0afcf508faec779ecd2afd0f216ae2506b7a5680 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:45:07 +0000 Subject: [PATCH 46/71] Add newline character --- docs/source/deployment/snippets/14_run_smoke_tests.partial.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md index 3d75fd0f09..927e4f8437 100644 --- a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md +++ b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md @@ -10,4 +10,5 @@ They are automatically uploaded to the SRD during the deployment step. - if any of the tests fail, check the `README.md` in this folder for help in diagnosing the issues - Copy `tests/test_jupyter.ipynb` to your home directory - activate each of the available Python versions in turn - - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See [Available Python and R versions]() \ No newline at end of file + - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See [Available Python and R versions]() + \ No newline at end of file From 04fdc3c6811390ccb4ff4ca1336e30834690e22d Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:47:12 +0000 Subject: [PATCH 47/71] Remove trailing spaces --- docs/source/deployment/snippets/14_run_smoke_tests.partial.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md index 927e4f8437..ede84557e4 100644 --- a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md +++ b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md @@ -11,4 +11,3 @@ They are automatically uploaded to the SRD during the deployment step. - Copy `tests/test_jupyter.ipynb` to your home directory - activate each of the available Python versions in turn - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See [Available Python and R versions]() - \ No newline at end of file From b5390d03bb067c4c361c0e83b0c43c8106b7e426 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:56:42 +0000 Subject: [PATCH 48/71] sphinx doc builds should fail on warnings --- .github/workflows/documentation.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index 3413fc8c2f..8e218cdbac 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -46,9 +46,10 @@ jobs: - name: Install dependencies run: | pip install -r requirements.txt - - name: Sphinx build + - name: Sphinx build + # Set warnings to be treated as errors run: | - make html + make html SPHINXOPTS="-W" - name: Link Checker uses: lycheeverse/lychee-action@v1.7.0 with: From c2c1ecefe00008035cd2ce66cfb21c81d706530c Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:57:41 +0000 Subject: [PATCH 49/71] doc build should treat warnings as errors --- .github/workflows/documentation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index 8e218cdbac..be86e6a8c6 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -27,7 +27,7 @@ jobs: pip install -r requirements.txt - name: Sphinx build run: | - make html + make html SPHINXOPTS="-W" check_links: name: Check links From 4d64096b08669ab0323b106d1c8fa4df28baf5d7 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:58:42 +0000 Subject: [PATCH 50/71] Remove trailing spaces --- .github/workflows/documentation.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index be86e6a8c6..9ae8e54d74 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -46,10 +46,10 @@ jobs: - name: Install dependencies run: | pip install -r requirements.txt - - name: Sphinx build + - name: Sphinx build # Set warnings to be treated as errors run: | - make html SPHINXOPTS="-W" + make html SPHINXOPTS="-W" - name: Link Checker uses: lycheeverse/lychee-action@v1.7.0 with: From b1a96f94e288cfff5a7ee15b958ac8736d045d6b Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 14:01:12 +0000 Subject: [PATCH 51/71] introduce error to test build failing --- docs/source/deployment/snippets/14_run_smoke_tests.partial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md index ede84557e4..41a628a935 100644 --- a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md +++ b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md @@ -10,4 +10,4 @@ They are automatically uploaded to the SRD during the deployment step. - if any of the tests fail, check the `README.md` in this folder for help in diagnosing the issues - Copy `tests/test_jupyter.ipynb` to your home directory - activate each of the available Python versions in turn - - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See [Available Python and R versions]() + - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See [Available Python and R versions]() From dc87d8d6e2c96288f7cd20e34f853e58c883112b Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 14:03:32 +0000 Subject: [PATCH 52/71] Fix error after testing build failure --- docs/source/deployment/snippets/14_run_smoke_tests.partial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md index 41a628a935..ede84557e4 100644 --- a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md +++ b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md @@ -10,4 +10,4 @@ They are automatically uploaded to the SRD during the deployment step. - if any of the tests fail, check the `README.md` in this folder for help in diagnosing the issues - Copy `tests/test_jupyter.ipynb` to your home directory - activate each of the available Python versions in turn - - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See [Available Python and R versions]() + - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See [Available Python and R versions]() From fda5d93f463e36808a9d73e7aa371d0ebc3dd539 Mon Sep 17 00:00:00 2001 From: Matt Craddock Date: Thu, 22 Jun 2023 16:01:57 +0100 Subject: [PATCH 53/71] Remove bold from explicit link text Co-authored-by: Jim Madge --- .../source/roles/researcher/snippets/03_02_srd_login.partial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/roles/researcher/snippets/03_02_srd_login.partial.md b/docs/source/roles/researcher/snippets/03_02_srd_login.partial.md index 696d0a3344..d44628f777 100644 --- a/docs/source/roles/researcher/snippets/03_02_srd_login.partial.md +++ b/docs/source/roles/researcher/snippets/03_02_srd_login.partial.md @@ -20,7 +20,7 @@ ```{caution} We recommend _not_ including special characters in your password as the keyboard layout expected by the login screen may be different from the one you're using. - - if you want to reset your password, follow the steps defined in the [**Password and MFA**](#password-and-mfa) section above. + - if you want to reset your password, follow the steps defined in the [Password and MFA](#password-and-mfa) section above. - if you want to continue with special characters in your password, please test that they are being entered correctly by typing them in the username field. ``` From b43c9d508fa428805221637fdbd70e79d503b7ee Mon Sep 17 00:00:00 2001 From: Matt Craddock Date: Thu, 22 Jun 2023 16:09:15 +0100 Subject: [PATCH 54/71] Change link style from autolink to markdown-style Co-authored-by: Jim Madge --- docs/source/deployment/snippets/14_run_smoke_tests.partial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md index ede84557e4..cd864a4c97 100644 --- a/docs/source/deployment/snippets/14_run_smoke_tests.partial.md +++ b/docs/source/deployment/snippets/14_run_smoke_tests.partial.md @@ -10,4 +10,4 @@ They are automatically uploaded to the SRD during the deployment step. - if any of the tests fail, check the `README.md` in this folder for help in diagnosing the issues - Copy `tests/test_jupyter.ipynb` to your home directory - activate each of the available Python versions in turn - - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See [Available Python and R versions]() + - run `jupyter notebook` in each case and check that you can run the notebook and that all versions and paths match throughout. See [Available Python and R versions](/roles/researcher/user_guide_guacamole.md#available-python-and-r-versions) From 1927f35f06a9198582ff641867608743b5631d52 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:11:15 +0000 Subject: [PATCH 55/71] Add deprecation warning to MSRDS user guide --- docs/source/roles/researcher/user_guide_msrds.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/source/roles/researcher/user_guide_msrds.md b/docs/source/roles/researcher/user_guide_msrds.md index a2b92dfacc..ae86f98a15 100644 --- a/docs/source/roles/researcher/user_guide_msrds.md +++ b/docs/source/roles/researcher/user_guide_msrds.md @@ -2,6 +2,10 @@ # User Guide: Microsoft Remote Desktop +```{warning} +Use of Microsoft Remote Desktop is deprecated. It will be removed in an upcoming release of the Data Safe Haven. +``` + ## {{beginner}} Introduction {{tada}} Welcome to the Turing Data Safe Haven! {{tada}} From 6c199537cd655bd11a2fab5cec747b923a61a282 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:14:39 +0000 Subject: [PATCH 56/71] Add MSRDS deprecation warnings --- docs/source/deployment/deploy_sre_microsoft_rds.md | 4 ++++ docs/source/roles/researcher/user_guide_msrds.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/source/deployment/deploy_sre_microsoft_rds.md b/docs/source/deployment/deploy_sre_microsoft_rds.md index 6087246d74..3950e88d89 100644 --- a/docs/source/deployment/deploy_sre_microsoft_rds.md +++ b/docs/source/deployment/deploy_sre_microsoft_rds.md @@ -2,6 +2,10 @@ # Deploy an SRE with Microsoft RDS +```{warning} +Support for Microsoft Remote Desktop is deprecated. Deployment scripts and related documentation will be removed in an upcoming release of the Data Safe Haven. +``` + These instructions will walk you through deploying a Secure Research Environment (SRE) that uses an existing Safe Haven Management (SHM) environment. ```{important} diff --git a/docs/source/roles/researcher/user_guide_msrds.md b/docs/source/roles/researcher/user_guide_msrds.md index ae86f98a15..0993e28ef3 100644 --- a/docs/source/roles/researcher/user_guide_msrds.md +++ b/docs/source/roles/researcher/user_guide_msrds.md @@ -3,7 +3,7 @@ # User Guide: Microsoft Remote Desktop ```{warning} -Use of Microsoft Remote Desktop is deprecated. It will be removed in an upcoming release of the Data Safe Haven. +Support for Microsoft Remote Desktop is deprecated. Deployment scripts and related documentation will be removed in an upcoming release of the Data Safe Haven. ``` ## {{beginner}} Introduction From 48d3604d54ad6f9f3d7a1a2a8840f9bf4b9cb82b Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:54:48 +0000 Subject: [PATCH 57/71] state which version of the DSH will remove MSRDS --- docs/source/deployment/deploy_sre_microsoft_rds.md | 2 +- docs/source/roles/researcher/user_guide_msrds.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/deployment/deploy_sre_microsoft_rds.md b/docs/source/deployment/deploy_sre_microsoft_rds.md index 3950e88d89..40a2035c3a 100644 --- a/docs/source/deployment/deploy_sre_microsoft_rds.md +++ b/docs/source/deployment/deploy_sre_microsoft_rds.md @@ -3,7 +3,7 @@ # Deploy an SRE with Microsoft RDS ```{warning} -Support for Microsoft Remote Desktop is deprecated. Deployment scripts and related documentation will be removed in an upcoming release of the Data Safe Haven. +Support for Microsoft Remote Desktop is deprecated. Deployment scripts and related documentation will be removed in version `4.1.0` of the Data Safe Haven. ``` These instructions will walk you through deploying a Secure Research Environment (SRE) that uses an existing Safe Haven Management (SHM) environment. diff --git a/docs/source/roles/researcher/user_guide_msrds.md b/docs/source/roles/researcher/user_guide_msrds.md index 0993e28ef3..67d76c6270 100644 --- a/docs/source/roles/researcher/user_guide_msrds.md +++ b/docs/source/roles/researcher/user_guide_msrds.md @@ -3,7 +3,7 @@ # User Guide: Microsoft Remote Desktop ```{warning} -Support for Microsoft Remote Desktop is deprecated. Deployment scripts and related documentation will be removed in an upcoming release of the Data Safe Haven. +Support for Microsoft Remote Desktop is deprecated. Deployment scripts and related documentation will be removed in version `4.1.0` of the Data Safe Haven. ``` ## {{beginner}} Introduction From 7575b4eeb460ac4b052a287c5e35a941a2ab7d22 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:55:20 +0000 Subject: [PATCH 58/71] Add intro snippet directly to user_guide_guac --- .../roles/researcher/user_guide_guacamole.md | 44 ++++++++++++++++++- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/docs/source/roles/researcher/user_guide_guacamole.md b/docs/source/roles/researcher/user_guide_guacamole.md index ec6ff16af9..1dd58f5608 100644 --- a/docs/source/roles/researcher/user_guide_guacamole.md +++ b/docs/source/roles/researcher/user_guide_guacamole.md @@ -2,10 +2,50 @@ # User Guide: Apache Guacamole -```{include} snippets/01_introduction.partial.md -:relative-images: +## {{beginner}} Introduction + +{{tada}} Welcome to the Turing Data Safe Haven! {{tada}} + +Secure research environments (SREs) for analysis of sensitive datasets are essential to give data providers confidence that their datasets will be kept secure over the course of a project. +The Data Safe Haven is a prescription for how to set up one or more SREs and give users access to them. +The Data Safe Haven SRE design is aimed at allowing groups of researchers to work together on projects that involve sensitive or confidential datasets at scale. +Our goal is to ensure that you are able to implement the most cutting edge data science techniques while maintaining all ethical and legal responsibilities of information governance and access. + +The data you are working on will have been classified into one of five sensitivity tiers, ranging from open data at Tier 0, to highly sensitive and high risk data at Tier 4. +The tiers are defined by the most sensitive data in your project, and may be increased if the combination of data is deemed to be require additional levels of security. +You can read more about this process in our policy paper: _Arenas et al, 2019_, [`arXiv:1908.08737`](https://arxiv.org/abs/1908.08737). + +The level of sensitivity of your data determines whether you have access to the internet within the SRE and whether you are allowed to copy and paste between the secure research environment and other windows on your computer. +This means you may be limited in which data science tools you are allowed to install. +You will find that many software packages are already available, and the administrator of the SRE will ingress - bring into the environment - as many additional resources as possible. + +```{important} +Please read this user guide carefully and remember to refer back to it when you have questions. +In many cases the answer is already here, but if you think this resource could be clearer, please let us know so we can improve the documentation for future users. ``` +### Definitions + +The following definitions might be useful during the rest of this guide + +Secure Research Environment (SRE) +: the environment that you will be using to access the sensitive data. + +Data Safe Haven +: the overall project that details how to create and manage one or more SREs. + +(user_guide_username_domain)= +Username domain +: the domain (for example `projects.turingsafehaven.ac.uk`) which your user account will belong to. Multiple SREs can share the same domain for managing users in common. + +(user_guide_sre_id)= +SRE ID +: each SRE has a unique short ID, for example `sandbox` which your {ref}`System Manager ` will use to distinguish different SREs in the same Data Safe Haven. + +(user_guide_sre_url)= +SRE URL +: each SRE has a unique URL (for example `sandbox.projects.turingsafehaven.ac.uk`) which is used to access the data. + (roles_researcher_user_guide_setup_mfa)= ```{include} snippets/02_account_setup.partial.md From 2e828a9a26076f803884ff30e5d6452d08323a11 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Mon, 26 Jun 2023 13:21:43 +0000 Subject: [PATCH 59/71] remove unused snippet --- .../snippets/01_introduction.partial.md | 43 ------------------- 1 file changed, 43 deletions(-) delete mode 100644 docs/source/roles/researcher/snippets/01_introduction.partial.md diff --git a/docs/source/roles/researcher/snippets/01_introduction.partial.md b/docs/source/roles/researcher/snippets/01_introduction.partial.md deleted file mode 100644 index 14b2c4162b..0000000000 --- a/docs/source/roles/researcher/snippets/01_introduction.partial.md +++ /dev/null @@ -1,43 +0,0 @@ -## {{beginner}} Introduction - -{{tada}} Welcome to the Turing Data Safe Haven! {{tada}} - -Secure research environments (SREs) for analysis of sensitive datasets are essential to give data providers confidence that their datasets will be kept secure over the course of a project. -The Data Safe Haven is a prescription for how to set up one or more SREs and give users access to them. -The Data Safe Haven SRE design is aimed at allowing groups of researchers to work together on projects that involve sensitive or confidential datasets at scale. -Our goal is to ensure that you are able to implement the most cutting edge data science techniques while maintaining all ethical and legal responsibilities of information governance and access. - -The data you are working on will have been classified into one of five sensitivity tiers, ranging from open data at Tier 0, to highly sensitive and high risk data at Tier 4. -The tiers are defined by the most sensitive data in your project, and may be increased if the combination of data is deemed to be require additional levels of security. -You can read more about this process in our policy paper: _Arenas et al, 2019_, [`arXiv:1908.08737`](https://arxiv.org/abs/1908.08737). - -The level of sensitivity of your data determines whether you have access to the internet within the SRE and whether you are allowed to copy and paste between the secure research environment and other windows on your computer. -This means you may be limited in which data science tools you are allowed to install. -You will find that many software packages are already available, and the administrator of the SRE will ingress - bring into the environment - as many additional resources as possible. - -```{important} -Please read this user guide carefully and remember to refer back to it when you have questions. -In many cases the answer is already here, but if you think this resource could be clearer, please let us know so we can improve the documentation for future users. -``` - -### Definitions - -The following definitions might be useful during the rest of this guide - -Secure Research Environment (SRE) -: the environment that you will be using to access the sensitive data. - -Data Safe Haven -: the overall project that details how to create and manage one or more SREs. - -(user_guide_username_domain)= -Username domain -: the domain (for example `projects.turingsafehaven.ac.uk`) which your user account will belong to. Multiple SREs can share the same domain for managing users in common. - -(user_guide_sre_id)= -SRE ID -: each SRE has a unique short ID, for example `sandbox` which your {ref}`System Manager ` will use to distinguish different SREs in the same Data Safe Haven. - -(user_guide_sre_url)= -SRE URL -: each SRE has a unique URL (for example `sandbox.projects.turingsafehaven.ac.uk`) which is used to access the data. From d04a55f0e2de7e1755a29a8319ab0926e889c467 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 14 Jul 2023 13:19:24 +0000 Subject: [PATCH 60/71] remove FQDN for AADconnect endpoints --- .../setup/Configure_External_DNS_Queries.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 b/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 index ba04a8a0ac..13736b805f 100644 --- a/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 +++ b/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 @@ -29,7 +29,7 @@ $allowedFqdns = @($firewallRules.applicationRuleCollections | ForEach-Object { $ @(Get-PrivateDnsZones -ResourceGroupName $config.shm.network.vnet.rg -SubscriptionName $config.shm.subscriptionName | ForEach-Object { $_.Name }) # List all unique FQDNs $allowedFqdns = $allowedFqdns | - Where-Object { $_ -notlike "g*.servicebus.windows.net" } | # Remove AzureADConnect password reset endpoints + Where-Object { $_ -notlike "*-sb.servicebus.windows.net" } | # Remove AzureADConnect password reset endpoints Where-Object { $_ -notlike "pksproddatastore*.blob.core.windows.net" } | # Remove AzureAD operations endpoints Sort-Object -Unique Add-LogMessage -Level Info "Restricted networks will be allowed to run DNS lookup on the following $($allowedFqdns.Count) FQDNs:" From e412f001599080d82031614e11dbd85e2b270510 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 21 Jul 2023 13:17:35 +0000 Subject: [PATCH 61/71] Ensure script uses correct VM name --- .../setup/Configure_External_DNS_Queries.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 b/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 index 13736b805f..1aa5688e16 100644 --- a/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 +++ b/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 @@ -81,7 +81,8 @@ Add-LogMessage -Level Info "Looking for SRD with IP address '$vmIpAddress'..." if (-not $vmIpAddress) { Add-LogMessage -Level Fatal "No SRD found with IP address '$vmIpAddress'. Cannot run test to confirm external DNS resolution." } else { - $vmName = @(Get-AzNetworkInterface | Where-Object { $_.IpConfigurations.PrivateIpAddress -eq $vmIpAddress } | ForEach-Object { $_.VirtualMachine.Id.Split("/")[-1] })[0] + # Match on both IP address and resource group + $vmName = @(Get-AzNetworkInterface | Where-Object { $_.IpConfigurations.PrivateIpAddress -eq $vmIpAddress -and $_.ResourceGroupName -eq $config.sre.srd.rg } | ForEach-Object { $_.VirtualMachine.Id.Split("/")[-1] })[0] Add-LogMessage -Level Info "Testing external DNS resolution on VM '$vmName'..." $params = @{ SHM_DOMAIN_FQDN = $config.shm.domain.fqdn From 15bab0f3467d28b410fd38fd38943bb2d20a1bbf Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 21 Jul 2023 13:44:44 +0000 Subject: [PATCH 62/71] Pass RG name directly rather than use logical --- .../setup/Configure_External_DNS_Queries.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 b/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 index 1aa5688e16..a86077d1d1 100644 --- a/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 +++ b/deployment/secure_research_environment/setup/Configure_External_DNS_Queries.ps1 @@ -81,8 +81,8 @@ Add-LogMessage -Level Info "Looking for SRD with IP address '$vmIpAddress'..." if (-not $vmIpAddress) { Add-LogMessage -Level Fatal "No SRD found with IP address '$vmIpAddress'. Cannot run test to confirm external DNS resolution." } else { - # Match on both IP address and resource group - $vmName = @(Get-AzNetworkInterface | Where-Object { $_.IpConfigurations.PrivateIpAddress -eq $vmIpAddress -and $_.ResourceGroupName -eq $config.sre.srd.rg } | ForEach-Object { $_.VirtualMachine.Id.Split("/")[-1] })[0] + # Match on IP address within approriate SRE resource group + $vmName = @(Get-AzNetworkInterface -ResourceGroupName $config.sre.srd.rg | Where-Object { $_.IpConfigurations.PrivateIpAddress -eq $vmIpAddress } | ForEach-Object { $_.VirtualMachine.Id.Split("/")[-1] })[0] Add-LogMessage -Level Info "Testing external DNS resolution on VM '$vmName'..." $params = @{ SHM_DOMAIN_FQDN = $config.shm.domain.fqdn From d82f7c4b4776c877d42ed9195a876fd18794e487 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Jul 2023 23:17:44 +0000 Subject: [PATCH 63/71] Bump certifi from 2023.5.7 to 2023.7.22 in /docs Bumps [certifi](https://github.com/certifi/python-certifi) from 2023.5.7 to 2023.7.22. - [Commits](https://github.com/certifi/python-certifi/compare/2023.05.07...2023.07.22) --- updated-dependencies: - dependency-name: certifi dependency-type: indirect ... Signed-off-by: dependabot[bot] --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index d9cf686af7..0c62fb5ada 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -14,7 +14,7 @@ babel==2.12.1 # sphinx beautifulsoup4==4.12.2 # via pydata-sphinx-theme -certifi==2023.5.7 +certifi==2023.7.22 # via requests charset-normalizer==3.1.0 # via requests From f66165a1fb51b8cc47d520a226a7d86611da1092 Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Wed, 26 Jul 2023 10:23:03 +0100 Subject: [PATCH 64/71] Add portal.azure.com to lychee ignore list --- .lychee.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.lychee.toml b/.lychee.toml index 0537bd1382..14fd5a9426 100644 --- a/.lychee.toml +++ b/.lychee.toml @@ -92,8 +92,9 @@ glob_ignore_case = false exclude = [ 'github\.com', # Requires authentication (403) 'turing\.ac\.uk', # DDOS protection - 'ipaddressguide\.com', # 403 - 'opensource\.org' # 403 + 'ipaddressguide\.com', # 403 + 'opensource\.org', # 403 + 'portal\.azure\.com', # 403 ] # Exclude these filesystem paths from getting checked. From 3541f3c11ef39067137ca7f396d03f6cc4377857 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Wed, 26 Jul 2023 10:34:46 +0100 Subject: [PATCH 65/71] :construction_worker: Allow package update workflows to be run manually --- .github/workflows/build_allow_lists.yaml | 1 + .github/workflows/update_package_versions.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/build_allow_lists.yaml b/.github/workflows/build_allow_lists.yaml index 1d8160cbfb..45bd2b714c 100644 --- a/.github/workflows/build_allow_lists.yaml +++ b/.github/workflows/build_allow_lists.yaml @@ -7,6 +7,7 @@ on: # yamllint disable-line rule:truthy branches: [develop] schedule: - cron: "0 0 */6 * *" # run every six days in order to keep the cache fresh + workflow_dispatch: # allow this workflow to be manually triggered # checkout needs 'contents:read' # pull request needs 'pull-requests:write' and 'contents:write' diff --git a/.github/workflows/update_package_versions.yaml b/.github/workflows/update_package_versions.yaml index 3ef8166ff6..1f901f9855 100644 --- a/.github/workflows/update_package_versions.yaml +++ b/.github/workflows/update_package_versions.yaml @@ -7,6 +7,7 @@ on: # yamllint disable-line rule:truthy branches: [develop] schedule: - cron: "0 0 */7 * *" # run once per week + workflow_dispatch: # allow this workflow to be manually triggered # checkout needs 'contents:read' # pull request needs 'pull-requests:write' and 'contents:write' From 78ddc22cb08a2bc4ea4b82b9d44c75c2f6c1cfa3 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Wed, 26 Jul 2023 10:30:38 +0100 Subject: [PATCH 66/71] :alien: Workaround for non-interpretable JSON being returned by https://pypi.org/pypi/pyproj/json --- .../administration/SHM_Expand_Allowlist_Dependencies.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/administration/SHM_Expand_Allowlist_Dependencies.ps1 b/deployment/administration/SHM_Expand_Allowlist_Dependencies.ps1 index 3603fb33ed..638b415862 100644 --- a/deployment/administration/SHM_Expand_Allowlist_Dependencies.ps1 +++ b/deployment/administration/SHM_Expand_Allowlist_Dependencies.ps1 @@ -31,19 +31,19 @@ function Test-PackageExistence { try { if ($Repository -eq "pypi") { # The best PyPI results come from the package JSON files - $response = Invoke-RestMethod -Uri "https://pypi.org/${Repository}/${Package}/json" -MaximumRetryCount 4 -RetryIntervalSec 1 -ErrorAction Stop + $response = Invoke-RestMethod -Uri "https://pypi.org/${Repository}/${Package}/json" -MaximumRetryCount 4 -RetryIntervalSec 1 -ErrorAction Stop | ConvertFrom-Json -AsHashtable $versions = $response.releases | Get-Member -MemberType NoteProperty | ForEach-Object { $_.Name } $name = $response.info.name } elseif ($Repository -eq "cran") { # Use the RStudio package manager for CRAN packages - $response = Invoke-RestMethod -Uri "https://packagemanager.rstudio.com/__api__/repos/${RepositoryId}/packages?name=${Package}&case_insensitive=true" -MaximumRetryCount 4 -RetryIntervalSec 1 -ErrorAction Stop + $response = Invoke-RestMethod -Uri "https://packagemanager.rstudio.com/__api__/repos/${RepositoryId}/packages?name=${Package}&case_insensitive=true" -MaximumRetryCount 4 -RetryIntervalSec 1 -ErrorAction Stop | ConvertFrom-Json -AsHashtable $name = $response.name $response = Invoke-RestMethod -Uri "https://packagemanager.rstudio.com/__api__/repos/${RepositoryId}/packages/${name}" -MaximumRetryCount 4 -RetryIntervalSec 1 -ErrorAction Stop $versions = @($response.version) + ($response.archived | ForEach-Object { $_.version }) } else { # For other repositories we use libraries.io # As we are rate-limited to 60 requests per minute this request can fail. If it does, we retry every few seconds for 1 minute - $response = Invoke-RestMethod -Uri "https://libraries.io/api/${Repository}/${Package}?api_key=${ApiKey}" -MaximumRetryCount 16 -RetryIntervalSec 4 -ErrorAction Stop + $response = Invoke-RestMethod -Uri "https://libraries.io/api/${Repository}/${Package}?api_key=${ApiKey}" -MaximumRetryCount 16 -RetryIntervalSec 4 -ErrorAction Stop | ConvertFrom-Json -AsHashtable $versions = $response.versions | ForEach-Object { $_.number } $name = $response.Name } From ca96d7502e2ae025a7d96f855be5e1db227f0806 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Wed, 26 Jul 2023 10:47:25 +0100 Subject: [PATCH 67/71] :bug: Only apply ConvertFrom-Json -AsHashtable to responses if they are not already JSON --- .../administration/SHM_Expand_Allowlist_Dependencies.ps1 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/deployment/administration/SHM_Expand_Allowlist_Dependencies.ps1 b/deployment/administration/SHM_Expand_Allowlist_Dependencies.ps1 index 638b415862..577f71bba6 100644 --- a/deployment/administration/SHM_Expand_Allowlist_Dependencies.ps1 +++ b/deployment/administration/SHM_Expand_Allowlist_Dependencies.ps1 @@ -31,19 +31,22 @@ function Test-PackageExistence { try { if ($Repository -eq "pypi") { # The best PyPI results come from the package JSON files - $response = Invoke-RestMethod -Uri "https://pypi.org/${Repository}/${Package}/json" -MaximumRetryCount 4 -RetryIntervalSec 1 -ErrorAction Stop | ConvertFrom-Json -AsHashtable + $response = Invoke-RestMethod -Uri "https://pypi.org/${Repository}/${Package}/json" -MaximumRetryCount 4 -RetryIntervalSec 1 -ErrorAction Stop + if ($response -is [String]) { $response = $response | ConvertFrom-Json -AsHashtable } $versions = $response.releases | Get-Member -MemberType NoteProperty | ForEach-Object { $_.Name } $name = $response.info.name } elseif ($Repository -eq "cran") { # Use the RStudio package manager for CRAN packages - $response = Invoke-RestMethod -Uri "https://packagemanager.rstudio.com/__api__/repos/${RepositoryId}/packages?name=${Package}&case_insensitive=true" -MaximumRetryCount 4 -RetryIntervalSec 1 -ErrorAction Stop | ConvertFrom-Json -AsHashtable + $response = Invoke-RestMethod -Uri "https://packagemanager.rstudio.com/__api__/repos/${RepositoryId}/packages?name=${Package}&case_insensitive=true" -MaximumRetryCount 4 -RetryIntervalSec 1 -ErrorAction Stop + if ($response -is [String]) { $response = $response | ConvertFrom-Json -AsHashtable } $name = $response.name $response = Invoke-RestMethod -Uri "https://packagemanager.rstudio.com/__api__/repos/${RepositoryId}/packages/${name}" -MaximumRetryCount 4 -RetryIntervalSec 1 -ErrorAction Stop $versions = @($response.version) + ($response.archived | ForEach-Object { $_.version }) } else { # For other repositories we use libraries.io # As we are rate-limited to 60 requests per minute this request can fail. If it does, we retry every few seconds for 1 minute - $response = Invoke-RestMethod -Uri "https://libraries.io/api/${Repository}/${Package}?api_key=${ApiKey}" -MaximumRetryCount 16 -RetryIntervalSec 4 -ErrorAction Stop | ConvertFrom-Json -AsHashtable + $response = Invoke-RestMethod -Uri "https://libraries.io/api/${Repository}/${Package}?api_key=${ApiKey}" -MaximumRetryCount 16 -RetryIntervalSec 4 -ErrorAction Stop + if ($response -is [String]) { $response = $response | ConvertFrom-Json -AsHashtable } $versions = $response.versions | ForEach-Object { $_.number } $name = $response.Name } From 79a6ba4ca7fb189cab101035cac9ee15a6817010 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Wed, 26 Jul 2023 11:01:30 +0100 Subject: [PATCH 68/71] :arrow_up: Update GitHub Actions versions --- .github/workflows/update_package_versions.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/update_package_versions.yaml b/.github/workflows/update_package_versions.yaml index 1f901f9855..2a70bf9e64 100644 --- a/.github/workflows/update_package_versions.yaml +++ b/.github/workflows/update_package_versions.yaml @@ -20,10 +20,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: '3.10' @@ -55,7 +55,7 @@ jobs: - name: Create pull request if: ${{ ! env.ACT }} id: pull-request - uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a # This commit corresponds to tag 3.12.0 + uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # This commit corresponds to tag 5.0.2 with: commit-message: Update SRD package versions committer: GitHub Actions From 32eb52179b29c2dbbec0318e22a5b903c9279459 Mon Sep 17 00:00:00 2001 From: jemrobinson Date: Wed, 26 Jul 2023 10:10:33 +0000 Subject: [PATCH 69/71] Update PyPI and CRAN allow lists --- .../package_lists/allowlist-full-python-pypi-tier3.list | 8 +++++++- .../package_lists/allowlist-full-r-cran-tier3.list | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/environment_configs/package_lists/allowlist-full-python-pypi-tier3.list b/environment_configs/package_lists/allowlist-full-python-pypi-tier3.list index 9fd13a2393..0afbdc7b3e 100644 --- a/environment_configs/package_lists/allowlist-full-python-pypi-tier3.list +++ b/environment_configs/package_lists/allowlist-full-python-pypi-tier3.list @@ -1,5 +1,4 @@ absl-py -aenum aero-calc aesara affine @@ -14,6 +13,7 @@ alabaster altair annotated-types annoy +ansi2html ansimarkup anyio apispec @@ -212,17 +212,22 @@ graphlib-backport graphviz grpcio gym +h11 +h2 h5netcdf h5py HeapDict hijri-converter holidays hotelling +hpack html5lib htmlmin +httpcore httplib2 httpstan huggingface-hub +hyperframe hyperlink hyperopt idna @@ -538,6 +543,7 @@ ruamel.yaml s3fs s3transfer sacremoses +safetensors safety scandir scikit-image diff --git a/environment_configs/package_lists/allowlist-full-r-cran-tier3.list b/environment_configs/package_lists/allowlist-full-r-cran-tier3.list index 52f65a2258..9e12103115 100644 --- a/environment_configs/package_lists/allowlist-full-r-cran-tier3.list +++ b/environment_configs/package_lists/allowlist-full-r-cran-tier3.list @@ -213,6 +213,7 @@ httpuv httr httr2 hunspell +ICS ids igraph infer @@ -295,6 +296,7 @@ mgcv mime miniUI minqa +mitools mlapi mlbench MLmetrics @@ -335,6 +337,7 @@ patchwork pbdMPI pbdZMQ pbkrtest +pcaPP permute phosphoricons pillar @@ -440,12 +443,14 @@ RMySQL RNetCDF rngtools robustbase +robustX ROCR roxygen2 rpart RPostgres RPostgreSQL rprojroot +rrcov rsample rsconnect rsparse @@ -503,6 +508,7 @@ stopwords stringi stringr styler +survey survival svglite svgPanZoom From a02a2b160d5793a432ffd216aaccb73c210c229c Mon Sep 17 00:00:00 2001 From: James Robinson Date: Wed, 26 Jul 2023 11:11:58 +0100 Subject: [PATCH 70/71] :alien: Update RStudio checker to look for focal and jammy as bionic is no longer downloadable --- .github/scripts/update_rstudio.py | 2 +- .../cloud_init/cloud-init-buildimage-ubuntu-1804.mustache.yaml | 2 +- .../cloud_init/cloud-init-buildimage-ubuntu-2004.mustache.yaml | 2 +- .../{deb-rstudio-bionic.version => deb-rstudio-focal.version} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename deployment/secure_research_desktop/packages/{deb-rstudio-bionic.version => deb-rstudio-focal.version} (100%) diff --git a/.github/scripts/update_rstudio.py b/.github/scripts/update_rstudio.py index b5b16da1c0..ee36a35e66 100644 --- a/.github/scripts/update_rstudio.py +++ b/.github/scripts/update_rstudio.py @@ -7,7 +7,7 @@ root = html.fromstring(remote_page.content) short_links = [link for link in root.xpath("//a[contains(text(), '.deb')]/@href") if "debian" not in link] -for ubuntu_version in ["bionic", "jammy"]: +for ubuntu_version in ["focal", "jammy"]: short_link = [link for link in short_links if ubuntu_version in link][0] remote_content = requests.get(short_link, allow_redirects=True) sha256 = hashlib.sha256(remote_content.content).hexdigest() diff --git a/deployment/secure_research_desktop/cloud_init/cloud-init-buildimage-ubuntu-1804.mustache.yaml b/deployment/secure_research_desktop/cloud_init/cloud-init-buildimage-ubuntu-1804.mustache.yaml index 8f8c911ca2..44e1bb4397 100644 --- a/deployment/secure_research_desktop/cloud_init/cloud-init-buildimage-ubuntu-1804.mustache.yaml +++ b/deployment/secure_research_desktop/cloud_init/cloud-init-buildimage-ubuntu-1804.mustache.yaml @@ -122,7 +122,7 @@ write_files: - path: "/opt/build/rstudio.debinfo" permissions: "0400" content: | - {{deb-rstudio-bionic.version}} + {{deb-rstudio-focal.version}} - path: "/opt/monitoring/analyse_build.py" permissions: "0755" diff --git a/deployment/secure_research_desktop/cloud_init/cloud-init-buildimage-ubuntu-2004.mustache.yaml b/deployment/secure_research_desktop/cloud_init/cloud-init-buildimage-ubuntu-2004.mustache.yaml index 1cf6facce8..5605e07707 100644 --- a/deployment/secure_research_desktop/cloud_init/cloud-init-buildimage-ubuntu-2004.mustache.yaml +++ b/deployment/secure_research_desktop/cloud_init/cloud-init-buildimage-ubuntu-2004.mustache.yaml @@ -122,7 +122,7 @@ write_files: - path: "/opt/build/rstudio.debinfo" permissions: "0400" content: | - {{deb-rstudio-bionic.version}} + {{deb-rstudio-focal.version}} - path: "/opt/monitoring/analyse_build.py" permissions: "0755" diff --git a/deployment/secure_research_desktop/packages/deb-rstudio-bionic.version b/deployment/secure_research_desktop/packages/deb-rstudio-focal.version similarity index 100% rename from deployment/secure_research_desktop/packages/deb-rstudio-bionic.version rename to deployment/secure_research_desktop/packages/deb-rstudio-focal.version From c41a6453b733a15209600f1801381b3e776d4411 Mon Sep 17 00:00:00 2001 From: jemrobinson Date: Wed, 26 Jul 2023 10:18:58 +0000 Subject: [PATCH 71/71] Update SRD package versions --- .../packages/deb-rstudio-focal.version | 6 +++--- .../packages/deb-rstudio-jammy.version | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/deployment/secure_research_desktop/packages/deb-rstudio-focal.version b/deployment/secure_research_desktop/packages/deb-rstudio-focal.version index e31440658d..fec4214082 100644 --- a/deployment/secure_research_desktop/packages/deb-rstudio-focal.version +++ b/deployment/secure_research_desktop/packages/deb-rstudio-focal.version @@ -1,4 +1,4 @@ -hash: 2e8030828b93751ebc02fbbd6334d62600e7ab12c46d3f087a5222583e436238 -version: 2023.03.1-446 +hash: 49e24a6956f9f12ffeded493f571cd39f3e6c89411fc60d3bb228661793320da +version: 2023.06.1-524 debfile: rstudio-|VERSION|-amd64.deb -remote: https://download1.rstudio.org/electron/bionic/amd64/|DEBFILE| +remote: https://download1.rstudio.org/electron/focal/amd64/|DEBFILE| diff --git a/deployment/secure_research_desktop/packages/deb-rstudio-jammy.version b/deployment/secure_research_desktop/packages/deb-rstudio-jammy.version index ba8c54bc3b..6c96a9ac17 100644 --- a/deployment/secure_research_desktop/packages/deb-rstudio-jammy.version +++ b/deployment/secure_research_desktop/packages/deb-rstudio-jammy.version @@ -1,4 +1,4 @@ -hash: 464038393a380321afb96793f8775852ce75f29340bd5d49a0c7ccbe77e411c0 -version: 2023.03.1-446 +hash: c030ec8338f1c76b3ae27997ec4411a0af43b2367dedb3d48e95c319b5425698 +version: 2023.06.1-524 debfile: rstudio-|VERSION|-amd64.deb remote: https://download1.rstudio.org/electron/jammy/amd64/|DEBFILE|