diff --git a/docs/configuration/examples.md b/docs/configuration/examples.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/configuration/index.md b/docs/configuration/index.md new file mode 100644 index 0000000..2028481 --- /dev/null +++ b/docs/configuration/index.md @@ -0,0 +1,33 @@ +# Configuration structure + +All configuration options defined in one YAML file, ex `config.yaml`, that has some sections, represented below. + +## *Server* + +```yaml +Server: + bind_address: '0.0.0.0' + port: 8800 + refresh_time: 20 +``` +**`bind address`** - Ipv4 or DSN for binding http server with metrics + +**`port`** - Port for http server + +**`refresh_time`** (seconds) - Time of updating data in prometheus endpoint. This is independent from collectors of these metrics + +## *Global* +```yaml +Global: + unit: 'ms' +``` +**`unit`** - Unit of Round-Trip-Time (RTT) in collected metrics + +## *Local* +```yaml +Local: + src_addr: '0.0.0.0' + timeout: 1 + ttl: 64 + size: 56 +``` diff --git a/docs/how_it_works.md b/docs/how_it_works.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..e8326cb --- /dev/null +++ b/docs/index.md @@ -0,0 +1,16 @@ +# About + +Easy SLA control system for distributed networks: + +* Docker-based +* Configurated with one YAML file +* No-storage design + +Made with: + +* Python 3.10 +* [Netmiko](https://github.com/ktbyers/netmiko) +* [Pydantic](https://github.com/pydantic/pydantic) +* [Prometheus exporter](https://github.com/prometheus/client_python) + + diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/supported_devices.md b/docs/supported_devices.md new file mode 100644 index 0000000..39d1079 --- /dev/null +++ b/docs/supported_devices.md @@ -0,0 +1,9 @@ +# Supported devices + +| Device |Telnet |SSH | +| ----------------------- |--------------------|--------------------| +|Cisco | :white_check_mark: | :white_check_mark: | +|Juniper | :white_check_mark: | :white_check_mark: | +|Eltex (ESR series) | :no_entry_sign: | :white_check_mark: | +|MT M716 | :no_entry_sign: | :white_check_mark: | +|Potok KM-122 | :no_entry_sign: | :white_check_mark: | diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..d9926f5 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,17 @@ +site_name: SimpleSLA +site_description: Easy and ICMP-based network SLA control system +repo_url: https://github.com/northpowered/SimpleSLA +repo_name: northpowered/SimpleSLA +theme: + name: material + language: en + features: + - navigation.tracking +plugins: + - tags +markdown_extensions: + - tables + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + diff --git a/requirements.txt b/requirements.txt index 3ff6203..2c18f87 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,10 +7,19 @@ cryptography==36.0.1 Deprecated==1.2.13 flake8==5.0.4 future==0.18.2 +ghp-import==2.1.0 googleapis-common-protos==1.54.0 grpcio==1.44.0 +importlib-metadata==4.12.0 +Jinja2==3.1.2 loguru==0.6.0 +Markdown==3.3.7 +MarkupSafe==2.1.1 mccabe==0.7.0 +mergedeep==1.3.4 +mkdocs==1.3.1 +mkdocs-material==8.4.2 +mkdocs-material-extensions==1.0.3 mypy==0.960 mypy-extensions==0.4.3 netmiko==4.1.2 @@ -32,11 +41,15 @@ pycodestyle==2.9.1 pycparser==2.21 pydantic==1.10.1 pyflakes==2.5.0 +Pygments==2.13.0 +pymdown-extensions==9.5 PyNaCl==1.5.0 pyparsing==3.0.6 pyserial==3.5 +python-dateutil==2.8.2 pythonping==1.1.1 PyYAML==6.0 +pyyaml_env_tag==0.1 redis==4.1.0 scp==0.14.2 six==1.16.0 @@ -45,5 +58,7 @@ textfsm==1.1.2 thrift==0.15.0 tomli==2.0.1 typing_extensions==4.1.1 +watchdog==2.1.9 wrapt==1.13.3 yml==0.0.1 +zipp==3.8.1