Skip to content

Commit ab5e710

Browse files
committed
Merge branch 'mount_points' into ansible_vars_file
2 parents 908f608 + 126bb23 commit ab5e710

8 files changed

Lines changed: 39 additions & 39 deletions

File tree

data_safe_haven/resources/workspace/workspace.cloud_init.mustache.yaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,18 @@ write_files:
3232
permissions: "0700"
3333
content: |
3434
#!/usr/bin/env bash
35-
pushd /desired_state
36-
ansible-playbook /desired_state/desired_state.yaml
35+
pushd /var/local/ansible
36+
ansible-playbook desired_state.yaml
3737
popd
3838
3939
mounts:
4040
# Desired state configuration is in a blob container mounted as NFSv3
41-
- ["{{storage_account_desired_state_name}}.blob.core.windows.net:/{{storage_account_desired_state_name}}/desiredstate", /desired_state, nfs, "ro,_netdev,sec=sys,vers=3,nolock,proto=tcp"]
41+
- ["{{storage_account_desired_state_name}}.blob.core.windows.net:/{{storage_account_desired_state_name}}/desiredstate", /var/local/ansible, nfs, "ro,_netdev,sec=sys,vers=3,nolock,proto=tcp"]
4242
# Secure data is in a blob container mounted as NFSv3
43-
- ["{{storage_account_data_private_sensitive_name}}.blob.core.windows.net:/{{storage_account_data_private_sensitive_name}}/ingress", /data, nfs, "ro,_netdev,sec=sys,vers=3,nolock,proto=tcp"]
44-
- ["{{storage_account_data_private_sensitive_name}}.blob.core.windows.net:/{{storage_account_data_private_sensitive_name}}/egress", /output, nfs, "rw,_netdev,sec=sys,vers=3,nolock,proto=tcp"]
43+
- ["{{storage_account_data_private_sensitive_name}}.blob.core.windows.net:/{{storage_account_data_private_sensitive_name}}/ingress", /mnt/input, nfs, "ro,_netdev,sec=sys,vers=3,nolock,proto=tcp"]
44+
- ["{{storage_account_data_private_sensitive_name}}.blob.core.windows.net:/{{storage_account_data_private_sensitive_name}}/egress", /mnt/output, nfs, "rw,_netdev,sec=sys,vers=3,nolock,proto=tcp"]
4545
# User data is in a file share mounted as NFSv4
46-
- ["{{storage_account_data_private_user_name}}.file.core.windows.net:/{{storage_account_data_private_user_name}}/shared", /shared, nfs, "_netdev,sec=sys,nconnect=4"]
46+
- ["{{storage_account_data_private_user_name}}.file.core.windows.net:/{{storage_account_data_private_user_name}}/shared", /mnt/shared, nfs, "_netdev,sec=sys,nconnect=4"]
4747
- ["{{storage_account_data_private_user_name}}.file.core.windows.net:/{{storage_account_data_private_user_name}}/home", /home, nfs, "_netdev,sec=sys,nconnect=4"]
4848

4949
# Add additional apt repositories
@@ -77,11 +77,11 @@ runcmd:
7777
- echo ">=== Mounting all external volumes... ===<"
7878
- grep -v -e '^[[:space:]]*$' /etc/fstab | sed 's|^| /etc/fstab |'
7979
- mount -fav
80-
- while (! mountpoint -q /data); do sleep 5; mount /data; done
81-
- while (! mountpoint -q /desired_state); do sleep 5; mount /desired_state; done
80+
- while (! mountpoint -q /mnt/input); do sleep 5; mount /mnt/input; done
81+
- while (! mountpoint -q /var/local/ansible); do sleep 5; mount /var/local/ansible; done
8282
- while (! mountpoint -q /home); do sleep 5; mount /home; done
83-
- while (! mountpoint -q /output); do sleep 5; mount /output; done
84-
- while (! mountpoint -q /shared); do sleep 5; mount /shared; done
83+
- while (! mountpoint -q /mnt/output); do sleep 5; mount /mnt/output; done
84+
- while (! mountpoint -q /mnt/shared); do sleep 5; mount /mnt/shared; done
8585
- findmnt
8686

8787
# Enable and start desired state timer

docs/source/deployment/security_checklist.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -454,12 +454,12 @@ To minimise the risk of unauthorised access to the dataset while the ingress vol
454454

455455
### Turing configuration setting:
456456

