Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v4.2.0 #1754

Merged
merged 614 commits into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
614 commits
Select commit Hold shift + click to select a range
34a391e
Merge pull request #1698 from alan-turing-institute/srd-package-versions
craddm Jan 9, 2024
c4545d7
Bump jinja2 from 3.1.2 to 3.1.3 in /docs
dependabot[bot] Jan 11, 2024
4dc9189
Merge pull request #1700 from alan-turing-institute/dependabot/pip/do…
JimMadge Jan 12, 2024
ba538b4
Update SRD package versions
JimMadge Jan 12, 2024
52c2658
Merge pull request #1701 from alan-turing-institute/srd-package-versions
JimMadge Jan 12, 2024
90f6cc7
Update PyPI and CRAN allow lists
JimMadge Jan 12, 2024
469d967
Merge pull request #1702 from alan-turing-institute/package-allowlist…
JimMadge Jan 12, 2024
b387d3d
Update PyPI and CRAN allow lists
JimMadge Jan 13, 2024
9ac2359
Merge pull request #1703 from alan-turing-institute/package-allowlist…
JimMadge Jan 15, 2024
fdb9024
Add additional driver for postgres
craddm Jan 15, 2024
0378eba
update driver installation dir to dbeaver install location
craddm Jan 15, 2024
bc0d3b6
Update configs to more recent VM image
craddm Jan 15, 2024
b6d8455
update driver versions
craddm Jan 15, 2024
1b0b914
Merge branch 'develop' into fixing-dbeaver
craddm Jan 15, 2024
c77d28a
fix python linting error
craddm Jan 15, 2024
b35e31a
Merge branch 'fixing-dbeaver' of https://github.com/craddm/data-safe-…
craddm Jan 15, 2024
925aa2b
Update docs with instructions to download db drivers
craddm Jan 16, 2024
fba24c1
update test reference configs
craddm Jan 16, 2024
34594d3
Merge branch 'develop' into entra-id
craddm Jan 16, 2024
5cde7da
update 18.04 and 22.04 mustache files
craddm Jan 16, 2024
16dc315
modify python script for updating dbeaver drivers
craddm Jan 16, 2024
5cf7340
fix python linting
craddm Jan 16, 2024
42ed9fd
fix linting error, modify docstring
craddm Jan 16, 2024
3a915b0
remove trailing whitespace
craddm Jan 16, 2024
a5dc226
Replace Invoke-Expression with call operator
craddm Jan 17, 2024
0edc855
Remove trailing whitespace
craddm Jan 17, 2024
d163674
revert change of field name in configs
craddm Jan 17, 2024
07398a7
update section on migrating shm with Entra references
craddm Jan 17, 2024
e174517
minor typo
craddm Jan 17, 2024
4cecf4b
fix error
craddm Jan 17, 2024
74f08fe
remove trailing whitespace
craddm Jan 17, 2024
4134371
remove extra blank line
craddm Jan 17, 2024
498e772
remove extra backtick
craddm Jan 17, 2024
eed7df2
Merge pull request #1704 from craddm/fixing-dbeaver
craddm Jan 17, 2024
1002a1d
remove additional invoke-expression calls
craddm Jan 18, 2024
133b583
Merge branch 'alan-turing-institute:develop' into platform-path
craddm Jan 18, 2024
3944ccf
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Jan 18, 2024
310eca1
Merge pull request #1705 from craddm/platform-path
craddm Jan 22, 2024
2ee3590
Update PyPI and CRAN allow lists
craddm Jan 22, 2024
fc4dc12
Merge pull request #1706 from alan-turing-institute/package-allowlist…
craddm Jan 22, 2024
dc2179a
Add some additional multi-provider guidance
craddm Jan 22, 2024
497f034
Merge branch 'alan-turing-institute:develop' into multi-prov
craddm Jan 22, 2024
4abb666
fix linting error
craddm Jan 22, 2024
1e077d6
Merge branch 'multi-prov' of https://github.com/craddm/data-safe-have…
craddm Jan 22, 2024
c112f06
move postgres_triggers mustache
craddm Jan 23, 2024
2668485
remove extra bracket
craddm Jan 23, 2024
b6321cd
udpate description of data admins
craddm Jan 23, 2024
c5b9ebb
update description of data administrators
craddm Jan 24, 2024
790b4f3
Add cron job comment command to trigger sysadmin updates
craddm Jan 30, 2024
ae6467f
clarify security groups
craddm Jan 30, 2024
3804c1e
Update SRD package versions
JimMadge Feb 1, 2024
5600650
Merge pull request #1723 from alan-turing-institute/srd-package-versions
craddm Feb 1, 2024
e2f7731
rewrite trigger to correctly pick up non-sysadmins
craddm Feb 1, 2024
36c1a27
add cron job to trigger role updates
craddm Feb 1, 2024
b5e2136
correct file path for clamonacc
craddm Feb 1, 2024
f5a954c
Merge pull request #1725 from craddm/clamav-onacc
JimMadge Feb 1, 2024
f993dd2
modify timing of comment cron job
craddm Feb 1, 2024
f9cb903
Merge branch 'alan-turing-institute:develop' into db-script-correct
craddm Feb 1, 2024
cb7a52c
add tutorial links
craddm Feb 1, 2024
6c9d1d0
Merge branch 'db-script-correct' of https://github.com/craddm/data-sa…
craddm Feb 1, 2024
81a92c6
Update docs/source/roles/system_manager/manage_data.md
craddm Feb 1, 2024
9ae01d9
Update docs/source/roles/system_manager/manage_data.md
craddm Feb 1, 2024
868a6ca
add purge of omsagent to cloud init for build images
craddm Feb 1, 2024
a82649d
Bump apt proxy server disk to 64 Gb
craddm Feb 1, 2024
22325a0
Merge pull request #1707 from craddm/multi-prov
JimMadge Feb 2, 2024
a9da256
Update SRD package versions
JimMadge Feb 2, 2024
aa9ac6a
Merge pull request #1727 from alan-turing-institute/srd-package-versions
craddm Feb 5, 2024
cb005d7
update reference config files to correct size update server
craddm Feb 5, 2024
1e10e7a
Merge branch 'alan-turing-institute:develop' into proxy-disk-size
craddm Feb 5, 2024
cb5f055
Merge pull request #1708 from craddm/db-script-correct
craddm Feb 5, 2024
9708153
Update SRD package versions
craddm Feb 5, 2024
f654d36
add libglpk to apt list for build images
craddm Feb 5, 2024
e149ded
update configs with new vm image
craddm Feb 6, 2024
cbb1720
Merge branch 'alan-turing-institute:develop' into omsagent-change-wor…
craddm Feb 6, 2024
8e544c0
fix linting errors
craddm Feb 6, 2024
c8a6a52
update vm image
craddm Feb 6, 2024
f61f002
Merge pull request #1728 from alan-turing-institute/srd-package-versions
jemrobinson Feb 6, 2024
01725bf
Merge pull request #1726 from craddm/proxy-disk-size
craddm Feb 9, 2024
0423e59
add links to tutorials to user guide, update details of logging in
craddm Feb 12, 2024
bd9e43e
Remove references to Atom
craddm Feb 12, 2024
41bb1c4
Merge branch 'alan-turing-institute:develop' into beginner-guides
craddm Feb 12, 2024
6cb3759
Fix linting error
craddm Feb 12, 2024
2e18ad0
remove whitespace
craddm Feb 12, 2024
b5c0152
Add section on SAS renewal
JimMadge Feb 12, 2024
5d56446
WIP: Add outline script to update SAS tokens
JimMadge Feb 12, 2024
c6190b9
switch to using docker compose v2 as v1 is no longer updated
craddm Feb 13, 2024
dbf3924
update to use latest guacamole (v1.5.4)
craddm Feb 13, 2024
1245c6a
use new docker compose call instead of docker-compose
craddm Feb 13, 2024
87b85ff
update local postgres database and nginx to latest versions
craddm Feb 13, 2024
6993777
Add script to SAS Tokens
JimMadge Feb 13, 2024
69a5996
Use 1.5.4 user guide for guacamole
craddm Feb 13, 2024
7f6678d
Add better xfce links
craddm Feb 13, 2024
75c3e07
use specific commit for onboard_agent.sh
craddm Feb 13, 2024
eb30863
Update deployment/secure_research_desktop/cloud_init/cloud-init-build…
JimMadge Feb 14, 2024
8938620
Merge pull request #1732 from craddm/omsagent-change-workspace
jemrobinson Feb 14, 2024
79c0a48
Merge pull request #1737 from craddm/beginner-guides
JimMadge Feb 14, 2024
b2fbc44
Change sed delimiter from / to |
JimMadge Feb 14, 2024
489ae0d
Correct expression expansion
JimMadge Feb 14, 2024
005dfe1
Restart mount units
JimMadge Feb 14, 2024
afa246b
switch to docker-compose-v2
craddm Feb 14, 2024
e8ea839
update docker versions of codimi and postgres
craddm Feb 14, 2024
20370af
Merge pull request #1741 from craddm/update-guac
JimMadge Feb 15, 2024
9f631d7
Update PyPI and CRAN allow lists
JimMadge Feb 15, 2024
645f1b4
Fix loop syntax
JimMadge Feb 15, 2024
7d524fd
Create SAS policies
JimMadge Feb 15, 2024
348561d
Add loop for each storage container
JimMadge Feb 15, 2024
54da679
Revert "Add loop for each storage container"
JimMadge Feb 15, 2024
bac4760
Merge branch 'alan-turing-institute:develop' into update-codimd-server
craddm Feb 15, 2024
2779200
update reference configs
craddm Feb 15, 2024
243707b
Merge branch 'update-codimd-server' of https://github.com/craddm/data…
craddm Feb 15, 2024
82b48b4
update nginx version
craddm Feb 15, 2024
07c0cb2
update nexus3 version
craddm Feb 15, 2024
4a11f00
update to docker compose v2
craddm Feb 15, 2024
974cbaa
Merge pull request #1742 from alan-turing-institute/package-allowlist…
JimMadge Feb 16, 2024
4aa6e88
Update deployment/safe_haven_management_environment/cloud_init/resour…
craddm Feb 16, 2024
c79e03c
Change nginx container version to 1.25
craddm Feb 16, 2024
54cca98
Merge pull request #1744 from craddm/update-proxies
JimMadge Feb 16, 2024
fbd4530
Merge pull request #1743 from craddm/update-codimd-server
craddm Feb 16, 2024
0af89aa
Move AllowExternalAzureAutomationOperations
JimMadge Feb 19, 2024
2c5b05f
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Feb 19, 2024
4dca4cd
Merge branch 'entra-id' of https://github.com/craddm/data-safe-haven …
craddm Feb 19, 2024
e33a534
add warning about change of name from AAD to Entra
craddm Feb 19, 2024
53a083b
update image
craddm Feb 19, 2024
1e2f8bf
add note about AAD connect name
craddm Feb 19, 2024
76a3672
clarify default vm size
craddm Feb 19, 2024
cfeecbc
add empty line
craddm Feb 19, 2024
1af918f
Loosen firewall rules for DC password reset
JimMadge Feb 20, 2024
5c0e0be
Loosen firewall rules for DC Azure AD operations
JimMadge Feb 20, 2024
0a33e5f
Replace automation IPs with service tag in SHM
JimMadge Feb 20, 2024
1dbddd9
Replace automation IPs with service tag in SRE
JimMadge Feb 20, 2024
68fbef1
Remove automation IPs from configuration
JimMadge Feb 20, 2024
51426b9
Decode base64 in sas tokens script
JimMadge Feb 21, 2024
62b6f87
Convert SAS tokens to base64 for remote script
JimMadge Feb 21, 2024
e9ea538
Correct cmdlet name
JimMadge Feb 21, 2024
c5fca83
Import DataStructures module
JimMadge Feb 21, 2024
452100b
Correct parameter
JimMadge Feb 21, 2024
cda5952
Add more feedback
JimMadge Feb 21, 2024
89bdf72
Use systemctl 🤦
JimMadge Feb 21, 2024
0e00663
Remove AzureMonitor tag from SHM automation rule
JimMadge Feb 21, 2024
04f1fd6
Remove azure automation IPs from test configurations
JimMadge Feb 21, 2024
75549e8
Reformat configuration module
JimMadge Feb 21, 2024
ded528f
Update SRD package versions
JimMadge Feb 22, 2024
f716878
Merge pull request #1746 from alan-turing-institute/srd-package-versions
JimMadge Feb 22, 2024
3acb2c5
Install dev dependencies in container
JimMadge Feb 22, 2024
def711b
Merge pull request #1747 from alan-turing-institute/devcontainer
JimMadge Feb 22, 2024
d24bec4
Update docs/source/deployment/deploy_shm.md
craddm Feb 22, 2024
a417e32
Update docs/source/deployment/deploy_shm.md
craddm Feb 22, 2024
e72e529
Update docs/source/deployment/deploy_shm.md
craddm Feb 22, 2024
2c32671
Update docs/source/deployment/deploy_shm.md
craddm Feb 22, 2024
c6f3fcd
Update docs/source/roles/system_manager/migrate_an_shm.md
craddm Feb 22, 2024
3392dea
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Feb 22, 2024
42f95db
Update docs/source/deployment/deploy_sre.md
craddm Feb 23, 2024
0f74184
Update docs/source/deployment/deploy_sre.md
craddm Feb 23, 2024
77c988e
Update docs/source/deployment/deploy_shm.md
craddm Feb 23, 2024
bffb105
Update docs/source/deployment/deploy_shm.md
craddm Feb 23, 2024
10baba4
Update docs/source/deployment/deploy_shm.md
craddm Feb 23, 2024
f71be3e
Update PyPI and CRAN allow lists
JimMadge Feb 25, 2024
e8d67c7
Merge pull request #1748 from alan-turing-institute/package-allowlist…
JimMadge Feb 26, 2024
4bf24df
add AADConnect snippet
craddm Feb 26, 2024
bb0a192
Use snippet in place of distinct notes
craddm Feb 26, 2024
cc92c3c
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Feb 26, 2024
acc4920
Add force option for Deploy-SasAccessPolicy
JimMadge Feb 26, 2024
652627d
Only update existing SAS policy
JimMadge Feb 27, 2024
a3a9dc2
Rename script
JimMadge Feb 27, 2024
9c2fa95
Update documentation
JimMadge Feb 27, 2024
60cdd28
Update docs/source/deployment/deploy_shm.md
craddm Feb 27, 2024
9bc037b
Add guidance on resizing NFS shares
JimMadge Feb 27, 2024
84b0505
Merge pull request #1749 from alan-turing-institute/full_nfs_guidance
JimMadge Feb 27, 2024
44d4e60
Merge pull request #1665 from craddm/entra-id
JimMadge Feb 27, 2024
891cc2c
Correct protocols
JimMadge Feb 28, 2024
e401efa
Merge pull request #1745 from alan-turing-institute/ips_domains
JimMadge Feb 29, 2024
ce82168
Merge pull request #1739 from alan-turing-institute/sas_renewal
JimMadge Feb 29, 2024
7784fab
Update SRD package versions
JimMadge Feb 29, 2024
fc6e92c
Merge pull request #1750 from alan-turing-institute/srd-package-versions
JimMadge Feb 29, 2024
34494a3
Explicitly allow all ports
craddm Mar 4, 2024
0657647
Remove Jupyter Notebook .desktop file from SRD
JimMadge Mar 5, 2024
cd40d99
Better describe location of macOS instructions
craddm Mar 5, 2024
315217f
Merge branch 'release-v4.2.0' of https://github.com/alan-turing-insti…
craddm Mar 5, 2024
8662dbd
Run CI on PR/push to latest
JimMadge Mar 5, 2024
f4da5aa
:memo: Drop Ed from CODEOWNERS
jemrobinson Mar 5, 2024
06e9b23
Update to powershell 7.4.1
craddm Mar 5, 2024
e168b05
Add check for omsagent workspace link and remove
craddm Mar 8, 2024
d153a42
Remove omsagent deletion step from cloud-init
craddm Mar 11, 2024
f3e890a
Update python versions and packages
craddm Mar 11, 2024
f85c109
add additional space before comment
craddm Mar 11, 2024
9e5b18f
update python packages for 3.12 compatability
craddm Mar 12, 2024
d6c4bf8
Add roadmap file
JimMadge Mar 12, 2024
a4448ba
Add roadmap governance discussion
JimMadge Mar 12, 2024
8076900
Add desired features
JimMadge Mar 12, 2024
a8c9775
Add discussion of short-term goals and milestones
JimMadge Mar 12, 2024
688d460
Add discussion of long-term goals
JimMadge Mar 12, 2024
35d32fe
Rearrange and add extra context
JimMadge Mar 12, 2024
67a4273
Correct heading level
JimMadge Mar 12, 2024
7eed3a8
Add link text
JimMadge Mar 12, 2024
dbdd604
Apply suggestions from code review
JimMadge Mar 13, 2024
4141fc7
Add addon desired feature
JimMadge Mar 14, 2024
d864d95
Update python packages for 3.12 compatibility
craddm Mar 14, 2024
58a85bc
update name of package_updates cloud-init module
craddm Mar 14, 2024
6a775d5
Update SRD package versions
JimMadge Mar 15, 2024
7932203
Merge pull request #1758 from alan-turing-institute/srd-package-versions
JimMadge Mar 15, 2024
c7a6586
Update apt package list to handle renamed/outdated packages
craddm Mar 15, 2024
ce1213d
Apply suggestions from code review
JimMadge Mar 15, 2024
5c3fd84
Hide nginx server version info from http headers
craddm Mar 15, 2024
fba59a2
Update PyPI and CRAN allow lists
JimMadge Mar 19, 2024
5d8f199
Merge pull request #1760 from alan-turing-institute/package-allowlist…
JimMadge Mar 19, 2024
9eaf690
add [dask] installation for `lightgbm` python package
craddm Mar 21, 2024
66aa452
Merge pull request #1757 from alan-turing-institute/roadmap
JimMadge Mar 22, 2024
17e6021
Update PyPI and CRAN allow lists
JimMadge Mar 22, 2024
b03c886
Merge pull request #1761 from alan-turing-institute/package-allowlist…
JimMadge Mar 22, 2024
a79950b
Update environment configs with latest srd image
craddm Mar 25, 2024
1e68bcd
:bug: Select the last Python version from the pyenv list if there are…
jemrobinson Mar 25, 2024
bc4522e
Update supported version
JimMadge Mar 25, 2024
f00de0a
Add v4.2.0 pen test to versioning
JimMadge Mar 25, 2024
d9fac18
Remove reference to MS RDS in release checklist
JimMadge Mar 25, 2024
e3d32bb
Add major release section
JimMadge Mar 25, 2024
d623f4e
Add steps to update documents
JimMadge Mar 25, 2024
1529aaa
Update Azure cli version in dockerfile
craddm Mar 25, 2024
02acf4c
update most recent pwsh version tested in docs
craddm Mar 25, 2024
a6db0ef
Add DSG 2023-12
JimMadge Mar 26, 2024
2bc6c2f
Add DDRC DSG (Exeter)
JimMadge Mar 26, 2024
722f1e0
Correct date
JimMadge Mar 26, 2024
b5a697f
Add production instances
JimMadge Mar 26, 2024
3d3854f
Add September 2023 pen test
JimMadge Mar 26, 2024
af57684
Clarify release checklist
JimMadge Mar 26, 2024
4918a63
Merge pull request #1763 from alan-turing-institute/pen_test
JimMadge Mar 26, 2024
f1158e3
Update security checklist website page
craddm Mar 26, 2024
b60fbe4
remove renamed images
craddm Mar 26, 2024
05dc438
Remove trailing whitespace
craddm Mar 26, 2024
9c209c7
Rename 'Processes' to 'Management'
JimMadge Mar 27, 2024
5533239
Remove data handling and classification pages
JimMadge Mar 27, 2024
7abdf08
Remove dangling references
JimMadge Mar 27, 2024
0a2e74d
Remove processes/management section
JimMadge Mar 27, 2024
f44ec8f
Move data preparation advice to dpr section
JimMadge Mar 27, 2024
58f9d65
Move software approval policy to design/security
JimMadge Mar 27, 2024
34904fc
Move IG and security warnings to new page
JimMadge Mar 27, 2024
c25d97f
Remove referee role
JimMadge Mar 27, 2024
9ce6965
Remove dangling references to referee role page
JimMadge Mar 27, 2024
60e4bb5
Add important usage notes and advice
JimMadge Mar 27, 2024
c8961d6
Rename section
JimMadge Mar 27, 2024
5e5ac21
Tidy list
JimMadge Mar 27, 2024
bfd674d
Remove unexplained references to work packages
JimMadge Mar 28, 2024
9746b3e
Update configs to latest SRD image
craddm Mar 28, 2024
f956f1e
Update reference configs for tests
craddm Mar 28, 2024
b271929
Check references to classification
JimMadge Mar 28, 2024
0a9d037
Update system admin description
craddm Mar 28, 2024
9fcbe4b
Apply suggestions from code review
JimMadge Mar 28, 2024
fbab6b6
Add link to SATRE
JimMadge Mar 28, 2024
dc06f48
Merge pull request #1766 from alan-turing-institute/processes
JimMadge Mar 28, 2024
fa7c1f6
Correct link
JimMadge Mar 28, 2024
73b9344
Merge branch 'develop' into release-v4.2.0
JimMadge Mar 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
598 changes: 598 additions & 0 deletions .all-contributorsrc

