Skip to content

Commit cdc1dab

Browse files
committed
commit with tag nightly-24.10.20g
1 parent 3cda0a7 commit cdc1dab

File tree

6 files changed

+53
-18
lines changed

6 files changed

+53
-18
lines changed

.gitignore

+30-9
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,46 @@
1+
# Log files
12
logs/*
2-
rawTopoFile/clab/*
3+
4+
# Raw topology files
35
rawTopoFile/clab/**
46
rawTopoFile/license.txt
57
rawTopoFile/topo-vf-hco-ip-certification.yml
68
rawTopoFile/clab-topoViewerDemo/**
9+
10+
# Configuration files
11+
config/**
12+
13+
# Build artifacts
714
webpack.config.js
815
.babelrc
9-
go_tools/ygot
16+
package-lock.json
17+
package.json
18+
19+
# Go tools
1020
go_tools/ygot/**
21+
22+
# HTML templates
1123
html-static/template/clab/button.tmpl
24+
25+
# Node modules
1226
node_modules/**
27+
28+
# Archive files
1329
_archive/**
30+
31+
# Public HTML files
1432
html-public/**
33+
34+
# Miscellaneous
1535
README-copy.md
1636
README-copy2.md
17-
package-lock.json
18-
package.json
37+
README-02.md
38+
39+
# Cache files
1940
.cache/**
41+
42+
# Clab files
2043
clab-3tierSmall/**
21-
README-02.md
22-
go_topoengine/cmd/*
23-
go_topoengine/cmd/**
24-
config/*
25-
config/**
44+
45+
# Go topoengine command files
46+
go_topoengine/cmd/**

README.md

+21-7
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,29 @@
1-
# Topoviewer
2-
31
## Overview
4-
Yo, listen up! This mind-blowing project is all about hooking you up with the dopest network visualization tool out there. We're talking about taking your topology data and turning it into a sick cytoscape graph model that you can peep using https://js.cytoscape.org. It's like having a virtual eye candy for your network!
52

6-
Now, let's break it down into two rad sections:
3+
[`topoViewer`] is a network visualization tool that converts topology data into a Cytoscape graph model, allowing you to visualize your network using [Cytoscape.js](https://js.cytoscape.org).
4+
5+
The project is divided into two main components:
6+
7+
- **TopoEngine**: Converts topology data (currently supports Container Lab) into a Cytoscape graph model. This component handles the core logic for processing and visualizing network topologies, including parsing topology files and generating visual representations.
8+
9+
- **CloudshellWrapper**: A wrapper for [cloudshell](https://github.com/zephinzer/cloudshell) that provides an Xterm.js frontend connected to a Go backend, allowing you to access your shell via a browser. If CloudshellWrapper is running on the same host as Containerlab, it can also access the nodes of Containerlab through the browser.
10+
11+
> **Note**: Exposing your shell via a browser can be risky. Use at your own risk.
12+
13+
The codebase is organized into several folders with the prefix `go_`, each serving a specific purpose:
14+
15+
- **go_cloudshellwrapper**: Contains the main logic for running [`topoViewer`]. Key files include:
16+
- `cmd/main.go`: The entry point for running [`topoViewer`].
17+
- `cmdClab.go`: Handles CLAB-specific commands.
18+
- `cmdNsp.go`: Handles NSP-specific commands.
19+
- `utils.go`: Contains utility functions such as `createMemoryLog` and `createRequestLog`.
20+
- Additionally, the `clabHandlers` directory contains handlers specific to Containerlab operations.
721

8-
TopoEngine: This bad boy is all about converting your topology data (right now it's Container Lab) into a sick cytoscape graph model. Once translated, you can visualize that bad boy and watch your network come to life.
22+
- **go_topoengine**: Contains the core logic for processing and visualizing network topologies. This includes parsing topology files and generating visual representations.
923

10-
CloudshellWrapper: Here's the deal, we've got a wicked wrapper for https://github.com/zephinzer/cloudshell. It's like having your own personal Xterm.js frontend that connects to a Go backend and gives you a shell right in your browser. Yeah, you heard it right, access your shell using your browser. It's like having a virtual command center at your fingertips. And guess what? If you're running CloudshellWrapper on the same host as containerlab, you can even access the nodes of containerlab through your browser. How cool is that?
24+
- **go_xtermjs**: Integrates `xterm.js` for terminal emulation within the [`topoViewer`]interface. This allows users to interact with the terminal directly from the web interface.
1125

12-
But hey, keep in mind, exposing your shell via a browser can be risky business. We're just putting it out there, so if you decide to dive in, do it at your own risk. Stay rad, my friend!
26+
- **go_tools**: Contains various utility functions and tools used by [`topoViewer`].
1327

1428

1529
## Quickstart

dist/dist.zip

2 Bytes
Binary file not shown.

dist/topoviewer

0 Bytes
Binary file not shown.

go_cloudshellwrapper/constants.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package cloudshellwrapper
22

3-
var VersionInfo string = "nightly-24.10.20f"
3+
var VersionInfo string = "nightly-24.10.20g"
44

55
// create html-public files
66
var HtmlPublicPrefixPath string = "./html-public/"

go_cloudshellwrapper/constants.go.bak

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package cloudshellwrapper
22

3-
var VersionInfo string = "nightly-24.10.20e"
3+
var VersionInfo string = "nightly-24.10.20f"
44

55
// create html-public files
66
var HtmlPublicPrefixPath string = "./html-public/"

0 commit comments

Comments
 (0)