From ef2c23619de9d318cd54ce82b4ac3e7b485174f3 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 16 Oct 2024 13:52:37 +0000 Subject: [PATCH 01/25] Use sphinxcontrib-typer and install all dependencies for docs environment --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b12c64a3ed..3abf5ad8d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -71,6 +71,7 @@ docs = [ "pydata-sphinx-theme==0.15.4", "sphinx-togglebutton==0.3.2", "sphinx==8.1.3", + "sphinxcontrib-typer==0.5.1", ] lint = [ "ansible-dev-tools==24.9.0", @@ -120,7 +121,6 @@ lock-filename = ".hatch/requirements.txt" [tool.hatch.envs.docs] type = "pip-compile" lock-filename = ".hatch/requirements-docs.txt" -detached = true features = ["docs"] [tool.hatch.envs.docs.scripts] From c9dda0e9e3b8bd0cc9a6f60fa3289df80b542dd7 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 16 Oct 2024 13:54:16 +0000 Subject: [PATCH 02/25] use sphinxcontrib-typer extension and configure sphinx appropriately --- docs/source/conf.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index f262d36dc2..f2d17d4d84 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -5,7 +5,9 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html import datetime import emoji - +import sys +import os +sys.path.insert(0, os.path.abspath(os.path.join("..", ".."))) # -- Project information ----------------------------------------------------- @@ -55,6 +57,7 @@ extensions = [ "myst_parser", "sphinx_togglebutton", + "sphinxcontrib.typer", ] # Add any paths that contain templates here, relative to this directory. From 6e778adb61a54044955febf7cce8b0b4873f3f8e Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:10:11 +0000 Subject: [PATCH 03/25] Add command reference top-level section --- docs/source/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/source/index.md b/docs/source/index.md index 764b06ec38..64588350d7 100644 --- a/docs/source/index.md +++ b/docs/source/index.md @@ -9,6 +9,7 @@ design/index.md deployment/index.md management/index.md roles/index.md +reference/index.md contributing/index.md ::: @@ -42,6 +43,8 @@ You can read them through in order or simply jump to the section that you are mo - If you want to deploy your own Data Safe Haven. - [**Management**](management/index.md) - If you want to manage a Data Safe Haven that you (or someone else) has deployed. +- [**Reference**](reference/index.md) + - If you want details of all the Command Line Interface - [**Roles**](roles/index.md) - Information about the different user roles in the Data Safe Haven. - Instructions and advice for the actions of different user roles. From 7f3b96e822c748254ce68031cb62e24d004e579b Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:13:47 +0000 Subject: [PATCH 04/25] add all commands to reference --- docs/source/reference/index.md | 64 ++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 docs/source/reference/index.md diff --git a/docs/source/reference/index.md b/docs/source/reference/index.md new file mode 100644 index 0000000000..88c5434d57 --- /dev/null +++ b/docs/source/reference/index.md @@ -0,0 +1,64 @@ +# Reference + +## Main command + +:::{typer} data_safe_haven.commands.cli:application +:preferred: text +:prog: dsh +:width: 65 +::: + +## Config commands + +:::{typer} data_safe_haven.commands.config:config_command_group +:width: 65 +:prog: dsh config +:show-nested: +:make-sections: +::: + +## Context commands + +:::{typer} data_safe_haven.commands.context:context_command_group +:width: 65 +:prog: dsh context +:show-nested: +:make-sections: +::: + +## SHM commands + +:::{typer} data_safe_haven.commands.shm:shm_command_group +:width: 65 +:prog: dsh shm +:show-nested: +:make-sections: +::: + +## SRE commands + +:::{typer} data_safe_haven.commands.sre:sre_command_group +:width: 65 +:prog: dsh sre +:show-nested: +:make-sections: +::: + +## User commands + +:::{typer} data_safe_haven.commands.users:users_command_group +:width: 65 +:prog: dsh users +:show-nested: +:make-sections: +::: + + +## Pulumi commands + +:::{typer} data_safe_haven.commands.pulumi:pulumi_command_group +:width: 65 +:prog: dsh pulumi +:show-nested: +:make-sections: +::: \ No newline at end of file From 1827b4d5119dbd240c333ab956e5470a5d4e857e Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:14:01 +0000 Subject: [PATCH 05/25] Add blank line --- docs/source/reference/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/reference/index.md b/docs/source/reference/index.md index 88c5434d57..635a4c4cbd 100644 --- a/docs/source/reference/index.md +++ b/docs/source/reference/index.md @@ -61,4 +61,4 @@ :prog: dsh pulumi :show-nested: :make-sections: -::: \ No newline at end of file +::: From db05b5cab2a5e76f47ad64700435071dc4e1f249 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:23:01 +0000 Subject: [PATCH 06/25] use consistent format for main dsh command --- docs/source/reference/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/reference/index.md b/docs/source/reference/index.md index 635a4c4cbd..c15efe8128 100644 --- a/docs/source/reference/index.md +++ b/docs/source/reference/index.md @@ -3,7 +3,6 @@ ## Main command :::{typer} data_safe_haven.commands.cli:application -:preferred: text :prog: dsh :width: 65 ::: From 15d30c5f88eb221e457f0c14338c3d3d4f173343 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:37:26 +0000 Subject: [PATCH 07/25] use better title --- docs/source/reference/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/reference/index.md b/docs/source/reference/index.md index c15efe8128..b469875780 100644 --- a/docs/source/reference/index.md +++ b/docs/source/reference/index.md @@ -1,6 +1,6 @@ # Reference -## Main command +## `dsh` command line interface :::{typer} data_safe_haven.commands.cli:application :prog: dsh From 68562c62edbf13d34383ceca7ed9650e16690934 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:37:41 +0000 Subject: [PATCH 08/25] update requirements for docs --- .hatch/requirements-docs.txt | 284 ++++++++++++++++++++++++++++++++++- 1 file changed, 280 insertions(+), 4 deletions(-) diff --git a/.hatch/requirements-docs.txt b/.hatch/requirements-docs.txt index e4ac178af1..beaf72b641 100644 --- a/.hatch/requirements-docs.txt +++ b/.hatch/requirements-docs.txt @@ -1,17 +1,125 @@ # # This file is autogenerated by hatch-pip-compile with Python 3.12 # +# - appdirs==1.4.4 +# - azure-core==1.31.0 +# - azure-identity==1.19.0 +# - azure-keyvault-certificates==4.8.0 +# - azure-keyvault-keys==4.9.0 +# - azure-keyvault-secrets==4.8.0 +# - azure-mgmt-compute==33.0.0 +# - azure-mgmt-containerinstance==10.1.0 +# - azure-mgmt-dns==8.1.0 +# - azure-mgmt-keyvault==10.3.1 +# - azure-mgmt-msi==7.0.0 +# - azure-mgmt-rdbms==10.1.0 +# - azure-mgmt-resource==23.1.1 +# - azure-mgmt-storage==21.2.1 +# - azure-storage-blob==12.23.1 +# - azure-storage-file-datalake==12.17.0 +# - azure-storage-file-share==12.19.0 +# - chevron==0.14.0 +# - cryptography==43.0.1 +# - fqdn==1.5.1 +# - psycopg[binary]==3.2.3 +# - pulumi-azure-native==2.66.0 +# - pulumi-azuread==6.0.0 +# - pulumi-random==4.16.6 +# - pulumi==3.136.1 +# - pydantic==2.9.2 +# - pyjwt[crypto]==2.9.0 +# - pytz==2024.2 +# - pyyaml==6.0.2 +# - rich==13.9.2 +# - simple-acme-dns==3.1.0 +# - typer==0.12.5 +# - websocket-client==1.8.0 # - emoji==2.14.0 # - myst-parser==4.0.0 # - pydata-sphinx-theme==0.15.4 # - sphinx-togglebutton==0.3.2 # - sphinx==8.1.3 +# - sphinxcontrib-typer==0.5.1 # accessible-pygments==0.0.5 # via pydata-sphinx-theme +acme==2.10.0 + # via simple-acme-dns alabaster==1.0.0 # via sphinx +annotated-types==0.7.0 + # via pydantic +appdirs==1.4.4 + # via hatch.envs.docs +arpeggio==2.0.2 + # via parver +attrs==24.2.0 + # via parver +azure-common==1.1.28 + # via + # azure-mgmt-compute + # azure-mgmt-containerinstance + # azure-mgmt-dns + # azure-mgmt-keyvault + # azure-mgmt-msi + # azure-mgmt-rdbms + # azure-mgmt-resource + # azure-mgmt-storage +azure-core==1.31.0 + # via + # hatch.envs.docs + # azure-identity + # azure-keyvault-certificates + # azure-keyvault-keys + # azure-keyvault-secrets + # azure-mgmt-core + # azure-storage-blob + # azure-storage-file-datalake + # azure-storage-file-share + # msrest +azure-identity==1.19.0 + # via hatch.envs.docs +azure-keyvault-certificates==4.8.0 + # via hatch.envs.docs +azure-keyvault-keys==4.9.0 + # via hatch.envs.docs +azure-keyvault-secrets==4.8.0 + # via hatch.envs.docs +azure-mgmt-compute==33.0.0 + # via hatch.envs.docs +azure-mgmt-containerinstance==10.1.0 + # via hatch.envs.docs +azure-mgmt-core==1.4.0 + # via + # azure-mgmt-compute + # azure-mgmt-containerinstance + # azure-mgmt-dns + # azure-mgmt-keyvault + # azure-mgmt-msi + # azure-mgmt-rdbms + # azure-mgmt-resource + # azure-mgmt-storage +azure-mgmt-dns==8.1.0 + # via hatch.envs.docs +azure-mgmt-keyvault==10.3.1 + # via hatch.envs.docs +azure-mgmt-msi==7.0.0 + # via hatch.envs.docs +azure-mgmt-rdbms==10.1.0 + # via hatch.envs.docs +azure-mgmt-resource==23.1.1 + # via hatch.envs.docs +azure-mgmt-storage==21.2.1 + # via hatch.envs.docs +azure-storage-blob==12.23.1 + # via + # hatch.envs.docs + # azure-storage-file-datalake +azure-storage-file-datalake==12.17.0 + # via hatch.envs.docs +azure-storage-file-share==12.19.0 + # via hatch.envs.docs babel==2.16.0 # via # pydata-sphinx-theme @@ -19,9 +127,37 @@ babel==2.16.0 beautifulsoup4==4.12.3 # via pydata-sphinx-theme certifi==2024.8.30 - # via requests + # via + # msrest + # requests +cffi==1.17.1 + # via cryptography charset-normalizer==3.4.0 # via requests +chevron==0.14.0 + # via hatch.envs.docs +click==8.1.7 + # via + # typer + # typer-slim +cryptography==43.0.1 + # via + # hatch.envs.docs + # acme + # azure-identity + # azure-keyvault-keys + # azure-storage-blob + # azure-storage-file-share + # josepy + # msal + # pyjwt + # pyopenssl +debugpy==1.8.7 + # via pulumi +dill==0.3.9 + # via pulumi +dnspython==2.6.1 + # via simple-acme-dns docutils==0.21.2 # via # myst-parser @@ -30,41 +166,154 @@ docutils==0.21.2 # sphinx-togglebutton emoji==2.14.0 # via hatch.envs.docs +fqdn==1.5.1 + # via hatch.envs.docs +grpcio==1.66.2 + # via pulumi idna==3.10 # via requests imagesize==1.4.1 # via sphinx +isodate==0.7.2 + # via + # azure-keyvault-certificates + # azure-keyvault-keys + # azure-keyvault-secrets + # azure-mgmt-compute + # azure-mgmt-containerinstance + # azure-mgmt-dns + # azure-mgmt-keyvault + # azure-mgmt-resource + # azure-mgmt-storage + # azure-storage-blob + # azure-storage-file-datalake + # azure-storage-file-share + # msrest jinja2==3.1.4 # via # myst-parser # sphinx +josepy==1.14.0 + # via acme markdown-it-py==3.0.0 # via # mdit-py-plugins # myst-parser + # rich markupsafe==3.0.1 # via jinja2 mdit-py-plugins==0.4.2 # via myst-parser mdurl==0.1.2 # via markdown-it-py +msal==1.31.0 + # via + # azure-identity + # msal-extensions +msal-extensions==1.2.0 + # via azure-identity +msrest==0.7.1 + # via + # azure-mgmt-msi + # azure-mgmt-rdbms myst-parser==4.0.0 # via hatch.envs.docs +oauthlib==3.2.2 + # via requests-oauthlib packaging==24.1 # via # pydata-sphinx-theme # sphinx +parver==0.5 + # via + # pulumi-azure-native + # pulumi-azuread + # pulumi-random +portalocker==2.10.1 + # via msal-extensions +protobuf==4.25.5 + # via pulumi +psycopg==3.2.3 + # via hatch.envs.docs +psycopg-binary==3.2.3 + # via psycopg +pulumi==3.136.1 + # via + # hatch.envs.docs + # pulumi-azure-native + # pulumi-azuread + # pulumi-random +pulumi-azure-native==2.66.0 + # via hatch.envs.docs +pulumi-azuread==6.0.0 + # via hatch.envs.docs +pulumi-random==4.16.6 + # via hatch.envs.docs +pycparser==2.22 + # via cffi +pydantic==2.9.2 + # via hatch.envs.docs +pydantic-core==2.23.4 + # via pydantic pydata-sphinx-theme==0.15.4 # via hatch.envs.docs pygments==2.18.0 # via # accessible-pygments # pydata-sphinx-theme + # rich # sphinx +pyjwt==2.9.0 + # via + # hatch.envs.docs + # msal +pyopenssl==24.2.1 + # via + # acme + # josepy +pyrfc3339==1.1 + # via acme +pytz==2024.2 + # via + # hatch.envs.docs + # acme + # pyrfc3339 pyyaml==6.0.2 - # via myst-parser + # via + # hatch.envs.docs + # myst-parser + # pulumi requests==2.32.3 - # via sphinx + # via + # acme + # azure-core + # msal + # msrest + # requests-oauthlib + # sphinx +requests-oauthlib==2.0.0 + # via msrest +rich==13.9.2 + # via + # hatch.envs.docs + # typer + # typer-slim +semver==2.13.0 + # via + # pulumi + # pulumi-azure-native + # pulumi-azuread + # pulumi-random +shellingham==1.5.4 + # via + # typer + # typer-slim +simple-acme-dns==3.1.0 + # via hatch.envs.docs +six==1.16.0 + # via + # azure-core + # pulumi snowballstemmer==2.2.0 # via sphinx soupsieve==2.6 @@ -75,6 +324,7 @@ sphinx==8.1.3 # myst-parser # pydata-sphinx-theme # sphinx-togglebutton + # sphinxcontrib-typer sphinx-togglebutton==0.3.2 # via hatch.envs.docs sphinxcontrib-applehelp==2.0.0 @@ -89,10 +339,36 @@ sphinxcontrib-qthelp==2.0.0 # via sphinx sphinxcontrib-serializinghtml==2.0.0 # via sphinx +sphinxcontrib-typer==0.5.1 + # via hatch.envs.docs +typer==0.12.5 + # via hatch.envs.docs +typer-slim==0.12.5 + # via sphinxcontrib-typer typing-extensions==4.12.2 - # via pydata-sphinx-theme + # via + # azure-core + # azure-identity + # azure-keyvault-certificates + # azure-keyvault-keys + # azure-keyvault-secrets + # azure-mgmt-compute + # azure-mgmt-keyvault + # azure-storage-blob + # azure-storage-file-datalake + # azure-storage-file-share + # psycopg + # pydantic + # pydantic-core + # pydata-sphinx-theme + # typer + # typer-slim urllib3==2.2.3 # via requests +validators==0.28.3 + # via simple-acme-dns +websocket-client==1.8.0 + # via hatch.envs.docs wheel==0.44.0 # via sphinx-togglebutton From 1a34235692ef06eed02d8395cbc0bc94d47c0c7a Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:40:44 +0000 Subject: [PATCH 09/25] Fix linting --- docs/source/reference/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/reference/index.md b/docs/source/reference/index.md index b469875780..e76787573c 100644 --- a/docs/source/reference/index.md +++ b/docs/source/reference/index.md @@ -52,7 +52,6 @@ :make-sections: ::: - ## Pulumi commands :::{typer} data_safe_haven.commands.pulumi:pulumi_command_group From 4519383d4abf5e4986ad25bac20923a1990cc0d9 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 26 Nov 2024 16:28:57 +0000 Subject: [PATCH 10/25] update requirements-docs --- .hatch/requirements-docs.txt | 110 ++++++++++++++++++++++++----------- 1 file changed, 75 insertions(+), 35 deletions(-) diff --git a/.hatch/requirements-docs.txt b/.hatch/requirements-docs.txt index 1a8db2f195..2a11901466 100644 --- a/.hatch/requirements-docs.txt +++ b/.hatch/requirements-docs.txt @@ -2,37 +2,37 @@ # This file is autogenerated by hatch-pip-compile with Python 3.12 # # - appdirs==1.4.4 -# - azure-core==1.31.0 +# - azure-core==1.32.0 # - azure-identity==1.19.0 -# - azure-keyvault-certificates==4.8.0 -# - azure-keyvault-keys==4.9.0 -# - azure-keyvault-secrets==4.8.0 +# - azure-keyvault-certificates==4.9.0 +# - azure-keyvault-keys==4.10.0 +# - azure-keyvault-secrets==4.9.0 # - azure-mgmt-compute==33.0.0 # - azure-mgmt-containerinstance==10.1.0 -# - azure-mgmt-dns==8.1.0 +# - azure-mgmt-dns==8.2.0 # - azure-mgmt-keyvault==10.3.1 # - azure-mgmt-msi==7.0.0 # - azure-mgmt-rdbms==10.1.0 -# - azure-mgmt-resource==23.1.1 +# - azure-mgmt-resource==23.2.0 # - azure-mgmt-storage==21.2.1 -# - azure-storage-blob==12.23.1 -# - azure-storage-file-datalake==12.17.0 -# - azure-storage-file-share==12.19.0 +# - azure-storage-blob==12.24.0 +# - azure-storage-file-datalake==12.18.0 +# - azure-storage-file-share==12.20.0 # - chevron==0.14.0 -# - cryptography==43.0.1 +# - cryptography==43.0.3 # - fqdn==1.5.1 -# - psycopg[binary]==3.2.3 -# - pulumi-azure-native==2.66.0 -# - pulumi-azuread==6.0.0 -# - pulumi-random==4.16.6 -# - pulumi==3.136.1 -# - pydantic==2.9.2 -# - pyjwt[crypto]==2.9.0 +# - psycopg[binary]==3.1.19 +# - pulumi-azure-native==2.73.1 +# - pulumi-azuread==6.0.1 +# - pulumi-random==4.16.7 +# - pulumi==3.141.0 +# - pydantic==2.10.1 +# - pyjwt[crypto]==2.10.0 # - pytz==2024.2 # - pyyaml==6.0.2 -# - rich==13.9.2 -# - simple-acme-dns==3.1.0 -# - typer==0.12.5 +# - rich==13.9.4 +# - simple-acme-dns==3.2.0 +# - typer==0.13.1 # - websocket-client==1.8.0 # - emoji==2.14.0 # - myst-parser==4.0.0 @@ -66,7 +66,7 @@ azure-common==1.1.28 # azure-mgmt-rdbms # azure-mgmt-resource # azure-mgmt-storage -azure-core==1.31.0 +azure-core==1.32.0 # via # hatch.envs.docs # azure-identity @@ -80,11 +80,11 @@ azure-core==1.31.0 # msrest azure-identity==1.19.0 # via hatch.envs.docs -azure-keyvault-certificates==4.8.0 +azure-keyvault-certificates==4.9.0 # via hatch.envs.docs -azure-keyvault-keys==4.9.0 +azure-keyvault-keys==4.10.0 # via hatch.envs.docs -azure-keyvault-secrets==4.8.0 +azure-keyvault-secrets==4.9.0 # via hatch.envs.docs azure-mgmt-compute==33.0.0 # via hatch.envs.docs @@ -100,7 +100,7 @@ azure-mgmt-core==1.4.0 # azure-mgmt-rdbms # azure-mgmt-resource # azure-mgmt-storage -azure-mgmt-dns==8.1.0 +azure-mgmt-dns==8.2.0 # via hatch.envs.docs azure-mgmt-keyvault==10.3.1 # via hatch.envs.docs @@ -108,17 +108,17 @@ azure-mgmt-msi==7.0.0 # via hatch.envs.docs azure-mgmt-rdbms==10.1.0 # via hatch.envs.docs -azure-mgmt-resource==23.1.1 +azure-mgmt-resource==23.2.0 # via hatch.envs.docs azure-mgmt-storage==21.2.1 # via hatch.envs.docs -azure-storage-blob==12.23.1 +azure-storage-blob==12.24.0 # via # hatch.envs.docs # azure-storage-file-datalake -azure-storage-file-datalake==12.17.0 +azure-storage-file-datalake==12.18.0 # via hatch.envs.docs -azure-storage-file-share==12.19.0 +azure-storage-file-share==12.20.0 # via hatch.envs.docs babel==2.16.0 # via @@ -140,7 +140,7 @@ click==8.1.7 # via # typer # typer-slim -cryptography==43.0.1 +cryptography==43.0.3 # via # hatch.envs.docs # acme @@ -156,7 +156,7 @@ debugpy==1.8.7 # via pulumi dill==0.3.9 # via pulumi -dnspython==2.6.1 +dnspython==2.7.0 # via simple-acme-dns docutils==0.21.2 # via @@ -199,6 +199,7 @@ markdown-it-py==3.0.0 # via # mdit-py-plugins # myst-parser + # rich markupsafe==3.0.2 # via jinja2 mdit-py-plugins==0.4.2 @@ -217,8 +218,41 @@ msrest==0.7.1 # azure-mgmt-rdbms myst-parser==4.0.0 # via hatch.envs.docs +oauthlib==3.2.2 + # via requests-oauthlib packaging==24.2 # via sphinx +parver==0.5 + # via + # pulumi-azure-native + # pulumi-azuread + # pulumi-random +portalocker==2.10.1 + # via msal-extensions +protobuf==4.25.5 + # via pulumi +psycopg==3.1.19 + # via hatch.envs.docs +psycopg-binary==3.1.19 + # via psycopg +pulumi==3.141.0 + # via + # hatch.envs.docs + # pulumi-azure-native + # pulumi-azuread + # pulumi-random +pulumi-azure-native==2.73.1 + # via hatch.envs.docs +pulumi-azuread==6.0.1 + # via hatch.envs.docs +pulumi-random==4.16.7 + # via hatch.envs.docs +pycparser==2.22 + # via cffi +pydantic==2.10.1 + # via hatch.envs.docs +pydantic-core==2.27.1 + # via pydantic pydata-sphinx-theme==0.16.0 # via hatch.envs.docs pygments==2.18.0 @@ -227,7 +261,7 @@ pygments==2.18.0 # pydata-sphinx-theme # rich # sphinx -pyjwt==2.9.0 +pyjwt==2.10.0 # via # hatch.envs.docs # msal @@ -257,7 +291,7 @@ requests==2.32.3 # sphinx requests-oauthlib==2.0.0 # via msrest -rich==13.9.2 +rich==13.9.4 # via # hatch.envs.docs # typer @@ -272,7 +306,7 @@ shellingham==1.5.4 # via # typer # typer-slim -simple-acme-dns==3.1.0 +simple-acme-dns==3.2.0 # via hatch.envs.docs six==1.16.0 # via @@ -305,7 +339,7 @@ sphinxcontrib-serializinghtml==2.0.0 # via sphinx sphinxcontrib-typer==0.5.1 # via hatch.envs.docs -typer==0.12.5 +typer==0.13.1 # via hatch.envs.docs typer-slim==0.12.5 # via sphinxcontrib-typer @@ -317,7 +351,9 @@ typing-extensions==4.12.2 # azure-keyvault-keys # azure-keyvault-secrets # azure-mgmt-compute + # azure-mgmt-dns # azure-mgmt-keyvault + # azure-mgmt-resource # azure-storage-blob # azure-storage-file-datalake # azure-storage-file-share @@ -329,6 +365,10 @@ typing-extensions==4.12.2 # typer-slim urllib3==2.2.3 # via requests +validators==0.34.0 + # via simple-acme-dns +websocket-client==1.8.0 + # via hatch.envs.docs wheel==0.45.1 # via sphinx-togglebutton From 9f0b6a6b876ac7b7a5fd428f7f993f80178e322b Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 27 Nov 2024 15:15:37 +0000 Subject: [PATCH 11/25] Add some brief text at the start of each section --- docs/source/reference/index.md | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/docs/source/reference/index.md b/docs/source/reference/index.md index e76787573c..93faa71c80 100644 --- a/docs/source/reference/index.md +++ b/docs/source/reference/index.md @@ -2,12 +2,17 @@ ## `dsh` command line interface +The `dsh` commands are the entrypoint to the Data Safe Haven command line interface. +All commands begin with `dsh`. + :::{typer} data_safe_haven.commands.cli:application :prog: dsh :width: 65 ::: -## Config commands +## `config` commands + +`config` commands are used to manage the configuration files that define SHMs and SREs. :::{typer} data_safe_haven.commands.config:config_command_group :width: 65 @@ -16,7 +21,9 @@ :make-sections: ::: -## Context commands +## `context` commands + +`context` commands are used to manage the Data Safe Haven contexts, which are the grouping within which a single SHM and its associated SREs are organised. :::{typer} data_safe_haven.commands.context:context_command_group :width: 65 @@ -25,7 +32,9 @@ :make-sections: ::: -## SHM commands +## `shm` commands + +`shm` commands are used to deploy or teardown DSH Safe Haven Management infrastructure :::{typer} data_safe_haven.commands.shm:shm_command_group :width: 65 @@ -34,7 +43,9 @@ :make-sections: ::: -## SRE commands +## `sre` commands + +`sre` commands are used to deploy or teardown the infrastructure for DSH Secure Research Environments :::{typer} data_safe_haven.commands.sre:sre_command_group :width: 65 @@ -43,7 +54,9 @@ :make-sections: ::: -## User commands +## `users` commands + +`users` commands are used to manage users on the Entra ID associated with a DSH deployment. :::{typer} data_safe_haven.commands.users:users_command_group :width: 65 @@ -52,7 +65,7 @@ :make-sections: ::: -## Pulumi commands +## `pulumi` commands :::{typer} data_safe_haven.commands.pulumi:pulumi_command_group :width: 65 From 4792c11d456eeb09163805cf24139f06bfa27c99 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Wed, 27 Nov 2024 15:32:57 +0000 Subject: [PATCH 12/25] Break reference into individual pages --- docs/source/reference/config.md | 10 ++++ docs/source/reference/context.md | 10 ++++ docs/source/reference/index.md | 85 ++++++++++---------------------- docs/source/reference/pulumi.md | 8 +++ docs/source/reference/shm.md | 10 ++++ docs/source/reference/sre.md | 10 ++++ docs/source/reference/users.md | 10 ++++ 7 files changed, 85 insertions(+), 58 deletions(-) create mode 100644 docs/source/reference/config.md create mode 100644 docs/source/reference/context.md create mode 100644 docs/source/reference/pulumi.md create mode 100644 docs/source/reference/shm.md create mode 100644 docs/source/reference/sre.md create mode 100644 docs/source/reference/users.md diff --git a/docs/source/reference/config.md b/docs/source/reference/config.md new file mode 100644 index 0000000000..daffc4e2e8 --- /dev/null +++ b/docs/source/reference/config.md @@ -0,0 +1,10 @@ +# `config` + +`dsh config` commands are used to manage the configuration files that define SHMs and SREs. + +:::{typer} data_safe_haven.commands.config:config_command_group +:width: 65 +:prog: dsh config +:show-nested: +:make-sections: +::: diff --git a/docs/source/reference/context.md b/docs/source/reference/context.md new file mode 100644 index 0000000000..76b72a4ca0 --- /dev/null +++ b/docs/source/reference/context.md @@ -0,0 +1,10 @@ +# `context` + +`dsh context` commands are used to manage the Data Safe Haven contexts, which are the grouping within which a single SHM and its associated SREs are organised. + +:::{typer} data_safe_haven.commands.context:context_command_group +:width: 65 +:prog: dsh context +:show-nested: +:make-sections: +::: diff --git a/docs/source/reference/index.md b/docs/source/reference/index.md index 93faa71c80..d790c7d448 100644 --- a/docs/source/reference/index.md +++ b/docs/source/reference/index.md @@ -1,6 +1,18 @@ # Reference -## `dsh` command line interface +:::{toctree} +:hidden: + +config.md +context.md +users.md +pulumi.md +shm.md +sre.md +::: + +A Data Safe Haven is managed using the `dsh` command line interface. +A full guide to the commands available for managing your Data Safe Haven is provided here. The `dsh` commands are the entrypoint to the Data Safe Haven command line interface. All commands begin with `dsh`. @@ -10,66 +22,23 @@ All commands begin with `dsh`. :width: 65 ::: -## `config` commands - -`config` commands are used to manage the configuration files that define SHMs and SREs. - -:::{typer} data_safe_haven.commands.config:config_command_group -:width: 65 -:prog: dsh config -:show-nested: -:make-sections: -::: - -## `context` commands - -`context` commands are used to manage the Data Safe Haven contexts, which are the grouping within which a single SHM and its associated SREs are organised. - -:::{typer} data_safe_haven.commands.context:context_command_group -:width: 65 -:prog: dsh context -:show-nested: -:make-sections: -::: - -## `shm` commands +The subcommands can be used to manage various aspects of a Data Safe Haven deployment. +For further detail on each subcommand, navigate to the relevant page. -`shm` commands are used to deploy or teardown DSH Safe Haven Management infrastructure +[Config](config.md) +: Management of the configuration files used to define SHMs and SREs -:::{typer} data_safe_haven.commands.shm:shm_command_group -:width: 65 -:prog: dsh shm -:show-nested: -:make-sections: -::: - -## `sre` commands - -`sre` commands are used to deploy or teardown the infrastructure for DSH Secure Research Environments - -:::{typer} data_safe_haven.commands.sre:sre_command_group -:width: 65 -:prog: dsh sre -:show-nested: -:make-sections: -::: - -## `users` commands +[Context](context.md) +: Manage DSH contexts, the groupings that encompass an SHM and its associated SREs -`users` commands are used to manage users on the Entra ID associated with a DSH deployment. +[Users](users.md) +: Management of users in Entra ID -:::{typer} data_safe_haven.commands.users:users_command_group -:width: 65 -:prog: dsh users -:show-nested: -:make-sections: -::: +[Pulumi](pulumi.md) +: An interface to the Pulumi command line interface -## `pulumi` commands +[shm](shm.md) +: Management of infrastructure for DSH Safe Haven Management environments -:::{typer} data_safe_haven.commands.pulumi:pulumi_command_group -:width: 65 -:prog: dsh pulumi -:show-nested: -:make-sections: -::: +[sre](sre.md) +: Management of infrastructure for DSH Secure Research Environments diff --git a/docs/source/reference/pulumi.md b/docs/source/reference/pulumi.md new file mode 100644 index 0000000000..1f5af340c5 --- /dev/null +++ b/docs/source/reference/pulumi.md @@ -0,0 +1,8 @@ +# `pulumi` + +:::{typer} data_safe_haven.commands.pulumi:pulumi_command_group +:width: 65 +:prog: dsh pulumi +:show-nested: +:make-sections: +::: diff --git a/docs/source/reference/shm.md b/docs/source/reference/shm.md new file mode 100644 index 0000000000..0bb9f09105 --- /dev/null +++ b/docs/source/reference/shm.md @@ -0,0 +1,10 @@ +# `shm` + +`dsh shm` commands are used to deploy or teardown DSH Safe Haven Management infrastructure + +:::{typer} data_safe_haven.commands.shm:shm_command_group +:width: 65 +:prog: dsh shm +:show-nested: +:make-sections: +::: diff --git a/docs/source/reference/sre.md b/docs/source/reference/sre.md new file mode 100644 index 0000000000..03e478efe3 --- /dev/null +++ b/docs/source/reference/sre.md @@ -0,0 +1,10 @@ +# `sre` + +`dsh sre` commands are used to deploy or teardown the infrastructure for DSH Secure Research Environments + +:::{typer} data_safe_haven.commands.sre:sre_command_group +:width: 65 +:prog: dsh sre +:show-nested: +:make-sections: +::: diff --git a/docs/source/reference/users.md b/docs/source/reference/users.md new file mode 100644 index 0000000000..9b198ce5ba --- /dev/null +++ b/docs/source/reference/users.md @@ -0,0 +1,10 @@ +# `users` + +`dsh users` commands are used to manage users on the Entra ID associated with a DSH deployment. + +:::{typer} data_safe_haven.commands.users:users_command_group +:width: 65 +:prog: dsh users +:show-nested: +:make-sections: +::: From 668008124f1e1583b9d8184c9af08fa93f0dad45 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 29 Nov 2024 16:05:52 +0000 Subject: [PATCH 13/25] remove path insertion from sphinx config --- docs/source/conf.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index f2d17d4d84..a1e2c34385 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -5,9 +5,7 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html import datetime import emoji -import sys -import os -sys.path.insert(0, os.path.abspath(os.path.join("..", ".."))) + # -- Project information ----------------------------------------------------- From 90d8f01c58467644aba147477d5c37b57cf9a0ce Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 29 Nov 2024 16:06:23 +0000 Subject: [PATCH 14/25] Add description of pulumi function --- docs/source/reference/pulumi.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/source/reference/pulumi.md b/docs/source/reference/pulumi.md index 1f5af340c5..e6cb051860 100644 --- a/docs/source/reference/pulumi.md +++ b/docs/source/reference/pulumi.md @@ -1,5 +1,7 @@ # `pulumi` +The `pulumi` function allows you to run native Pulumi command line functions to interact with an SRE stack + :::{typer} data_safe_haven.commands.pulumi:pulumi_command_group :width: 65 :prog: dsh pulumi From 1b89bf6d0fb397436c4a8c5e51a7a7860c87ea30 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 29 Nov 2024 16:39:14 +0000 Subject: [PATCH 15/25] Change section name to CLI Reference --- docs/source/index.md | 4 ++-- docs/source/reference/index.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/index.md b/docs/source/index.md index 64588350d7..2c3be84b84 100644 --- a/docs/source/index.md +++ b/docs/source/index.md @@ -43,8 +43,8 @@ You can read them through in order or simply jump to the section that you are mo - If you want to deploy your own Data Safe Haven. - [**Management**](management/index.md) - If you want to manage a Data Safe Haven that you (or someone else) has deployed. -- [**Reference**](reference/index.md) - - If you want details of all the Command Line Interface +- [**CLI Reference**](reference/index.md) + - If you want details of all the Command Line Interface commands. - [**Roles**](roles/index.md) - Information about the different user roles in the Data Safe Haven. - Instructions and advice for the actions of different user roles. diff --git a/docs/source/reference/index.md b/docs/source/reference/index.md index d790c7d448..6bcb99fd2e 100644 --- a/docs/source/reference/index.md +++ b/docs/source/reference/index.md @@ -1,4 +1,4 @@ -# Reference +# CLI Reference :::{toctree} :hidden: From 12b599ed0c4bf301e499cfbb36987882b3dc784a Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 29 Nov 2024 16:39:33 +0000 Subject: [PATCH 16/25] Cross reference user commands --- docs/source/management/user.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source/management/user.md b/docs/source/management/user.md index d996321162..337af2302f 100644 --- a/docs/source/management/user.md +++ b/docs/source/management/user.md @@ -7,7 +7,7 @@ You will need a full name, phone number, email address and country for each user ::: 1. You can add users directly in your Entra tenant, following the instructions [here](https://learn.microsoft.com/en-us/entra/fundamentals/how-to-create-delete-users). -1. Alternatively, you can add multiple users from a CSV file with columns named (`GivenName`, `Surname`, `Phone`, `Email`, `CountryCode`). +1. Alternatively, you can use {typer}`dsh users add` to add multiple users from a CSV file with columns named (`GivenName`, `Surname`, `Phone`, `Email`, `CountryCode`). - (Optional) you can provide a `Domain` column if you like but this will otherwise default to the domain of your SHM - {{warning}} **Phone** must be in [E.123 international format](https://en.wikipedia.org/wiki/E.123) - {{warning}} **CountryCode** is the two letter [ISO 3166-1 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) code for the country where the user is based @@ -32,7 +32,7 @@ $ dsh users add PATH_TO_MY_CSV_FILE 1. Browse to **{menuselection}`Groups --> All Groups`** 1. Click on the group named **Data Safe Haven SRE _YOUR\_SRE\_NAME_ Users** 1. Browse to **{menuselection}`Manage --> Members`** from the secondary menu on the left side -- You can do this at the command line by running the following command: +- You can do this at the command line by running `dsh users list`: ```{code} shell $ dsh users list YOUR_SRE_NAME @@ -54,7 +54,7 @@ $ dsh users add PATH_TO_MY_CSV_FILE ## Assign existing users to an SRE 1. You can do this directly in your Entra tenant by adding them to the **Data Safe Haven SRE _YOUR\_SRE\_NAME_ Users** group, following the instructions [here](https://learn.microsoft.com/en-us/entra/fundamentals/groups-view-azure-portal#add-a-group-member). -1. Alternatively, you can add multiple users from the command line: +1. Alternatively, you can add multiple users from the command line using {typer}`dsh users register`: ```{code} shell $ dsh users register YOUR_SRE_NAME -u USERNAME_1 -u USERNAME_2 @@ -69,7 +69,7 @@ $ dsh users add PATH_TO_MY_CSV_FILE ## Manually register users for self-service password reset :::{tip} -Users created via the `dsh users` command line tool will be automatically registered for SSPR. +Users created via the {typer}`dsh users` command line tool will be automatically registered for SSPR. ::: If you have manually created a user and want to enable SSPR, do the following From 5be2d7111c3ea2f5cdc80c02e0f2fcf6d84ea98c Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 29 Nov 2024 16:39:47 +0000 Subject: [PATCH 17/25] cross reference commands in sre management --- docs/source/management/sre.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/source/management/sre.md b/docs/source/management/sre.md index aab94c31a1..fddaa5e135 100644 --- a/docs/source/management/sre.md +++ b/docs/source/management/sre.md @@ -2,13 +2,13 @@ ## List available SRE configurations and deployment status -- Run the following if you want to check what SRE configurations are available in the current context, and whether those SREs are deployed +- Use {typer}`dsh config available` to check what SRE configurations are available in the current context, and whether those SREs are deployed. ```{code} shell $ dsh config available ``` -which will give output like the following +will give output like the following ```{code} shell Available SRE configurations for context 'green': @@ -23,7 +23,7 @@ Available SRE configurations for context 'green': ## Remove a deployed Data Safe Haven -- Run the following if you want to teardown a deployed SRE: +- Use {typer}`dsh sre teardown` to teardown a deployed SRE: ```{code} shell $ dsh sre teardown YOUR_SRE_NAME @@ -37,7 +37,7 @@ Ensure that any desired outputs have been extracted before deleting the SRE. The user groups for the SRE on Microsoft Entra ID will also be deleted. :::: -- Run the following if you want to teardown the deployed SHM: +- Use {typer}`dsh shm teardown` if you want to teardown the deployed SHM: ```{code} shell $ dsh shm teardown @@ -54,7 +54,7 @@ All SREs associated with the SHM should be torn down before the SHM is torn down SREs are modified by updating the configuration then running the deploy command. -- The existing configuration for the SRE can be shown using the following: +- The existing configuration for the SRE can be shown using {typer}`dsh config show`: ```{code} shell $ dsh config show YOUR_SRE_NAME @@ -66,14 +66,14 @@ $ dsh config show YOUR_SRE_NAME $ dsh config show YOUR_SRE_NAME --file YOUR_SRE_NAME.yaml ``` -- Edit the configuration file locally, and upload the new version: +- Edit the configuration file locally, and upload the new version using {typer}`dsh config upload`: ```{code} shell $ dsh config upload YOUR_SRE_NAME.yaml ``` - You will be shown the differences between the existing configuration and the new configuration and asked to confirm that they are correct. -- Finally, deploy your SRE to apply any changes: +- Finally, deploy your SRE using {typer}`dsh sre deploy` to apply any changes: ```{code} shell $ dsh sre deploy YOUR_SRE_NAME From 1f27626365357de5cebb349f8c731438fcdf27d2 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 29 Nov 2024 16:39:57 +0000 Subject: [PATCH 18/25] cross reference commands for SRE deployment --- docs/source/deployment/deploy_sre.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/deployment/deploy_sre.md b/docs/source/deployment/deploy_sre.md index 5a5a5b4166..ebf1aa425a 100644 --- a/docs/source/deployment/deploy_sre.md +++ b/docs/source/deployment/deploy_sre.md @@ -21,6 +21,7 @@ $ az provider register --name Microsoft.Network Each project will have its own dedicated SRE. - Create a configuration file (optionally starting from one of our standard {ref}`policy_classification_sensitivity_tiers`) +- The {typer}`dsh-config-template` command provides template configuration files ::::{admonition} EITHER start from a blank template :class: dropdown note @@ -254,7 +255,7 @@ If you want to make changes to the config, edit this file and then run `dsh conf ## Deployment -- Deploy each SRE individually [approx 30 minutes]: +- Deploy each SRE individually using {typer}`dsh sre deploy` [approx 30 minutes]: :::{code} shell $ dsh sre deploy YOUR_SRE_NAME From b9510518b9624c84bb074ac768cec347f070d09f Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Fri, 29 Nov 2024 16:40:09 +0000 Subject: [PATCH 19/25] cross reference commands for shm deployment --- 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 b26d451bfb..ef6b7090f5 100644 --- a/docs/source/deployment/deploy_shm.md +++ b/docs/source/deployment/deploy_shm.md @@ -54,7 +54,7 @@ Before deploying the Safe Haven Management (SHM) infrastructure you need to deci Use the short name without spaces, _e.g._ **uksouth** not **UK South** ::: -Once you've decided on these, run the following command: [approx 5 minutes]: +Once you've decided on these, run the {typer}`dsh-shm-deploy` command: [approx 5 minutes]: :::{code} shell $ dsh shm deploy --entra-tenant-id YOUR_ENTRA_TENANT_ID \ From bd8024270f247ca2ab03551df270aee9220b78bb Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 3 Dec 2024 14:42:20 +0000 Subject: [PATCH 20/25] update requirements-docs.txt --- .hatch/requirements-docs.txt | 37 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/.hatch/requirements-docs.txt b/.hatch/requirements-docs.txt index 2a11901466..d8350ffbe4 100644 --- a/.hatch/requirements-docs.txt +++ b/.hatch/requirements-docs.txt @@ -19,20 +19,20 @@ # - azure-storage-file-datalake==12.18.0 # - azure-storage-file-share==12.20.0 # - chevron==0.14.0 -# - cryptography==43.0.3 +# - cryptography==44.0.0 # - fqdn==1.5.1 # - psycopg[binary]==3.1.19 -# - pulumi-azure-native==2.73.1 +# - pulumi-azure-native==2.74.0 # - pulumi-azuread==6.0.1 # - pulumi-random==4.16.7 -# - pulumi==3.141.0 -# - pydantic==2.10.1 -# - pyjwt[crypto]==2.10.0 +# - pulumi==3.142.0 +# - pydantic==2.10.2 +# - pyjwt[crypto]==2.10.1 # - pytz==2024.2 # - pyyaml==6.0.2 # - rich==13.9.4 # - simple-acme-dns==3.2.0 -# - typer==0.13.1 +# - typer==0.14.0 # - websocket-client==1.8.0 # - emoji==2.14.0 # - myst-parser==4.0.0 @@ -90,7 +90,7 @@ azure-mgmt-compute==33.0.0 # via hatch.envs.docs azure-mgmt-containerinstance==10.1.0 # via hatch.envs.docs -azure-mgmt-core==1.4.0 +azure-mgmt-core==1.5.0 # via # azure-mgmt-compute # azure-mgmt-containerinstance @@ -140,7 +140,7 @@ click==8.1.7 # via # typer # typer-slim -cryptography==43.0.3 +cryptography==44.0.0 # via # hatch.envs.docs # acme @@ -152,7 +152,7 @@ cryptography==43.0.3 # msal # pyjwt # pyopenssl -debugpy==1.8.7 +debugpy==1.8.9 # via pulumi dill==0.3.9 # via pulumi @@ -206,7 +206,7 @@ mdit-py-plugins==0.4.2 # via myst-parser mdurl==0.1.2 # via markdown-it-py -msal==1.31.0 +msal==1.31.1 # via # azure-identity # msal-extensions @@ -235,13 +235,13 @@ psycopg==3.1.19 # via hatch.envs.docs psycopg-binary==3.1.19 # via psycopg -pulumi==3.141.0 +pulumi==3.142.0 # via # hatch.envs.docs # pulumi-azure-native # pulumi-azuread # pulumi-random -pulumi-azure-native==2.73.1 +pulumi-azure-native==2.74.0 # via hatch.envs.docs pulumi-azuread==6.0.1 # via hatch.envs.docs @@ -249,7 +249,7 @@ pulumi-random==4.16.7 # via hatch.envs.docs pycparser==2.22 # via cffi -pydantic==2.10.1 +pydantic==2.10.2 # via hatch.envs.docs pydantic-core==2.27.1 # via pydantic @@ -261,21 +261,20 @@ pygments==2.18.0 # pydata-sphinx-theme # rich # sphinx -pyjwt==2.10.0 +pyjwt==2.10.1 # via # hatch.envs.docs # msal -pyopenssl==24.2.1 +pyopenssl==24.3.0 # via # acme # josepy -pyrfc3339==1.1 +pyrfc3339==2.0.1 # via acme pytz==2024.2 # via # hatch.envs.docs # acme - # pyrfc3339 pyyaml==6.0.2 # via # hatch.envs.docs @@ -339,9 +338,9 @@ sphinxcontrib-serializinghtml==2.0.0 # via sphinx sphinxcontrib-typer==0.5.1 # via hatch.envs.docs -typer==0.13.1 +typer==0.14.0 # via hatch.envs.docs -typer-slim==0.12.5 +typer-slim==0.14.0 # via sphinxcontrib-typer typing-extensions==4.12.2 # via From 8ef1d8aedc403b6ec1f4c6370e92e6a5300ad7a6 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 3 Dec 2024 14:51:49 +0000 Subject: [PATCH 21/25] Add path back to sphinx configuration --- docs/source/conf.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index a1e2c34385..82a1e4bb0b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -5,7 +5,9 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html import datetime import emoji - +from pathlib import Path +import sys +sys.path.insert(0, Path(__file__).parent.parent.absolute()) # -- Project information ----------------------------------------------------- From 2438b6e9e70e46c0de749b2ccc7b1160824363ff Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:13:37 +0000 Subject: [PATCH 22/25] modify path in 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 82a1e4bb0b..a1fc04ee68 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -7,7 +7,8 @@ import emoji from pathlib import Path import sys -sys.path.insert(0, Path(__file__).parent.parent.absolute()) +sys.path.insert(0, Path(__file__).parents[2].absolute()) +print(sys.path) # -- Project information ----------------------------------------------------- From beab3c765ce113c6f884d33f0de9d5b6afefbc77 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:29:18 +0000 Subject: [PATCH 23/25] modify path --- 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 a1fc04ee68..cd20fee83a 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -7,7 +7,7 @@ import emoji from pathlib import Path import sys -sys.path.insert(0, Path(__file__).parents[2].absolute()) +sys.path.insert(0, Path(__file__).parents[1].absolute()) print(sys.path) # -- Project information ----------------------------------------------------- From b80e78ee84dc63eae37716ae5e22bbb0a5d78b6c Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:43:50 +0000 Subject: [PATCH 24/25] remove path --- docs/source/conf.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index cd20fee83a..a1e2c34385 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -5,10 +5,7 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html import datetime import emoji -from pathlib import Path -import sys -sys.path.insert(0, Path(__file__).parents[1].absolute()) -print(sys.path) + # -- Project information ----------------------------------------------------- From 8a3f1c933843cfcd433b10b4948a52f35db76449 Mon Sep 17 00:00:00 2001 From: Matt Craddock <5796417+craddm@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:44:06 +0000 Subject: [PATCH 25/25] install package on readthedocs --- .readthedocs.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 145d005f83..56f8f2b24f 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -16,6 +16,8 @@ formats: python: install: - requirements: .hatch/requirements-docs.txt + - method: pip + path: . sphinx: configuration: docs/source/conf.py