Large diffs are not rendered by default.

59 changes: 37 additions & 22 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,49 @@ ARG VARIANT=3.10
FROM python:${VARIANT}-buster

RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends libssl-dev git python3-sphinx

&& apt-get -y install --no-install-recommends apt-transport-https \
ca-certificates \
curl \
git \
gnupg \
libssl-dev \
lsb-release \
python3-sphinx \
sudo

# Set package versions
ARG AZURE_CLI_VERSION="2.42.0"
ARG PWSH_VERSION="7.3.6"

# Set up TARGETARCH variable to use to pull the right binaries for the current architecture.
ARG TARGETARCH
ARG AZURE_CLI_VERSION="2.58.0"
ARG PWSH_VERSION="7.4.1"

# Install Azure-CLI
# Standard install method currently does not support ARM64
# Use pip instead - https://github.com/Azure/azure-cli/issues/22875
RUN pip3 install azure-cli==${AZURE_CLI_VERSION}
# Get Microsoft signing key
RUN sudo mkdir -p /etc/apt/keyrings \
&& curl -sLS https://packages.microsoft.com/keys/microsoft.asc | \
gpg --dearmor | \
sudo tee /etc/apt/keyrings/microsoft.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/microsoft.gpg \
&& AZ_DIST=$(lsb_release -cs) \
&& echo "deb [arch=`dpkg --print-architecture` signed-by=/etc/apt/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/azure-cli/ $AZ_DIST main" | \
sudo tee /etc/apt/sources.list.d/azure-cli.list \
&& sudo apt-get update \
&& sudo apt-get install azure-cli=$AZURE_CLI_VERSION-1~$AZ_DIST

