地形依赖图的交互式可视化
BlastRadius的Python项目详细描述
#爆炸半径
[![PYPI版本](https://badge.fury.io/py/blastradius.svg)](https://badge.fury.io/py/blastradius)![Circleci](https://img.shields.io/Circleci/project/github/28mm/blast radius.svg)
*blast radius*是一个用于推理带有交互式可视化的*terraform*依赖关系图的工具。使用*blast radius*来:
**并评估对其所做的更改。
<;img src="doc/blast radius interactive.png">;
**interactive**与此图表(以及许多其他图表)[此处](https://28mm.github.io/blast radius docs/)。
quickstart
并通过系统的包管理器*graphviz*。
```bash
[…]$pip3安装blast radius
[…]$brew安装graphviz
`````
point*blast radius*在一个"init ed`*terraform*项目上,与浏览器连接。
``bash
[…]$blast radius--serve/path/to/terraform project
*运行在http://127.0.0.1:5000/(按ctrl+c退出)
````
docker
*或者*,可以在docker容器中启动*blast radius*。(在本例中,当前工作目录包含一个*terraform*项目。)
``bash
[…]$docker run--cap add=sys_admin-it--rm-p 5000:5000-v$(pwd):/workdir:ro 28mm/blast radius
```
*请注意*:因为terraform将模块链接保存为_.terraform/modules/<;uuid>;\u我们以只读方式装载主机的文件系统,并强制terraform在开始时更新模块路径。这样我们就不会干扰真正的项目。因此,Docker必须使用"--cap add=sys_admin"标志运行,才能使用[overlayfs](https://wiki.archlinux.org/index.php/overlay_文件系统)请参阅[Docker的文档](https://docs.docker.com/engine/reference/run/运行时特权和Linux功能)。
*附加说明*:
用堆栈和模块组织Terraform目录,请从根目录调用*blast radius*,并将堆栈的目录作为参数(加上"--serve"参数)。
``bash
[…]$tree-d
/--project
--modules
--foo
--bar
`--dead
`--stack s
`--beef
`--.terraform
[…]$cd project
docker run--cap add=sys_admin-it--rm-p 5000:5000-v$(pwd):/workdir:ro 28mm/blast radius--service stacks/beef
```
embedded figures
您需要以下信息:
1.表示图形及其布局的"svg"文件和"json"文档。
2.` javascript和css可以在`…/blastradius/server/static`
3中找到。一个唯一标识的dom元素,其中应出现`<;svg>;`。
[*pyhcl*](https://github.com/virtuald/pyhcl)解析[*terraform*](https://www.terraform.io/)配置,以及[*d3.js*](https://d3js.org/)来实现交互功能和动画。
动机,D3力量导向的布局与普通的Graphviz相比。
*[第2部分](https://28mm.github.io/notes/d3-terraform-graphs-2):D3增强的Graphviz布局、有意义的着色、动画。
*[第3部分](https://28mm.github.io/notes/terraform-graphs-3):限制水平扩展,支持模块。
*[第4部分](https://28mm.github.io/notes/d3-terraform-graphs-4):搜索、平移/缩放、删减到选定内容、docker。
它们的依赖关系图可以在这里找到(https://28mm.github.io/blast radius docs/)。
*[AWS两层体系结构](https://28mm.github.io/blast radius docs/examples/terraform provider aws/two-tier/)
*[AWS网络(包括模块](https://28mm.github.io/blast radius docs/examples/terraform provider aws/networking/)
*[谷歌两层架构](https://28mm.github.io/blast radius docs/examples/terraform provider google/two-tier/)
*[使用2的azure负载平衡vms](https://28mm.github.io/blast radius docs/examples/terraform provider azurem/2-vms-loadbalancer-lbrules/)
其他示例,特别是最佳实践的演示,或强烈要求的多云配置的演示。
[![PYPI版本](https://badge.fury.io/py/blastradius.svg)](https://badge.fury.io/py/blastradius)![Circleci](https://img.shields.io/Circleci/project/github/28mm/blast radius.svg)
*blast radius*是一个用于推理带有交互式可视化的*terraform*依赖关系图的工具。使用*blast radius*来:
**并评估对其所做的更改。
<;img src="doc/blast radius interactive.png">;
**interactive**与此图表(以及许多其他图表)[此处](https://28mm.github.io/blast radius docs/)。
quickstart
并通过系统的包管理器*graphviz*。
```bash
[…]$pip3安装blast radius
[…]$brew安装graphviz
`````
point*blast radius*在一个"init ed`*terraform*项目上,与浏览器连接。
``bash
[…]$blast radius--serve/path/to/terraform project
*运行在http://127.0.0.1:5000/(按ctrl+c退出)
````
docker
*或者*,可以在docker容器中启动*blast radius*。(在本例中,当前工作目录包含一个*terraform*项目。)
``bash
[…]$docker run--cap add=sys_admin-it--rm-p 5000:5000-v$(pwd):/workdir:ro 28mm/blast radius
```
*请注意*:因为terraform将模块链接保存为_.terraform/modules/<;uuid>;\u我们以只读方式装载主机的文件系统,并强制terraform在开始时更新模块路径。这样我们就不会干扰真正的项目。因此,Docker必须使用"--cap add=sys_admin"标志运行,才能使用[overlayfs](https://wiki.archlinux.org/index.php/overlay_文件系统)请参阅[Docker的文档](https://docs.docker.com/engine/reference/run/运行时特权和Linux功能)。
*附加说明*:
用堆栈和模块组织Terraform目录,请从根目录调用*blast radius*,并将堆栈的目录作为参数(加上"--serve"参数)。
``bash
[…]$tree-d
/--project
--modules
--foo
--bar
`--dead
`--stack s
`--beef
`--.terraform
[…]$cd project
docker run--cap add=sys_admin-it--rm-p 5000:5000-v$(pwd):/workdir:ro 28mm/blast radius--service stacks/beef
```
embedded figures
您需要以下信息:
1.表示图形及其布局的"svg"文件和"json"文档。
2.` javascript和css可以在`…/blastradius/server/static`
3中找到。一个唯一标识的dom元素,其中应出现`<;svg>;`。
[*pyhcl*](https://github.com/virtuald/pyhcl)解析[*terraform*](https://www.terraform.io/)配置,以及[*d3.js*](https://d3js.org/)来实现交互功能和动画。
动机,D3力量导向的布局与普通的Graphviz相比。
*[第2部分](https://28mm.github.io/notes/d3-terraform-graphs-2):D3增强的Graphviz布局、有意义的着色、动画。
*[第3部分](https://28mm.github.io/notes/terraform-graphs-3):限制水平扩展,支持模块。
*[第4部分](https://28mm.github.io/notes/d3-terraform-graphs-4):搜索、平移/缩放、删减到选定内容、docker。
它们的依赖关系图可以在这里找到(https://28mm.github.io/blast radius docs/)。
*[AWS两层体系结构](https://28mm.github.io/blast radius docs/examples/terraform provider aws/two-tier/)
*[AWS网络(包括模块](https://28mm.github.io/blast radius docs/examples/terraform provider aws/networking/)
*[谷歌两层架构](https://28mm.github.io/blast radius docs/examples/terraform provider google/two-tier/)
*[使用2的azure负载平衡vms](https://28mm.github.io/blast radius docs/examples/terraform provider azurem/2-vms-loadbalancer-lbrules/)
其他示例,特别是最佳实践的演示,或强烈要求的多云配置的演示。