From 00d89ad94aefb38973ea75f7b5d887da404105a7 Mon Sep 17 00:00:00 2001 From: Pete Crocker Date: Thu, 9 Jan 2025 16:01:11 +0000 Subject: [PATCH] remove orphan file --- docs/docs-demo/step_by_step.mdx | 138 -------------------------------- 1 file changed, 138 deletions(-) delete mode 100644 docs/docs-demo/step_by_step.mdx diff --git a/docs/docs-demo/step_by_step.mdx b/docs/docs-demo/step_by_step.mdx deleted file mode 100644 index 5690c70..0000000 --- a/docs/docs-demo/step_by_step.mdx +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: Step By Step Guide ---- - -import CodeBlock from '@theme/CodeBlock'; -import block1 from '!!raw-loader!./code_snippets/0001_graphql_add_repo.gql'; -import block2 from '!!raw-loader!./code_snippets/0002_shell_run_generator.sh'; - -## Running the demo - -### Requirements - -Please ensure you have installed the [Infrahub docker-compose requirements](https://docs.infrahub.app/guides/installation#docker-compose). - -### Set environmental variables - -```shell -export INFRAHUB_ADDRESS="http://localhost:8000" -export INFRAHUB_API_TOKEN="06438eb2-8019-4776-878c-0941b1f1d1ec" -export CEOS_DOCKER_IMAGE="registry.opsmill.io/external/ceos-image:4.29.0.2F" -export LINUX_HOST_DOCKER_IMAGE="registry.opsmill.io/external/alpine-host:v3.1.1" -``` - -### Install the Infrahub SDK - -```shell -poetry install --no-interaction --no-ansi --no-root -``` - -### Start Infrahub - -```shell -poetry run invoke start -``` - -### Load schema and data into Infrahub - -The `invoke` command will create: - -- Basic data (Account, organization, ASN, Device Type, and Tags) -- Location data (Locations, VLANs, and Prefixes) -- Topology data (Topology, Topology Elements) -- Security data (Policies, rules, objects) - -```shell -poetry run invoke load-schema load-data -``` - -## Demo flow - -### 1. Add the repository into Infrahub via GraphQL - -> [!NOTE] -> Reference the [Infrahub documentation](https://docs.infrahub.app/guides/repository) for the multiple ways this can be done. - - -{block1} - - -### 2. Generate a topology (devices, interfaces, cabling, BGP sessions, ...) - -> [!NOTE] -> The example below creates the topology fra05-pod1 - - -{block2} - - -### 3. Generate a network service in a Topology - -> [!NOTE] -> The example below creates the Layer2 network service and a another Layer3 on topology fra05-pod1 - -```shell -poetry run infrahubctl run generators/generate_network-services.py topology=fra05-pod1 type=layer2 -poetry run infrahubctl run generators/generate_network-services.py topology=fra05-pod1 type=layer3 vrf=production -``` - -### 4. Render artifacts - -Artifact Generation is not currently present in the UI but it's possible to try it out locally : - -> [!NOTE] -> This command will render the artifact define with `device_arista` Transformation, for `fra05-pod1-leaf1` device - -```shell -poetry run infrahubctl render device_arista device=fra05-pod1-leaf1 -``` - -### 5. Try out our pytest plugin - -> [!NOTE] -> The command will use our Infrahub pytest plugin. It will run the different test in the `tests` folder. Those tests included : -> -> - Syntax checks for all the GraphQL Queries -> - Syntax checks for the Checks -> - Syntax checks for all the jinja files used in `templates` -> - will use the input/output file to try out the rendering and confirm there is no unexpected missing piece - -```shell -pytest -v ./tests -``` - -### 6. Create a new Branch - -Create directly a new branch `test` in the UI, or if you prefer to use our SDK in CLI : - -```shell -poetry run infrahubctl branch create test -``` - -### 7. Create new network services and regenerate artifacts in your branch - -> [!NOTE] -> You will be able to see the Diff in the Branch not only about the Data but about the Artifact as well -> You can go back in time to see the Diff on the branch before you create the new services (you can do it `main` after merging the proposed changes too) - -### 8. Create a proposed change - -Using your new branch `test` you will be able to see the Diff in the Proposed Change and you will see the checks / tests in the CI pipeline - -### 9. Try out the topology check - -- Modify an Elements in a Topology (example: increase or decrease the quantity of leaf switches in fra05-pod1) - -- The checks will run in the `Proposed Changes` -> `check_device_topology` will fail. - -### 10. Deploy your environment to Containerlab - -The Containerlab generator automatically generates a Containerlab topology artifact for every topology. Every device has its startup configuration as an artifact. - -```shell -# Download all artifacts automatically to ./generated-configs/ -poetry run python3 scripts/get_configs.py - -# Start Containerlab -sudo -E containerlab deploy -t ./generated-configs/clab/fra05-pod1.yml --reconfigure -```