# Install Powershell
# Pull different binaries from Github depending on system architecture
# The standard APT method currently only works for `amd64`
RUN if [ "${TARGETARCH}" = "arm64" ]; \
then \
DEBARCH="arm64"; \
else \
DEBARCH="x86"; \
fi; \
curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v${PWSH_VERSION}/powershell-${PWSH_VERSION}-linux-$DEBARCH.tar.gz \
&& mkdir -p /opt/microsoft/powershell/7 \
&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
&& chmod +x /opt/microsoft/powershell/7/pwsh \
&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
# Set up TARGETARCH variable to use to pull the right binaries for the current architecture.
ARG TARGETARCH
RUN if [ "${TARGETARCH}" = "arm64" ]; \
then \
DEBARCH="arm64"; \
else \
DEBARCH="x86"; \
fi; \
curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v${PWSH_VERSION}/powershell-${PWSH_VERSION}-linux-$DEBARCH.tar.gz \
&& mkdir -p /opt/microsoft/powershell/7 \
&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 \
&& chmod +x /opt/microsoft/powershell/7/pwsh \
&& ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh

# Create non-root user and give them sudo access
ARG USERNAME=deploydsh
Expand All @@ -53,5 +68,5 @@ RUN pip3 install -r /build/requirements.txt
COPY ./deployment/CheckRequirements.ps1 /build/CheckRequirements.ps1
COPY ./deployment/common/Logging.psm1 /build/common/Logging.psm1
RUN pwsh -Command "& {Set-PSRepository -Name PSGallery -InstallationPolicy Trusted}" \
&& pwsh -File /build/CheckRequirements.ps1 -InstallMissing \
&& pwsh -File /build/CheckRequirements.ps1 -InstallMissing -IncludeDev\
&& sudo rm -rf /build/
18 changes: 11 additions & 7 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,17 @@
"context": "..",
"dockerfile": "Dockerfile"
},
"settings": {
"terminal.integrated.defaultProfile.linux": "bash"
"customizations": {
"vscode": {
"settings": {
"terminal.integrated.defaultProfile.linux": "bash"
},
"extensions": [
"github.vscode-pull-request-github",
"ms-vscode.powershell",
"ms-vscode.azure-account"
]
}
},
"extensions": [
"github.vscode-pull-request-github",
"ms-vscode.powershell",
"ms-vscode.azure-account"
],
"remoteUser": "deploydsh"
}
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/release_checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
name: Release checklist
about: Log completion of required actions for release testing
title: "Release: <version number>"
labels: "type: release-candidate"
assignees: ""
---

