d33ds/infra-wizard-web

GitHub: d33ds/infra-wizard-web

一个 Docker 化的 Web 界面工具,通过隔离 worker 对已审查的 Terraform 和 Ansible 模板进行精确的部署规划、应用、配置和销毁管理。

Stars: 0 | Forks: 0

# Infra Wizard Web Infra Wizard Web 是一个 Docker 化的浏览器界面和隔离的 worker,用于 已审查的 Terraform 和 Ansible 模板。它会创建持久的部署 工作区,并运行 plan、基于精确 plan 的 apply、可重试的配置、 基于原始 state 的 destroy,以及可取消的后台任务。 ## 快速开始 将此代码仓库放置在 `infra-wizard-main` 旁边: ``` workspace/ ├── infra-wizard-main/ └── infra-wizard-web/ ``` 然后: ``` cd infra-wizard-web cp .env.example .env # 将 INFRA_WIZARD_PASSWORD 设置为至少包含 16 个字符的随机值。 # 默认的容器身份为 UID/GID 10001。 mkdir -p runtime secrets/ssh secrets/backend sudo chown -R 10001:10001 runtime secrets chmod 700 runtime secrets secrets/ssh secrets/backend docker compose up --build ``` 打开 。 浏览器会提示输入 `INFRA_WIZARD_USERNAME` 和 `INFRA_WIZARD_PASSWORD`。默认配置仅发布在 localhost 上, 将部署状态和 SQLite 元数据存储在被忽略的 `runtime/` 目录下, 并且仅将凭证挂载到 worker 服务中。 面向 HTTP 的服务不会接收云凭证或 SSH 密钥。 如果挂载的源码树中包含 `vars.sh`,worker 会在启动时加载它,从而 自动获取模块仓库中的本地 provider token。 Deploy 操作会运行 Terraform plan,然后在规划成功后 应用该确切已保存的 plan。它不会重建或静默替换该 plan。 Ansible 配置可以独立重试。Destroy 作用于 Apply 所使用的同一部署工作区和状态。 部署目录具备 provider 感知能力。worker 仅发布就绪 元数据,绝不发布凭证值;没有完整凭证的 provider 会 对模块和 profile 构建器隐藏。部署表单会列出 provider 要求,并将 `allowed_cidr` 默认设为检测到的客户端地址。当 在反向代理后运行时,仅当代理会 覆盖 `X-Forwarded-For` 时,才启用受信任的转发。 部署可以使用现有的 provider SSH 密钥,也可以让 Infra Wizard 生成 一个专用密钥。生成的密钥使用 Ed25519,但在 Azure 上除外,因为在 Azure 上使用的是 RSA 4096, 因为 Azure Linux VM 的配置会拒绝 Ed25519 公钥。私钥会 保留在私有的运行时工作区中,并且可以在成功 apply 后 随生成的 SSH 配置一起下载。 专用的 Ansible 视图包含一个专为已部署机器整理的库。 其 playbook 会安装常用工具、应用系统更新、安装 Docker、 Nginx 或 OpenJDK 25,并执行受控的重启。每次运行都会被记录, 并且可以取消。 已完成任务的历史记录可以被移入 Jobs 归档中,而不会删除其 日志或部署工作区。 GCP、Hetzner 和 Linode 模板目前不受支持且未经测试,因此 被排除在部署选择之外。 ## 文档 - [架构](docs/ARCHITECTURE.md) - [配置](docs/CONFIGURATION.md) - [运维](docs/OPERATIONS.md) - [安全性](SECURITY.md) - [安全加固与迁移](docs/SECURITY_HARDENING.md) - [贡献指南](CONTRIBUTING.md) - [Wiki 发布](docs/WIKI.md) ## 许可证 采用 GNU Affero General Public License v3.0 或更高版本进行许可。参见 [LICENSE](LICENSE)。
标签:Ansible, Docker, ECS, Terraform, Web界面, 安全防御评估, 版权保护, 特权提升, 系统提示词, 自动化部署, 请求拦截, 运维工具