diff --git a/doc-requirements.txt b/doc-requirements.txt index beb14dd9009..2bb66b5d2dc 100644 --- a/doc-requirements.txt +++ b/doc-requirements.txt @@ -9,4 +9,5 @@ sphinx-design sphinx-copybutton sphinx-notfound-page sphinxcontrib.datatemplates +sphinxcontrib-mermaid sphinxcontrib-spelling diff --git a/doc/rtd/conf.py b/doc/rtd/conf.py index 1ca6a85a208..55744abb992 100644 --- a/doc/rtd/conf.py +++ b/doc/rtd/conf.py @@ -44,6 +44,7 @@ "sphinx.ext.autosectionlabel", "sphinx.ext.viewcode", "sphinxcontrib.datatemplates", + "sphinxcontrib.mermaid", "sphinxcontrib.spelling", ] diff --git a/doc/rtd/explanation/boot.rst b/doc/rtd/explanation/boot.rst index 6aff2856b66..89be5174530 100644 --- a/doc/rtd/explanation/boot.rst +++ b/doc/rtd/explanation/boot.rst @@ -11,6 +11,43 @@ There are five stages to boot: 4. Config 5. Final +Visual representation: + +.. mermaid:: + + graph LR + + D[Detect] ---> L + + L --> NU([Network up]) + L & NU --> N + subgraph L[Local] + direction TB + FI[Fetch IMDS] + end + + N --> NO([Network online]) + N & NO --> C + N --> S([SSH]) + N --> Login([Login]) + + subgraph N[Network] + direction TB + cloud_init_modules + end + %% cloud_config_modules + + subgraph C[Config] + direction TB + cloud_config_modules + end + + C --> F + subgraph F[Final] + direction TB + cloud_final_modules + end + .. _boot-Detect: Detect