地形依赖图的交互式可视化

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/)

其他示例,特别是最佳实践的演示,或强烈要求的多云配置的演示。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用