457-
- Research users can write to the `/output` volume.
458-
- A {ref}`role_system_manager` can view and download data in the `/output` volume via `Azure Storage Explorer`.
457+
- Research users can write to the `/mnt/output` volume.
458+
- A {ref}`role_system_manager` can view and download data in the `/mnt/output` volume via `Azure Storage Explorer`.
459459

460460
### Implication:
461461

462-
- SREs contain an `/output` volume, in which SRE users can store data designated for egress.
462+
- SREs contain an `/mnt/output` volume, in which SRE users can store data designated for egress.
463463

464464
### Verify by:
465465

@@ -469,7 +469,7 @@ To minimise the risk of unauthorised access to the dataset while the ingress vol
469469
- Open up a file explorer and search for the various storage volumes
470470

471471
```{attention}
472-
{{white_check_mark}} Verify that: the `/output` volume exists and can be read and written to.
472+
{{white_check_mark}} Verify that: the `/mnt/output` volume exists and can be read and written to.
473473
```
474474

475475
```{attention}
@@ -481,7 +481,7 @@ To minimise the risk of unauthorised access to the dataset while the ingress vol
481481
- As the {ref}`role_system_manager`, follow the instructions in the [project manager documentation](../roles/project_manager/data_egress.md#data-egress-process) on how to access files set for egress with `Azure Storage Explorer`.
482482

483483
```{attention}
484-
{{white_check_mark}} Verify that: you can see the files written to the `/output` storage volume.
484+
{{white_check_mark}} Verify that: you can see the files written to the `/mnt/output` storage volume.
485485
```
486486

487487
```{attention}

docs/source/design/security/reference_configuration.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,12 @@ To minimise the risk of unauthorised access to the dataset while the ingress vol
102102

103103
### Turing configuration setting::
104104

105-
- Users can write to the `/output` volume.
106-
- A {ref}`role_system_manager` can view and download data in the `/output` volume via **Azure Storage Explorer**.
105+
- Users can write to the `/mnt/output` volume.
106+
- A {ref}`role_system_manager` can view and download data in the `/mnt/output` volume via **Azure Storage Explorer**.
107107

108108
### Implication:
109109

110-
- SRE users can mark data as ready for egress approval by placing it in the `/output` volume.
110+
- SRE users can mark data as ready for egress approval by placing it in the `/mnt/output` volume.
111111

112112
## 9. Software ingress
113113

docs/source/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ We have developed:
2727
- A proposed default set of technical security measures for each tier.
2828
- A set of infrastructure-as-code tools which will allow anyone to deploy their own isolated research environment.
2929