## :white_check_mark: Checklist

<!--
Before reporting a problem please check the following. Replace the empty checkboxes [ ] below with checked ones [x] accordingly.
-->

Refer to the [Deployment](https://data-safe-haven.readthedocs.io/en/latest/deployment) section of our documentation when completing these steps.

- [ ] Consult the `data-safe-haven/VERSIONING.md` guide and determine the version number of the new release. Record it in the title of this issue.
- [ ] Create a release branch called e.g. `release-v0.0.1`
- [ ] Draft a changelog for the release similar to our previous releases, see https://github.com/alan-turing-institute/data-safe-haven/releases
- [ ] Deploy an SHM from this branch and save a transcript of the deployment logs
- [ ] Build an SRE compute image (SRD) and save transcripts of the logs
- Using the new image, deploy a tier 2 and a tier 3 SRE
- [ ] Save the transcript of your tier 2 SRE deployment
- [ ] Save the transcript of your tier 3 SRE deployment
- [ ] Complete the [Security evaluation checklist](https://data-safe-haven.readthedocs.io/en/latest/deployment/security_checklist.html) from the deployment documentation

### For major releases

- [ ] Confirm that a third party has carried out a full penetration test evaluating:
1. external attack surface
1. ability to exfiltrate data from the system
1. ability to transfer data between SREs
1. ability to escalate privileges on the SRD.

### Update documentation

- [ ] Update supported versions in `SECURITY.md`
- [ ] Update pen test results in `VERSIONING.md`

## :computer: Release information

- **Version number:** _
- **SHM ID:** _
- **T2 SRE ID:** _
- **T3 SRE ID:** _

## :deciduous_tree: Deployment problems

<!--
Keep a record in this issue of problems and fixes implemented during the release process. Be sure to update the changelog if any new commits are added to the release branch.
-->

87 changes: 63 additions & 24 deletions .github/scripts/update_dbeaver_drivers.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,69 @@
from natsort import natsorted
import requests

output = {}
remote_page = requests.get("https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/", allow_redirects=True)
root = html.fromstring(remote_page.content)
output["mssql_jdbc"] = natsorted([v for v in root.xpath("//a[contains(text(), 'jre8/')]/@href") if v != "../"])[-1].replace("/", "")

remote_page = requests.get("https://repo1.maven.org/maven2/org/postgresql/pgjdbc-versions/", allow_redirects=True)
root = html.fromstring(remote_page.content)
output["pgjdbc"] = natsorted([v for v in root.xpath("//a[contains(text(), '/')]/@href") if v != "../"])[-1].replace("/", "")

remote_page = requests.get("https://repo1.maven.org/maven2/org/postgresql/postgresql/", allow_redirects=True)
root = html.fromstring(remote_page.content)
output["postgresql"] = natsorted([v for v in root.xpath("//a[contains(text(), '/')]/@href") if v != "../"])[-1].replace("/", "")

remote_page = requests.get("https://repo1.maven.org/maven2/net/postgis/postgis-jdbc/", allow_redirects=True)
root = html.fromstring(remote_page.content)
postgis_jdbc_versions = natsorted([v for v in root.xpath("//a[contains(text(), '/')]/@href") if v != "../"])

remote_page = requests.get("https://repo1.maven.org/maven2/net/postgis/postgis-geometry/", allow_redirects=True)
root = html.fromstring(remote_page.content)
postgis_geometry_versions = natsorted([v for v in root.xpath("//a[contains(text(), '/')]/@href") if v != "../"])

postgis = natsorted(set(postgis_jdbc_versions).intersection(set(postgis_geometry_versions)))[-1].replace("/", "")
output["postgis_geometry"] = postgis
output["postgis_jdbc"] = postgis

def get_latest_version(url, search_text):
"""
Get latest version number of a database driver from the Maven repository.

Fetches the HTML page at the given URL, then converts it to an lxml tree.
Numeric strings are then extracted.
Note that mostly numeric strings for some drivers contain non-numeric text,
as different driver types exist for those drivers, even where the version number is the same.
The largest (latest) version number of the driver is then returned.

Parameters
----------
url : str
The URL of the Maven repository containing the driver
search_text : str
Text to search for in the repository, to distinguish the driver from other files

Returns
-------
list
The latest available version number of the driver
"""

remote_page = requests.get(url, allow_redirects=True)
root = html.fromstring(remote_page.content)
return natsorted([v for v in root.xpath("//a[contains(text(), '" + search_text + "')]/@href") if v != "../"])[-1].replace("/", "")


drivers = [
{
'name': "mssql_jdbc",
'url': "https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/",
'search_text': "jre8/"
},
{
'name': "pgjdbc",
'url': "https://repo1.maven.org/maven2/org/postgresql/pgjdbc-versions/",
'search_text': "/"
},
{
'name': "postgresql",
'url': "https://repo1.maven.org/maven2/org/postgresql/postgresql/",
'search_text': "/"
},
{
'name': "postgis_geometry",
'url': "https://repo1.maven.org/maven2/net/postgis/postgis-geometry/",
'search_text': "/"
},
{
'name': "postgis_jdbc",
'url': "https://repo1.maven.org/maven2/net/postgis/postgis-jdbc/",
'search_text': "/"
},
{
'name': "waffle_jna",
'url': "https://repo1.maven.org/maven2/com/github/waffle/waffle-jna/",
'search_text': "/"
}
]

output = {driver['name']: get_latest_version(driver['url'], driver['search_text']) for driver in drivers}

with open("deployment/secure_research_desktop/packages/dbeaver-driver-versions.json", "w") as f_out:
f_out.writelines(json.dumps(output, indent=4, sort_keys=True))
4 changes: 2 additions & 2 deletions .github/workflows/documentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ name: Documentation
# Run workflow on pushes to matching branches
on: # yamllint disable-line rule:truthy
push:
branches: [develop]
branches: [develop, latest]
pull_request:
branches: [develop]
branches: [develop, latest]

jobs:
build:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint_code.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ name: Lint code
# Run workflow on pushes to matching branches
on: # yamllint disable-line rule:truthy
push:
branches: [develop]
branches: [develop, latest]
pull_request:
branches: [develop]
branches: [develop, latest]

jobs:
lint_json:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_code.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ name: Test code
# Run workflow on pushes to matching branches
on: # yamllint disable-line rule:truthy
push:
branches: [develop]
branches: [develop, latest]
pull_request:
branches: [develop]
branches: [develop, latest]

jobs:
test_powershell:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update_package_versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:

- name: Update DBeaver driver versions
run: |
python .github/scripts/update_rstudio.py
python .github/scripts/update_dbeaver_drivers.py

- name: Check for changes
shell: bash
Expand Down
3 changes: 2 additions & 1 deletion .lychee.toml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,8 @@ exclude = [
# Exclude these filesystem paths from getting checked.
# exclude_path = ["file/path/to/Ignore", "./other/file/path/to/Ignore"]
exclude_path = [
'docs/build/html/_static/webpack-macros.html'
'docs/build/html/_static/webpack-macros.html',
'docs/build/html/contributing/index.html'
]

# URLs to check (supports regex). Has preference over all excludes.
Expand Down
4 changes: 2 additions & 2 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@
# We only plan to require code owner review for
# 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
/deployment/ @martintoreilly @jemrobinson @JimMadge @craddm
/docs/ @martintoreilly @jemrobinson @JimMadge @craddm
48 changes: 10 additions & 38 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Jump to the following sections:
- [Who's involved in the project](#whos-involved-in-the-project)
- [Make a change with a pull request](#making-a-change-with-a-pull-request)
- [Make a change to the documentation](#making-a-change-to-the-documentation)
- [Adding new contributors](#adding-new-contributors)

## A DevOps development philosophy

Expand Down Expand Up @@ -230,44 +231,15 @@ To preview your changes, you can build the docs locally. See [docs/README.md](do

### Who's involved in the project

As some users have `GitHub` IDs that make it a little difficult to know who they are in real life and it's sometimes nice to know **who** you're working with on the project, hopefully this table will help you put names to faces and IDs :sparkles:

The following people have made one or more commits to the project:

| Name | GitHub ID |
| -------------------- | ---------------------------------------------------------- |
| Daniel Allen | [@sysdan](https://github.com/sysdan) |
| Diego Arenas | [@darenasc](https://github.com/darenasc) |
| David Beavan | [@DavidBeavan](https://github.com/DavidBeavan) |
| Alvaro Cabrejas Egea | [@ACabrejas](https://github.com/ACabrejas) |
| Ian Carter | [@getcarter21](https://github.com/getcarter21) |
| Ed Chalstrey | [@edwardchalstrey1](https://github.com/edwardchalstrey1) |
| Rob Clarke | [@RobC-CTL](https://github.com/RobC-CTL) |
| James Cunningham | [@james-c](https://github.com/james-c) |
| Tom Doel | [@tomdoel](https://github.com/tomdoel) |
| Chris Edsall | [@christopheredsall](https://github.com/christopheredsall) |
| Oliver Forrest | [@oforrest](https://github.com/oforrest) |
| Oscar Giles | [@OscartGiles](https://github.com/OscartGiles) |
| James Hetherington | [@jamespjh](https://github.com/jamespjh) |
| Tim Hobson | [@thobson88](https://github.com/thobson88) |
| George Holmes | [@ens-george-holmes](https://github.com/ens-george-holmes) |
| Catherine Lawrence | [@cathiest](https://github.com/cathiest) |
| Tomas Lazauskas | [@tomaslaz](https://github.com/tomaslaz) |
| Jim Madge | [@JimMadge](https://github.com/JimMadge) |
| Jules Manser | [@JulesMarz](https://github.com/JulesMarz) |
| Miguel Morin | [@miguelmorin](https://github.com/miguelmorin) |
| Federico Nanni | [@fedenanni](https://github.com/fedenanni) |
| Guillaume Noell | [@gn5](https://github.com/gn5) |
| Martin O'Reilly | [@martintoreilly](https://github.com/martintoreilly) |
| Jack Roberts | [@jack89roberts](https://github.com/jack89roberts) |
| James Robinson | [@jemrobinson](https://github.com/jemrobinson) |
| Brett Todd | [@ens-brett-todd](https://github.com/ens-brett-todd) |
| Sebastian Vollmer | [@vollmersj](https://github.com/vollmersj) |
| Ben Walden | [@bw-faststream](https://github.com/bw-faststream) |
| Kirstie Whitaker | [@KirstieJane](https://github.com/KirstieJane) |
| Rachel Winstanley | [@rwinstanley1](https://github.com/rwinstanley1) |
| Warwick Wood | [@warwick26](https://github.com/warwick26) |
| Kevin Xu | [@kevinxufs](https://github.com/kevinxufs) |
Take a look at the full list of contributors on our [README](README.md).

### Adding new contributors

We use @all-contributors to maintain the contributor list on the README, however we do not use the GitHub bot.

You should follow the same instructions as above to [make a change with a pull request](#making-a-change-with-a-pull-request) when adding a new contributor.

To add new contributor to the README table, see the [all-contributors CLI documentation](https://allcontributors.org/docs/en/cli/overview) and use the CLI to add the new contributor, then make a pull request with your changes.

## Get in touch

Expand Down
Loading
Loading