├── .github ├── dependabot.yml └── workflows │ ├── cicd.yml │ └── release-event.json ├── .gitignore ├── .pre-commit-config.yaml ├── Dockerfile ├── LICENSE ├── README.md ├── docs ├── clab2drawio.md ├── drawio2clab.md ├── grafana.md └── img │ ├── drawio1.png │ ├── grafana.png │ ├── grafana_dark.png │ ├── modern_bright.png │ ├── modern_dark.png │ ├── nokia_bright.png │ ├── nokia_dark.png │ ├── st.clab.drawio.svg │ └── tui.png ├── entrypoint.sh ├── lab-examples ├── anysec.clab.drawio ├── anysec.clab.mod.drawio ├── anysec.clab.mod.yml ├── anysec.clab.yml ├── br01.clab.drawio ├── br01.clab.yml ├── clos01.clab.drawio ├── clos01.clab.yml ├── dci.clab.drawio ├── dci.clab.mod.drawio ├── dci.clab.mod.yml ├── dci.clab.yml ├── hori.clab.drawio ├── hori.clab.yml ├── lab_with_vars.clab.yml ├── special_endpoints.clab.yml ├── sros4.clab.drawio ├── sros4.clab.yml ├── st.clab.drawio ├── st.clab.yml ├── topo_with_sros.clab.drawio └── topo_with_sros.clab.yml ├── pyproject.toml ├── run.sh ├── src └── clab_io_draw │ ├── __init__.py │ ├── clab2drawio.py │ ├── cli │ └── __init__.py │ ├── core │ ├── __init__.py │ ├── config │ │ ├── __init__.py │ │ └── theme_manager.py │ ├── data │ │ ├── __init__.py │ │ ├── graph_level_manager.py │ │ ├── node_link_builder.py │ │ └── topology_loader.py │ ├── diagram │ │ ├── __init__.py │ │ ├── custom_drawio.py │ │ └── diagram_builder.py │ ├── drawio │ │ ├── __init__.py │ │ ├── converter.py │ │ └── drawio_parser.py │ ├── grafana │ │ ├── __init__.py │ │ ├── config │ │ │ ├── __init__.py │ │ │ └── default_grafana_panel_config.yml │ │ ├── grafana_manager.py │ │ └── templates │ │ │ ├── __init__.py │ │ │ └── flow_panel_template.json │ ├── interactivity │ │ ├── __init__.py │ │ ├── interactive_manager.py │ │ ├── style.tcss │ │ └── wizard.tcss │ ├── layout │ │ ├── __init__.py │ │ ├── horizontal_layout.py │ │ ├── layout_manager.py │ │ └── vertical_layout.py │ ├── logging_config.py │ ├── models │ │ ├── __init__.py │ │ ├── link.py │ │ └── node.py │ └── utils │ │ ├── __init__.py │ │ ├── env_expander.py │ │ └── yaml_processor.py │ ├── drawio2clab.py │ └── styles │ ├── __init__.py │ ├── example.yaml │ ├── grafana.yaml │ ├── nokia.yaml │ ├── nokia_modern.yaml │ └── nokia_modern_soft.yaml ├── tests └── test_clab2drawio.py └── uv.lock /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/cicd.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/.github/workflows/cicd.yml -------------------------------------------------------------------------------- /.github/workflows/release-event.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/.github/workflows/release-event.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/README.md -------------------------------------------------------------------------------- /docs/clab2drawio.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/clab2drawio.md -------------------------------------------------------------------------------- /docs/drawio2clab.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/drawio2clab.md -------------------------------------------------------------------------------- /docs/grafana.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/grafana.md -------------------------------------------------------------------------------- /docs/img/drawio1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/img/drawio1.png -------------------------------------------------------------------------------- /docs/img/grafana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/img/grafana.png -------------------------------------------------------------------------------- /docs/img/grafana_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/img/grafana_dark.png -------------------------------------------------------------------------------- /docs/img/modern_bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/img/modern_bright.png -------------------------------------------------------------------------------- /docs/img/modern_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/img/modern_dark.png -------------------------------------------------------------------------------- /docs/img/nokia_bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/img/nokia_bright.png -------------------------------------------------------------------------------- /docs/img/nokia_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/img/nokia_dark.png -------------------------------------------------------------------------------- /docs/img/st.clab.drawio.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/img/st.clab.drawio.svg -------------------------------------------------------------------------------- /docs/img/tui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/docs/img/tui.png -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/entrypoint.sh -------------------------------------------------------------------------------- /lab-examples/anysec.clab.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/anysec.clab.drawio -------------------------------------------------------------------------------- /lab-examples/anysec.clab.mod.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/anysec.clab.mod.drawio -------------------------------------------------------------------------------- /lab-examples/anysec.clab.mod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/anysec.clab.mod.yml -------------------------------------------------------------------------------- /lab-examples/anysec.clab.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/anysec.clab.yml -------------------------------------------------------------------------------- /lab-examples/br01.clab.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/br01.clab.drawio -------------------------------------------------------------------------------- /lab-examples/br01.clab.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/br01.clab.yml -------------------------------------------------------------------------------- /lab-examples/clos01.clab.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/clos01.clab.drawio -------------------------------------------------------------------------------- /lab-examples/clos01.clab.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/clos01.clab.yml -------------------------------------------------------------------------------- /lab-examples/dci.clab.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/dci.clab.drawio -------------------------------------------------------------------------------- /lab-examples/dci.clab.mod.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/dci.clab.mod.drawio -------------------------------------------------------------------------------- /lab-examples/dci.clab.mod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/dci.clab.mod.yml -------------------------------------------------------------------------------- /lab-examples/dci.clab.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/dci.clab.yml -------------------------------------------------------------------------------- /lab-examples/hori.clab.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/hori.clab.drawio -------------------------------------------------------------------------------- /lab-examples/hori.clab.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/hori.clab.yml -------------------------------------------------------------------------------- /lab-examples/lab_with_vars.clab.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/lab_with_vars.clab.yml -------------------------------------------------------------------------------- /lab-examples/special_endpoints.clab.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/special_endpoints.clab.yml -------------------------------------------------------------------------------- /lab-examples/sros4.clab.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/sros4.clab.drawio -------------------------------------------------------------------------------- /lab-examples/sros4.clab.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/sros4.clab.yml -------------------------------------------------------------------------------- /lab-examples/st.clab.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/st.clab.drawio -------------------------------------------------------------------------------- /lab-examples/st.clab.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/st.clab.yml -------------------------------------------------------------------------------- /lab-examples/topo_with_sros.clab.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/topo_with_sros.clab.drawio -------------------------------------------------------------------------------- /lab-examples/topo_with_sros.clab.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/lab-examples/topo_with_sros.clab.yml -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/pyproject.toml -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/run.sh -------------------------------------------------------------------------------- /src/clab_io_draw/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/clab2drawio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/clab2drawio.py -------------------------------------------------------------------------------- /src/clab_io_draw/cli/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/config/theme_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/config/theme_manager.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/data/graph_level_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/data/graph_level_manager.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/data/node_link_builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/data/node_link_builder.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/data/topology_loader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/data/topology_loader.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/diagram/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/diagram/custom_drawio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/diagram/custom_drawio.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/diagram/diagram_builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/diagram/diagram_builder.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/drawio/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/drawio/converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/drawio/converter.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/drawio/drawio_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/drawio/drawio_parser.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/grafana/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/grafana/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/grafana/config/default_grafana_panel_config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/grafana/config/default_grafana_panel_config.yml -------------------------------------------------------------------------------- /src/clab_io_draw/core/grafana/grafana_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/grafana/grafana_manager.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/grafana/templates/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/grafana/templates/flow_panel_template.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/grafana/templates/flow_panel_template.json -------------------------------------------------------------------------------- /src/clab_io_draw/core/interactivity/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/interactivity/interactive_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/interactivity/interactive_manager.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/interactivity/style.tcss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/interactivity/style.tcss -------------------------------------------------------------------------------- /src/clab_io_draw/core/interactivity/wizard.tcss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/interactivity/wizard.tcss -------------------------------------------------------------------------------- /src/clab_io_draw/core/layout/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/layout/horizontal_layout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/layout/horizontal_layout.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/layout/layout_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/layout/layout_manager.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/layout/vertical_layout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/layout/vertical_layout.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/logging_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/logging_config.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/models/link.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/models/link.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/models/node.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/models/node.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/core/utils/env_expander.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/utils/env_expander.py -------------------------------------------------------------------------------- /src/clab_io_draw/core/utils/yaml_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/core/utils/yaml_processor.py -------------------------------------------------------------------------------- /src/clab_io_draw/drawio2clab.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/drawio2clab.py -------------------------------------------------------------------------------- /src/clab_io_draw/styles/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clab_io_draw/styles/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/styles/example.yaml -------------------------------------------------------------------------------- /src/clab_io_draw/styles/grafana.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/styles/grafana.yaml -------------------------------------------------------------------------------- /src/clab_io_draw/styles/nokia.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/styles/nokia.yaml -------------------------------------------------------------------------------- /src/clab_io_draw/styles/nokia_modern.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/styles/nokia_modern.yaml -------------------------------------------------------------------------------- /src/clab_io_draw/styles/nokia_modern_soft.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/src/clab_io_draw/styles/nokia_modern_soft.yaml -------------------------------------------------------------------------------- /tests/test_clab2drawio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/tests/test_clab2drawio.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srl-labs/clab-io-draw/HEAD/uv.lock --------------------------------------------------------------------------------