From c7807c7269e89e46dc5c95ae09124598347fb6db Mon Sep 17 00:00:00 2001 From: Yax <1949284+kianby@users.noreply.github.com> Date: Sat, 18 Dec 2021 22:00:06 +0100 Subject: [PATCH] draft network diag --- README.md | 4 + __doc__/nwdiag.diag | 61 +++++++++ __doc__/nwdiag.png | Bin 0 -> 34126 bytes __doc__/poetry.lock | 272 +++++++++++++++++++++++++++++++++++++++++ __doc__/pyproject.toml | 16 +++ 5 files changed, 353 insertions(+) create mode 100644 __doc__/nwdiag.diag create mode 100644 __doc__/nwdiag.png create mode 100644 __doc__/poetry.lock create mode 100644 __doc__/pyproject.toml diff --git a/README.md b/README.md index 08b05a3..cff9db5 100644 --- a/README.md +++ b/README.md @@ -11,3 +11,7 @@ docker-compose () $DOCKER_COMPOSE_BIN $(find -name 'docker-compose*.yml' -type f -perm -u+x -printf '%p\t%d\n' 2>/dev/null | sort -n -k2 | cut -f 1 | awk '{print "-f "$0}') $@ } ``` + +Schéma réseau : + +![schéma réseau](__doc__/nwdiag.png) \ No newline at end of file diff --git a/__doc__/nwdiag.diag b/__doc__/nwdiag.diag new file mode 100644 index 0000000..301d86c --- /dev/null +++ b/__doc__/nwdiag.diag @@ -0,0 +1,61 @@ +nwdiag { + inet [shape = cloud]; + inet -- router; + + network dmz { + address = "10.254.x.x/24" + router; + traefik [address = "10.254.x.1"]; + nginx-streaming [address = "10.254.x.2"]; + } + + network baikal-frontend { + address = "10.10.x.0/24" + traefik [address = "10.254.x.1"]; + baikal [address = "10.10.x.1"]; + } + + network blog-frontend { + address = "10.11.x.0/24" + traefik [address = "10.254.x.1"]; + blog [address = "10.11.x.1"]; + } + + network blog-backend { + address = "10.21.x.0/24" + blog [address = "10.21.x.1"]; + stacosys [address = "10.21.x.2"]; + } + + network deluge-frontend { + address = "10.12.x.0/24" + traefik [address = "10.254.x.1"]; + deluge [address = "10.12.x.1"]; + } + + network dokuwiki-frontend { + address = "10.13.x.0/24" + traefik [address = "10.254.x.1"]; + dokuwiki [address = "10.13.x.1"]; + } + + network glances-frontend { + address = "10.14.x.0/24" + traefik [address = "10.254.x.1"]; + glances [address = "10.14.x.1"]; + } +} + + +// netdata-frontend: +// netdata-backend: +// photo-frontend: +// photo-backend: +// portainer-frontend +// posteio-frontend: +// seafile-frontend: +// seafile-backend: +// selfoss-frontend +// shaarli-frontend: +// wallabag-frontend: +// wwww-frontend: \ No newline at end of file diff --git a/__doc__/nwdiag.png b/__doc__/nwdiag.png new file mode 100644 index 0000000000000000000000000000000000000000..346833d96e7986f4e80327b239e70cb8da605f68 GIT binary patch literal 34126 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.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"] +docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"] + +[[package]] +name = "blockdiag" +version = "3.0.0" +description = "blockdiag generates block-diagram image from text" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +funcparserlib = ">=1.0.0a0" +Pillow = ">3.0" +webcolors = "*" + +[package.extras] +pdf = ["reportlab"] +rst = ["docutils"] +testing = ["nose", "flake8", "flake8-coding", "flake8-copyright", "flake8-isort", "reportlab", "docutils"] + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "funcparserlib" +version = "1.0.0a0" +description = "Recursive descent parsing library based on functional combinators" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" + +[[package]] +name = "more-itertools" +version = "8.12.0" +description = "More routines for operating on iterables, beyond itertools" +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "nwdiag" +version = "3.0.0" +description = "nwdiag generates network-diagram image from text" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +blockdiag = ">=3.0.0" + +[package.extras] +pdf = ["reportlab"] +rst = ["docutils"] +testing = ["nose", "pep8 (>=1.3)", "flake8", "flake8-coding", "flake8-copyright", "flake8-isort", "reportlab", "docutils"] + +[[package]] +name = "packaging" +version = "21.3" +description = "Core utilities for Python packages" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" + +[[package]] +name = "pillow" +version = "8.4.0" +description = "Python Imaging Library (Fork)" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "pluggy" +version = "0.13.1" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.extras] +dev = ["pre-commit", "tox"] + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "pyparsing" +version = "3.0.6" +description = "Python parsing module" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pytest" +version = "5.4.3" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=17.4.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +more-itertools = ">=4.0.0" +packaging = "*" +pluggy = ">=0.12,<1.0" +py = ">=1.5.0" +wcwidth = "*" + +[package.extras] +checkqa-mypy = ["mypy (==v0.761)"] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + +[[package]] +name = "wcwidth" +version = "0.2.5" +description = "Measures the displayed width of unicode strings in a terminal" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "webcolors" +version = "1.11.1" +description = "A library for working with color names and color values formats defined by HTML and CSS." +category = "main" +optional = false +python-versions = ">=3.5," + +[metadata] +lock-version = "1.1" +python-versions = "^3.9" +content-hash = "fe015acce0fbf3644be4807b9c0484d95c2bbb57fc1b09e08e3634ee78491990" + +[metadata.files] +atomicwrites = [ + {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, + {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, +] +attrs = [ + {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"}, + {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"}, +] +blockdiag = [ + {file = "blockdiag-3.0.0-py3-none-any.whl", hash = "sha256:4031bfae6a7f36071d733dec639987346e10f7871356ee2c7a221961c64961d8"}, + {file = "blockdiag-3.0.0.tar.gz", hash = "sha256:dee4195bb87d23654546ba2bf5091480dbf253b409891fce2cd527c91d00a3e2"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, +] +funcparserlib = [ + {file = "funcparserlib-1.0.0a0-py2.py3-none-any.whl", hash = "sha256:a5ca025aaec28ae19956556260f5e0f28b0d851863e7982a0daf238161e33752"}, + {file = "funcparserlib-1.0.0a0.tar.gz", hash = "sha256:e6fb432a9276078eee71813a59089fd8c4f3e81f183b4ce8b8b4734d0b2faa2a"}, +] +more-itertools = [ + {file = "more-itertools-8.12.0.tar.gz", hash = "sha256:7dc6ad46f05f545f900dd59e8dfb4e84a4827b97b3cfecb175ea0c7d247f6064"}, + {file = "more_itertools-8.12.0-py3-none-any.whl", hash = "sha256:43e6dd9942dffd72661a2c4ef383ad7da1e6a3e968a927ad7a6083ab410a688b"}, +] +nwdiag = [ + {file = "nwdiag-3.0.0-py3-none-any.whl", hash = "sha256:549cab5400ca33b8c05ea119414fa41e6bd85be222ba524418c2c176eea87e80"}, + {file = "nwdiag-3.0.0.tar.gz", hash = "sha256:e267530fcaac8a1d9e7403048597ed30e031e17f0191569dc6f704087bacb2eb"}, +] +packaging = [ + {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, + {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, +] +pillow = [ + {file = "Pillow-8.4.0-cp310-cp310-macosx_10_10_universal2.whl", hash = "sha256:81f8d5c81e483a9442d72d182e1fb6dcb9723f289a57e8030811bac9ea3fef8d"}, + {file = "Pillow-8.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3f97cfb1e5a392d75dd8b9fd274d205404729923840ca94ca45a0af57e13dbe6"}, + {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb9fc393f3c61f9054e1ed26e6fe912c7321af2f41ff49d3f83d05bacf22cc78"}, + {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d82cdb63100ef5eedb8391732375e6d05993b765f72cb34311fab92103314649"}, + {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62cc1afda735a8d109007164714e73771b499768b9bb5afcbbee9d0ff374b43f"}, + {file = "Pillow-8.4.0-cp310-cp310-win32.whl", hash = "sha256:e3dacecfbeec9a33e932f00c6cd7996e62f53ad46fbe677577394aaa90ee419a"}, + {file = "Pillow-8.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:620582db2a85b2df5f8a82ddeb52116560d7e5e6b055095f04ad828d1b0baa39"}, + {file = "Pillow-8.4.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:1bc723b434fbc4ab50bb68e11e93ce5fb69866ad621e3c2c9bdb0cd70e345f55"}, + {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72cbcfd54df6caf85cc35264c77ede902452d6df41166010262374155947460c"}, + {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70ad9e5c6cb9b8487280a02c0ad8a51581dcbbe8484ce058477692a27c151c0a"}, + {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25a49dc2e2f74e65efaa32b153527fc5ac98508d502fa46e74fa4fd678ed6645"}, + {file = "Pillow-8.4.0-cp36-cp36m-win32.whl", hash = "sha256:93ce9e955cc95959df98505e4608ad98281fff037350d8c2671c9aa86bcf10a9"}, + {file = "Pillow-8.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2e4440b8f00f504ee4b53fe30f4e381aae30b0568193be305256b1462216feff"}, + {file = "Pillow-8.4.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:8c803ac3c28bbc53763e6825746f05cc407b20e4a69d0122e526a582e3b5e153"}, + {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8a17b5d948f4ceeceb66384727dde11b240736fddeda54ca740b9b8b1556b29"}, + {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1394a6ad5abc838c5cd8a92c5a07535648cdf6d09e8e2d6df916dfa9ea86ead8"}, + {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:792e5c12376594bfcb986ebf3855aa4b7c225754e9a9521298e460e92fb4a488"}, + {file = "Pillow-8.4.0-cp37-cp37m-win32.whl", hash = "sha256:d99ec152570e4196772e7a8e4ba5320d2d27bf22fdf11743dd882936ed64305b"}, + {file = "Pillow-8.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:7b7017b61bbcdd7f6363aeceb881e23c46583739cb69a3ab39cb384f6ec82e5b"}, + {file = "Pillow-8.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:d89363f02658e253dbd171f7c3716a5d340a24ee82d38aab9183f7fdf0cdca49"}, + {file = "Pillow-8.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a0956fdc5defc34462bb1c765ee88d933239f9a94bc37d132004775241a7585"}, + {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b7bb9de00197fb4261825c15551adf7605cf14a80badf1761d61e59da347779"}, + {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72b9e656e340447f827885b8d7a15fc8c4e68d410dc2297ef6787eec0f0ea409"}, + {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5a4532a12314149d8b4e4ad8ff09dde7427731fcfa5917ff16d0291f13609df"}, + {file = "Pillow-8.4.0-cp38-cp38-win32.whl", hash = "sha256:82aafa8d5eb68c8463b6e9baeb4f19043bb31fefc03eb7b216b51e6a9981ae09"}, + {file = "Pillow-8.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:066f3999cb3b070a95c3652712cffa1a748cd02d60ad7b4e485c3748a04d9d76"}, + {file = "Pillow-8.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:5503c86916d27c2e101b7f71c2ae2cddba01a2cf55b8395b0255fd33fa4d1f1a"}, + {file = "Pillow-8.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4acc0985ddf39d1bc969a9220b51d94ed51695d455c228d8ac29fcdb25810e6e"}, + {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b052a619a8bfcf26bd8b3f48f45283f9e977890263e4571f2393ed8898d331b"}, + {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:493cb4e415f44cd601fcec11c99836f707bb714ab03f5ed46ac25713baf0ff20"}, + {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8831cb7332eda5dc89b21a7bce7ef6ad305548820595033a4b03cf3091235ed"}, + {file = "Pillow-8.4.0-cp39-cp39-win32.whl", hash = "sha256:5e9ac5f66616b87d4da618a20ab0a38324dbe88d8a39b55be8964eb520021e02"}, + {file = "Pillow-8.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:3eb1ce5f65908556c2d8685a8f0a6e989d887ec4057326f6c22b24e8a172c66b"}, + {file = "Pillow-8.4.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:ddc4d832a0f0b4c52fff973a0d44b6c99839a9d016fe4e6a1cb8f3eea96479c2"}, + {file = "Pillow-8.4.0-pp36-pypy36_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a3e5ddc44c14042f0844b8cf7d2cd455f6cc80fd7f5eefbe657292cf601d9ad"}, + {file = "Pillow-8.4.0-pp36-pypy36_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c70e94281588ef053ae8998039610dbd71bc509e4acbc77ab59d7d2937b10698"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:3862b7256046fcd950618ed22d1d60b842e3a40a48236a5498746f21189afbbc"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a4901622493f88b1a29bd30ec1a2f683782e57c3c16a2dbc7f2595ba01f639df"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84c471a734240653a0ec91dec0996696eea227eafe72a33bd06c92697728046b"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:244cf3b97802c34c41905d22810846802a3329ddcb93ccc432870243211c79fc"}, + {file = "Pillow-8.4.0.tar.gz", hash = "sha256:b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed"}, +] +pluggy = [ + {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, + {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, +] +py = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] +pyparsing = [ + {file = "pyparsing-3.0.6-py3-none-any.whl", hash = "sha256:04ff808a5b90911829c55c4e26f75fa5ca8a2f5f36aa3a51f68e27033341d3e4"}, + {file = "pyparsing-3.0.6.tar.gz", hash = "sha256:d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81"}, +] +pytest = [ + {file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"}, + {file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"}, +] +wcwidth = [ + {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, + {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, +] +webcolors = [ + {file = "webcolors-1.11.1-py3-none-any.whl", hash = "sha256:b8cd5d865a25c51ff1218f0c90d0c0781fc64312a49b746b320cf50de1648f6e"}, + {file = "webcolors-1.11.1.tar.gz", hash = "sha256:76f360636957d1c976db7466bc71dcb713bb95ac8911944dffc55c01cb516de6"}, +] diff --git a/__doc__/pyproject.toml b/__doc__/pyproject.toml new file mode 100644 index 0000000..8ee1988 --- /dev/null +++ b/__doc__/pyproject.toml @@ -0,0 +1,16 @@ +[tool.poetry] +name = "doc" +version = "0.1.0" +description = "" +authors = ["Yax"] + +[tool.poetry.dependencies] +python = "^3.9" +nwdiag = "^3.0.0" + +[tool.poetry.dev-dependencies] +pytest = "^5.2" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api"