八年前,运维团队还在用Visio手绘服务器拓扑。今天,一个Node.js命令就能让代码自己说话。

基础设施即代码(IaC)的普及带来了一个尴尬的现实:你的Terraform、Kubernetes配置里明明写满了EC2实例、RDS数据库、负载均衡器的精确关系,但每当要交文档、做评审、给老板汇报时,还得打开Lucidchart或draw.io,手动拖拽45分钟重建一张图。两周后代码改了,图没改,Confluence页面上就钉着一个谎言。

打开网易新闻 查看精彩图片

InfraSketch的浏览器工具已经解决了部分问题——粘贴HCL、YAML或JSON,秒出交互图,无需注册。但对活在命令行里的人来说,离开终端、复制文件、打开网页,这些摩擦累积起来依然烦人。

打开网易新闻 查看精彩图片

现在这一步也省了。运行npx infrasketch .,指向文件、目录或原始GitHub URL,通常两秒内浏览器就会弹出架构图。CI环境里加上--no-open,直接把可分享链接输出到stdout,想往哪pipe就往哪pipe。

技术实现很克制:CLI是个轻量Node.js包装器,读取IaC文件后把内容序列化成base64编码的JSON片段,附加到InfraSketch网页URL的hash部分,然后唤起默认浏览器。关键点在于浏览器不会把hash发给服务器——HTTP协议本就如此,工具只是刻意利用这一点。你的代码从未离开本机,不上传、无服务端处理、不碰源文件、无后台进程,跑完即退出。这也意味着只要浏览器能加载InfraSketch页面,气隙环境也能用。

打开网易新闻 查看精彩图片

支持格式覆盖了主流栈:Terraform、Kubernetes、Pulumi、CloudFormation、CDK、Bicep、Terragrunt、Docker Compose。混合格式仓库里它会自动识别主导格式,或让你指定子目录。想永久安装省掉npx开销,npm install -g infrasketch一次即可。

10秒零安装试用:找个含IaC文件的目录,输入npx infrasketch .,完事。