30-
If this sounds interesting to you, take a look at our GitHub releases: [![Data Safe Haven releases](https://img.shields.io/static/v1?label=Data%20Safe%20Haven&message=Releases&style=flat&logo=github)](https://github.com/alan-turing-institute/data-safe-haven/releases).
30+
If this sounds interesting to you, take a look at our GitHub releases: [![Data Safe Haven releases](https://img.shields.io/static/v1?label=Data%20Safe%20Haven&message=Releases&style=flat&logo=github)](https://github.com/alan-turing-institute/mnt/input-safe-haven/releases).
3131

3232
## Documentation structure
3333

docs/source/roles/data_provider_representative/data_ingress.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ If you upload this file then researchers will be able to independently verify da
6464
Here are instructions to generate a checksum file using the `md5sum` algorithm for a data set stored in a directory called `data`.
6565

6666
```console
67-
find ./data/ -type fl -exec md5sum {} + > hashes.txt
67+
find ./mnt/input/ -type fl -exec md5sum {} + > hashes.txt
6868
```
6969

7070
`find` searches the `data` directory for files and symbolic links (`-type fl`).

docs/source/roles/researcher/accessing_the_sre.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,5 +175,5 @@ When you are connected to a workspace, you may switch to another by bringing up
175175
:::
176176

177177
:::{tip}
178-
Any files in the **/output/**, **/home/** or **/shared** folders on other workspaces will be available in this workspace too.
178+
Any files in the **/mnt/output/**, **/home/** or **/mnt/shared** folders on other workspaces will be available in this workspace too.
179179
:::

docs/source/roles/researcher/using_the_sre.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ For instance, describing in detail what a dataset contains and how it will be us
5353
SREs are designed to be ephemeral and only deployed for as long as necessary.
5454
It is likely that the infrastructure, and data, will be permanently deleted when work has concluded.
5555

56-
The `/output/` directory is designed for storing output to be kept after a project concludes.
57-
You should move such data to the `/output/` directory and contact your designated contact about data egress.
56+
The `/mnt/output/` directory is designed for storing output to be kept after a project concludes.
57+
You should move such data to the `/mnt/output/` directory and contact your designated contact about data egress.
5858

5959
:::{important}
6060
You are responsible for deciding what is worth archiving.
@@ -63,8 +63,8 @@ You are responsible for deciding what is worth archiving.
6363
While working on the project:
6464

6565
- store all your code in a **Gitea** repository.
66-
- store all resources that might be useful to the rest of the project in the **/shared/** folder.
67-
- store anything that might form an output from the project (_e.g._ images, documents or output datasets) in the **/output/** folder.
66+
- store all resources that might be useful to the rest of the project in the **/mnt/shared/** folder.
67+
- store anything that might form an output from the project (_e.g._ images, documents or output datasets) in the **/mnt/output/** folder.
6868

6969
See {ref}`the section on sharing files <role_researcher_shared_storage>` to find out more about where to store your files.
7070

@@ -244,45 +244,45 @@ Type `yes` to install the packages.
244244

245245
There are several shared folder on each workspace that all collaborators within a research project team can see and access:
246246

247-
- [input data](#input-data): in the **/data/** folder
248-
- [shared space](#shared-space): in the **/shared/** folder
249-
- [output resources](#output-resources): in the **/output/** folder
247+
- [input data](#input-data): in the **/mnt/input/** folder
248+
- [shared space](#shared-space): in the **/mnt/shared/** folder
249+
- [output resources](#output-resources): in the **/mnt/output/** folder
250250

251251
### Input data
252252

253-
Data that has been approved and brought into the secure research environment can be found in the **/data/** folder.
253+
Data that has been approved and brought into the secure research environment can be found in the **/mnt/input/** folder.
254254

255-
- The contents of **/data/** will be identical on all workspaces in your SRE.
255+
- The contents of **/mnt/input/** will be identical on all workspaces in your SRE.
256256
- Everyone working on your project will be able to access it.
257257
- Everyone has **read-only access** to the files stored here.
258258

259-
If you are using the Data Safe Haven as part of an organised event, you might find additional resources in the **/data/** folder, such as example slides or document templates.
259+
If you are using the Data Safe Haven as part of an organised event, you might find additional resources in the **/mnt/input/** folder, such as example slides or document templates.
260260

261261
:::{important}
262-
You will not be able to change any of the files in **/data/**.
263-
If you want to make derived datasets, for example cleaned and reformatted data, please add those to the **/shared/** or **/output/** folders.
262+
You will not be able to change any of the files in **/mnt/input/**.
263+
If you want to make derived datasets, for example cleaned and reformatted data, please add those to the **/mnt/shared/** or **/mnt/output/** folders.
264264
:::
265265

266266
### Shared space
267267

268-
The **/shared/** folder should be used for any work that you want to share with your group.
268+
The **/mnt/shared/** folder should be used for any work that you want to share with your group.
269269

270-
- The contents of **/shared/** will be identical on all workspaces in your SRE.
270+
- The contents of **/mnt/shared/** will be identical on all workspaces in your SRE.
271271
- Everyone working on your project will be able to access it
272272
- Everyone has **read-and-write access** to the files stored here.
273273

274274
### Output resources
275275

276-
Any outputs that you want to extract from the secure environment should be placed in the **/output/** folder on the workspace.
276+
Any outputs that you want to extract from the secure environment should be placed in the **/mnt/output/** folder on the workspace.
277277

278-
- The contents of **/output/** will be identical on all workspaces in your SRE.
278+
- The contents of **/mnt/output/** will be identical on all workspaces in your SRE.
279279
- Everyone working on your project will be able to access it
280280
- Everyone has **read-and-write access** to the files stored here.
281281

282282
Anything placed in here will be considered for data egress - removal from the secure research environment - by the project's principal investigator together with the data provider.
283283

284284
:::{tip}
285-
You may want to consider having subfolders of **/output/** to make the review of this directory easier.
285+
You may want to consider having subfolders of **/mnt/output/** to make the review of this directory easier.
286286
:::
287287

288288
## {{pill}} Version control using Gitea

tests/infrastructure/programs/sre/test_workspaces.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ def test_template_cloudinit(self):
1010
)
1111

1212
assert (
13-
'- ["sadesiredstate.blob.core.windows.net:/sadesiredstate/desiredstate", /desired_state, nfs, "ro,'
13+
'- ["sadesiredstate.blob.core.windows.net:/sadesiredstate/desiredstate", /var/local/ansible, nfs, "ro,'
1414
in cloudinit
1515
)

0 commit comments

Comments
 (0)